@charset "UTF-8";
/* BASE
 * * -----------------------------------------------*/
/* MEDIA QUERIES
 * * -----------------------------------------------*/
/* ADDITIONAL RESET
 * * -----------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

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

*,
*:before,
*:after {
  box-sizing: border-box;
}

body * {
  max-height: 99999em;
  word-break: break-word;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

input,
label,
select,
button {
  line-height: inherit;
}

input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  word-break: normal;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  -webkit-appearance: none;
  font: inherit;
}

button:focus {
  outline: 0;
}

input:focus,
textarea:focus,
select:focus {
  outline: auto;
}

/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none;
}

/* Turn off scroll bars in IE unless needed */
textarea {
  overflow: auto;
  white-space: pre-line;
  resize: none;
}

/* PRINTING
 * * -----------------------------------------------*/
@media print {
  body {
    -webkit-print-color-adjust: exact;
  }

  html,
body {
    margin: 0;
  }

  @page {
    margin: 0;
  }
  @page :left {
    margin: 0;
  }
  @page :right {
    margin: 0;
  }
  @page :first {
    margin-top: 0;
  }
}
/* GENERAL
 * * -----------------------------------------------*/
body {
  color: #333;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Verdana, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.4;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}

.font-serif {
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}

/* HELPERS
 * * -----------------------------------------------*/
a {
  color: #333;
  text-decoration: none;
}

.hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

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

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

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

.text-justify {
  text-align: justify;
}

.text-nowrap {
  white-space: nowrap;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

/* RESPONSIVE
 * * -----------------------------------------------*/
.container {
  overflow: hidden;
  position: relative;
}

@media print, (min-width: 768px) {
  body {
    font-size: 14px;
  }

  .wrapper {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 50px;
  }

  .sm {
    display: none !important;
  }

  .trans {
    opacity: 1;
    transition: opacity 0.26s ease;
  }
  .trans:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 767.98px) {
  .md {
    display: none !important;
  }

  html {
    font-size: calc(100vw / 7.5);
  }

  body {
    font-size: 0.28rem;
  }

  .container {
    min-width: 320px;
  }

  .wrapper {
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
}
time {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

/* PARTS
 * * -----------------------------------------------*/
/* COMMON HEADER
 * * -----------------------------------------------*/
header.is-home {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
header.sub-page {
  background: #fff;
}
@media print, (min-width: 768px) {
	header.sub-page {
    border-bottom: 20px solid #999;
	}
}
@media only screen and (max-width: 767.98px) {
  header.sub-page {
    border-bottom: 15px solid #999;
  }
  header.sub-page .button-open-menu {
    position: relative;
    bottom: -0.09rem;
  }
}

.wrapper-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
@media print, (min-width: 768px) {
  .wrapper-header {
    margin: 0 auto;
    max-width: 1345px;
    padding: 26px 50px 0;
  }
  .sub-page .wrapper-header {
    padding: 22px 50px 19px;
  }
}
@media only screen and (max-width: 767.98px) {
  .wrapper-header {
    padding: 0.27rem 0.35rem;
  }
  .sub-page .wrapper-header {
    padding: 0.34rem 0.35rem 0.24rem;
  }
}
.wrapper-header .logo {
  position: relative;
  z-index: 1;
}
@media print, (min-width: 768px) {
  .sub-page .wrapper-header .logo {
    margin-top: 23px;
    margin-left: -18px;
  }
}
@media only screen and (max-width: 767.98px) {
  .sub-page .wrapper-header .logo {
    margin-top: 0.11rem;
    margin-left: -0.05rem;
  }
}

.logo-image {
  display: block;
}
.logo-image img {
  width: 100%;
}
@media print, (min-width: 768px) {
  .logo-image {
    width: 151px;
  }
}
@media only screen and (max-width: 767.98px) {
  .logo-image {
    width: 3.02rem;
  }
}

.button-open-menu,
.button-close-menu {
  cursor: pointer;
  z-index: 99;
}

.button-open-menu {
  background: url(../img/common/icon_menu_open.svg) no-repeat center/100% auto;
}
@media print, (min-width: 768px) {
  .button-open-menu {
    width: 68px;
    height: 68px;
    margin-right: -5px;
    margin-top: -2px;
  }
}
@media only screen and (max-width: 767.98px) {
  .button-open-menu {
    width: 0.95rem;
    height: 0.95rem;
    margin-top: -0.12rem;
    margin-right: -0.1rem;
    background-image: url(../img/common/sp/icon_menu_open.svg);
    background-size: 0.89rem auto;
  }
}

.button-close-menu {
  position: absolute;
  background: url(../img/common/icon_menu_close.svg) no-repeat center/100% auto;
}
@media print, (min-width: 768px) {
  .button-close-menu {
    width: 28px;
    height: 28px;
    right: 65px;
    top: 43px;
  }
}
@media only screen and (max-width: 767.98px) {
  .button-close-menu {
    width: 0.8rem;
    height: 0.8rem;
    top: 0.15rem;
    right: 0.23rem;
    background-size: 0.28rem auto;
  }
}

.header-virus-measures {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  color: #fff;
  background-color: #989898;
  text-align: center;
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}
.header-virus-measures::before {
  content: "";
  display: block;
  background: url(../img/common/infor_icn.svg) center/100% no-repeat;
  position: relative;
}

@media print, (min-width: 768px) {
  .header-virus-measures {
    min-height: 62px;
    padding-top: 4px;
    font-size: 19px;
  }
  .is-safari .header-virus-measures {
    padding-top: 2px;
  }
  header .header-virus-measures {
    min-height: 63px;
  }
  .header-virus-measures::before {
    width: 24px;
    height: 24px;
    margin-right: 10px;
    bottom: 3px;
  }
  .is-safari .header-virus-measures::before {
    bottom: 2px;
  }
}
@media only screen and (max-width: 767.98px) {
  .header-virus-measures {
    min-height: 0.97rem;
    padding: 0.08rem 0.2rem 0.02rem;
    font-size: 0.31rem;
  }
  .header-virus-measures::before {
    bottom: 0.03rem;
  }
  .is-android .header-virus-measures::before {
    bottom: 0;
  }
  .is-android .header-virus-measures {
    padding-top: 0.06rem;
    padding-bottom: 0.06rem;
  }
  header .header-virus-measures {
    min-height: 1rem;
    padding: 0.08rem 0.2rem 0.06rem;
  }
  .header-virus-measures::before {
    width: 0.4rem;
    height: 0.4rem;
    margin-right: 0.15rem;
  }
}
.wrapper-navigation {
  position: fixed;
  z-index: 999;
  top: 0;
  width: 100%;
  background: #fff;
  display: none;
  overflow-y: scroll;
  height: 100%;
}

@media print, (min-width: 768px) {
  .header-navigation {
    padding: 98px 0 50px;
    max-width: 1345px;
    margin: 0 auto;
    position: relative;
  }
}
@media only screen and (max-width: 767.98px) {
  .header-navigation {
    padding: 1.33rem 0.33rem 0.2rem;
  }
}

.main-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.main-menu-common {
  background: #00608a;
  text-align: center;
  overflow: hidden;
}

.main-menu-link {
  height: 100%;
  display: block;
  color: #fff;
  font-weight: 700;
  position: relative;
}
.main-menu-link span {
  display: block;
}
.main-menu-link img {
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  position: absolute;
}

@media print, (min-width: 768px) {
  .main-menu {
    margin-bottom: 80px;
  }

  .main-menu-common {
    width: 112px;
    height: 112px;
    border-radius: 10px;
    margin: 0 14px;
  }
  .main-menu-common.consultation img {
    top: 29px;
  }
  .main-menu-common.open-house img {
    top: 25px;
  }
  .main-menu-common.request img {
    top: 27px;
  }
  .main-menu-common.contact img {
    top: 25px;
  }

  .main-menu-link {
    font-size: 18px;
    padding-top: 60px;
  }
  .main-menu-link span {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767.98px) {
  .main-menu {
    margin: 0 -0.3rem 0.58rem;
  }

  .main-menu-common {
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 0.1rem;
    margin: 0 0.17rem;
  }
  .main-menu-common.consultation img {
    width: 0.46rem;
    top: 0.37rem;
  }
  .main-menu-common.open-house img {
    width: 0.48rem;
    top: 0.32rem;
  }
  .main-menu-common.request img {
    width: 0.44rem;
    top: 0.35rem;
  }
  .main-menu-common.contact img {
    width: 0.48rem;
    top: 0.33rem;
  }

  .main-menu-link {
    font-size: 0.23rem;
    padding-top: 0.8rem;
  }
  .main-menu-link span {
    margin-top: 0.1rem;
  }
}
.main-menu-header {
  font-weight: 700;
  display: inline-block;
}

.sub-menu-list a {
  display: inline-block;
  color: #4d4d4d;
}

.column-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media print, (min-width: 768px) {
  .menu-header-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 1020px;
    margin: 0 auto 89px;
    padding: 0 20px;
  }
  .menu-header-list .menu-header {
    border-right: 1px dashed #000;
    padding: 0 0 16px 3.4%;
    margin-bottom: 60px;
  }
  .menu-header-list .menu-header:first-child, .menu-header-list .menu-header:nth-child(4) {
    border-left: 1px dashed #000;
  }
  .menu-header-list .menu-header:nth-child(1) {
    width: 15.6%;
  }
  .menu-header-list .menu-header:nth-child(2) {
    padding-left: 3.7%;
    width: 24%;
  }
  .menu-header-list .menu-header:nth-child(3) {
    padding-left: 4.5%;
    width: 60.3%;
  }
  .menu-header-list .menu-header:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)) {
    padding-top: 11px;
  }
  .menu-header-list .menu-header:nth-child(4) {
    width: 26.7%;
  }
  .menu-header-list .menu-header:nth-child(5) {
    padding-left: 4%;
    width: 33.5%;
  }
  .menu-header-list .menu-header:nth-child(6) {
    padding-left: 3.9%;
    /*width: 23.34%;*/
    width: 20.34%;
  }
  .menu-header-list .menu-header:nth-child(7) {
    /*width: 16.4%;*/
    width: 19.4%;
  }

  .main-menu-header {
    font-size: 24px;
  }

  .sub-menu-list {
    margin-top: 32px;
    font-size: 16px;
  }
  .sub-menu-list a {
    line-height: 2.1875;
    background: url(../img/common/icon_arrow_02.svg) no-repeat left top 11px/9px 12px;
    padding-left: 14px;
  }
  .is-ipad .sub-menu-list a {
    background-position: left top 12px;
  }

  .column-menu-detail:not(:last-child) {
    margin-right: 9.8%;
  }
}
@media only screen and (max-width: 767.98px) {
  .menu-header-list {
    margin-bottom: 0.8rem;
  }
  .menu-header-list .menu-header {
    border-bottom: 0.01rem dashed #000;
    padding: 0.23rem 0 0.27rem;
  }
  .menu-header-list .menu-header:last-child {
    padding-top: 0.32rem;
  }

  .main-menu-header {
    font-size: 0.36rem;
  }

  span.main-menu-header {
    display: block;
    padding-right: 0.4rem;
    position: relative;
  }
  span.main-menu-header:after {
    content: "";
    position: absolute;
    right: 0.09rem;
    top: 31%;
    width: 0.33rem;
    height: 0.2rem;
    background: url(../img/common/sp/icon_arrow_01.svg) no-repeat center/0.33rem 0.2rem;
    transition: transform 0.3s;
  }

  .is-active span.main-menu-header:after {
    -ms-transform: rotate(180deg);
        transform: rotate(180deg);
  }

  .sub-menu-list {
    margin-top: 0.32rem;
    display: none;
  }
  .sub-menu-list a {
    background: url(../img/common/sp/icon_arrow_02.svg) no-repeat left 0.05rem top 0.09rem/0.19rem 0.21rem;
    padding-left: 0.33rem;
  }
  .sub-menu-list .sub-menu {
    margin-bottom: 0.2rem;
  }

  .column-menu-header {
    display: none;
  }
  .column-menu-header .sub-menu-list {
    display: block;
    margin-left: -0.05rem;
  }

  .column-menu-detail {
    margin-right: 0.3rem;
  }
}
.common-info-contact {
  text-align: center;
}
.common-info-contact .info-address {
  line-height: 1.37;
}
.common-info-contact .address-map {
  border: 2px solid #000;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  line-height: 1;
  font-weight: 700;
}
.common-info-contact .address-map,
.common-info-contact .telephone {
  display: inline-block;
}
.common-info-contact .telephone {
  line-height: 2;
  font-family: Arial, sans-serif;
  font-weight: bold;
  background: url(../img/common/icon_telephone.svg) no-repeat left center/22px 40px;
}
.common-info-contact .telephone,
.common-info-contact .time-work {
  color: #808080;
}
.common-info-contact .social-media {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.common-info-contact .social-media a {
  display: block;
}
.common-info-contact .more-info {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}
.common-info-contact .more-info > li {
  width: 33.33%;
  background: #00608a;
}
.common-info-contact .more-info > li:not(:last-child) {
  border-right: 1px solid #fff;
}
.common-info-contact .more-info a {
  color: #fff;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: 700;
}
.common-info-contact .more-info span {
  background: no-repeat left center/100% auto;
}
.common-info-contact .consultation span {
  background-image: url(../img/common/icon_consultation_02.svg);
}
.common-info-contact .document span {
  background-image: url(../img/common/icon_document_02.svg);
}
.common-info-contact .inquiries span {
  background-image: url(../img/common/icon_inquiries_02.svg);
}
.common-info-contact .privacy-policy {
  font-weight: 700;
}
.common-info-contact .privacy-policy a {
  text-decoration: underline;
  color: #808080;
}
.common-info-contact .privacy-policy a:hover {
  text-decoration: none;
}
.common-info-contact .copyright {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  color: #4d4d4d;
}

@media print, (min-width: 768px) {
  .common-info-contact .info-address {
    color: #666;
    font-size: 16px;
    margin-bottom: 38px;
  }
  .common-info-contact .address-map {
    font-size: 15px;
    padding: 4px 6px;
    margin-top: 21px;
  }
  .is-safari .common-info-contact .address-map {
    padding-top: 5px;
    padding-bottom: 2px;
  }
  .is-ipad .common-info-contact .address-map {
    height: 29px;
    padding-bottom: 0;
  }
  .is-firefox .common-info-contact .address-map {
    padding-top: 3px;
  }
  .common-info-contact .info-telephone {
    margin-bottom: 36px;
  }
  .common-info-contact .telephone {
    pointer-events: none;
    font-size: 27px;
    padding-left: 35px;
    background-position: left top 5px;
  }
  .common-info-contact .time-work {
    font-size: 15px;
  }
  .common-info-contact .time-work span {
    margin-left: 6px;
  }
  .common-info-contact .social-media {
    margin-bottom: 65px;
  }
  .common-info-contact .social-media > li {
    margin: 0 19px;
  }
  .common-info-contact .more-info {
    max-width: 872px;
    margin: 0 auto 40px;
  }
  .common-info-contact .more-info > li {
    height: 95px;
  }
  .common-info-contact .more-info a {
    font-size: 19px;
  }
  .common-info-contact .more-info span {
    padding-left: 42px;
  }
  .common-info-contact .consultation span {
    background-size: 29px 22px;
  }
  .common-info-contact .document span {
    background-size: 28px 24px;
  }
  .common-info-contact .inquiries span {
    background-size: 32px 27px;
  }
  .common-info-contact .privacy-policy {
    font-size: 15px;
    margin-bottom: 7px;
  }
  .common-info-contact .copyright {
    font-size: 12px;
  }
}
@media print, (min-width: 768px) and (max-width: 910px) {
  .menu-header-list .menu-header {
    padding-left: 2% !important;
    padding-right: 1%;
  }

  .main-menu-header {
    font-size: 2.5vw;
  }

  .sub-menu-list {
    font-size: 1.8vw;
  }
}
@media only screen and (max-width: 767.98px) {
  header .more-info {
    margin: 0 -0.33rem;
  }

  .common-info-contact .info-address {
    color: #808080;
    font-size: 0.27rem;
    margin-bottom: 0.44rem;
  }
  .common-info-contact .address-map {
    border-width: 0.02rem;
    font-size: 0.25rem;
    padding: 0.08rem 0.12rem 0.05rem;
    margin-top: 0.24rem;
  }
  .is-android .common-info-contact .address-map {
    padding-top: 0.07rem;
    padding-bottom: 0.05rem;
  }
  .common-info-contact .info-telephone {
    margin-bottom: 0.85rem;
  }
  .common-info-contact .telephone {
    font-size: 0.41rem;
    padding-left: 0.52rem;
    background-size: 0.33rem 0.61rem;
    background-image: url(../img/common/sp/icon_telephone_01.svg);
  }
  .common-info-contact .time-work {
    font-size: 0.23rem;
  }
  .common-info-contact .time-work span {
    margin-left: 0.07rem;
  }
  .common-info-contact .social-media {
    margin-bottom: 0.53rem;
  }
  .common-info-contact .social-media > li {
    margin: 0 0.3rem;
  }
  .common-info-contact .more-info > li {
    height: 1rem;
  }
  .common-info-contact .more-info a {
    font-size: 0.23rem;
  }
  .common-info-contact .more-info span {
    padding-left: 0.52rem;
    line-height: 2;
  }
  .common-info-contact .consultation span {
    background-image: url(../img/common/sp/icon_consultation_02.svg);
    background-size: 0.36rem 0.3rem;
  }
  .common-info-contact .consultation:first-child span {
    padding-top: 0.03rem;
  }
  .common-info-contact .document span {
    background-size: 0.34rem 0.3rem;
    background-image: url(../img/common/sp/icon_document_02.svg);
  }
  .common-info-contact .inquiries span {
    background-size: 0.39rem 0.34rem;
    background-image: url(../img/common/sp/icon_inquiries_02.svg);
  }
  .common-info-contact .privacy-policy {
    font-size: 0.25rem;
    margin-bottom: 0.77rem;
  }
  .common-info-contact .copyright {
    font-size: 0.23rem;
    margin-bottom: 0.6rem;
  }

  .facebook img {
    width: 0.26rem;
  }

  .youtube img {
    width: 0.4rem;
  }

  .instagram img {
    width: 0.5rem;
  }

  .houzz img {
    width: 0.44rem;
  }
}
@media only screen and (max-width: 374px) {
  .address-map {
    padding-top: 0.1rem;
    padding-bottom: 0.03rem;
  }
}
/* COMMON FOOTER
 * * -----------------------------------------------*/
.special-contents-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.special-contents-detail {
  font-weight: 700;
}
.special-contents-detail a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  text-align: center;
  -ms-flex-pack: center;
      justify-content: center;
  position: relative;
  color: #fff;
  letter-spacing: 0.05em;
}
.special-contents-detail a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  left: 0;
  z-index: 1;
}
.special-contents-detail .image,
.special-contents-detail a {
  width: 100%;
  height: 100%;
}
.special-contents-detail .image {
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
}
.special-contents-detail span {
  position: relative;
  z-index: 1;
}

.logo-footer {
  display: inline-block;
}
.logo-footer img {
  width: 100%;
}

.special-contents-title img {
  width: 100%;
}

@media print, (min-width: 768px) {
  footer .common-info-contact {
    padding-bottom: 100px;
  }

  .special-contents {
    margin-bottom: 53px;
    padding: 30px 0 50px;
    border-bottom: 30px solid #999;
  }

  .special-contents-title {
    margin: 0 auto 34px;
    width: 221px;
  }

  .special-contents-detail {
    width: 20%;
    height: 133px;
    font-size: 14px;
    line-height: 1.312;
  }
  .special-contents-detail.is-half {
    width: 50%;
  }

  .button-to-top {
    width: 65px;
    height: 65px;
    background: url(../img/common/icon_btn_top.svg) no-repeat center/100% auto;
    cursor: pointer;
    right: 2px;
    top: calc(50% + 197px);
  }

  .menu-fixed {
    display: none;
    right: 1px;
    top: 50%;
  }

  .button-to-top,
.menu-fixed {
    position: fixed;
    z-index: 990;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
  }

  .menu-fixed-common {
    background: #00608a;
    width: 68px;
    height: 75px;
    margin-bottom: 2px;
  }
  .menu-fixed-common span {
    display: block;
    margin-top: 8px;
  }

  .menu-fixed-link {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 11px;
    padding-top: 20px;
    height: 100%;
    position: relative;
  }
  .menu-fixed-link::after {
    content: "";
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: #fff;
    transition: opacity 0.25s ease;
    position: absolute;
    top: 0;
    left: 0;
  }
  .menu-fixed-link:hover::after {
    opacity: 0.2;
  }

  .logo-footer {
    width: 142px;
    margin-bottom: 25px;
  }
}
@media only screen and (max-width: 767.98px) {
  footer .common-info-contact {
    padding-bottom: 1.55rem;
  }
  footer .common-info-contact .address-map {
    margin-top: 0.39rem;
  }
  footer .common-info-contact .social-media {
    margin-bottom: 0.85rem;
  }
  footer .common-info-contact .privacy-policy {
    margin-bottom: 0.64rem;
  }
  footer .common-info-contact .info-address {
    margin-bottom: 0.63rem;
  }
  footer .common-info-contact .info-telephone {
    margin-bottom: 0.69rem;
  }
  footer .info-telephone .telephone {
    font-size: 0.46rem;
    padding-left: 0.58rem;
    background-image: url(../img/common/sp/icon_telephone_02.svg);
    background-size: 0.35rem 0.66rem;
  }
  footer .info-telephone .time-work {
    font-size: 0.26rem;
  }
  footer .more-info {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 99;
  }

  .special-contents {
    margin-bottom: 0.82rem;
    padding-top: 0.93rem;
  }

  .special-contents-title {
    margin: 0 auto 0.54rem;
    width: 3.7rem;
  }

  .special-contents-list {
    margin: 0 -0.23rem;
  }
	
  .special-contents-detail {
    width: 100%;
    height: 2.8rem;
    font-size: 0.35rem;
    line-height: 1.413;
  }

  .is-works img {
    width: 1.5rem;
  }

  .is-open-house img {
    width: 1.33rem;
  }

  .is-voice img {
    width: 1.02rem;
  }

  .is-show-room img {
    width: 1.24rem;
  }

  .is-recruit img {
    width: 1.62rem;
  }

  .is-ceo img {
    width: 2.25rem;
    /*width: 1.32rem;*/
  }


  .logo-footer {
    width: 2.46rem;
    margin-bottom: 0.4rem;
  }
}
/* MODULES
 * * -----------------------------------------------*/
/* COMMON TITLE
 * * -----------------------------------------------*/
.common-title {
  font-weight: 700;
  color: #000;
  text-align: center;
}

.common-section-title {
  color: #000;
  text-align: center;
  font-weight: 700;
}
.common-section-title + .common-text {
  text-align: center;
}

@media print, (min-width: 768px) {
  .common-title {
    font-size: 25px;
    line-height: calc(40 / 25);
  }

  .common-section-title {
    font-size: 35px;
    line-height: calc(60 / 35);
  }

  .common-text {
    font-size: 17px;
    line-height: calc(30 / 17);
  }
}
@media only screen and (max-width: 767.98px) {
  .common-title {
    font-size: 0.4rem;
    line-height: calc(58 / 40);
  }

  .common-text {
    line-height: calc(47 / 28);
    text-align: justify;
  }
}
.page-title.is-japanese {
  color: #000;
  font-weight: 700;
  text-align: center;
}

@media print, (min-width: 768px) {
  .page-title.is-japanese {
    margin-bottom: 50px;
    font-size: 30px;
  }
}
@media only screen and (max-width: 767.98px) {
  .page-title.is-japanese {
    margin-bottom: 0.37rem;
    font-size: 0.45rem;
  }
}
.page-title.is-english {
  text-align: center;
}

@media print, (min-width: 768px) {
  .page-title.is-english {
    min-height: 24px;
    margin-bottom: 53px;
  }
  .page-title.is-english.has-category {
    margin-bottom: 44px;
  }
  .page-title.is-english.has-category + .category-list {
    margin-bottom: 26px;
  }
}
@media only screen and (max-width: 767.98px) {
  .page-title.is-english {
    margin-bottom: 0.74rem;
  }
  .page-title.is-english.has-category {
    margin-bottom: 0.59rem;
  }
  .page-title.is-english.has-category + .category-list {
    margin-bottom: 0.45rem;
  }
  .page-title.is-english img {
    height: 0.42rem;
  }
}
.page-title.has-icon {
  font-weight: 700;
  color: #000;
  text-align: center;
}

@media print, (min-width: 768px) {
  .page-title.has-icon {
    font-size: 30px;
  }
}
@media only screen and (max-width: 767.98px) {
  .page-title.has-icon {
    font-size: 0.45rem;
  }
}
.page-title.is-combined {
  text-align: center;
}
.page-title.is-combined span {
  display: block;
}
.page-title.is-combined .is-japanese {
  color: #000;
  font-weight: 700;
}

@media print, (min-width: 768px) {
  .page-title.is-combined {
    margin-bottom: 42px;
  }
  .page-title.is-combined img {
    margin-bottom: 22px;
  }
  .page-title.is-combined .is-japanese {
    font-size: 39px;
  }
  .page-title.is-combined + .page-description {
    width: 700px;
    margin: 0 auto 68px;
    font-size: 17px;
    line-height: calc(30 / 17);
  }
}
@media only screen and (max-width: 767.98px) {
  .page-title.is-combined {
    margin-bottom: 0.53rem;
  }
  .page-title.is-combined img {
    width: auto;
    height: 0.42rem;
    margin-bottom: 0.46rem;
  }
  .page-title.is-combined .is-japanese {
    font-size: 0.45rem;
  }
  .page-title.is-combined + .page-description {
    margin-bottom: 0.59rem;
    line-height: calc(47 / 28);
  }
}
/* COMMON BREADCRUMB
 * * -----------------------------------------------*/
.breadcrumb-list {
  display: -ms-flexbox;
  display: flex;
}
.breadcrumb-list > li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #000;
}
.breadcrumb-list > li:not(:last-child)::after {
  content: ">";
  position: relative;
}
.breadcrumb-list > li a {
  color: #000;
}

@media print, (min-width: 768px) {
  .breadcrumb {
    max-width: 1345px;
    margin: 0 auto 55px;
  }

  .breadcrumb-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 14px 30px;
  }
  .breadcrumb-list > li {
    font-size: 14px;
  }
  .breadcrumb-list > li:not(:last-child) {
    margin-right: 10px;
  }
  .breadcrumb-list > li:not(:last-child)::after {
    margin-left: 10px;
    bottom: 2px;
  }
}
@media only screen and (max-width: 767.98px) {
  .breadcrumb {
    margin-bottom: 0.5rem;
  }
  .breadcrumb .breadcrumb-list {
    padding: 0.19rem 0.41rem;
    overflow-x: scroll;
  }
  .breadcrumb .breadcrumb-list > li {
    font-size: 0.2rem;
  }
  .breadcrumb .breadcrumb-list > li:not(:last-child) {
    margin-right: 0.12rem;
  }
  .breadcrumb .breadcrumb-list > li:not(:last-child)::after {
    margin-left: 0.12rem;
    bottom: 0.02rem;
  }
  .is-android .breadcrumb .breadcrumb-list > li:not(:last-child)::after {
    bottom: 0;
  }
}
.contact-form-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  background-color: #f1f1f1;
  color: #000;
  font-weight: 700;
}
.contact-form-wrapper .wpcf7-list-item {
  margin: 0;
}

.contact-form .form-row.is-select-time .form-content {
  font-weight: 500;
}
.contact-form .form-title,
.contact-form .form-description {
  text-align: center;
}
.contact-form .required-text {
  display: inline-block;
  line-height: 1;
  color: #fff;
  background-color: #006699;
  font-weight: 400;
  text-align: center;
}
.contact-form .form-label {
  -ms-flex: 1;
      flex: 1;
  text-align: right;
}
.contact-form .form-content > span {
  display: block;
}
.contact-form .form-content textarea,
.contact-form .form-content input {
  width: 100%;
  background-color: #fff;
}
.contact-form .form-content input::-webkit-input-placeholder {
  color: #9b9b9b;
}
.contact-form .form-content input::-moz-placeholder {
  color: #9b9b9b;
  opacity: 1;
}
.contact-form .form-content input[type=checkbox], .contact-form .form-content input[type=radio] {
  display: none;
}
.contact-form .form-content input[type=checkbox] + span, .contact-form .form-content input[type=radio] + span {
  display: inline-block;
  transition: opacity 0.25s ease;
  cursor: pointer;
  position: relative;
  font-weight: 500;
}
.contact-form .form-content input[type=checkbox] + span:hover, .contact-form .form-content input[type=radio] + span:hover {
  opacity: 0.8;
}
.contact-form .form-content input[type=checkbox] + span::before, .contact-form .form-content input[type=radio] + span::before {
  content: "";
  display: inline-block;
  position: relative;
}
.contact-form .form-content input[type=radio] + span::before {
  border-radius: 50%;
}
.contact-form .form-content input[type=radio]:checked + span::before {
  background-color: #000;
}
.contact-form .form-content input[type=checkbox] + span::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
.contact-form .form-content input[type=checkbox]:checked + span::after {
  background: url(../img/common/checklist_icn_darkblue.svg) center/100% auto no-repeat;
}
.contact-form .form-content .select-wrapper {
  display: inline-block;
  position: relative;
  background: #fff;
}
.contact-form .form-content .select-wrapper::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/common/select_icn.svg) center/100% no-repeat;
}
.contact-form .form-content .select-wrapper > span {
  position: relative;
}
.contact-form .form-content .select-wrapper select {
  cursor: pointer;
}
.contact-form .form-content .select-text {
  display: inline-block !important;
  position: relative;
}
.contact-form .contact-button input {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 auto;
  color: #fff;
  background-color: #006699;
  text-align: center;
  transition: opacity 0.26s ease;
  cursor: pointer;
}
.contact-form .contact-button input:hover {
  opacity: 0.8;
}
.contact-form .ajax-loader {
  margin: 0 !important;
  position: absolute !important;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}

@media print, (min-width: 768px) {
  .contact-form-wrapper {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 40px 40px 80px;
  }

  .contact-form {
    width: 792px;
  }
  .contact-form .form-top-content {
    margin-bottom: 62px;
  }
  .contact-form .form-title {
    font-size: 30px;
  }
  .contact-form .form-description {
    margin-top: 25px;
    font-size: 19px;
  }
  .contact-form .form-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    margin-bottom: 61px;
    padding-right: 30px;
    position: relative;
  }
  .contact-form .form-row.is-align-start {
    -ms-flex-align: start;
        align-items: flex-start;
  }
  .contact-form .form-row.has-radio {
    margin-top: 30px;
    margin-bottom: 75px;
  }
  .contact-form .required-text {
    width: 65px;
    height: 22px;
    padding: 5px 5px 0;
    font-size: 15px;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    left: 197px;
  }
  .is-ipad .contact-form .required-text {
    padding-top: 3px;
  }
  .contact-form .form-label {
    -ms-flex: 1;
        flex: 1;
    min-width: 260px;
    margin-right: 20px;
    padding-right: 90px;
    font-size: 20px;
  }
  .contact-form .form-content {
    -ms-flex: calc(63% + 2px) 0 0;
        flex: calc(63% + 2px) 0 0;
    margin-bottom: -10px;
    font-size: 20px;
  }
  .contact-form .form-content .is-half {
    display: inline-block;
    width: calc(50% - 10px);
  }
  .contact-form .form-content .is-half:first-child {
    margin-right: 20px;
  }
  .contact-form .form-content textarea,
.contact-form .form-content input {
    border-radius: 7.5px;
  }
  .contact-form .form-content input {
    height: 53px;
    margin-bottom: 10px;
    padding: 5px 10px;
  }
  .contact-form .form-content input[type=checkbox] + span, .contact-form .form-content input[type=radio] + span {
    margin-right: 20px;
    margin-bottom: 10px;
  }
  .contact-form .form-content input[type=checkbox] + span::before, .contact-form .form-content input[type=radio] + span::before {
    width: 18px;
    height: 18px;
    margin-right: 7px;
    border: 1px solid #000;
    top: 2px;
  }
  .contact-form .form-content input[type=checkbox]:checked + span::after {
    width: 21px;
    height: 21px;
  }
  .contact-form .form-content input[type=radio]:checked + span::before {
    box-shadow: inset 0 0 0 2px #f1f1f1;
  }
  .contact-form .form-content .select-wrapper {
    margin-bottom: 10px;
    margin-right: 6px;
    border-radius: 8px;
  }
  .contact-form .form-content .select-wrapper::before {
    width: 11px;
    height: 22px;
    right: 7px;
    top: 12px;
  }
  .contact-form .form-content select {
    min-width: 76px;
    padding: 9px 22px 7px 12px;
    font-size: 20px;
  }
  .is-mac.is-chrome .contact-form .form-content select {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .contact-form .form-content .select-text {
    top: 3px;
    font-size: 22px;
  }
  .is-firefox .contact-form .form-content .select-text {
    top: 2px;
  }
  .contact-form .form-content textarea {
    height: 340px;
    padding: 20px;
  }
  .contact-form .contact-button {
    margin-top: 64px;
  }
  .contact-form .contact-button input {
    min-width: 376px;
    height: 99px;
    padding: 6px 30px 4px;
    border-radius: 12px;
    font-size: 23.5px;
  }
  .contact-form .ajax-loader {
    bottom: -30px;
  }
}
@media only screen and (max-width: 767.98px) {
  .contact-form-wrapper {
    padding: 0.64rem 0.63rem 1.23rem 0.54rem;
  }

  .contact-form {
    width: 100%;
  }
  .contact-form .form-top-content {
    margin-bottom: 0.6rem;
  }
  .contact-form .form-title {
    font-size: 0.4rem;
  }
  .contact-form .form-description {
    margin-top: 0.22rem;
    font-size: 0.22rem;
  }
  .contact-form .form-row {
    margin-bottom: 0.25rem;
  }
  .contact-form .form-row.has-radio {
    margin-top: 0.02rem;
    margin-bottom: 0.02rem;
  }
  .contact-form .required-text {
    width: 0.85rem;
    height: 0.3rem;
    padding: 0.06rem 0.05rem 0.01rem;
    font-size: 0.2rem;
    position: relative;
    bottom: 0.06rem;
  }
  .is-android .contact-form .required-text {
    padding-top: 0.07rem;
    bottom: 0.04rem;
  }
  .contact-form .form-label {
    display: inline-block;
    margin-right: 0.2rem;
    margin-bottom: 0.15rem;
    font-size: 0.29rem;
  }
  .contact-form .form-content {
    margin-bottom: -0.1rem;
    font-size: 0.31rem;
  }
  .contact-form .form-content textarea,
.contact-form .form-content input {
    border-radius: 0.1rem;
  }
  .contact-form .form-content input {
    height: 0.7rem;
    margin-bottom: 0.1rem;
    padding: 0.05rem 0.25rem;
  }
  .contact-form .form-content input[type=checkbox] + span, .contact-form .form-content input[type=radio] + span {
    margin-right: 0.32rem;
    margin-bottom: 0.1rem;
  }
  .contact-form .form-content input[type=checkbox] + span::before, .contact-form .form-content input[type=radio] + span::before {
    width: 0.27rem;
    height: 0.27rem;
    margin-right: 0.11rem;
    border: 1px solid #000;
    top: 0.04rem;
  }
  .is-android .contact-form .form-content input[type=checkbox] + span::before, .is-android .contact-form .form-content input[type=radio] + span::before {
    top: 0.02rem;
  }
  .contact-form .form-content input[type=checkbox]:checked + span::after {
    width: 0.32rem;
    height: 0.32rem;
  }
  .contact-form .form-content input[type=radio]:checked + span::before {
    box-shadow: inset 0 0 0 0.02rem #f1f1f1;
  }
  .contact-form .form-content .select-wrapper {
    margin-right: 0.1rem;
    margin-bottom: 0.1rem;
    border-radius: 0.1rem;
  }
  .contact-form .form-content .select-wrapper::before {
    width: 0.15rem;
    height: 0.3rem;
    right: 0.07rem;
    top: 0.13rem;
  }
  .contact-form .form-content select {
    min-width: 1rem;
    padding: 0.08rem 0.3rem 0.08rem 0.2rem;
  }
  .contact-form .form-content .select-text {
    margin-right: -0.03rem;
    top: 0.02rem;
    font-size: 0.29rem;
  }
  .contact-form .form-content textarea {
    height: 4.47rem;
    padding: 0.2rem;
  }
  .contact-form .radio-wrapper {
    margin: 0.15rem 0 0.35rem;
  }
  .contact-form .contact-button {
    margin-top: 0.66rem;
  }
  .contact-form .contact-button input {
    width: 100%;
    height: 1.67rem;
    padding: 0.15rem 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.4rem;
  }
  .contact-form .ajax-loader {
    bottom: -0.5rem;
  }
}
@media only screen and (max-width: 374px) {
  .contact-form .required-text {
    height: 0.31rem;
    padding-top: 0.059rem;
    padding-bottom: 0;
  }

  .form-content input[type=checkbox] + span::before, .form-content input[type=radio] + span::before {
    top: 0.02rem !important;
  }
}
.common-category-list .category-link {
  display: block;
}
.common-category-list .category-image img {
  width: 100%;
}
.common-category-list .category-info {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.common-category-list .category-info span {
  display: inline-block;
}
.common-category-list .category-text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 45%;
  color: #fff;
  background-color: #00608a;
  transition: font-size 0.25s ease;
  text-align: center;
  font-weight: 700;
  line-height: 1.1;
}
.common-category-list .category-location {
  color: #000;
  letter-spacing: 0.075em;
}
.common-category-list .category-title {
  color: #000;
  font-weight: 700;
}

@media print, (min-width: 768px) {
  .common-category-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -12px 22px;
  }
  .common-category-list > li {
    max-width: 316px;
    width: calc(33.33% - 24px);
    margin: 0 12px 20px;
  }
  .common-category-list .category-image {
    margin-bottom: 16px;
  }
  .common-category-list .category-info {
    margin-bottom: 2px;
  }
  .common-category-list .category-text {
    min-width: 64px;
    margin-right: 8px;
    padding: 5px 11px 4px;
    border-radius: 2px;
    font-size: 13.5px;
  }
  .is-safari .common-category-list .category-text {
    position: relative;
    bottom: 1px;
  }
  .is-ipad .common-category-list .category-text {
    padding-top: 3px;
    padding-bottom: 5px;
  }
  .common-category-list .category-location {
    font-size: 15px;
  }
  .common-category-list .category-title {
    font-size: 18px;
    line-height: calc(26 / 18);
  }
  .is-safari .common-category-list .category-title {
    margin-right: -8px;
  }
}
@media only screen and (max-width: 767.98px) {
  .common-category-list {
    margin-bottom: 1.56rem;
  }
  .common-category-list > li:not(:last-child) .category-link {
    padding-bottom: 0.34rem;
  }
  .common-category-list .category-link {
    margin: 0 -0.2rem;
  }
  .common-category-list .category-image {
    margin-bottom: 0.25rem;
  }
  .common-category-list .category-content {
    padding: 0 0.3rem;
  }
  .common-category-list .category-info {
    margin-bottom: 0.13rem;
  }
  .common-category-list .category-text {
    min-width: 1.43rem;
    margin-right: 0.22rem;
    padding: 0.09rem 0.26rem;
    border-radius: 0.043rem;
    font-size: 0.3rem;
  }
  .is-android .common-category-list .category-text {
    padding: 0.11rem 0.26rem 0.07rem;
  }
  .common-category-list .category-title {
    font-size: 0.35rem;
  }
}
@media only screen and (max-width: 374px) {
  .common-category-list .category-text {
    padding-top: 0.05rem;
    padding-bottom: 0.03rem;
  }
}
@media print, (min-width: 768px) and (max-width: 1000px) {
  .common-category-list .category-text {
    padding-right: 5px;
    padding-left: 5px;
    font-size: 1.35vw;
  }
}
/* COMMON PHONE BOX
 * * -----------------------------------------------*/
.phone-box.is-big {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}
.phone-box.is-big .phone-link {
  display: inline-block;
  color: #fff;
  background-color: #00608a;
}
.phone-box.is-big .phone-text {
  border-bottom: 1px solid #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.is-safari .phone-box.is-big .phone-text {
  letter-spacing: 0.005em;
}
.phone-box.is-big .phone-content {
  text-align: center;
  background: url(../img/common/phone_icn_01.svg) left center/36px auto no-repeat;
}
.phone-box.is-big .phone-number {
  display: block;
  font-family: Arial, sans-serif;
  font-weight: 700;
  line-height: 1;
}
.phone-box.is-big .phone-time {
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
}

@media print, (min-width: 768px) {
  .phone-box.is-big .phone-link {
    max-width: 540px;
    padding: 33px 62px;
    border-radius: 7px;
    pointer-events: none;
  }
  .phone-box.is-big .phone-text {
    margin-bottom: 15px;
    padding: 0 30px 18px 23px;
    font-size: 23px;
  }
  .phone-box.is-big .phone-content {
    padding-left: 39px;
  }
  .phone-box.is-big .phone-number {
    margin-bottom: -5px;
    font-size: 55px;
  }
  .is-mac .phone-box.is-big .phone-number {
    margin-bottom: -2px;
  }
  .phone-box.is-big .phone-time {
    font-size: 20px;
  }
}
@media only screen and (max-width: 767.98px) {
  .phone-box.is-big .phone-link {
    width: 100%;
    padding: 0.4rem 0.8rem 0.43rem;
    border-radius: 0.095rem;
  }
  .phone-box.is-big .phone-text {
    margin-bottom: 0.18rem;
    padding: 0 0.2rem 0.25rem 0.3rem;
    font-size: 0.3rem;
  }
  .phone-box.is-big .phone-content {
    padding-left: 0.5rem;
    background-size: 0.47rem auto;
  }
  .phone-box.is-big .phone-number {
    margin-bottom: -0.07rem;
    font-size: 0.72rem;
  }
  .phone-box.is-big .phone-time {
    font-size: 0.26rem;
  }
}
.block-common-keyvisual {
  position: relative;
}
.block-common-keyvisual:after {
  content: "";
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  bottom: 0;
}
.block-common-keyvisual .keyvisual-image {
  width: 100%;
}
.block-common-keyvisual .keyvisual-title {
  width: 100%;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  font-weight: 700;
  text-align: center;
  z-index: 1;
}
.block-common-keyvisual .keyvisual-title .is-small {
  display: block;
}

@media print, (min-width: 768px) {
  .block-common-keyvisual {
    margin-top: -57px;
    margin-bottom: 38px;
  }
  .block-common-keyvisual .keyvisual-title {
    font-size: 49px;
  }
  .block-common-keyvisual .keyvisual-title .is-small {
    font-size: 21.5px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block-common-keyvisual {
    margin-top: -0.52rem;
    margin-bottom: 0.46rem;
  }
  .block-common-keyvisual .keyvisual-title {
    font-size: 0.49rem;
  }
  .block-common-keyvisual .keyvisual-title .is-small {
    margin-bottom: 0.11rem;
    font-size: 0.27rem;
    line-height: calc(36 / 27);
  }
}
.list-two-columns > li.is-blue .checklist-label {
  color: #0171ba;
}
.list-two-columns > li.is-blue .column-button,
.list-two-columns > li.is-blue .time-estimate {
  background-color: #00608a;
}
.list-two-columns > li.is-green .checklist-label {
  color: #039045;
}
.list-two-columns > li.is-green .column-button,
.list-two-columns > li.is-green .time-estimate {
  background-color: #019766;
}
.list-two-columns .time-estimate {
  color: #fff;
  border-radius: 50%;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
.list-two-columns .time-estimate .text {
  display: block;
}
.list-two-columns .time-estimate .unit {
  position: relative;
}
.list-two-columns .column-image img {
  width: 100%;
}
.list-two-columns .column-caption,
.list-two-columns .column-title {
  color: #000;
  font-weight: 700;
  text-align: center;
}
.list-two-columns .checklist-wrapper {
  background-color: #f0f0f0;
}
.list-two-columns .checklist-label,
.list-two-columns .checklist-title {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.list-two-columns .checklist-title {
  color: #000;
}
.list-two-columns .checklist.is-blue li::before {
  background-image: url(../img/common/checklist_icn_blue.svg);
}
.list-two-columns .checklist.is-green li::before {
  background-image: url(../img/common/checklist_icn_green.svg);
}
.list-two-columns .checklist > li {
  color: #000;
  border-bottom: 1px dashed #b1b1b1;
  position: relative;
  font-weight: 700;
}
.list-two-columns .checklist > li::before {
  content: "";
  background: center/100% no-repeat;
  position: absolute;
  left: 0;
}
.list-two-columns .column-button {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin: 0 auto;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
.list-two-columns .column-button span {
  position: relative;
}
.list-two-columns .column-button span::before {
  content: "";
  display: inline-block;
  background: url(../img/common/icon_arrow_04.svg) center/100% no-repeat;
  position: absolute;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  left: 0;
}

@media print, (min-width: 768px) {
  .list-two-columns {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -11px;
    padding: 0 3px;
  }
  .list-two-columns > li {
    width: calc(50% - 22px);
    margin: 0 11px;
  }
  .list-two-columns .time-estimate {
    width: 82px;
    height: 82px;
    margin: 0 auto 17px;
    font-size: 22px;
    padding-top: 17px;
  }
  .list-two-columns .time-estimate .number {
    font-size: 30px;
  }
  .list-two-columns .time-estimate .unit {
    font-size: 16px;
    bottom: 3px;
  }
  .list-two-columns .column-caption {
    margin-bottom: 4px;
    font-size: 19px;
  }
  .list-two-columns .column-title {
    margin-bottom: 17px;
    font-size: 32.5px;
  }
  .list-two-columns .column-image {
    margin-bottom: 11px;
  }
  .list-two-columns .column-text {
    margin: 0 22px 16px;
    font-size: 17px;
    line-height: calc(28 / 17);
  }
  .list-two-columns .checklist-wrapper {
    margin-bottom: 16px;
    padding: 30px 50px 30px 44px;
  }
  .list-two-columns .checklist-label {
    margin-bottom: 5px;
    font-size: 19.5px;
  }
  .list-two-columns .checklist-title {
    margin-bottom: 30px;
    font-size: 25px;
  }
  .list-two-columns .checklist {
    margin-bottom: 10px;
  }
  .list-two-columns .checklist > li {
    padding: 0 0 7px 35px;
    font-size: 20px;
    letter-spacing: 0.1em;
  }
  .list-two-columns .checklist > li:not(:last-child) {
    margin-bottom: 11px;
  }
  .list-two-columns .checklist > li.is-custom-spacing {
    letter-spacing: 0.04em;
  }
  .is-safari .list-two-columns .checklist > li.is-custom-spacing {
    letter-spacing: 0;
  }
  .is-safari .list-two-columns .checklist > li {
    letter-spacing: 0.06em;
  }
  .list-two-columns .checklist > li::before {
    width: 22px;
    height: 22px;
    top: 3px;
  }
  .is-safari .list-two-columns .checklist > li::before {
    top: 2px;
  }
  .list-two-columns .column-button {
    width: 439px;
    max-width: 100%;
    min-height: 77px;
    padding: 10px 30px;
    border-radius: 12px;
    font-size: 26px;
  }
  .list-two-columns .column-button span {
    padding-left: 40px;
  }
  .list-two-columns .column-button span::before {
    width: 30px;
    height: 30px;
    top: 50%;
  }
}
@media only screen and (max-width: 767.98px) {
  .list-two-columns > li:not(:last-child) {
    margin-bottom: 0.95rem;
  }
  .list-two-columns .time-estimate {
    width: 1.24rem;
    height: 1.24rem;
    margin: 0 auto 0.2rem;
    font-size: 0.34rem;
    padding-top: 0.17rem;
  }
  .list-two-columns .time-estimate .number {
    font-size: 0.51rem;
  }
  .list-two-columns .time-estimate .unit {
    bottom: 0.05rem;
    font-size: 0.25rem;
  }
  .list-two-columns .column-caption {
    margin-bottom: 0.09rem;
    font-size: 0.29rem;
  }
  .list-two-columns .column-title {
    margin-bottom: 0.31rem;
    font-size: 0.5rem;
  }
  .list-two-columns .column-image {
    margin: 0 -0.2rem 0.18rem;
  }
  .list-two-columns .column-text {
    margin: 0 0.12rem 0.41rem;
    line-height: calc(47 / 28);
  }
  .list-two-columns .checklist-wrapper {
    margin: 0 -0.2rem 0.36rem;
    padding: 0.45rem 0.82rem 0.5rem 0.62rem;
  }
  .list-two-columns .checklist-label {
    margin-bottom: 0.08rem;
    font-size: 0.3rem;
  }
  .list-two-columns .checklist-title {
    margin-bottom: 0.5rem;
    font-size: 0.39rem;
  }
  .list-two-columns .checklist {
    margin-bottom: 0.1rem;
  }
  .list-two-columns .checklist > li {
    padding: 0 0 0.11rem 0.56rem;
    font-size: 0.31rem;
    letter-spacing: 0.08em;
  }
  .list-two-columns .checklist > li:not(:last-child) {
    margin-bottom: 0.15rem;
  }
  .list-two-columns .checklist > li.is-custom-spacing {
    letter-spacing: 0.02em;
  }
  .list-two-columns .checklist > li::before {
    width: 0.36rem;
    height: 0.36rem;
    top: 0;
  }
  .list-two-columns .column-button {
    min-height: 1.2rem;
    margin: 0 0.15rem;
    padding: 0.1rem 0.4rem;
    border-radius: 0.19rem;
    font-size: 0.4rem;
  }
  .list-two-columns .column-button span {
    padding-left: 0.6rem;
  }
  .list-two-columns .column-button span::before {
    width: 0.46rem;
    height: 0.46rem;
    top: calc(50% - .02rem);
  }
}
.common-contact-information {
  text-align: center;
}
.common-contact-information .company-name {
  color: #000;
  font-weight: 700;
}
.common-contact-information address {
  font-weight: 700;
}
.common-contact-information .text {
  color: #000;
  letter-spacing: -0.02em;
}
.common-contact-information .google-maps {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 auto;
  color: #00608a;
  font-weight: 700;
}

@media print, (min-width: 768px) {
  .common-contact-information {
    margin-bottom: 72px;
  }
  .common-contact-information .phone-box {
    margin-bottom: 47px;
  }
  .common-contact-information .company-name {
    margin-bottom: 15px;
    font-size: 24.5px;
  }
  .common-contact-information address {
    margin-bottom: 15px;
    font-size: 20px;
  }
  .is-safari .common-contact-information address {
    margin-right: -10px;
    margin-left: -10px;
  }
  .common-contact-information .text {
    margin-bottom: 23px;
    font-size: 17px;
    line-height: calc(28 / 17);
  }
  .common-contact-information .google-maps {
    width: 180px;
    min-height: 41px;
    border: 2px solid #00608a;
    border-radius: 5px;
    font-size: 18px;
  }
}
@media only screen and (max-width: 767.98px) {
  .common-contact-information {
    margin-bottom: 0.9rem;
  }
  .common-contact-information .phone-box {
    margin-bottom: 0.32rem;
  }
  .common-contact-information .company-name {
    margin-bottom: 0.23rem;
    font-size: 0.35rem;
  }
  .common-contact-information address {
    margin-bottom: 0.1rem;
  }
  .common-contact-information .text {
    margin: 0 0.2rem 0.34rem;
    line-height: calc(40 / 28);
    text-align: left;
  }
  .common-contact-information .google-maps {
    width: 2.55rem;
    min-height: 0.59rem;
    border: 0.03rem solid #00608a;
    border-radius: 0.07rem;
    font-size: 0.25rem;
  }
}
.voice-stap-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-direction: column;
      flex-direction: column;
}
.voice-stap-wrapper .voice-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
}
.voice-stap-wrapper .visit-label {
  display: inline-block;
  color: #000;
  border: 1px solid #000;
  text-align: center;
  font-weight: 700;
}
.voice-stap-wrapper .voice-text {
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #000;
}

@media print, (min-width: 768px) {
  .voice-stap-wrapper .voice-title {
    margin-bottom: 54px;
  }
  .voice-stap-wrapper .voice-stap-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 772px;
    margin: 0 -18px -20px;
  }
  .voice-stap-wrapper .voice-stap-list > li {
    width: calc(50% - 36px);
    max-width: 350px;
    margin: 0 18px 20px;
  }
  .voice-stap-wrapper .voice-image {
    margin-bottom: 15px;
  }
  .voice-stap-wrapper .visit-label {
    min-width: 100px;
    margin-bottom: 14px;
    padding: 6px 10px 3px;
    font-size: 16px;
  }
  .is-mac.is-chrome .voice-stap-wrapper .visit-label, .is-firefox .voice-stap-wrapper .visit-label {
    padding-top: 5px;
    padding-bottom: 4px;
  }
  .voice-stap-wrapper .voice-text {
    font-size: 17px;
    line-height: calc(25 / 17);
  }
}
@media only screen and (max-width: 767.98px) {
  .voice-stap-wrapper .voice-title {
    margin-bottom: 0.76rem;
  }
  .voice-stap-wrapper .voice-title img {
    width: 3.2rem;
  }
  .voice-stap-wrapper .voice-stap-list {
    padding: 0 0.07rem;
  }
  .voice-stap-wrapper .voice-stap-list > li:not(:last-child) {
    margin-bottom: 0.73rem;
  }
  .voice-stap-wrapper .voice-image {
    -ms-flex-order: 1;
        order: 1;
    margin-bottom: 0.12rem;
  }
  .voice-stap-wrapper .visit-label {
    -ms-flex-order: 0;
        order: 0;
    min-width: 2rem;
    margin-bottom: 0.39rem;
    padding: 0.08rem 0.2rem;
    font-size: 0.32rem;
  }
  .is-android .voice-stap-wrapper .visit-label {
    padding-top: 0.1rem;
    padding-bottom: 0.06rem;
  }
  .voice-stap-wrapper .voice-text {
    -ms-flex-order: 2;
        order: 2;
    font-size: 0.28rem;
    line-height: calc(43 / 28);
  }
}
.section-common-experience .experience-item {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
}
.section-common-experience .experience-title {
  text-align: center;
  font-weight: 700;
}
.section-common-experience .experience-title .is-small {
  display: block;
}
.section-common-experience .experience-button {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  color: #fff;
  background-color: #00608a;
  font-weight: 700;
  text-align: center;
}
.section-common-experience .experience-button span {
  position: relative;
}
.section-common-experience .experience-button span::before {
  content: "";
  background: url(../img/common/icon_arrow_04.svg) center/100% no-repeat;
  position: absolute;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  left: 0;
}

@media print, (min-width: 768px) {
  .section-common-experience {
    margin-bottom: 91px;
  }
  .section-common-experience .experience-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -20px -40px;
  }
  .section-common-experience .experience-list > li {
    width: calc(50% - 34px);
    margin: 0 17px 40px;
  }
  .section-common-experience .experience-image {
    margin-bottom: 17px;
  }
  .section-common-experience .experience-title {
    margin-bottom: 11px;
    font-size: 30px;
  }
  .section-common-experience .experience-title .is-small {
    margin-bottom: 4px;
    font-size: 20px;
  }
  .section-common-experience .common-text {
    margin-bottom: 13px;
  }
  .section-common-experience .experience-button {
    min-width: 312px;
    min-height: 55px;
    padding: 6px 20px 4px;
    border-radius: 8px;
    font-size: 18px;
  }
  .section-common-experience .experience-button span {
    padding-left: 33px;
  }
  .section-common-experience .experience-button span::before {
    width: 21px;
    height: 21px;
    top: calc(50% - 1px);
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-experience {
    margin-bottom: 1.18rem;
  }
  .section-common-experience .common-section-title {
    font-size: 0.51rem;
    line-height: calc(87 / 51);
  }
  .section-common-experience .experience-list > li:not(:last-child) {
    margin-bottom: 0.96rem;
  }
  .section-common-experience .experience-image {
    margin: 0 -0.2rem 0.35rem;
  }
  .section-common-experience .experience-title {
    margin-bottom: 0.12rem;
    font-size: 0.5rem;
  }
  .section-common-experience .experience-title .is-small {
    margin-bottom: 0.07rem;
    font-size: 0.26rem;
  }
  .section-common-experience .common-text {
    margin: 0 0.15rem 0.31rem;
  }
  .section-common-experience .experience-button {
    min-width: 5.44rem;
    min-height: 0.95rem;
    padding: 0.15rem 0.6rem 0.15rem 0.3rem;
    border-radius: 0.15rem;
    font-size: 0.32rem;
  }
  .section-common-experience .experience-button span {
    padding-left: 0.56rem;
  }
  .section-common-experience .experience-button span::before {
    width: 0.38rem;
    height: 0.38rem;
    top: calc(50% - .02rem);
  }
  .is-android .section-common-experience .experience-button span::before {
    top: calc(50% - .03rem);
  }
}
@media print {
  .section-common-experience .common-text {
    min-height: 120px;
  }
}
/* PAGE
 * * -----------------------------------------------*/
/* HOUSING FAIR
 * * -----------------------------------------------*/

/* common */
.ft-serif {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.ttl-common img {
	display:block;
}
.common_cta {
	background:#fff;
}
.common_cta a {
	display:block;
	color:#fff;
	background:#006699;
	text-align:center;
	font-weight:600;
	width:fit-content;
	border-radius:10px;
	margin: auto;
}
.common_cta label {
	display:block;
	margin: auto;
}
.common_cta a:before {
	content:'';
	background:url(../img/event_hf2024/ico_bottom.png)no-repeat;
	background-size:cover;
	display:inline-block;
}
@media print, (min-width: 768px) {
	.ttl-common .ttl_main {
		width:auto;
		height:98px;
		margin:0 auto 30px;
	}
	.ttl-common .ttl_sub {
		width:auto;
		height:34px;
		margin:0 auto 50px;
	}
	.common_cta {
		padding:30px 20px;
	}
	.common_cta a {
		padding:20px 25px;
		font-size: 20px;
	}
	.common_cta a:before {
		width:27px;
		height:27px;
		margin: 0 5px -5px 0;
	}
}
@media only screen and (max-width: 767.98px) {
	.ttl-common .ttl_main {
		width:auto;
		height:66px;
		margin:0 auto 20px;
	}
	.ttl-common .ttl_sub {
		width:auto;
		height:23px;
		margin:0 auto 40px;
	}
	.common_cta {
		padding:30px 0;
	}
	.common_cta a {
		padding:15px 20px;
		font-size:14px;
	}
	.common_cta a:before {
		width:18px;
		height:18px;
		margin: 0 5px -5px 0;
	}
}
/* keyvisual */
.block-keyvisual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.block-keyvisual h1 {
	color:#fff;
	text-align:center;
	font-weight:600;

}
.block-keyvisual h1 span,
.block-keyvisual img {
	display:block;
	margin-left: auto;
	margin-right: auto;
}

@media print, (min-width: 768px) {
	.block-keyvisual {
		height: 1000px;
		background: url(../img/event_nyf2026/main-image.jpg) no-repeat;
		background-size: cover;
		background-position: center;
		margin-bottom:0px;
	}
	.block-keyvisual h1 {
		font-size:50px;
		margin-bottom:50px;
	}
	.block-keyvisual h1 span {
		margin-bottom:45px;
	}
	.block-keyvisual .date {
		margin:0 auto 40px;
	}
	.block-keyvisual .catch {
		margin:0 auto 40px;
	}
	.block-keyvisual .icon {
		margin:0 auto;
	}
}
@media only screen and (max-width: 767.98px) {
	.block-keyvisual {
		height: 13.35rem;
		background: url(../img/event_nyf2026/sp/main-image.jpg) top center/cover no-repeat;
		margin-bottom:50px;
	}
	.block-keyvisual h1 {
		font-size:25px;
		margin-bottom:30px;
	}
	.block-keyvisual h1 span {
		margin-bottom:30px;
	}
	.block-keyvisual .date {
		width:280px;
		margin:0 auto 30px;
	}
	.block-keyvisual .catch {
		width:300px;
		margin:0 auto 40px;
	}
	.block-keyvisual .icon {
		width:105px;
		margin:0 auto;
	}
}

/* =========================
   block-menu（2カラム用）
   ========================= */

.block-menu h2 img {
  display: block;
  margin: auto;
}

.block-menu .flex {
  display: block; /* SPは縦積み。PCでflexにする */
}

/* 背景（2枚だけ） */
.block-menu .box-menu.bg01 {
  background: url(../img/event_nyf2026/img01.jpg) top left / cover no-repeat;
}
.block-menu .box-menu.bg02 {
  background: url(../img/event_nyf2026/img02.jpg) top left / cover no-repeat;
}

/* 共通 */
.block-menu .box-menu {
  color: #fff;
  position: relative;
  overflow: hidden;
}

.block-menu .box-menu .box-menu-head,
.block-menu .box-menu .box-txt {
  width: 100%;
}

.block-menu .box-menu .ttl img,
.block-menu .box-menu .ttl_sub {
  display: block;
  margin: 0 auto;
}

.block-menu .box-menu .box-txt h3 {
  text-align: center;
}

/* =========================
   PC（768px〜）
   2カラム：半々 + 高さ固定をやめて比率で自然に
   ========================= */
@media print, (min-width: 768px) {
  .block-menu {
    margin-bottom: 80px;
  }

  .block-menu h2 img {
    margin: 0 auto 40px;
  }

  .block-menu .flex {
    display: flex;
    align-items: stretch;
  }

  .block-menu .box-menu {
    width: 50%;
    aspect-ratio: 3 / 2; 
    height: auto;
    padding: 50px 30px;
    display: flex;
    flex-direction: column;
  justify-content:flex-start; /* ← space-between をやめる */
  gap: 16px;
  }

  .block-menu .box-menu .box-menu-head {
    margin-top: 22%;
  }

  .block-menu .box-menu .ttl {
    margin: 0 auto 20px;
  }

  .block-menu .box-menu .ttl_sub {
    margin: 0 auto;
  }

  .block-menu .box-menu .box-txt {
    width: 80%;
    margin: 0 auto;
  }

  .block-menu .box-menu .box-txt h3 {
    font-size: 25px;
    margin-bottom: 20px;
  }

  .block-menu .box-menu .box-txt p {
    font-size: 14px;
    line-height: 1.8;
  }
}

/* =========================
   SP（〜767.98px）
   ========================= */
@media only screen and (max-width: 767.98px) {
  .block-menu {
    margin-bottom: 50px;
  }

  .block-menu h2 img {
    width: 135px;
    margin: 0 auto 30px;
  }

  .block-menu .box-menu {
    height: 500px;
    padding: 50px 10%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .block-menu .box-menu .box-menu-head {
    margin-top: 25%;
  }

  .block-menu .box-menu .ttl {
    width: auto;
    height: 45px;
    margin: 0 auto 20px;
  }

  .block-menu .box-menu .ttl_sub {
    width: auto;
    height: 28px;
    margin: 0 auto;
  }

  .block-menu .box-menu .ttl img,
  .block-menu .box-menu .ttl_sub img {
    width: auto;
    height: 100%;
  }

  .block-menu .box-menu .box-txt h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .block-menu .box-menu .box-txt p {
    font-size: 14px;
    line-height: 1.8;
  }
}


/* experience3カラム */

/* =====================================================
   NYF 2026 HERO
===================================================== */

.block-experience .box-exp.bg01{
  position: relative;
}

.block-experience .box-exp.bg01.flex{
  display: block;
}

.block-experience .box-exp.bg01 .nyf-ui{
  all: initial;
  position: absolute;
  inset: 0;
  z-index: 5;
  display: block;
  pointer-events: none;
}

.block-experience .box-exp.bg01 .nyf-ui *,
.block-experience .box-exp.bg01 .nyf-ui *::before,
.block-experience .box-exp.bg01 .nyf-ui *::after{
  box-sizing: border-box;
}

.block-experience .box-exp.bg01 .nyf-ui img{
  display: block;
  height: auto;
  max-width: 100%;
}

.block-experience .box-exp.bg01 .nyf-ui a{
  pointer-events: auto;
}

/* ---------------------------
   左側ブロック
--------------------------- */
.block-experience .box-exp.bg01 .nyf-ui__left{
  position: absolute;
  top: 200px;
  left: 100px;
  width: 380px;
}


.block-experience .box-exp.bg01 .nyf-ui__badge{
  width: 70%;
  margin: 0 auto 60px;
}


.block-experience .box-exp.bg01 .nyf-ui__ribbon{
  width: 60%;
  margin: 0 0 20px;
}


.block-experience .box-exp.bg01 .nyf-ui__text{
  margin-top: 14px;
  color: #fff;
}

.block-experience .box-exp.bg01 .nyf-ui__text h3{
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
  margin: 0 0 30px;
  font-size: 22px;
  line-height: 1.35;
}

.block-experience .box-exp.bg01 .nyf-ui__text p{
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}


.block-experience .box-exp.bg01 .nyf-ui__links{
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

/* 画像自体は「親aの幅」に追従 */
.block-experience .box-exp.bg01 .nyf-ui__links img{
  width: 100%;
  margin: 0;
}


.block-experience .box-exp.bg01 .nyf-ui__links a:first-child{
  width: 300px;
}


.block-experience .box-exp.bg01 .nyf-ui__links a:last-child{
  width: 230px;
}

/* ---------------------------
   右上（日程）
--------------------------- */
.block-experience .box-exp.bg01 .nyf-ui__date{
  position: absolute;
  top: 44px;
  right: 52px;
  width: 520px;
}

/* =====================================================
   SP（767.98px以下）
===================================================== */
@media (max-width: 767.98px){

  .block-experience .box-exp.bg01 .nyf-ui__left{
    top: 50px;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translateX(-50%);
    width: min(90vw, 360px);
  }

  .block-experience .box-exp.bg01 .nyf-ui__badge{
    width: 72%;
    margin: 0 auto 14px;
  }

  .block-experience .box-exp.bg01 .nyf-ui__ribbon{
    width: 62%;
    margin: 0 auto 40px;
  }

  .block-experience .box-exp.bg01 .nyf-ui__text{
    margin-top: 10px;
    text-align: left;
  }

  .block-experience .box-exp.bg01 .nyf-ui__text h3{
    margin: 0 0 12px;
    font-size: 18px;
    line-height: 1.35;
  }

  .block-experience .box-exp.bg01 .nyf-ui__text p{
    font-size: 12px;
    line-height: 1.7;
  }

  .block-experience .box-exp.bg01 .nyf-ui__links{
    margin-top: 50px;
    gap: 10px;
    align-items: center;
  }

  .block-experience .box-exp.bg01 .nyf-ui__links a:first-child{
    width: min(76vw, 220px);
  }

  .block-experience .box-exp.bg01 .nyf-ui__links a:last-child{
    width: min(62vw, 160px);
  }

  /* 下：日程（中央寄せ） */
  .block-experience .box-exp.bg01 .nyf-ui__date{
    top: auto;
    left: 50%;
    right: auto;
    bottom: 60px;
    transform: translateX(-50%);
    width: min(86vw, 360px);
  }
}












.block-experience .box-exp {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  color: #fff;
}
.block-experience .box-exp.bg01 {
  position: relative;
}
.block-experience .box-exp.bg01 .icon_illust {
  position: absolute;
}
.block-experience .box-exp.bg02 {
  background: url(../img/event_nyf2026/img05.jpg) center center/cover no-repeat;
}
.block-experience .box-exp.bg03 {
  background: url(../img/event_nyf2026/img06.jpg) center center/cover no-repeat;
}
/* 追加（3枚目） */
.block-experience .box-exp.bg06b {
  background: url(../img/event_nyf2026/img06b.jpg) center center/cover no-repeat;
}

@media print, (min-width: 768px) {
  .block-experience {
    margin-bottom: 80px;
  }

  .block-experience .flex {
    display: flex;
    align-items: flex-start;
  }

  /* 下段：3カラム */
  .block-experience .flex.exp-3col {
    gap: 0; /* 既存と同じ「隙間なし」前提 */
  }
  .block-experience .flex.exp-3col .box-exp {
    width: 33.3333%;
  }

  .block-experience .box-exp {
    height: 1120px;
    padding: 50px 30px 100px;
  }

  .block-experience .box-exp.bg01 {
    background: url(../img/event_hf2024/img04.jpg) center center/cover no-repeat;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 1230px;
  }

  .block-experience .box-exp .box-txt {
    width: 460px;
    margin: 0 auto;
  }
  .block-experience .box-exp .box-txt h3 {
    font-size: 30px;
    margin-bottom: 25px;
    text-align: center;
  }
  .block-experience .box-exp .box-txt p {
    font-size: 14px;
    line-height: 1.8;
  }

  .block-experience .box-exp.bg01 .box-txt {
    width: 300px;
    margin-left: 100px;
  }
  .block-experience .box-exp.bg01 .box-txt .icon {
    margin-bottom: 20px;
  }
  .block-experience .box-exp.bg01 .box-txt h3 {
    text-align: left;
  }
  .block-experience .box-exp.bg01 .icon_illust {
    right: 50px;
    bottom: 50px;
  }
}

@media only screen and (max-width: 767.98px) {
  .block-experience {
    margin-bottom: 50px;
  }

  /* SPは縦積み（3枚とも1カラム） */
  .block-experience .flex {
    display: block;
  }

  .block-experience .box-exp {
    height: 600px;
    padding: 20px 20px 30px;
  }

  .block-experience .box-exp.bg01 {
    background: url(../img/event_hf2024/sp/img04.jpg) center center/cover no-repeat;
	height: 850px;
  }

  .block-experience .box-exp .box-txt h3 {
    font-size: 21px;
    margin-bottom: 20px;
  }
  .block-experience .box-exp .box-txt p {
    font-size: 13px;
    line-height: 1.8;
  }

  .block-experience .box-exp.bg01 .box-txt .icon {
    width: 85px;
    margin-bottom: 20px;
  }
  .block-experience .box-exp.bg01 .icon_illust {
    width: 102px;
    right: 15px;
    top: 20px;
  }
}

/* =====================================================
   IDEA（完全リライト：bg01をHERO方式／3カラムは維持）
   ※このブロックで「元の idea CSS」を丸ごと差し替え
===================================================== */

/* =========================
   共通
========================= */
.block-idea { margin-bottom: 50px; }

.block-idea .box-idea{
  display: flex;
  align-items: flex-end;
  color: #fff;
}

/* 3カラム側のテキスト */
.block-idea .box-idea .works-box-txt{
  text-align: center;
  margin: 0 auto;
}

/* bg02〜bg04（3カラム背景） */
.block-idea .box-idea.bg02{
  background: url(../img/event_nyf2026/img08.jpg) center center/cover no-repeat;
}
.block-idea .box-idea.bg03{
  background: url(../img/event_nyf2026/img09.jpg) center center/cover no-repeat;
}
.block-idea .box-idea.bg04{
  background: url(../img/event_nyf2026/img10.jpg) center center/cover no-repeat;
}

/* =========================
   bg01（HERO方式：全幅背景＋上物nyf-ui）
   ※HTML構造：.block-idea の直下に .box-idea.bg01 がある前提
========================= */
.block-idea > .box-idea.bg01{
  position: relative;
  display: block; /* HEROは分割しないのでblock */
  width: 100%;
  color: #fff;
  background: url(../img/event_nyf2026/img07.jpg) center center/cover no-repeat;
}

/* 上物レイヤー（HEROと同じ思想） */
.block-idea > .box-idea.bg01 .nyf-ui{
  all: initial;
  position: absolute;
  inset: 0;
  z-index: 5;
  display: block;
  pointer-events: none;
}

.block-idea > .box-idea.bg01 .nyf-ui *,
.block-idea > .box-idea.bg01 .nyf-ui *::before,
.block-idea > .box-idea.bg01 .nyf-ui *::after{
  box-sizing: border-box;
}

.block-idea > .box-idea.bg01 .nyf-ui img{
  display: block;
  max-width: 100%;
  height: auto;
}

.block-idea > .box-idea.bg01 .nyf-ui a{
  pointer-events: auto;
}

/* 左ブロック */
.block-idea > .box-idea.bg01 .nyf-ui__left{
  position: absolute;
  top: 200px;
  left: 100px;
  width: 380px;
}

.block-idea > .box-idea.bg01 .nyf-ui__badge{
  width: 70%;
  margin: 0 auto 60px;
}

.block-idea > .box-idea.bg01 .nyf-ui__ribbon{
  width: 60%;
  margin: 0 0 20px;
}

.block-idea > .box-idea.bg01 .nyf-ui__text{
  margin-top: 14px;
  color: #fff;
}

.block-idea > .box-idea.bg01 .nyf-ui__text h3{
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  margin: 0 0 30px;
  font-size: 22px;
  line-height: 1.35;
}

.block-idea > .box-idea.bg01 .nyf-ui__text p{
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}

.block-idea > .box-idea.bg01 .nyf-ui__links{
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

.block-idea > .box-idea.bg01 .nyf-ui__links img{
  width: 100%;
  margin: 0;
}

.block-idea > .box-idea.bg01 .nyf-ui__links a:first-child{ width: 300px; }
.block-idea > .box-idea.bg01 .nyf-ui__links a:last-child{  width: 230px; }

/* 右上（日程） */
.block-idea > .box-idea.bg01 .nyf-ui__date{
  position: absolute;
  top: 44px;
  right: 52px;
  width: 520px;
}

/* =========================
   PC（768px以上）
========================= */
@media print, (min-width: 768px){

  .block-idea { margin-bottom: 80px; }

  /* 3カラム行 */
  .block-idea .flex{
    display: flex;
    align-items: flex-start;
  }

  /* ★3カラムは「.flexの中だけ」 */
  .block-idea .flex .box-idea{
    width: calc(100% / 3);
    height: 780px;
    padding: 40px;
  }

  /* 3カラム側文字 */
  .block-idea .box-idea .works-box-txt p{
    font-size: 14px;
    margin-bottom: 15px;
  }
  .block-idea .box-idea .works-box-txt h4{
    font-size: 20px;
  }

  /* bg01（HERO）寸法 */
  .block-idea > .box-idea.bg01{
    height: 780px;
    padding: 0;
  }
}

/* =========================
   SP（767.98px以下）
========================= */
@media only screen and (max-width: 767.98px){

  /* 3カラムは縦積み（.flexはblock） */
  .block-idea .flex{
    display: block;
  }

  /* ★3カラム側の箱だけに適用 */
  .block-idea .flex .box-idea{
    height: 562px;
    padding: 20px 15px 35px;
  }

  /* 3カラム側文字 */
  .block-idea .box-idea .works-box-txt p{
    font-size: 13px;
    margin-bottom: 10px;
  }
  .block-idea .box-idea .works-box-txt h4{
    font-size: 18px;
  }

  /* bg01（HERO）SP背景 */
  .block-idea > .box-idea.bg01{
    background: url(../img/event_nyf2026/sp/img07.jpg) center center/cover no-repeat;
    height: 850px;
    padding: 0;
  }

  .block-idea > .box-idea.bg01 .nyf-ui__left{
    top: 50px;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translateX(-50%);
    width: min(90vw, 360px);
  }

  .block-idea > .box-idea.bg01 .nyf-ui__badge{
    width: 72%;
    margin: 0 auto 14px;
  }

  .block-idea > .box-idea.bg01 .nyf-ui__ribbon{
    width: 62%;
    margin: 0 auto 40px;
  }

  .block-idea > .box-idea.bg01 .nyf-ui__text{
    margin-top: 10px;
    text-align: left;
  }

  .block-idea > .box-idea.bg01 .nyf-ui__text h3{
    margin: 0 0 12px;
    font-size: 18px;
    line-height: 1.35;
  }

  .block-idea > .box-idea.bg01 .nyf-ui__text p{
    font-size: 12px;
    line-height: 1.7;
  }

  .block-idea > .box-idea.bg01 .nyf-ui__links{
    margin-top: 50px;
    gap: 10px;
    align-items: center;
  }

  .block-idea > .box-idea.bg01 .nyf-ui__links a:first-child{ width: min(76vw, 220px); }
  .block-idea > .box-idea.bg01 .nyf-ui__links a:last-child{  width: min(62vw, 160px); }

  .block-idea > .box-idea.bg01 .nyf-ui__date{
    top: auto;
    left: 50%;
    right: auto;
    bottom: 60px;
    transform: translateX(-50%);
    width: min(86vw, 360px);
  }
}




/* consultation */
.block-consultation .box-consul {
	color:#fff;
}
.block-consultation .box-consul .image {
	position:relative;
}
.block-consultation .box-consul .icon_illust {
	position:absolute;
}
.block-consultation .box-consul .box-txt {
	background:rgba(0,0,0,0.7);
}
.block-consultation .box-faq {
	background:#e6e6e6;
}
.block-consultation .box-faq img {
	display:block;
}
.block-consultation .box-faq h4 {
	text-align:center;
	font-weight:600;
}
@media print, (min-width: 768px) {
	.block-consultation {
		margin-bottom:80px;
	}
	.block-consultation .box-consul {
		display:flex;
		align-items:stretch;
		flex-direction:row-reverse;
	}
	.block-consultation .box-consul .image {
		background: url(../img/event_hf2024/img11.jpg) center center/cover no-repeat;
		height:780px;
		width:calc(100% - 430px);
	}
	.block-consultation .box-consul .icon_illust {
		bottom:30px;
		right:30px;
	}
	.block-consultation .box-consul .box-txt {
		width:430px;
		padding:150px 40px 30px;
	}
	.block-consultation .box-consul .box-txt h3 {
		font-size:25px;
		margin-bottom:30px;
	}
	.block-consultation .box-consul .box-txt p {
		font-size:14px;
		line-height:2;
	}
	.block-consultation .flex {
		display:flex;
		align-items:stretch;
		flex-wrap:wrap;
	}
	.block-consultation .box-faq {
		padding:50px 35px;
		width:25%;
	}
	.block-consultation .box-faq.bg02 {
		background:#cccccc;
	}
	.block-consultation .box-faq img {
		margin:0 auto 35px;
	}
	.block-consultation .box-faq h4 {
		font-size:18px;
		margin-bottom:25px;
	}
	.block-consultation .box-faq p {
		font-size:14px;
		line-height:1.8;
	}
}
@media only screen and (max-width: 767.98px) {
	.block-consultation {
		margin-bottom:50px;
	}
	.block-consultation .box-consul .image {
		background: url(../img/event_hf2024/sp/img11.jpg) center center/cover no-repeat;
		height:375px;
	}
	.block-consultation .box-consul .image h3 {
		font-size:21px;
		position:absolute;
		bottom:20px;
		left:20px;
	}
	.block-consultation .box-consul .icon_illust {
		width:102px;
		bottom:20px;
		right:15px;
	}
	.block-consultation .box-consul .box-txt {
		padding:20px 20px 30px;
	}
	.block-consultation .box-consul .box-txt p {
		font-size:14px;
		line-height:2;
	}
	.block-consultation .box-faq {
		padding:50px 40px;
	}
	.block-consultation .box-faq:nth-child(even) {
		background:#cccccc;
	}
	.block-consultation .box-faq img {
		width:54px;
		margin:0 auto 20px;
	}
	.block-consultation .box-faq h4 {
		font-size:17px;
		margin-bottom:20px;
	}
	.block-consultation .box-faq p {
		font-size:13px;
		line-height:1.8;
	}
}



/* bigtitle01 */
.bigtitle01{
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
}

.bigtitle01 img{
  display: inline-block;
  max-width: 90%;
  height: auto;
}




/* showroom */
.block-sr h2 img,
.block-sr h3 img{
	display:block;
	margin:auto;
}
.block-sr .caption,
.block-sr .address {
	text-align:center;
}
.block-sr .address a {
	display:block;
	border:1px solid #000;
	width:fit-content;
}
.block-sr .box-sr {
	position:relative;
}
.block-sr .box-sr p {
	position:absolute;
	z-index:2;
	color:#fff;
}
@media print, (min-width: 768px) {
	.block-sr {
		margin-bottom:80px;
	}
	.block-sr h2 {
		margin-bottom:35px;
	}
	.block-sr .caption {
		margin:20px 10px 10px;
		font-size:14px;
	}
	.block-sr .address {
		margin:50px 0;
	}
	.block-sr .address p {
		font-size:28px;
	}
	.block-sr .address a {
		border-radius:5px;
		padding:5px 15px;
		margin:20px auto;
	}
	.block-sr .address small {
		font-size:18px;
	}
	.block-sr .flex {
		display:flex;
		flex-wrap:wrap;
	}
	.block-sr .box-sr {
		width:50%;
	}
	.block-sr .box-sr img {
		width:100%;
	}
	.block-sr .box-sr p {
		font-size:13px;
		left:20px;
		bottom:20px;
	}
	.block-sr .box-sr:nth-child(even) p {
		left:auto;
		right:20px;
	}
}
@media only screen and (max-width: 767.98px) {
	.block-sr {
		margin-bottom:50px;
	}
	.block-sr h2 {
		width:201px;
		margin:0 auto 35px;
	}
	.block-sr h3 {
		width:267px;
		margin:0 auto 35px;
	}
	.block-sr .caption {
		margin:0 15px;
		font-size:12px;
	}
	.block-sr .address {
		margin:35px 15px;
	}
	.block-sr .address p {
		font-size:20px;
	}
	.block-sr .address a {
		border-radius:5px;
		padding:2px 12px;
		margin:20px auto;
	}
	.block-sr .address small {
		font-size:12px;
	}
	.block-sr .box-sr p {
		font-size:12px;
		left:15px;
		bottom:15px;
	}
}


/* special favor */
.block-sf h2 img,
.block-sf .box-sf img{
	display:block;
	margin:auto;
}
.block-sf .box-sf {
	background:#e6e6e6;
}
.block-sf .box-sf:nth-child(2) {
	background:#b3b3b3;
}
.block-sf .caption,
.block-sf .box-sf p {
	text-align:center;
}
@media print, (min-width: 768px) {
	.block-sf {
		margin-bottom:80px;
	}
	.block-sf h2 {
		margin-bottom:45px;
	}
	.block-sf .caption {
		margin-top:20px;
		font-size:15px;
	}
	.block-sf .flex {
		display:flex;
		flex-wrap:wrap;
		align-items:stretch;
	}
	.block-sf .box-sf {
		width:calc(100% / 3);
		padding:45px;
	}
	.block-sf .box-sf h4 {
		height:14px;
		width:auto;
		margin:20px auto 15px;
	}
	.block-sf .box-sf p {
		font-size:13px;
	}
}
@media only screen and (max-width: 767.98px) {
	.block-sf {
		margin-bottom:80px;
	}
	.block-sf h2 {
		width:246px;
		margin:0 auto 35px;
	}
	.block-sf .caption {
		margin-top:15px;
		font-size:11px;
	}
	.block-sf .box-sf {
		margin:0 20px;
		padding:40px 30px;
	}
	.block-sf .box-sf h4 {
		height:15px;
		width:auto;
		margin:20px auto 15px;
	}
	.block-sf .box-sf p {
		font-size:12px;
	}
}


/* contact */

.area-contact .telnumber{
  text-align: center;
  margin: 20px 0;
}

.area-contact .telnumber img{
  display: inline-block;
  height: auto;
  max-width: 50%;
}



/* ======================================
   txt-ao 共通
====================================== */
.area-contact .txt-ao {
  text-align: center;
}

.area-contact .txt-ao img {
  display: inline-block;
  height: auto;
}

/* ======================================
   PC（768px以上）
====================================== */
@media (min-width: 768px) {
  .area-contact .txt-ao {
    margin-top: 40px;
    margin-bottom: 32px;
  }

  .area-contact .txt-ao .md {
    width: 60%;         /* ← PC サイズ */
    max-width: 600px;   /* ← 上限（保険） */
  }
}

/* ======================================
   SP（767.98px以下）
====================================== */
@media (max-width: 767.98px) {
  .area-contact .txt-ao {
    margin-top: 24px;
    margin-bottom: 20px;
  }

  .area-contact .txt-ao .sm {
    width: 50%;         /* ← SP サイズ */
  }
}







.area-contact .icon,
.area-contact .ttl img,
.area-contact .date,
.area-contact h2 img {
	display:block;
}
.area-contact .caption {
	text-align:center;
}
.area-contact h3 {
	background:#006699;
	color:#fff;
	font-weight:600;
	text-align:center;
}
@media print, (min-width: 768px) {
	.area-contact {
		margin-bottom:80px;
	}
	.area-contact .icon {
		margin:0 auto 25px;
	}
	.area-contact .ttl img {
		margin:0 auto 35px;
	}
	.area-contact .date {
		margin:0 auto 35px;
	}
	.area-contact h2 {
		margin-bottom:40px;
	}
	.area-contact h2 img {
		margin:auto;
	}
	.area-contact .caption {
		margin-bottom:50px;
		font-size:15px;
	}
	.area-contact h3 {
		font-size:30px;
		padding:25px 15px;
	}
}
@media only screen and (max-width: 767.98px) {
	.area-contact {
		margin-bottom:50px;
	}
	.area-contact .icon {
		width:88px;
		margin:0 auto 35px;
	}
	.area-contact .ttl img {
		margin:0 auto 35px;
	}
	.area-contact .date {
		width:80%;
		margin:0 auto 35px;
	}
	.area-contact h2 {
		width:253px;
		margin:0 auto 40px;
	}
	.area-contact h2 img {
		margin:auto;
	}
	.area-contact .caption {
		margin-bottom:40px;
		font-size:12px;
	}
	.area-contact h3 {
		font-size:20px;
		padding:20px 10px;
		margin-left: -0.2rem;
		margin-right: -0.2rem;
	}
}

.txt_construction_area {
    background: #ddd;
}
.txt_construction_area b {
    font-weight: 600;
}
@media print, (min-width: 768px) {
	.txt_construction_area {
		width: fit-content;
		padding: 10px 20px;
		font-size: 15px;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 767.98px) {
	.txt_construction_area {
		width: 90%;
		padding: 10px 20px;
		font-size: 14px;
		margin: 0 auto;
	}
}

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