<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* Setting
----------------------------------------------------------------- */
/* ブレークポイント定義
----------------------------------------------------------------- */
/* カラー設定
----------------------------------------------------------------- */
/* font
----------------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import url(base/normalize.css);
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-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

img {
  vertical-align: bottom;
}

/* Base
----------------------------------------------------------------- */
html, body {
  position: relative;
  background: #ffffff;
  color: #333333;
  font-family: "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.8em;
  height: 100%;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 767px) {
  html, body {
    font-size: 14px;
  }
  /*End @media */
}

* {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  color: #333333;
  transition: opacity 0.3s ease;
  text-decoration: none;
  outline: none;
}

a:hover {
  opacity: 0.8;
}

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

@media screen and (max-width: 767px) {
  .dnpc {
    display: none;
  }
  .imgp {
    display: none;
  }
}

@media screen and (min-width: 767px) {
  .dnsp {
    display: none;
  }
  .imgs {
    display: none;
  }
}

/* ==========================================================================
   layout
============================================================================= */
/* ==========================================================================
	wrap
============================================================================= */
.l-wrap, .index_realestateBnr, .idx_modelMovie, .idx_emergencyNews, .idx_ch, .idx_news, .idx_event, .idx_concept, .realestate_topBnr {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}

.l-wrap2, .product_banner, .strength_banner, .worksList_inner, .voiceList_inner {
  max-width: 960px;
  margin: 0 auto;
}

.l-wrap3, .product_lineup, .product_design {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.wrap2, .form_calendar .form_inner, .models_wrap {
  max-width: 900px;
  margin: 0 auto;
}

.wrap3 {
  max-width: 1020px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .wrap, .wrap2, .form_calendar .form_inner, .models_wrap, .wrap3 {
    padding: 0 20px;
  }
}

@media screen and (min-width: 768px) and (max-width: 959px) {
  .wrap2, .form_calendar .form_inner, .models_wrap {
    padding: 0 40px;
  }
}

@media screen and (min-width: 768px) and (max-width: 899px) {
  .wrap2, .form_calendar .form_inner, .models_wrap {
    padding: 0 40px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1019px) {
  .wrap3 {
    padding: 0 40px;
  }
}

/* ==========================================================================
	container
============================================================================= */
.section {
  padding: 90px 0;
}

@media screen and (max-width: 767px) {
  .section {
    padding: 60px 0;
  }
}

.container {
  max-width: 960px;
  width: calc(100% - 40px);
  margin: 0 auto;
}

.l-container {
  padding-top: 130px;
}

@media screen and (max-width: 767px) {
  .l-container {
    padding-top: 0;
  }
  .l-container::before {
    opacity: 0;
    content: '';
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    transform: translateX(100%);
    transition: opacity 0.4s ease;
    z-index: 10;
  }
  .l-container.is-active::before {
    transform: translateX(0);
    opacity: 1;
    transition: opacity 0.4s ease;
  }
}

/* ==========================================================================
	header
============================================================================= */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid #ECECEC;
}

.l-header_top {
  max-width: 1060px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  padding: 12px 0 0;
}

.l-header_top a {
  display: block;
}

.l-header_title {
  font-size: 10px;
  color: #999999;
  line-height: 13px;
  margin-bottom: 7px;
}

.l-header_right {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: flex-start;
  padding-top: 3px;
}

.l-header_sublink {
  font-size: 13px;
}

.l-header_sublink li {
  display: inline-block;
  padding: 0 18px;
  position: relative;
}

.l-header_sublink li:not(:last-child)::before {
  content: '';
  display: block;
  width: 1px;
  height: 16px;
  background: #BEBEBE;
  position: absolute;
  top: 0;
  right: -3px;
}

.l-header_sublink a {
  color: #333333;
  line-height: 16px;
}

.l-header_link {
  margin-left: 17px;
}

.l-header_link li {
  display: inline-block;
  margin-left: 10px;
}

.l-header_link a {
  display: block;
  width: 160px;
  background: #4E5555;
  color: #fff;
  font-size: 13px;
  line-height: 38px;
  text-align: center;
}

.l-header_link-model a::before {
  content: '';
  width: 23px;
  height: 18px;
  background: url("./../images/cmn/header_house.svg") no-repeat center;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}

.l-header_link-catalog a::before {
  content: '';
  width: 20px;
  height: 18px;
  background: url("./../images/cmn/icon_catalog_w.svg") no-repeat center;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-header_top {
    padding: 12px 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .l-header {
    position: inherit;
  }
  .l-header_top {
    padding: 7px 20px 9px;
  }
  .l-header_top-inner {
    padding: 10px 20px 9px;
  }
  .l-header_title {
    font-size: 9px;
    margin-bottom: 1px;
    padding-right: 40px;
  }
  .l-header_logo {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-end;
  }
  .l-header_logo .logo {
    margin-right: 8px;
  }
  .l-header_logo .logo img {
    width: 121px;
  }
  .l-header_form {
    padding-right: 0;
  }
  .l-header_form a {
    line-height: 36px;
  }
  .l-header_right {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1020px) {
  .l-header_top-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .l-header_form {
    padding-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-header_by {
    display: none;
  }
}

/* nav
----------------------------------------------------------------- */
.l-header_nav-list {
  text-align: center;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  padding: 28px 0 10px;
}

.l-header_nav-item {
  font-size: 10px;
  line-height: 15px;
  width: 125px;
}

.l-header_nav-item a {
  display: inline-block;
  color: #909090;
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  letter-spacing: 0.14em;
}

.l-header_nav-item a img {
  margin-bottom: 4px;
}

.l-header_nav-item_parent {
  display: inline-block;
  color: #909090;
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  letter-spacing: 0.14em;
}

.l-header_nav-item_parent img {
  margin-bottom: 4px;
}

.l-header_nav-item_child {
  width: 100%;
  position: absolute;
  left: 0;
  background: #fff;
  padding-top: 10px;
  border-bottom: 1px solid #ECECEC;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
  cursor: auto;
}

.l-header_nav-item_child ul {
  max-width: 900px;
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: center;
  gap: 0 30px;
  padding: 40px;
}

.l-header_nav-item_child li {
  max-width: 280px;
  width: calc((100% - 30px) / 2);
}

.l-header_nav-item_child a {
  display: block;
  width: 100%;
  padding-bottom: 35.7142%;
  position: relative;
}

.l-header_nav-item_child a::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  border-style: solid;
  border-color: #fff;
  border-width: 1px 1px 0 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
}

.l-header_nav-item_child a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.l-header_nav-item_child a &gt; span {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-weight: bold;
  color: #fff;
  font-size: 18px;
  flex-direction: column;
}

.l-header_nav-item_child a &gt; span span {
  font-size: 0.9em;
}

.l-header_nav-item_child a &gt; span span + span {
  margin-top: 5px;
}

.l-header_nav-item.has-child:hover .l-header_nav-item_child {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 767px) {
  .l-header_nav {
    display: none !important;
  }
}

/* ==========================================================================
	main
============================================================================= */
/* パン屑
----------------------------------------------------------------- */
.l-breadcrumbs_wrap {
  position: relative;
  width: 100%;
}

.l-breadcrumbs_wrap .l-breadcrumbs, .l-breadcrumbs_wrap .l-breadcrumbs-bgn {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1;
}

.l-breadcrumbs, .l-breadcrumbs-bgn {
  background-color: rgba(255, 255, 255, 0.95);
  white-space: nowrap;
}

.l-breadcrumbs-bgn {
  background: none;
}

.l-breadcrumbs_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 20px;
  font-size: 11px;
  line-height: 1em;
  color: #545454;
}

.l-breadcrumbs_inner a {
  color: #000;
  position: relative;
  margin-right: 30px;
  text-decoration: none;
}

.l-breadcrumbs_inner a:hover {
  text-decoration: underline;
}

.l-breadcrumbs_inner a::after {
  position: absolute;
  top: 50%;
  right: -16px;
  display: block;
  content: '';
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .l-breadcrumbs_wrap {
    overflow: hidden;
  }
  .l-breadcrumbs, .l-breadcrumbs-bgn {
    white-space: nowrap;
    overflow-x: scroll;
  }
  .l-breadcrumbs_inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: auto;
    padding: 12px 10px;
  }
}

/* メインビジュアル
----------------------------------------------------------------- */
.l-mv, .l-mv-concept, .l-mv-product, .l-mv-flow, .l-mv-realestate, .l-mv-strength, .l-mv-support, .l-mv-column, .l-mv-works, .l-mv-voice, .l-mv-design {
  height: 350px;
}

.l-mv-concept {
  background: url("./../images/concept/concept_mv@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-product {
  background: url("./../images/product/product_mv_2@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-product img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.l-mv-flow {
  background: url("./../images/flow/flow_mv_2@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-realestate {
  background: url("./../images/realestate/realestate_mv@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-strength {
  background: url("./../images/performance/performance_mv@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-support {
  background: url("./../images/aftersupport/aftersupport_mv@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-column {
  background: url("./../images/column/column_bg@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-works {
  background: url("./../images/works/works_bg@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-voice {
  background: url("./../images/voice/voice_bg@2x.jpg") no-repeat center;
  background-size: cover;
}

.l-mv-design {
  background: url("./../images/strength/design_mv@2x.jpg") no-repeat center;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .l-mv, .l-mv-concept, .l-mv-product, .l-mv-flow, .l-mv-realestate, .l-mv-strength, .l-mv-support, .l-mv-column, .l-mv-works, .l-mv-voice, .l-mv-design {
    height: 180px;
  }
  .l-mv-concept {
    background: url("./../images/concept/concept_mv_sp.jpg") no-repeat center;
    background-size: cover;
  }
  .l-mv-product {
    background: url("./../images/product/product_mv_sp_2.jpg") no-repeat center;
    background-size: cover;
  }
  .l-mv-flow {
    background: url("./../images/flow/flow_mv_sp_2.jpg") no-repeat center;
    background-size: cover;
  }
  .l-mv-works {
    background: url("./../images/works/works_bg_sp.jpg") no-repeat center;
    background-size: cover;
  }
  .l-mv-voice {
    background: url("./../images/voice/voice_bg_sp.jpg") no-repeat center;
    background-size: cover;
  }
  .l-mv-design {
    background: url("./../images/strength/design_mv_sp.jpg") no-repeat center;
    background-size: cover;
  }
}

.l-mv-online {
  max-width: 1080px;
  width: 100%;
  height: 463px;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.l-mv-online img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (max-width: 1080px) {
  .l-mv-online {
    width: 100%;
    height: 0;
    padding-bottom: 42.8571%;
  }
  .l-mv-online img {
    width: 100%;
    height: 100%;
  }
}

.l-mv-goodageingcp,
.l-mv-solar {
  max-width: 1060px;
  width: 100%;
  height: 510px;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.l-mv-goodageingcp img,
.l-mv-solar img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (max-width: 1060px) {
  .l-mv-goodageingcp,
  .l-mv-solar {
    width: 100%;
    height: 0;
    padding-bottom: 48.1132%;
  }
  .l-mv-goodageingcp img,
  .l-mv-solar img {
    width: 100%;
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .l-mv-goodageingcp,
  .l-mv-solar {
    height: auto;
    padding: 0;
    margin: 35px 0 0;
  }
  .l-mv-goodageingcp img,
  .l-mv-solar img {
    position: static;
    height: auto;
  }
}

/* 2カラム時のメイン
----------------------------------------------------------------- */
.l-main_wrap {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  text-align: left;
}

.l-main_2clm {
  width: 710px;
  margin-right: 40px;
  max-width: calc(100% - 290px);
}

@media screen and (max-width: 767px) {
  .l-main_wrap {
    display: block;
  }
  .l-main_2clm {
    width: 100vw;
    max-width: inherit;
    margin-right: 0;
  }
}

/* ==========================================================================
	pager
============================================================================= */
.l-pager {
  text-align: center;
}

.l-pager .wp-pagenavi {
  margin-top: 60px;
}

.l-pager .wp-pagenavi span, .l-pager .wp-pagenavi a {
  display: inline-block;
  width: 45px;
  line-height: 45px;
  text-align: center;
  border: 0;
  padding: 0;
}

.l-pager .wp-pagenavi span.current {
  background: #4E5555;
  color: #fff;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .l-pager .wp-pagenavi {
    margin-top: 20px;
  }
}

/* 詳細のページャー
----------------------------------------------------------------- */
.l-post_link {
  overflow: hidden;
}

.l-post_link-next {
  float: left;
}

.l-post_link-next a {
  padding-left: 35px;
  background: url("./../images/cmn/arrow_l.svg") no-repeat center left 18px;
}

.l-post_link-prev {
  float: right;
}

/* ==========================================================================
	sidebar
============================================================================= */
.l-sidebar {
  width: 250px;
}

.l-sidebar a {
  display: block;
  border-bottom: 1px solid #D8D8D8;
  padding: 16px  10px;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.8em;
}

.l-sidebar a:hover {
  background: #F6F6F6;
}

.l-sidebar .yarpp-related {
  margin: 0;
}

.l-sidebar .yarpp-related a {
  font-size: 13px;
  font-weight: normal;
}

.l-sidebar .yarpp-related abbr {
  display: none;
}

.l-sidebar_archive {
  border-top: 1px solid #D8D8D8;
  font-family: "Open Sans", sans-serif;
}

.l-sidebar_archive .is-active {
  background: #F6F6F6;
}

.l-sidebar_box:not(:last-child) {
  margin-bottom: 50px;
}

.l-sidebar_title {
  font-size: 1.1em;
  font-weight: bold;
  padding: 0 10px 10px;
  border-bottom: 1px solid #333333;
}

.l-sidebar_list .wpp-list a {
  font-size: 13px;
  position: relative;
  padding: 14px 10px 14px 47px;
}

.l-sidebar_list .wpp-list a::before {
  content: '1';
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  display: block;
  font-size: 15px;
  position: absolute;
  top: 50%;
  left: 0;
  width: 47px;
  text-align: center;
  transform: translateY(-50%);
}

.l-sidebar_list .wpp-list li:nth-child(2) a::before {
  content: '2';
}

.l-sidebar_list .wpp-list li:nth-child(3) a::before {
  content: '3';
}

.l-sidebar_list .wpp-list li:nth-child(4) a::before {
  content: '4';
}

.l-sidebar_list .wpp-list li:nth-child(5) a::before {
  content: '5';
}

@media screen and (max-width: 767px) {
  .l-sidebar {
    width: inherit;
    margin: 60px 20px 0;
  }
}

/* ==========================================================================
	pagetop
============================================================================= */
.l-pagetop {
  position: relative;
  max-width: 1060px;
  margin: 0 auto 0;
  padding-top: 170px;
}

.l-pagetop &gt; div {
  position: absolute;
  bottom: 70px;
  right: 0;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .l-pagetop {
    padding-top: 160px;
  }
  .l-pagetop &gt; div {
    right: 20px;
    bottom: 50px;
  }
}

/* ==========================================================================
	footer
============================================================================= */
.l-footer {
  border-top: 1px solid #E9E9E9;
  padding: 57px 0 0;
  background: #fff;
}

.l-footer_inner {
  max-width: 1060px;
  margin: 0 auto;
}

.l-footer_top {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 55px;
}

.l-footer_logo {
  padding: 0 50px;
}

.l-footer_logo a {
  display: block;
}

.l-footer_logo img {
  vertical-align: top;
}

.l-footer_cta {
  padding-left: 86px;
}

.l-footer_cta li {
  display: inline-block;
  margin-right: 55px;
}

.l-footer_cta a {
  display: block;
  border-bottom: 2px solid #3b424e;
  padding: 3px 0 20px;
  text-align: center;
  color: #3b424e;
  width: 250px;
  max-width: 100%;
  font-weight: bold;
}

.l-footer_cta-mail a::before {
  content: '';
  width: 23px;
  height: 15px;
  background: url("./../images/cmn/icon_mail.svg") no-repeat center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  margin-right: 26px;
}

.l-footer_cta-model a::before {
  content: '';
  width: 24px;
  height: 20px;
  background: url("./../images/cmn/icon_house.svg") no-repeat center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  margin-right: 16px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-footer_cta a {
    max-width: 23vw;
  }
}

@media screen and (max-width: 767px) {
  .l-footer {
    border-top: 1px solid #E9E9E9;
    padding: 50px 0 60px;
    margin: 0 20px;
  }
  .l-footer_top {
    display: block;
    text-align: center;
    margin-bottom: 45px;
  }
  .l-footer_logo {
    margin-bottom: 43px;
  }
  .l-footer_cta {
    padding-left: 0;
  }
  .l-footer_cta ul {
    display: flex;
    flex-direction: column-reverse;
  }
  .l-footer_cta li {
    display: inline-block;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .l-footer_cta a {
    background: #3b424e;
    border-bottom: 0;
    padding: 0;
    line-height: 63px;
    color: #ffffff;
    width: 270px;
    margin: 0 auto;
  }
  .l-footer_cta-mail a::before {
    background: url("./../images/cmn/icon_mail_w.svg") no-repeat center;
    background-size: contain;
  }
  .l-footer_cta-model a::before {
    background: url("./../images/cmn/icon_house_w.svg") no-repeat center;
    background-size: contain;
  }
}

/* footer_m
----------------------------------------------------------------- */
.l-footer_m {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row-reverse;
  align-items: flex-start;
  text-align: left;
}

.l-footer_nav {
  width: calc(100% - 290px);
  padding-left: 72px;
}

.l-footer_nav li {
  line-height: 36px;
}

.l-footer_nav-item {
  margin-right: 80px;
  display: inline-block;
  vertical-align: top;
  font-size: 0.93em;
}

.l-footer_nav-item:nth-child(2) {
  margin-right: 70px;
}

.l-footer_nav-item:last-child {
  margin-right: 0;
}

.l-footer_subnav {
  margin-left: 1em;
}

.l-footer_nav-sns {
  text-align: center;
  width: 290px;
}

.l-footer_nav-sns ul {
  margin-top: 26px;
}

.l-footer_nav-sns li {
  display: inline-block;
  margin: 0 15px;
}

.l-footer_nav-zeh {
  color: #0F412A;
  font-size: 12px;
  margin-top: 50px;
}

.l-footer_nav-zeh img {
  margin-right: 16px;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .l-footer_m {
    display: block;
  }
  .l-footer_nav {
    width: inherit;
    padding-left: 0;
    margin-bottom: 30px;
    -moz-column-count: 2;
    -o-column-count: 2;
    -ms-column-count: 2;
    column-count: 2;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
  .l-footer_nav li {
    line-height: 39px;
  }
  .l-footer_nav-item {
    margin: 0 auto;
    margin-right: 0;
    display: block;
  }
  .l-footer_nav-item:nth-child(2) {
    margin-right: 0;
  }
  .l-footer_nav-item span {
    display: none;
  }
  .l-footer_subnav {
    margin-left: 1em;
  }
  .l-footer_nav-sns {
    width: inherit;
    text-align: center;
  }
  .l-footer_nav-zeh {
    margin-top: 40px;
  }
}

/* footer_bottom
----------------------------------------------------------------- */
.l-footer_bottom {
  background: #3b424e;
  color: #fff;
  padding: 11px 0;
  margin-top: 72px;
}

.l-footer_bottom-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.l-footer_bottom-inner small {
  font-size: 12px;
}

.l-footer_hokushu {
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .l-footer_bottom {
    margin: 36px -20px 0;
    padding: 11px 20px;
  }
  .l-footer_bottom-inner {
    text-align: right;
  }
  .l-footer_bottom-inner small {
    font-size: 11px;
  }
  .l-footer_hokushu img {
    width: 100px;
  }
}

/* ==========================================================================
	スマホ　固定メニュ
============================================================================= */
.l-spmenu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: #4E5555;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
  align-items: flex-end;
  padding-bottom: env(safe-area-inset-bottom);
}

.l-spmenu &gt; div {
  width: calc(100% / 4);
}

.l-spmenu a {
  color: #fff;
  display: block;
  padding: 4px 0 0;
  text-align: center;
  font-size: 10px;
}

@media screen and (min-width: 768px) {
  .l-spmenu {
    display: none !important;
  }
}

/* ==========================================================================
	スマホ　ハンバーガーメニュー
============================================================================= */
.l-sp_hamburger {
  transform: translateX(100%);
  position: fixed;
  top: 0;
  right: 0;
  width: calc(100vw - 30px);
  height: 100vh;
  z-index: 10;
  background: #fff;
  padding-top: 25px;
  transition: transform 0.8s ease;
  overflow-y: scroll;
}

.l-sp_hamburger.is-show {
  transform: translateX(0);
}

.l-sp_hamburger-inner {
  padding-bottom: 120px;
}

.l-sp_hamburger-logo {
  margin-bottom: 20px;
  padding-left: 25px;
}

.l-sp_hamburger-logo img {
  height: 20px;
  width: auto;
}

.l-sp_hamburger-nav {
  font-size: 12px;
  line-height: 15px;
  margin-bottom: 15px;
}

.l-sp_hamburger-nav a {
  display: block;
  color: #909090;
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  letter-spacing: 0.14em;
  line-height: 44px;
  padding-left: 25px;
}

.l-sp_hamburger-nav a img {
  margin-right: 25px;
  vertical-align: middle;
}

.l-sp_hamburger-nav_item-parent {
  display: block;
  color: #909090;
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  letter-spacing: 0.14em;
  line-height: 44px;
  padding-left: 25px;
  position: relative;
  background: #F6F6F6;
  overflow: hidden;
}

.l-sp_hamburger-nav_item-parent img {
  margin-right: 25px;
  vertical-align: middle;
}

.l-sp_hamburger-nav_item-parent button {
  width: 44px;
  height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  overflow: hidden;
}

.l-sp_hamburger-nav_item-parent button span {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: center;
  transition: transform .3s;
}

.l-sp_hamburger-nav_item-parent button span::before {
  content: '';
  display: block;
  width: 14px;
  height: 2px;
  background: #333333;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.l-sp_hamburger-nav_item-parent button span::after {
  content: '';
  display: block;
  width: 2px;
  height: 14px;
  background: #333333;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.l-sp_hamburger-nav_item-parent button.is-open span {
  transform: rotate(45deg);
}

.l-sp_hamburger-nav_item-child {
  display: none;
}

.l-sp_hamburger-nav_item-child a {
  display: inline-flex;
  align-items: center;
  font-family: "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-size: 15px;
  color: #333333;
  margin-left: 15px;
}

.l-sp_hamburger-nav_item-child a::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-style: solid;
  border-color: #333333;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  margin-left: 5px;
}

.l-sp_hamburger-link {
  margin: 0 13px 20px;
  border-top: 1px solid #EFEFEF;
  padding: 15px 12px 0;
  font-size: 13px;
}

.l-sp_hamburger-link li {
  display: inline-block;
  margin: 5px 0;
}

.l-sp_hamburger-link a {
  display: block;
  margin-right: 22px;
}

.l-sp_hamburger-link a::after {
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
  content: '';
  width: 6px;
  height: 6px;
  border-top: 1px solid #888;
  border-right: 1px solid #888;
  transform: rotate(45deg);
}

.l-sp_hamburger-sns {
  padding-left: 25px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}

.l-sp_hamburger-sns ul::before {
  content: '';
  width: 40px;
  height: 1px;
  background: #707070;
  display: inline-block;
  vertical-align: middle;
  margin: 0 20px;
}

.l-sp_hamburger-sns ul li {
  display: inline-block;
  margin-right: 20px;
}

.l-sp_hamburger-sns ul a {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .l-sp_hamburger {
    display: none !important;
  }
}

@media screen and (max-width: 320px) {
  .l-sp_hamburger {
    padding-top: 30px;
  }
}

/* ==========================================================================
ページ内リンク用
============================================================================= */
.l-anchor {
  margin-top: -80px;
  padding-top: 80px;
}

/* ==========================================================================
   wrap
============================================================================= */
/* ==========================================================================
   共通
============================================================================= */
/* ==========================================================================
   スライダー
============================================================================= */
.btn a {
  display: block;
  width: 260px;
  margin: 0 auto;
  background: #4E5555 url("./../images/cmn/arrow_w.svg") no-repeat center right 25px;
  color: #fff;
  text-align: center;
  line-height: 55px;
}

/* 外部リンク
----------------------------------------------------------------- */
.btn_link a::after {
  content: '';
  width: 12px;
  height: 12px;
  background: url("./../images/cmn/icon_link.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: baseline;
  margin-left: 5px;
}

/* バナーボタン
----------------------------------------------------------------- */
.btn_banner a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  border: 1px solid #EBEBEB;
}

.btn_banner a::after {
  position: absolute;
  top: 50%;
  right: 35px;
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(45deg);
}

.btn_banner-img {
  width: 300px;
}

.btn_banner-txt {
  width: calc(100% - 300px);
  padding-left: 15%;
  font-size: 20px;
  line-height: 2em;
  letter-spacing: 0.12em;
}

@media screen and (max-width: 767px) {
  .btn_banner {
    margin: 0 10px;
  }
  .btn_banner a::after {
    display: none;
  }
  .btn_banner-img {
    width: 165px;
  }
  .btn_banner-txt {
    width: calc(100% - 165px);
    padding-left: 0%;
    font-size: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .btn_banner-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .btn_banner-sp {
    display: none;
  }
}

@media screen and (max-width: 320px) {
  .btn_banner-img {
    width: 120px;
  }
  .btn_banner-txt {
    width: calc(100% - 120px);
  }
}

/* 矢印付き
----------------------------------------------------------------- */
.btn_arrow, .l-post_link-prev a, .idx_news-more, .idx_event-more, .idx_voice-btn a, .models_event-heading a {
  position: relative;
  padding-right: 35px;
  background: url("./../images/cmn/arrow.svg") no-repeat center right 18px;
}

/* ==========================================================================
   見出し
============================================================================= */
.heading, .heading-mt, .news_heading, .event_heading, .contact_heading, .models_form-title {
  font-size: 1.6em;
  line-height: 1.6em;
  font-weight: bold;
  text-align: center;
}

/* mv無しで上部余白あり
----------------------------------------------------------------- */
.heading-mt, .news_heading, .event_heading, .contact_heading {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .heading-mt, .news_heading, .event_heading, .contact_heading {
    margin-top: 40px;
  }
}

/* 2clm の上部に見出し
----------------------------------------------------------------- */
.heading-clmt, .news_heading, .event_heading, .contact_heading {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .heading-clmt, .news_heading, .event_heading, .contact_heading {
    margin-bottom: 40px;
  }
}

/* 英語
----------------------------------------------------------------- */
.heading-en, .news_heading, .event_heading, .contact_heading {
  text-align: center;
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  font-size: 13px;
  color: #6A6A6A;
  letter-spacing: 0.14em;
}

.heading-en img, .news_heading img, .event_heading img, .contact_heading img {
  margin-bottom: 19px;
}

.heading-en_sub {
  display: block;
}

@media screen and (max-width: 767px) {
  .heading-en, .news_heading, .event_heading, .contact_heading {
    font-size: 1rem;
    color: #6A6A6A;
  }
  .heading-en img, .news_heading img, .event_heading img, .contact_heading img {
    margin-bottom: 15px;
  }
}

/* ==========================================================================
	フォーム
============================================================================= */
.form_sec {
  max-width: 770px;
  margin: 55px auto 0;
}

.form_title, .online_step h2 {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .form_wrap {
    padding: 0 20px;
  }
  .form_sec {
    margin-top: 50px;
  }
  .form_title, .online_step h2 {
    text-align: center;
    margin-bottom: 30px;
  }
}

/* 電話でお問い合わせ
----------------------------------------------------------------- */
.form_tel {
  text-align: center;
}

.form_tel a {
  display: block;
  border-bottom: 2px solid #3b424e;
  padding: 15px 0;
  width: 320px;
  max-width: 100%;
  margin: 0 auto 5px;
}

.form_tel a svg {
  fill: #3b424e;
  vertical-align: bottom;
}

.form_tel p {
  font-size: 13px;
  color: #333333;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .form_tel {
    text-align: center;
  }
  .form_tel a {
    background: #3b424e;
    color: #fff;
    border-bottom: 0;
  }
  .form_tel a svg {
    fill: #fff;
  }
  .form_tel p {
    font-size: 13px;
    color: #333333;
    text-align: center;
  }
}

/* お問い合わせフォーム
----------------------------------------------------------------- */
.form_lead {
  line-height: 2.3em;
  margin-top: 40px;
  margin-bottom: 40px;
  text-align: center;
}

.form_lead ul {
  font-size: 0.86em;
}

.form_lead ul li {
  display: inline-block;
  margin: 0 1em;
}

.form_lead.form_lead-calendar {
  margin-top: 0;
}

.form_lead strong {
  font-weight: bold;
  text-decoration: underline;
}

.form_lead strong span {
  color: red;
}

.form_inner select, .form_inner input:not([type="checkbox"]):not([type="radio"]), .form_inner textarea {
  border: 1px solid #CCCCCC;
  padding: 3px 10px;
  box-shadow: none;
  -webkit-appearance: none;
  border-radius: 0;
  height: 46px;
  /* Edge */
}

.form_inner select::-moz-placeholder, .form_inner input:not([type="checkbox"]):not([type="radio"])::-moz-placeholder, .form_inner textarea::-moz-placeholder {
  color: #a9a9a9;
}

.form_inner select:-ms-input-placeholder, .form_inner input:not([type="checkbox"]):not([type="radio"]):-ms-input-placeholder, .form_inner textarea:-ms-input-placeholder {
  color: #a9a9a9;
}

.form_inner select::placeholder, .form_inner input:not([type="checkbox"]):not([type="radio"])::placeholder, .form_inner textarea::placeholder {
  color: #a9a9a9;
}

.form_inner select:-ms-input-placeholder, .form_inner input:not([type="checkbox"]):not([type="radio"]):-ms-input-placeholder, .form_inner textarea:-ms-input-placeholder {
  color: #a9a9a9;
}

.form_inner select::-ms-input-placeholder, .form_inner input:not([type="checkbox"]):not([type="radio"])::-ms-input-placeholder, .form_inner textarea::-ms-input-placeholder {
  color: #a9a9a9;
}

.form_inner textarea {
  height: 200px;
  padding-top: 10px;
  padding-bottom: 10px;
  resize: vertical;
  line-height: 1.5em;
}

.form_inner select {
  padding: 13px 20px 14px 10px;
  background: url("../images/cmn/select.svg") no-repeat center right 5px;
}

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

.form_inner input {
  line-height: 38px;
}

.form_inner input, .form_inner textarea {
  width: 580px;
  max-width: 100%;
}

.form_inner input[type="radio"] {
  width: auto;
  margin-right: 10px;
}

.form_inner input[type="checkbox"] {
  width: auto;
  margin-right: 10px;
}

.form_inner dl {
  margin-bottom: 30px;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.form_inner dt {
  width: 165px;
  padding-right: 60px;
  padding-top: 10px;
  font-weight: bold;
  position: relative;
  line-height: 1.3em;
}

.form_inner dt span {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 8px;
  vertical-align: middle;
  background: #8B2222;
  color: #fff;
  font-size: 12px;
  width: 50px;
  line-height: 22px;
  text-align: center;
  font-weight: normal;
}

.form_inner dd {
  padding-left: 30px;
  width: calc(100% - 165px);
}

.form_inner dd &gt; div:not(:last-child) {
  margin-bottom: 8px;
}

.form_inner .form_2clm &gt; div {
  display: inline-block;
  vertical-align: top;
  margin-right: 30px;
}

.form_inner .form_date input {
  width: 180px;
}

.form_inner .form-zip input {
  width: 10em;
  margin-left: 10px;
}

.form_inner .form_att {
  text-align: center;
  font-size: 14px;
}

.form_inner .form_att a {
  text-decoration: underline;
}

.form_inner .hasDatepicker {
  width: 10em;
}

.form_inner .form_submit {
  text-align: center;
  margin-top: 40px;
}

.form_inner .form_submit input, .form_inner .form_submit button {
  width: 260px;
  height: 55px;
  background: #666666 url("./../images/cmn/submit_btn_arrow.svg?1") no-repeat;
  background-position: center right 25px;
  color: #fff;
  border: 0;
  cursor: pointer;
  -webkit-appearance: none;
  position: relative;
}

.form_inner .mwform-checkbox-field label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  height: 22px;
}

.form_inner .mwform-checkbox-field input[type="checkbox"] {
  display: none;
}

.form_inner .mwform-checkbox-field input[type="checkbox"] + .mwform-checkbox-field-text {
  position: relative;
  vertical-align: middle;
}

.form_inner .mwform-checkbox-field input[type="checkbox"] + .mwform-checkbox-field-text:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #ccc;
}

.form_inner .mwform-checkbox-field input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
  position: absolute;
  top: 50%;
  right: 50%;
  display: block;
  content: '';
  width: 10px;
  height: 6px;
  margin-top: -10px;
  margin-right: -6px;
  border-top: 2px solid #888;
  border-right: 2px solid #888;
  transform: rotate(124deg);
}

.form_inner dd .mwform-checkbox-field label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  height: 22px;
}

.form_inner dd .mwform-checkbox-field input[type="checkbox"] {
  display: none;
}

.form_inner dd .mwform-checkbox-field input[type="checkbox"] + .mwform-checkbox-field-text {
  position: relative;
  vertical-align: middle;
  vertical-align: middle;
  display: flex;
  align-items: center;
  line-height: 1;
}

.form_inner dd .mwform-checkbox-field input[type="checkbox"] + .mwform-checkbox-field-text:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #ccc;
  margin-right: 5px;
}

.form_inner dd .mwform-checkbox-field input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
  position: absolute;
  top: -4px;
  bottom: 0;
  left: 3px;
  display: block;
  content: '';
  width: 10px;
  height: 6px;
  margin: auto 0;
  border-top: 2px solid #888;
  border-right: 2px solid #888;
  transform: rotate(124deg);
}

.form_inner dd .mwform-radio-field label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  height: 22px;
}

.form_inner dd .mwform-radio-field input[type="radio"] {
  display: none;
}

.form_inner dd .mwform-radio-field input[type="radio"] + .mwform-radio-field-text {
  position: relative;
  vertical-align: middle;
  display: flex;
  align-items: center;
  line-height: 1;
}

.form_inner dd .mwform-radio-field input[type="radio"] + .mwform-radio-field-text:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 10px;
  border: 2px solid #ccc;
  margin-right: 5px;
}

.form_inner dd .mwform-radio-field input[type="radio"]:checked + .mwform-radio-field-text:after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 4px;
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  background: #ccc;
  border-radius: 5px;
}

@media screen and (max-width: 767px) {
  .form_lead {
    margin-top: 30px;
    margin-bottom: 20px;
    text-align: left;
  }
  .form_lead ul li {
    width: 45%;
    margin: 0;
  }
  .form_lead.form_lead-calendar {
    text-align: center;
  }
  .form_inner dl {
    margin-bottom: 25px;
    display: block;
  }
  .form_inner dt {
    width: inherit;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    margin-bottom: 8px;
  }
  .form_inner dt span {
    position: inherit;
    top: inherit;
    right: inherit;
    margin-top: 0;
    display: inline-block;
    margin-left: 13px;
  }
  .form_inner dt br {
    display: none;
  }
  .form_inner dd {
    padding-left: 0;
    width: inherit;
  }
  .form_inner .day-calendar {
    margin-bottom: 10px;
  }
  .form_inner .day-calendar h3 {
    margin-bottom: 0;
    font-weight: bold;
  }
  .form_inner .day-calendar p {
    font-weight: bold;
    margin-bottom: 20px;
  }
  .form_inner .day-calendar table {
    width: 100%;
  }
}

/* ==========================================================================
	確認画面
============================================================================= */
.form_confirm .form_bg {
  max-width: 800px;
  margin: 0 auto;
  padding: 32px 20px;
  background: #F9F9F9;
}

.form_confirm .form_bg-inner {
  max-width: 530px;
  margin: 0 auto;
}

.form_confirm dl {
  display: flex;
  flex-wrap: nowrap;
}

.form_confirm dt {
  font-weight: bold;
  width: 180px;
  padding: 18px 0;
}

.form_confirm dt span {
  display: none;
}

.form_confirm dd {
  width: calc(100% - 180px);
  padding: 18px 0;
}

.form_confirm .form_2clm &gt; div {
  display: inline-block;
}

.form_confirm .form_att {
  display: none;
}

.form_confirm .form_submit {
  text-align: center;
  margin-top: 40px;
}

.form_confirm .form_submit input, .form_confirm .form_submit button {
  width: 260px;
  height: 55px;
  line-height: 48px;
  background: #666666 url("./../images/cmn/submit_btn_arrow.svg") no-repeat;
  background-position: center right 25px;
  color: #fff;
  border: 0;
  cursor: pointer;
  -webkit-appearance: none;
  position: relative;
  border-radius: 0px;
}

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

.form_confirm .form_back input, .form_confirm .form_back button {
  margin-top: 20px;
  width: 260px;
  background: #fff url("./../images/cmn/back_btn_arrow.svg") no-repeat;
  background-position: center left 25px;
  color: #707070;
  line-height: 48px;
  border-style: none;
  cursor: pointer;
  -webkit-appearance: none;
  position: relative;
}

@media screen and (max-width: 767px) {
  .form_confirm dl {
    display: block;
  }
  .form_confirm dt {
    width: inherit;
    padding-bottom: 5px;
  }
  .form_confirm dd {
    width: inherit;
    padding-top: 0;
  }
}

/* ==========================================================================
	thanks画面
============================================================================= */
.form_thx {
  text-align: center;
}

.form_thx-txt {
  margin-top: 56px;
  margin-bottom: 100px;
  line-height: 2.3em;
}

@media screen and (max-width: 767px) {
  .form_thx {
    padding: 0 20px;
    text-align: left;
  }
}

/* ==========================================================================
	カレンダー
============================================================================= */
.form_calendar {
  /* ==========================================================================
			form
		============================================================================= */
  /* カレンダー
		----------------------------------------------------------------- */
  /* ==========================================================================
			カレンダー完了画面
		============================================================================= */
}

.form_calendar .form_inner {
  padding: 0 30px;
  margin-top: 58px;
}

.form_calendar .form_inner select, .form_calendar .form_inner input:not([type="checkbox"]), .form_calendar .form_inner textarea {
  border: 1px solid #CCCCCC;
  padding: 5px 10px;
  box-shadow: none;
  -webkit-appearance: none;
  border-radius: 0;
}

.form_calendar .form_inner textarea {
  height: 200px;
  padding-top: 10px;
  padding-bottom: 10px;
  resize: vertical;
}

.form_calendar .form_inner select {
  padding: 10px 20px 10px 10px;
  background: url("../images/select.svg") no-repeat center right 5px;
}

.form_calendar .form_inner select::-ms-expand {
  display: none;
}

.form_calendar .form_inner input {
  line-height: 30px;
}

.form_calendar .form_inner input, .form_calendar .form_inner textarea {
  width: 100%;
  max-width: 100%;
}

.form_calendar .form_inner input[type="checkbox"] {
  width: auto;
  margin-right: 10px;
}

.form_calendar .form_lead {
  margin-bottom: 60px;
  line-height: 2.2em;
}

.form_calendar .form_group {
  margin-bottom: 30px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.form_calendar .form_group-th {
  width: 200px;
  padding-left: 20px;
  padding-right: 60px;
  text-align: right;
  font-weight: bold;
  position: relative;
  line-height: 1.3em;
}

.form_calendar .form_group-th .text-danger {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -11px;
  vertical-align: middle;
  background: #8B2222;
  color: #fff;
  font-size: 12px;
  width: 50px;
  line-height: 22px;
  text-align: center;
  font-weight: normal;
}

.form_calendar .form_group-td {
  padding-left: 30px;
  width: calc(100% - 200px);
}

.form_calendar .form_select {
  display: flex;
  flex-wrap: nowrap;
}

.form_calendar .form_select &gt; div {
  margin-right: 30px;
}

.form_calendar .form_select .form_time select {
  width: 110px;
}

.form_calendar .form_select-num label {
  font-weight: bold;
}

.form_calendar .form_select-num span {
  font-weight: bold;
  color: #707070;
}

.form_calendar .form_select-num select {
  width: 120px;
}

@media screen and (max-width: 767px) {
  .form_calendar .form_select .form_time select {
    width: 80px;
  }
  .form_calendar .form_select-num label {
    display: block;
  }
  .form_calendar .form_select-num select {
    width: 80px;
  }
  .form_calendar .form_group-td {
    padding-left: 0;
    width: inherit;
  }
}

.form_calendar .form_att {
  text-align: center;
  font-size: 14px;
}

.form_calendar .form_att a {
  text-decoration: underline;
}

.form_calendar .form_att label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  height: 22px;
}

.form_calendar .form_att input[type="checkbox"] {
  display: none;
}

.form_calendar .form_att input[type="checkbox"] + .form_att-checkbox {
  position: relative;
  vertical-align: middle;
}

.form_calendar .form_att input[type="checkbox"] + .form_att-checkbox:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #ccc;
}

.form_calendar .form_att input[type="checkbox"]:checked + .form_att-checkbox:after {
  position: absolute;
  top: 50%;
  right: 50%;
  display: block;
  content: '';
  width: 10px;
  height: 6px;
  margin-top: -10px;
  margin-right: -6px;
  border-top: 2px solid #888;
  border-right: 2px solid #888;
  transform: rotate(124deg);
}

.form_calendar .form_submit, .form_calendar #action-button {
  text-align: center;
  margin-top: 40px;
}

.form_calendar .form_submit button, .form_calendar #action-button button {
  width: 260px;
  line-height: 48px;
  background: #666666;
  color: #fff;
  border-style: none;
  cursor: pointer;
  -webkit-appearance: none;
  position: relative;
}

.form_calendar .form_submit button::after, .form_calendar #action-button button::after {
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .form_calendar .form_inner {
    margin-top: 30px;
  }
  .form_calendar .form_inner select, .form_calendar .form_inner input, .form_calendar .form_inner textarea {
    font-size: 16px !important;
  }
  .form_calendar .form_group {
    display: block;
  }
  .form_calendar .form_group-th {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
    margin-bottom: 10px;
    line-height: 22px;
  }
  .form_calendar .form_group-th label {
    display: inline-block;
    vertical-align: middle;
  }
  .form_calendar .form_group-th label br {
    display: none;
  }
  .form_calendar .form_group-th .text-danger {
    display: inline-block;
    position: inherit;
    vertical-align: bottom;
    margin-left: 10px;
  }
  .form_calendar .form_group-td {
    padding-left: 0;
  }
  .form_calendar .form_submit {
    margin-top: 30px;
  }
  .form_calendar .form_lead {
    margin-bottom: 40px;
  }
}

.form_calendar .form_inner .monthly-calendar {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
  padding-top: 30px;
}

.form_calendar .form_inner .monthly-calendar table {
  width: 100% !important;
}

.form_calendar .form_inner .monthly-calendar table caption {
  position: absolute;
  top: 0;
  left: auto;
  width: 100%;
  text-align: center;
}

.form_calendar .form_inner .content-text.small {
  width: 140px;
}

.form_calendar .form_inner .content-form fieldset {
  background: #F8F8F8;
  border: 0;
  position: relative;
  padding: 90px 100px 20px;
  margin-bottom: 43px;
  width: 100%;
}

.form_calendar .form_inner .content-form fieldset legend {
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  text-align: center;
}

.form_calendar .form_inner .content-form table {
  width: 100%;
}

.form_calendar .form_inner .content-form th, .form_calendar .form_inner .content-form td {
  border: 0;
  display: block;
  width: 100%;
  text-align: left;
}

.form_calendar .form_inner .content-form th {
  font-weight: bold;
}

.form_calendar .form_inner .content-form td {
  margin-bottom: 26px;
}

.form_calendar .form_inner .content-form .required {
  display: inline-block;
  vertical-align: middle;
  background: #8B2222;
  color: #fff;
  font-size: 12px;
  width: 50px;
  text-align: center;
  line-height: 22px;
  margin-left: 16px;
  font-weight: normal;
}

.form_calendar .form_inner .content-form textarea {
  padding: 20px 15px;
}

.form_calendar .form_inner .content-form .error-message {
  font-size: 12px;
  color: #8B2222;
}

.form_calendar .form_inner .content-form_lead {
  text-align: center;
  margin-bottom: 45px;
}

.form_calendar .form_inner #booking-reservation-fieldset tbody {
  display: flex;
  flex-wrap: nowrap;
}

.form_calendar .form_inner #booking-reservation-fieldset tr:first-child {
  width: 40%;
}

.form_calendar .form_inner #booking-reservation-fieldset tr:last-child {
  width: 60%;
}

.form_calendar .form_inner #booking-reservation-fieldset th {
  font-weight: bold;
  text-align: left;
}

.form_calendar .form_inner #booking-reservation-fieldset td {
  padding-left: 36px;
}

.form_calendar .form_inner #booking-reservation-fieldset .input-number {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.form_calendar .form_inner #booking-reservation-fieldset .input-number label {
  font-weight: bold;
  display: block;
  margin-right: 10px;
}

.form_calendar .form_inner #booking-reservation-fieldset .input-number input {
  width: 80px;
}

.form_calendar .form_inner .day-calendar {
  text-align: center;
}

.form_calendar .form_inner .day-calendar table {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .form_calendar .form_inner {
    padding: 0 20px;
    margin-bottom: 50px;
  }
  .form_calendar .form_inner .content-form fieldset {
    padding: 50px 10px 0;
  }
  .form_calendar .form_inner .content-form fieldset legend {
    top: 26px;
  }
  .form_calendar .form_inner .content-form td {
    margin-bottom: 15px;
  }
  .form_calendar .form_inner #booking-reservation-fieldset tbody {
    display: block;
  }
  .form_calendar .form_inner .content-text.medium {
    width: 100%;
  }
}

.form_calendar .form_cmf-title {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  margin-top: 40px;
  line-height: 1.7em;
  margin-bottom: 50px;
}

.form_calendar .form_cmf-txt {
  text-align: center;
  margin-bottom: 50px;
}

.form_calendar .form_cmf-inner {
  background: #F9F9F9;
  max-width: 800px;
  margin: 0 auto;
}

.form_calendar .form_cmf-box {
  max-width: 530px;
  margin: 0 auto;
  padding: 58px 0 18px;
}

.form_calendar .form_cmf-table {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  margin-bottom: 40px;
}

.form_calendar .form_cmf-th {
  width: 180px;
  font-weight: bold;
}

.form_calendar .form_cmf-td {
  width: calc(100% - 180px);
}

.form_calendar .form_cmf-btn {
  margin-top: 50px;
  text-align: center;
}

.form_calendar #booking-confirm-fieldset:first-child tbody {
  display: flex;
  flex-wrap: nowrap;
}

.form_calendar #booking-confirm-fieldset:first-child tr {
  width: 50%;
}

.form_calendar #booking-confirm-fieldset:nth-child(2) th {
  border-bottom: 1px solid #D1D1D1;
}

.form_calendar #booking-confirm-fieldset:nth-child(2) td {
  padding-top: 10px;
  padding-left: 50px;
}

.form_calendar #booking-confirm-fieldset:nth-child(3) {
  padding-bottom: 30px;
  padding-top: 60px;
}

.form_calendar #booking-confirm-fieldset:nth-child(3) table {
  background: #fff;
  margin: 20px 0 0;
  min-height: 100px;
}

.form_calendar .form_backbtn {
  display: block;
  margin-top: 20px;
  width: 240px;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  color: #707070;
  line-height: 48px;
  border-style: none;
  cursor: pointer;
  -webkit-appearance: none;
  position: relative;
}

.form_calendar .form_backbtn::after {
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(-135deg);
}

@media screen and (max-width: 767px) {
  .form_calendar .form_cmf {
    margin-bottom: 60px;
  }
  .form_calendar .form_cmf-title {
    font-size: 4vw;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .form_calendar .form_cmf-txt {
    font-size: 12px;
    margin-bottom: 20px;
  }
  .form_calendar .form_cmf-inner {
    margin: 0 10px;
  }
  .form_calendar .form_cmf-box {
    padding: 20px 15px;
  }
  .form_calendar .form_cmf-table {
    margin-bottom: 20px;
    display: block;
  }
  .form_calendar .form_cmf-th {
    width: inherit;
    font-size: 14px;
  }
  .form_calendar .form_cmf-td {
    width: inherit;
  }
  .form_calendar .form_cmf-btn {
    margin-top: 20px;
  }
  .form_calendar #booking-confirm-fieldset:first-child tbody {
    display: block;
  }
  .form_calendar #booking-confirm-fieldset:first-child tr {
    width: 100%;
  }
  .form_calendar #booking-confirm-fieldset:nth-child(3) {
    padding-top: 50px;
  }
}

.form_calendar .form_thanks {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 10px;
}

.form_calendar .form_thanks p {
  margin-bottom: 1em;
  line-height: 2.3em;
}

.form_calendar .form_thanks-btn {
  margin-top: 50px;
  text-align: center;
}

.form_calendar .form_thanks-btn a {
  display: inline-block;
  width: 240px;
  line-height: 48px;
  background: #666666;
  color: #fff;
  border-style: none;
  cursor: pointer;
  -webkit-appearance: none;
  position: relative;
}

.form_calendar .form_thanks-btn a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .form_calendar .form_thanks p {
    line-height: 1.5em;
  }
}

/* ==========================================================================
	画像アニメーション
============================================================================= */
.fadein {
  opacity: 0;
  transform: translate3d(0, calc(100vw * (15 / 1280)), 0) scale(1);
  transition: opacity 1800ms cubic-bezier(0.165, 0.84, 0.44, 1), transform 1800ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fadein.is-show {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* ==========================================================================
	スマホでのズーム防止
============================================================================= */
@media screen and (max-width: 767px) {
  select, input:not([type="checkbox"]), textarea {
    font-size: 16px !important;
  }
}

/* ==========================================================================
	editor
============================================================================= */
.editor h1 {
  font-size: 1.3em;
  line-height: 1.5em;
  padding: 0 20px 10px;
  border-bottom: 2px solid  #333333;
  margin-bottom: 5px;
}

.editor #ez-toc-container {
  width: 100%;
  padding: 30px 40px;
  background: #EFEFEF;
  border: 0;
  border-radius: 0px;
  margin-bottom: 50px;
}

.editor #ez-toc-container li:not(:last-child) {
  margin-bottom: 10px;
}

.editor #ez-toc-container a {
  text-decoration: underline;
  font-size: 14px;
}

.editor-date {
  color: #999999;
  font-size: 0.93em;
  font-family: "Open Sans", sans-serif;
  margin-bottom: 3px;
  padding-left: 20px;
}

.editor-update {
  font-size: 12px;
  color: #999999;
  margin: 0 0 20px 20px;
  display: inline-block;
}

.editor-body {
  padding: 0 20px;
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 14px;
}

.editor-body h2 {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 2em;
  margin: 0 -10px;
  padding: 5px 10px;
  border-bottom: 1px solid #3b424e;
  margin-bottom: 30px;
  line-height: 1.5em;
}

.editor-body h3 {
  font-size: 1.1em;
  font-weight: bold;
  border-left: 3px solid #707070;
  padding-left: 6px;
  margin-bottom: 20px;
}

.editor-body h4 {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 20px;
}

.editor-body h5 {
  font-weight: bold;
  margin-bottom: 10px;
}

.editor-body p {
  margin-bottom: 2em;
  line-height: 2em;
  clear: both;
}

.editor-body img {
  max-width: 100%;
  height: auto;
  border: 1px solid #ececec;
}

.editor-body strong {
  font-weight: bold;
}

.editor-body a {
  text-decoration: underline;
  color: #3b424e;
}

.editor-body em {
  font-style: italic;
}

.editor-body ul {
  margin-bottom: 2em;
  margin-left: 20px;
}

.editor-body ul li {
  list-style: disc;
}

.editor-body ol {
  margin-bottom: 2em;
  margin-left: 20px;
}

.editor-body ol li {
  list-style-type: decimal;
}

.editor-body blockquote {
  background: #f8f8f8;
  padding: 15px 20px;
  font-size: 0.93em;
  margin-bottom: 2em;
}

.editor-body blockquote p:last-of-type {
  margin-bottom: 0;
}

.editor-body .wp-caption {
  max-width: 100% !important;
  margin-bottom: 2em;
}

.editor-body .wp-caption-text {
  text-align: center;
  margin-top: 5px;
}

.editor-body .aligncenter {
  text-align: center;
  display: block;
  margin: 0 auto;
}

.editor-body .alignright {
  float: right;
  margin: 20px;
}

.editor-body .alignleft {
  float: left;
  margin: 20px;
}

@media screen and (max-width: 767px) {
  .editor h1 {
    line-height: 1.6em;
    padding: 0 10px 8px;
    margin-bottom: 10px;
  }
  .editor #ez-toc-container {
    padding: 20px;
    margin-bottom: 40px;
  }
  .editor #ez-toc-container a {
    font-size: 13px;
  }
  .editor-date {
    padding-left: 10px;
  }
  .editor-update {
    margin-left: 10px;
  }
  .editor-body h2 {
    padding: 12px 10px 5px;
    margin-bottom: 10px;
  }
  .editor-body .wp-caption {
    width: 100% !important;
  }
}

/* 202311~ */
.editor {
  --wp--preset--spacing--80: 120px;
  --wp--preset--spacing--70: 110px;
  --wp--preset--spacing--60: 90px;
  --wp--preset--spacing--50: 60px;
  --wp--preset--spacing--40: 55px;
  --wp--preset--spacing--30: 40px;
  --wp--preset--spacing--20: 25px;
}

@media screen and (max-width: 767px) {
  .editor {
    --wp--preset--spacing--80: 80px;
    --wp--preset--spacing--70: 60px;
    --wp--preset--spacing--60: 40px;
    --wp--preset--spacing--50: 30px;
    --wp--preset--spacing--40: 30px;
    --wp--preset--spacing--30: 20px;
    --wp--preset--spacing--20: 20px;
  }
}

.editor .wp-block-heading {
  font-weight: bold;
}

.editor h2.wp-block-heading {
  font-size: 20px;
  line-height: 1.5;
}

.editor p {
  line-height: 2;
}

.editor .voice-list_wrapper {
  border-top: 1px solid #eee;
}

.editor .voice-list_item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px 70px;
  border-bottom: 1px solid #eee;
  padding: 40px 0 40px 50px;
  background: url(../images/cmn/icon_quote-start.svg) left 40px no-repeat;
}

@media screen and (max-width: 1060px) {
  .editor .voice-list_item {
    flex-direction: column;
    padding-left: 40px;
  }
}

.editor .voice-list_title {
  font-size: 20px;
  line-height: 1.5;
  font-weight: bold;
}

.editor .voice-list_text {
  max-width: 480px;
  width: 100%;
  flex-shrink: 0;
}

.editor .voice-list_name {
  font-size: 14px;
  margin-top: 40px;
  color: #6A6A6A;
}

@media screen and (max-width: 1060px) {
  .editor .voice-list_name {
    margin-top: 20px;
  }
}

.editor .cta-block {
  background-color: #F7F7F7;
  padding: 50px 0 60px;
}

@media screen and (max-width: 767px) {
  .editor .cta-block {
    padding: 30px 0 40px;
  }
}

@media screen and (max-width: 767px) {
  .editor .cta-block .btn a {
    width: 100%;
  }
}

.editor .cta-block_heading {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 25px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .editor .cta-block_heading {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: left;
  }
}

.editor .cta-block_text {
  margin-bottom: 35px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .editor .cta-block_text {
    margin-bottom: 25px;
    text-align: left;
  }
}

.editor .editor__privacypolicy {
  width: 100%;
  height: 300px;
  border: 1px solid #eee;
  overflow-y: auto;
  margin-top: 1em;
  padding: 1em;
  background: #ffffff;
  font-size: 12px;
}

.editor .editor__privacypolicy .is-style-editor__h3 {
  font-size: 16px;
  margin-top: 2em !important;
  margin-bottom: 0.5em;
  font-weight: bold;
}

.editor .editor__privacypolicy .is-style-editor__h3:first-child {
  margin-top: 0 !important;
}

.editor .editor__privacypolicy h4 {
  font-size: 14px;
  font-weight: bold;
  margin-top: 1em;
}

@media screen and (max-width: 767px) {
  .editor .editor__privacypolicy {
    height: 200px;
  }
}

/* ==========================================================================
   スライダーのモジュール
============================================================================= */
.slider__editor {
  position: relative;
  padding-top: 30px;
}

@media screen and (max-width: 767px) {
  .slider__editor {
    padding-top: 20px;
  }
}

.slider__editor .slick-dots {
  position: absolute;
  top: 0;
  right: 0;
  bottom: inherit;
  display: flex;
  justify-content: flex-end;
}

.slider__editor .slick-dots li {
  width: 10px;
  height: 10px;
}

.slider__editor .slick-dots li button {
  padding: 0;
  width: 10px;
  height: 10px;
}

.slider__editor .slick-dots li button:before {
  color: #4E5555;
  width: 10px;
  height: 10px;
  line-height: 1;
}

.slider__editor .slick-next,
.slider__editor .slick-prev {
  width: 16px;
  height: 32px;
  z-index: 1;
  mix-blend-mode: difference;
}

.slider__editor .slick-next::before,
.slider__editor .slick-prev::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #777 !important;
  -webkit-clip-path: polygon(2px 0, 100% 50%, 2px 100%, 0% 100%, calc(100% - 2px) 50%, 0% 0%);
  clip-path: polygon(2px 0, 100% 50%, 2px 100%, 0% 100%, calc(100% - 2px) 50%, 0% 0%);
  opacity: 1;
  transition: opacity .3s;
}

.slider__editor .slick-next:hover::before,
.slider__editor .slick-prev:hover::before {
  opacity: 0.7;
}

.slider__editor .slick-prev::before {
  transform: rotateY(180deg);
}

.slider__editor .slick-next {
  right: -40px;
}

.slider__editor .slick-prev {
  left: -40px;
}

@media screen and (max-width: 1060px) {
  .slider__editor .slick-next {
    right: 15px;
  }
  .slider__editor .slick-prev {
    left: 15px;
  }
}

.slider__editor-image {
  margin: 0 auto;
}

.slider__editor-caption {
  margin-top: 30px;
}

.slider__thumbnail-editor {
  padding-top: 0;
}

.slider__thumbnail-nav {
  margin-top: 4px;
}

.slider__thumbnail-nav .slick-track {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: left;
  transform: unset !important;
  width: 100% !important;
}

.slider__thumbnail-nav .slick-track::before, .slider__thumbnail-nav .slick-track::after {
  content: none;
}

.slider__thumbnail-item {
  cursor: pointer;
  position: relative;
  width: calc( (100% / 6) - (25px / 6)) !important;
}

@media screen and (max-width: 767px) {
  .slider__thumbnail-item {
    width: calc( (100% / 4) - (15px / 4)) !important;
  }
}

.slider__thumbnail-item::before {
  content: '';
  width: 100%;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity .5s;
  visibility: hidden;
  background: #ffffff;
}

.slider__thumbnail-item.slick-current::before {
  opacity: 0.75;
  visibility: visible;
}

.slider__thumbnail-item img {
  aspect-ratio: 16 / 9;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.slider__plan {
  counter-reset: counter-slider-plan;
}

.slider__plan .slick-next,
.slider__plan .slick-prev {
  width: 16px;
  height: 32px;
  z-index: 1;
}

.slider__plan .slick-next::before,
.slider__plan .slick-prev::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #4E5555 !important;
  -webkit-clip-path: polygon(2px 0, 100% 50%, 2px 100%, 0% 100%, calc(100% - 2px) 50%, 0% 0%);
  clip-path: polygon(2px 0, 100% 50%, 2px 100%, 0% 100%, calc(100% - 2px) 50%, 0% 0%);
  opacity: 1;
  transition: opacity .3s;
}

.slider__plan .slick-next:hover::before,
.slider__plan .slick-prev:hover::before {
  opacity: 0.7;
}

.slider__plan .slick-prev::before {
  transform: rotateY(180deg);
}

.slider__plan .slick-next {
  right: -40px;
}

.slider__plan .slick-prev {
  left: -40px;
}

@media screen and (max-width: 1060px) {
  .slider__plan .slick-next {
    right: 15px;
  }
  .slider__plan .slick-prev {
    left: 15px;
  }
}

@media screen and (max-width: 767px) {
  .slider__plan .slick-next,
  .slider__plan .slick-prev {
    top: 96px;
  }
}

.slider__plan-slide {
  background: #F7F7F7;
  padding: 60px;
}

@media screen and (max-width: 767px) {
  .slider__plan-slide {
    padding: 40px;
  }
}

.slider__plan-slide:not(.slick-cloned) {
  counter-increment: counter-slider-plan;
}

.slider__plan-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: 24px;
  line-height: 1.5;
  gap: 10px;
  font-weight: bold;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .slider__plan-title {
    align-items: flex-start;
    font-size: 20px;
    text-align: left;
  }
}

.slider__plan-number {
  text-transform: uppercase;
  font-size: 12px;
}

.slider__plan-price {
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
  font-weight: bold;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .slider__plan-price {
    justify-content: flex-start;
  }
}

.slider__plan-jpy {
  font-size: 16px;
  margin-left: 5px;
}

.slider__plan-taxIn {
  font-size: 12px;
}

.slider__plan-infoList {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 5px auto;
  grid-template-rows: auto auto;
  -ms-grid-columns: max-content 40px max-content;
  grid-template-columns: max-content max-content;
  justify-content: center;
  gap: 5px 40px;
  margin-top: 35px;
}

.slider__plan-infoList &gt; *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.slider__plan-infoList &gt; *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.slider__plan-infoList &gt; *:nth-child(3) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}

.slider__plan-infoList &gt; *:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

@media screen and (max-width: 767px) {
  .slider__plan-infoList {
    display: flex;
    flex-direction: column;
    margin-top: 25px;
  }
}

.slider__plan-infoListItem {
  display: flex;
}

.slider__plan-infoListItem dt {
  width: 6em;
  flex-shrink: 0;
}

.slider__plan-infoListItem dd {
  flex-grow: 1;
}

.slider__plan-figure {
  display: flex;
  gap: 1em;
  justify-content: center;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .slider__plan-figure {
    flex-direction: column;
    margin-top: 25px;
  }
}

.slider__plan-figure .floor_img {
  cursor: pointer;
}

.slider__plan-figure img {
  width: 412px;
}

/* hamburger
----------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .hamburger {
    position: fixed;
    top: 0px;
    right: 0;
    z-index: 11;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .hamburger .hamburger-menu,
  .hamburger .hamburger-menu span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .hamburger .hamburger-menu {
    position: relative;
    margin: 16px 18px;
    width: 24px;
    height: 22px;
    vertical-align: bottom;
  }
  .hamburger .hamburger-menu span {
    position: absolute;
    left: 0;
    width: 24px;
    height: 3px;
    background-color: #333333;
  }
  .hamburger .hamburger-menu span:nth-of-type(1) {
    top: 0;
  }
  .hamburger .hamburger-menu span:nth-of-type(2) {
    top: 50%;
    margin-top: -1px;
  }
  .hamburger .hamburger-menu span:nth-of-type(3) {
    bottom: 0;
  }
  .hamburger .hamburger-menu.is-active span:nth-of-type(1) {
    transform: translateY(9px) rotate(-45deg);
  }
  .hamburger .hamburger-menu.is-active span:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger .hamburger-menu.is-active span:nth-of-type(3) {
    transform: translateY(-10px) rotate(45deg);
  }
}

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

.is-show .hamburger .hamburger-menu span {
  background-color: #ffffff;
}

.is-show .hamburger .hamburger-menu span {
  background-color: #ffffff;
}

/* ==========================================================================
   カタログ
============================================================================= */
.catalog_wrap {
  padding-top: 97px;
  margin: 0 auto;
  max-width: 815px;
  padding: 0 20px;
}

.catalog_box {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin-top: 38px;
  margin-bottom: 60px;
}

.catalog_box-img {
  margin-right: 53px;
  width: 359px;
}

.catalog_box-txt {
  max-width: 330px;
}

.catalog_box-txt h3 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 24px;
}

.catalog_bt {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .catalog_wrap {
    padding-top: 40px;
  }
  .catalog_box {
    display: block;
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .catalog_box-img {
    margin-right: 0;
    margin-bottom: 28px;
    text-align: center;
    width: inherit;
  }
  .catalog_box-txt {
    max-width: inherit;
  }
  .catalog_box-txt h3 {
    margin-bottom: 20px;
    text-align: center;
  }
  .catalog_bt {
    margin-top: 0;
  }
}

/* ==========================================================================
   メイン
============================================================================= */
/* ==========================================================================
   スライダー
============================================================================= */
.idx_mv {
  padding: 0 40px;
}

.idx_mv.slick-dotted.slick-slider {
  margin-bottom: 87px;
}

.idx_mv .slick-dots {
  position: inherit;
  bottom: inherit;
}

.idx_mv .slick-dots li {
  width: 14px;
}

.idx_mv .slick-dots li button {
  width: 6px;
  height: 6px;
  padding: 7px;
}

.idx_mv .slick-dots li button:before {
  content: '';
  width: 6px;
  height: 6px;
  background: none;
  opacity: 1;
  border: 1px solid #707070;
  border-radius: 6px;
}

.idx_mv .slick-dots li.slick-active button:before {
  background: #707070;
  opacity: 1;
}

.idx_mv-item a {
  display: block;
  outline: none;
}

@media screen and (max-width: 767px) {
  .idx_mv {
    padding: 0;
  }
  .idx_mv.slick-dotted.slick-slider {
    margin-bottom: 70px;
  }
  .idx_mv .slick-dots {
    position: absolute;
    bottom: 0;
  }
  .idx_mv-pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .idx_mv-sp {
    display: none !important;
  }
}

/* ==========================================================================
   分譲バナー
============================================================================= */
.index_realestateBnr {
  text-align: center;
  margin-bottom: 40px;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .index_realestateBnr {
    margin-bottom: 20px;
    padding: 0 20px;
  }
}

/* ==========================================================================
   presentbanner
============================================================================= */
.idx_present {
  margin-bottom: 70px;
  text-align: center;
}

.idx_present a {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .idx_present {
    margin-top: -14px;
    margin-bottom: 60px;
    padding: 0 20px;
  }
  .idx_present a {
    display: block;
  }
  .idx_present a img {
    width: 100%;
    height: auto;
  }
}

/* ==========================================================================
   動画
============================================================================= */
.idx_modelMovie {
  border: 0px;
  padding: 0;
  margin-bottom: 60px;
}

.idx_modelMovie p {
  text-align: center;
  margin-bottom: 20px;
}

.idx_modelMovie-title {
  font-weight: bold;
  color: #000000;
  text-align: center;
  margin-bottom: 20px;
}

.modelmovie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.modelmovie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media screen and (max-width: 768px) {
  .idx_modelMovie {
    max-width: 810px;
    width: calc(100% - 40px);
    margin: 0 auto 60px;
  }
}

@media screen and (max-width: 767px) {
  .idx_modelMovie p {
    text-align: left;
  }
  .idx_modelMovie p br {
    display: none;
  }
}

/* ==========================================================================
   感染予防対策（緊急お知らせ）
============================================================================= */
.idx_emergencyNews {
  border: 1px solid #dc3639;
  padding: 20px;
  margin-bottom: 60px;
}

.idx_emergencyNews p {
  text-align: center;
  margin-bottom: 20px;
}

.idx_emergencyNews-title {
  font-weight: bold;
  color: #dc3639;
  text-align: center;
  margin-bottom: 20px;
}

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

.idx_emergencyNews-bnrList a {
  width: calc(50% - 10px);
}

.idx_emergencyNews-bnrList img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 1025px) {
  .idx_emergencyNews {
    width: calc(100% - 40px);
    margin: 0 auto 60px;
  }
}

@media screen and (max-width: 767px) {
  .idx_emergencyNews p {
    text-align: left;
  }
  .idx_emergencyNews p br {
    display: none;
  }
  .idx_emergencyNews-bnrList {
    flex-direction: column;
  }
  .idx_emergencyNews-bnrList a {
    width: 100%;
  }
  .idx_emergencyNews-bnrList a + a {
    margin: 20px 0 0;
  }
  .idx_emergencyNews-bnrList img {
    width: 100%;
  }
}

/* ==========================================================================
   ウスコのコンセプトハウス
============================================================================= */
.idx_ch {
  margin: 0 auto 100px;
}

@media screen and (max-width: 767px) {
  .idx_ch {
    margin-bottom: 80px;
  }
}

.idx_ch-heading {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .idx_ch-heading {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .idx_ch-heading img {
    height: 18px;
    width: auto;
  }
}

.idx_ch-list {
  display: flex;
  gap: 0 60px;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .idx_ch-list {
    gap: 0 20px;
  }
}

.idx_ch-img {
  margin-bottom: 20px;
}

.idx_ch-title {
  font-weight: 700;
  text-align: center;
}

.idx_ch-title span {
  background: url("./../images/cmn/arrow.svg") no-repeat center right 1px;
  padding-right: 16px;
}

/* ==========================================================================
   お知らせ
============================================================================= */
.idx_news {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin-bottom: 40px;
}

.idx_news-title {
  width: calc(100% - 630px);
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  font-size: 12px;
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
}

.idx_news-title p {
  margin-left: 20px;
  letter-spacing: 0.08em;
}

.idx_news-list {
  width: 630px;
  margin-top: -14px;
}

.idx_news-item a {
  display: block;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 0.93em;
  padding: 17px 10px;
  border-bottom: 1px solid #D8D8D8;
}

.idx_news-item a time {
  color: #999999;
  font-family: "Open Sans", sans-serif;
  display: inline-block;
  margin-right: 20px;
}

.idx_news-item a p {
  margin-right: 20px;
}

.idx_news-more {
  text-align: right;
  font-size: 14px;
  font-weight: bold;
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .idx_news {
    display: block;
    margin-bottom: 96px;
  }
  .idx_news-title {
    width: inherit;
    font-size: 13px;
    display: block;
    text-align: center;
  }
  .idx_news-title img {
    margin-bottom: 16px;
  }
  .idx_news-title p {
    margin-left: 0;
  }
  .idx_news-list {
    width: inherit;
    margin-top: 0;
  }
  .idx_news-item a {
    display: block;
    padding: 14px 10px;
  }
}

/* ==========================================================================
   イベント
============================================================================= */
.idx_event {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin-bottom: 125px;
}

.idx_event-title {
  width: calc(100% - 630px);
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  font-size: 12px;
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
}

.idx_event-title p {
  margin-left: 20px;
  letter-spacing: 0.08em;
}

.idx_eventList {
  width: 630px;
}

.idx_eventList-item a {
  display: block;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 0.93em;
  padding: 10px 20px;
  border-bottom: 1px solid #D8D8D8;
}

.idx_eventList-item a time {
  color: #999999;
  font-family: "Open Sans", sans-serif;
  display: inline-block;
  margin-right: 20px;
}

.idx_eventList-img {
  width: 120px;
}

.idx_eventList-img img {
  border: 1px solid  #ececec;
}

.idx_eventList-info {
  width: calc( 100% - 120px);
  padding-left: 15px;
}

.idx_eventList-date {
  font-size: 12px;
  color: #6A6A6A;
}

.idx_eventList-date span {
  font-family: "Open Sans", sans-serif;
  display: inline-block;
  position: relative;
  padding-left: 40px;
}

.idx_eventList-date span::before {
  content: '';
  width: 15px;
  height: 1px;
  background: #989898;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -1px;
}

.idx_event-more {
  text-align: right;
  font-size: 14px;
  font-weight: bold;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .idx_event {
    display: block;
    margin-bottom: 80px;
  }
  .idx_event-title {
    width: inherit;
    font-size: 13px;
    display: block;
    text-align: center;
    margin-bottom: 20px;
  }
  .idx_event-title p {
    margin-left: 0;
  }
  .idx_event-title img {
    margin-bottom: 17px;
  }
  .idx_eventList {
    width: inherit;
  }
  .idx_eventList-item a {
    padding: 10px 5px;
  }
  .idx_eventList-date {
    font-size: 10px;
  }
  .idx_eventList-date span {
    padding-left: 20px;
  }
  .idx_eventList-date span::before {
    width: 10px;
    left: 5px;
  }
}

/* 4つ以上になったときの表示
----------------------------------------------------------------- */
.idx_event-posts.idx_event {
  display: block;
}

.idx_eventList-wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-top: 30px;
}

.idx_eventList-wrap .idx_eventList-1 {
  width: 400px;
}

.idx_eventList-wrap .idx_eventList-1 .idx_eventList-img {
  width: 100%;
}

.idx_eventList-wrap .idx_eventList-1 a {
  display: block;
}

.idx_eventList-wrap .idx_eventList-1 time {
  color: #999999;
  font-family: "Open Sans", sans-serif;
  display: inline-block;
  margin-right: 20px;
}

.idx_eventList-wrap .idx_eventList-1 .idx_eventList-img {
  margin-bottom: 5px;
}

.idx_eventList-wrap .idx_eventList-1 .idx_eventList-img img {
  width: 100%;
  border: 1px solid #ececec;
}

.idx_eventList-wrap .idx_eventList-1 .idx_eventList-info {
  width: 100%;
  padding-left: 0;
}

.idx_eventList-wrap .idx_eventList {
  width: 420px;
}

.idx_eventList-wrap .idx_eventList .eventList-new::before {
  top: 10px;
  left: 10px;
}

.idx_eventList-wrap .idx_eventList .idx_eventList-title {
  line-height: 1.5em;
}

.idx_eventList-wrap .idx_eventList-item a {
  padding: 10px;
}

.idx_eventList-wrap .idx_eventList-item:first-child a {
  padding-top: 0;
}

.idx_eventList-wrap .idx_eventList-item:first-child .eventList-new::before {
  top: 0;
  left: 10px;
}

@media screen and (max-width: 767px) {
  .idx_eventList-wrap {
    display: block;
    margin-top: 24px;
    padding: 0;
  }
  .idx_eventList-wrap .idx_eventList-1 {
    width: 100%;
    margin-bottom: 20px;
  }
  .idx_eventList-wrap .idx_eventList-1 .idx_eventList-info {
    width: 100%;
  }
  .idx_eventList-wrap .idx_eventList {
    width: inherit;
  }
  .idx_eventList-wrap .idx_eventList-item:first-child a {
    padding-top: 10px;
  }
  .idx_eventList-wrap .idx_eventList-item:first-child .eventList-new::before {
    top: 10px;
  }
}

/* ==========================================================================
   コンセプト
============================================================================= */
.idx_concept {
  margin: 0 auto 150px;
}

.idx_concept-heading {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .idx_concept-heading {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .idx_concept-heading img {
    height: 18px;
    width: auto;
  }
}

.idx_concept-img {
  display: flex;
  gap: 0 12px;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .idx_concept-img {
    flex-direction: column;
    gap: 20px 0;
    margin-bottom: 50px;
  }
}

.idx_concept-img img {
  width: calc(50% - 6px);
}

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

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

@media screen and (max-width: 767px) {
  .idx_concept-body {
    flex-direction: column;
  }
}

.idx_concept-copy {
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .idx_concept-copy {
    font-size: 1.4em;
    margin-bottom: 30px;
  }
}

.idx_concept-txt p {
  line-height: 2.25;
  margin-bottom: 30px;
}

.idx_concept-txt p .t-hidePC {
  display: none;
}

@media screen and (max-width: 767px) {
  .idx_concept-txt p .t-hidePC {
    display: block;
  }
}

.idx_concept-btn {
  margin-top: 45px;
}

.idx_concept-btn a {
  margin: 0 auto 0 0;
}

@media screen and (max-width: 767px) {
  .idx_concept-btn a {
    margin: 0 auto;
  }
}

/* ==========================================================================
   商品紹介
============================================================================= */
.idx_usuko {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto 120px;
}

.idx_usuko-slider {
  width: 740px;
  max-width: 58%;
}

.idx_usuko-box {
  width: 42%;
  padding-left: 8%;
}

.idx_usuko-box h2 {
  margin-top: 25px;
  margin-bottom: 35px;
}

.idx_usuko-box h2 img {
  width: 220px;
}

.idx_usuko-box p {
  line-height: 2.1em;
}

.idx_usuko-btn {
  margin-top: 40px;
}

.idx_usuko-btn a {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .idx_usuko {
    display: block;
    text-align: center;
    margin-bottom: 77px;
  }
  .idx_usuko-slider {
    width: 100%;
    max-width: inherit;
    margin-bottom: 30px;
  }
  .idx_usuko-box {
    width: inherit;
    padding-left: 0;
    display: inline-block;
  }
  .idx_usuko-box h2 {
    margin-top: 0;
    margin-bottom: 30px;
  }
  .idx_usuko-box p {
    text-align: left;
  }
  .idx_usuko-btn {
    margin-top: 40px;
  }
}

/* ==========================================================================
   実例紹介
============================================================================= */
.idx_works {
  margin-bottom: 100px;
}

/* ==========================================================================
   アフターサポート
============================================================================= */
.idx_support {
  text-align: center;
  padding: 0 40px;
  margin-bottom: 130px;
}

@media screen and (max-width: 767px) {
  .idx_support {
    padding: 0 10px;
    margin-bottom: 76px;
  }
  .idx_support-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .idx_support-sp {
    display: none;
  }
}

/* ==========================================================================
   不動産情報
============================================================================= */
.idx_realestate {
  max-width: 1062px;
  margin: 0 auto 120px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.idx_realestate-l {
  width: calc(100% - 610px);
  padding-top: 40px;
}

.idx_realestate-r {
  width: 610px;
}

.idx_realestate-subtitle {
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  margin-bottom: 14px;
  letter-spacing: 0.1em;
}

.idx_realestate-title {
  margin-bottom: 30px;
}

.idx_realestate-lead {
  max-width: 280px;
  line-height: 2em;
  margin-bottom: 42px;
}

.idx_realestate-btn a {
  margin-left: 0;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .idx_realestate {
    padding: 0 20px;
  }
  .idx_realestate-l {
    width: 40%;
  }
  .idx_realestate-r {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .idx_realestate {
    padding: 0 20px;
    display: block;
    margin-bottom: 105px;
  }
  .idx_realestate-l {
    width: inherit;
    padding-top: 0;
  }
  .idx_realestate-r {
    display: none;
  }
  .idx_realestate-pc {
    display: none;
  }
  .idx_realestate-subtitle {
    margin-bottom: 20px;
  }
  .idx_realestate-lead {
    max-width: inherit;
    margin-bottom: 37px;
  }
  .idx_realestate-imgsp {
    margin-bottom: 20px;
  }
  .idx_realestate-btn a {
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .idx_realestate-imgsp {
    display: none;
  }
  .idx_realestate-sp {
    display: none;
  }
}

/* ==========================================================================
   USUKOの暮らし方
============================================================================= */
.idx_voice {
  max-width: 1062px;
  margin: 0 auto 50px;
  overflow: hidden;
}

.idx_voice-top {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 50px;
}

.idx_voice-heading h2 {
  margin-bottom: 25px;
}

.idx_voice-btn a {
  display: block;
  width: 200px;
  border-bottom: 1px solid #4D4D4D;
  padding-bottom: 15px;
  text-align: center;
  font-weight: bold;
  background-position: bottom 25px right 18px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .idx_voice {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .idx_voice {
    padding: 0 20px;
  }
  .idx_voice-top {
    display: block;
    margin-bottom: 20px;
  }
  .idx_voice-btn {
    display: none;
  }
  .idx_voice-list.voiceList {
    padding: 0;
    margin: 0 -7px 17px;
    overflow: initial;
  }
  .idx_voice-list .voiceList-item {
    width: 300px !important;
  }
  .idx_voice-list .slick-next, .idx_voice-list .slick-prev {
    top: 22vw;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 1;
  }
  .idx_voice-list .slick-next:hover, .idx_voice-list .slick-prev:hover {
    background-color: rgba(255, 255, 255, 0.9);
  }
  .idx_voice-list .slick-next {
    right: -10px;
  }
  .idx_voice-list .slick-prev {
    left: -10px;
  }
  .idx_voice-list .slick-next:before {
    top: 18px;
    right: 16px;
    width: 10px;
    height: 10px;
    position: absolute;
    display: block;
    content: '';
    margin-top: -4px;
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    transform: rotate(45deg);
    opacity: 1;
  }
  .idx_voice-list .slick-prev:before {
    top: 18px;
    left: 16px;
    width: 10px;
    height: 10px;
    position: absolute;
    display: block;
    content: '';
    margin-top: -4px;
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    transform: rotate(225deg);
    opacity: 1;
  }
}

/* ==========================================================================
   コラム
============================================================================= */
.idx_column {
  background: url("./../images/index/column_bg.png") no-repeat center;
  background-size: cover;
  padding: 80px 0 70px;
}

.idx_column-wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  max-width: 1144px;
  margin: 0 auto;
  padding-left: 42px;
}

.idx_column-heading {
  text-align: center;
  padding: 50px 44px 0;
}

.idx_column-list {
  width: 840px;
  max-width: 100%;
}

.idx_column-list .column_list-img {
  border: 1px solid #ececec;
}

@media screen and (max-width: 767px) {
  .idx_column {
    padding: 74px 20px 145px;
    position: relative;
  }
  .idx_column-wrap {
    padding-left: 0;
    display: block;
  }
  .idx_column-heading {
    text-align: center;
    padding: 0;
  }
  .idx_column-btn {
    position: absolute;
    bottom: 60px;
    left: 0;
    width: 100%;
  }
  .idx_column-list.column_list {
    margin: 0;
  }
}

/* ==========================================================================
   カタログ
============================================================================= */
.idx_catalog {
  padding-top: 115px;
}

@media screen and (max-width: 767px) {
  .idx_catalog {
    padding-top: 0;
  }
}

/* ==========================================================================
   キャンペーンバナー
============================================================================= */
.idx_bn-200311 {
  margin-top: 90px;
  margin-bottom: -50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .idx_bn-200311 {
    margin-top: 70px;
    margin-bottom: -30px;
  }
}

/* ==========================================================================
   コラム見出し
============================================================================= */
.column_heading {
  text-align: center;
  padding-top: 36px;
}

.column_heading-fukidashi {
  margin-bottom: 23px;
}

.column_heading-subtitle {
  font-size: 14px;
  color: #707070;
  font-weight: bold;
  margin-bottom: 15px;
}

.column_heading-title {
  margin-bottom: 44px;
}

.column_heading-by {
  margin-bottom: 38px;
}

.column_heading-by img {
  vertical-align: top;
}

.column_heading-btn a {
  width: 220px;
}

.column_heading-list {
  width: 720px;
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .column_heading {
    padding: 40px 20px 0;
    height: 240px;
  }
  .column_heading-fukidashi {
    margin-bottom: 0;
  }
  .column_heading-subtitle {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .column_heading-title {
    margin-bottom: 20px;
  }
  .column_heading-title img {
    width: 256px;
  }
  .column_heading-by {
    margin-bottom: 40px;
  }
}

.column_taxonomy {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
  .column_taxonomy {
    padding: 0 20px;
    margin-bottom: -20px;
    margin-top: 20px;
  }
}

/* ==========================================================================
   コラム一覧
============================================================================= */
.column {
  background: url(./../images/column/column_pattern.png);
  text-align: center;
}

.column_wrap {
  padding: 50px;
  background: #fff;
  display: inline-block;
  margin: 57px 0 0;
}

@media screen and (max-width: 767px) {
  .column {
    background: none;
  }
  .column_wrap {
    padding: 0;
    margin-top: 10px;
  }
}

/* ==========================================================================
   コラム一覧
============================================================================= */
.column_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 -10px;
  overflow: hidden;
}

.column_list-item {
  width: calc(100% / 3);
  margin-bottom: 50px;
  padding: 0 10px;
}

.column_list-item a {
  display: block;
}

.column_list-img {
  position: relative;
  margin-bottom: 12px;
  border: 1px solid #ececec;
}

.column_list-cat {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #808080;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  line-height: 26px;
  padding: 0 10px;
}

.column_list-title {
  color: #6A6A6A;
  font-size: 14px;
  line-height: 1.6em;
}

.column_list-date {
  font-size: 12px;
  color: #999999;
  font-family: "Open Sans", sans-serif;
}

@media screen and (max-width: 767px) {
  .column_list {
    margin: 38px 13px 0;
  }
  .column_list-item {
    width: calc(100% / 2);
    margin-bottom: 20px;
    padding: 0 7px;
  }
  .column_list-cat {
    font-size: 11px;
  }
}

/* トップページの一覧
----------------------------------------------------------------- */
.column_list-idex .column_list-title {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .column_list-idex.column_list-item:nth-child(4), .column_list-idex.column_list-item:nth-child(5), .column_list-idex.column_list-item:nth-child(6) {
    margin-bottom: 0;
  }
}

/* ==========================================================================
   コラム詳細
============================================================================= */
.column_content {
  margin: 0 10px;
}

.column_content-header h1 {
  font-weight: bold;
}

/* SNS
----------------------------------------------------------------- */
.column_sns {
  background: #EFEFEF;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 93px;
  margin-bottom: 15px;
}

.column_sns-title {
  font-size: 1.2em;
  font-weight: bold;
  display: inline-block;
  border-bottom: 2px solid #333333;
  padding: 0 9px;
}

.column_sns-list {
  margin-left: 100px;
}

.column_sns-list li {
  display: inline-block;
  margin: 0 25px;
}

@media screen and (max-width: 767px) {
  .column_sns {
    background: #EFEFEF;
    display: block;
    height: inherit;
    text-align: center;
    padding: 20px;
  }
  .column_sns-title {
    margin-bottom: 20px;
  }
  .column_sns-list {
    margin-left: 0;
  }
  .column_sns-list li {
    display: inline-block;
    margin: 0 15px;
  }
}

/* ==========================================================================
   コンセプト
============================================================================= */
.concept_txt {
  line-height: 2.5em;
}

.concept_txt p:not(:last-child) {
  margin-bottom: 2.8em;
}

@media screen and (max-width: 767px) {
  .concept_txt {
    padding: 0 20px;
  }
}

/* シンプルで叶える豊かさ "less is more" な暮らし
----------------------------------------------------------------- */
.concept_msg {
  margin-top: 77px;
  margin-bottom: 130px;
}

@media screen and (max-width: 767px) {
  .concept_msg {
    margin-top: 60px;
    margin-bottom: 80px;
  }
}

.concept_msg-title {
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.75;
  margin-bottom: 67px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .concept_msg-title {
    font-size: 1.4em;
    margin-bottom: 30px;
  }
}

.concept_msg-body {
  align-items: center;
  display: flex;
  gap: 0 60px;
}

@media screen and (max-width: 767px) {
  .concept_msg-body {
    flex-direction: column;
    gap: 30px 0;
  }
}

.concept_msg-body:first-of-type {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .concept_msg-body:first-of-type {
    margin-bottom: 40px;
  }
}

.concept_msg-img {
  width: 50%;
}

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

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

.concept_msg-txt {
  width: calc(50% - 60px);
}

@media screen and (max-width: 767px) {
  .concept_msg-txt {
    text-align: center;
    width: 100%;
  }
}

.concept_msg-txt p {
  line-height: 2.25;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .concept_msg-txt p {
    line-height: 2;
    margin-bottom: 20px;
  }
}

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

/* コンセプトハウスとは
----------------------------------------------------------------- */
.concept_ch-title {
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.75;
  margin-bottom: 45px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .concept_ch-title {
    font-size: 1.4em;
    margin-bottom: 30px;
  }
}

.concept_ch-txt {
  margin-bottom: 60px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .concept_ch-txt {
    margin-bottom: 40px;
  }
}

.concept_ch-txt p {
  line-height: 2.25;
}

.concept_ch-txt p .t-hidePC {
  display: none;
}

@media screen and (max-width: 767px) {
  .concept_ch-txt p .t-hidePC {
    display: block;
  }
}

.concept_ch-img {
  display: flex;
  gap: 0 16px;
}

@media screen and (max-width: 767px) {
  .concept_ch-img {
    align-items: center;
    flex-direction: column;
    gap: 20px 0;
  }
}

.concept_ch-img img {
  width: calc(50% - 8px);
}

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

/* ==========================================================================
   家づくりの流れ
============================================================================= */
.flow {
  max-width: 900px;
  margin: 0 auto;
}

.flow_heading {
  margin-top: 87px;
}

@media screen and (max-width: 767px) {
  .flow_heading {
    margin-top: 40px;
  }
}

/* ==========================================================================
   流れ
============================================================================= */
.flow_step {
  margin-top: 55px;
}

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

.flow_step-inner {
  margin-top: 50px;
  text-align: center;
}

.flow_step-list {
  margin-top: 20px;
  padding: 0 14px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}

.flow_step-list a {
  display: block;
}

@media screen and (max-width: 767px) {
  .flow_step {
    margin-top: 40px;
    margin-bottom: 60px;
  }
  .flow_step-lead {
    display: none;
  }
  .flow_step-inner {
    padding: 0 28px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .flow_step-inner picture {
    width: 8.4%;
    max-width: 27px;
  }
  .flow_step-list {
    width: calc(90% - 17px);
    margin-top: 0;
    margin-left: 18px;
    padding: 0;
    display: block;
  }
  .flow_step-list li:not(:last-child) {
    margin-bottom: 25px;
  }
}

/* ==========================================================================
   Q&amp;A
============================================================================= */
.flow_qa-sec {
  padding-top: 85px;
}

.flow_qa-title {
  font-size: 1.3em;
  font-weight: bold;
  padding-left: 20px;
  margin-bottom: 15px;
  font-family: 'Open Sans', 'Yu Gothic', "游ゴシック",'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

.flow_qa-dis {
  padding: 0 20px;
  margin-bottom: 20px;
}

.flow_list {
  border-top: 2px solid #707070;
}

.flow_list-q {
  padding: 35px 70px;
  position: relative;
  border-bottom: 1px solid #707070;
  cursor: pointer;
}

.flow_list-q::before {
  content: '';
  width: 19px;
  height: 14px;
  display: block;
  background: url(./../images/flow/icon_q.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 39px;
  left: 31px;
}

.flow_list-q::after {
  content: '';
  width: 25px;
  height: 25px;
  display: block;
  background: url(./../images/flow/icon_btn.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 36px;
  right: 31px;
  transition: transform 0.4s ease;
}

.flow_list-q.is-show::after {
  transform: rotate(45deg);
}

.flow_list-a {
  background: #F9F9F9;
  padding: 35px 70px;
  position: relative;
  border-bottom: 1px solid #707070;
  display: none;
}

.flow_list-a p:not(:last-child) {
  margin-bottom: 2em;
  line-height: 1.8em;
}

.flow_list-a ul {
  margin-bottom: 2em;
}

.flow_list-a li {
  display: inline-block;
  margin-right: 35px;
}

.flow_list-a a {
  font-size: 0.93em;
  font-weight: bold;
  color: #3b424e;
}

.flow_list-a a::after {
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
  content: '';
  width: 5px;
  height: 9px;
  background: url("./../images/cmn/arrow_g.svg") no-repeat center;
  background-size: contain;
}

.flow_list-a::before {
  content: '';
  width: 18px;
  height: 15px;
  display: block;
  background: url(./../images/flow/icon_a.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 39px;
  left: 31px;
}

@media screen and (max-width: 767px) {
  .flow_qa-sec {
    padding-top: 20px;
  }
  .flow_qa-sec:not(:last-child) {
    margin-bottom: 40px;
  }
  .flow_qa-title {
    font-size: 1.3em;
    font-weight: bold;
    padding-left: 15px;
  }
  .flow_qa-dis {
    padding: 0 15px;
  }
  .flow_list {
    border-top: 2px solid #707070;
  }
  .flow_list-q {
    padding: 20px 45px;
  }
  .flow_list-q::before {
    top: 25px;
    left: 15px;
  }
  .flow_list-q::after {
    width: 20px;
    height: 20px;
    top: 50%;
    right: 15px;
    margin-top: -10px;
  }
  .flow_list-a {
    padding: 20px 45px;
  }
  .flow_list-a::before {
    top: 25px;
    left: 15px;
  }
}

/* ==========================================================================
	商品紹介
============================================================================= */
/* ==========================================================================
	コンセプト
============================================================================= */
.product_concept {
  margin-top: 87px;
  margin-bottom: 120px;
  text-align: center;
}

.product_concept-img {
  margin: 60px 0 20px;
}

.product_concept-body {
  color: #3b424e;
  line-height: 2.3em;
}

.product_concept-body p:not(:last-child) {
  margin-bottom: 2.3em;
}

@media screen and (max-width: 767px) {
  .product_concept {
    margin-top: 40px;
    margin-bottom: 100px;
  }
  .product_concept-img {
    margin: 40px 0 32px;
  }
  .product_concept-body {
    padding: 0 40px;
  }
}

@media screen and (max-width: 320px) {
  .product_concept-body {
    padding: 0 10px;
  }
}

/* ==========================================================================
	商品ラインナップ
============================================================================= */
/* 商品ラインナップ
----------------------------------------------------------------- */
.product_lineup {
  margin-bottom: 124px;
}

.product_lineup-lead {
  padding-top: 46px;
  line-height: 2em;
  max-width: 700px;
  margin: 0 auto 15px;
}

.product_lineup-att {
  font-size: 13px;
  max-width: 700px;
  margin: 0 auto 53px;
}

.product_item:not(:last-child) {
  border-bottom: 1px solid #D8D8D8;
  margin: 0 -20px 70px;
  padding: 0 20px 70px;
}

@media screen and (max-width: 767px) {
  .product_lineup {
    margin-bottom: 120px;
  }
  .product_lineup-lead {
    padding-top: 50px;
  }
  .product_lineup-att {
    margin-bottom: 50px;
  }
  .product_item:not(:last-child) {
    border-bottom: 0;
    margin: 0 0 70px;
    padding: 0;
  }
}

/* 外観・商品名
----------------------------------------------------------------- */
.product_item-top {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 52px;
}

.product_item-img {
  width: 56%;
  max-width: 535px;
}

.product_item-img img {
  width: 100%;
  height: auto;
}

.product_item-box {
  width: calc(44% - 40px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.product_item-name h3 {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}

.product_item-name h3 span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 25px;
  border: 1px solid #333;
  font-size: 10px;
  margin-right: 10px;
}

.product_item-name p {
  line-height: 2.1em;
}

.product_item-price {
  margin-bottom: -.5em;
}

.product_item-price h4 {
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #D8D8D8;
  padding-bottom: 4px;
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}

.product_item-price h4 span {
  font-size: 2.2em;
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  font-weight: normal;
  display: inline-block;
  margin: 0 5px 0 15px;
}

.product_item-price p {
  font-size: 13px;
  line-height: 1.9em;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .product_item-top {
    display: block;
    margin-bottom: 30px;
  }
  .product_item-img {
    width: inherit;
    margin: 0 -20px 20px;
  }
  .product_item-box {
    width: inherit;
    display: block;
  }
  .product_item-name {
    width: inherit;
  }
  .product_item-name h3 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-top: 0;
    padding-bottom: 15px;
    margin-bottom: 0;
    border-bottom: 0;
  }
  .product_item-name h3 span {
    margin: 0;
  }
  .product_item-name h3 img {
    vertical-align: middle;
    margin-left: 15px;
  }
  .product_item-name p {
    line-height: 2.1em;
  }
  .product_item-price {
    margin-top: 20px;
    padding-top: 25px;
    border-top: 1px solid #D8D8D8;
  }
  .product_item-price h4 {
    border-bottom: 0;
  }
}

/* 参考プラン
----------------------------------------------------------------- */
.product_item-info {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-end;
}

.product_item-info + .product_item-info {
  margin-top: 30px;
}

.product_item-data {
  width: 30%;
  margin-bottom: 30px;
}

.product_item-data p {
  margin-top: 15px;
  font-size: 13px;
  text-align: left;
  line-height: 1.5em;
}

.product_item-area {
  text-align: center;
  margin-top: 20px;
}

.product_item-area h4 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: left;
}

.product_item-area h4 br {
  display: none;
}

.product_item-area dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  line-height: 2.2em;
}

.product_item-area dt {
  width: 5em;
}

.product_item-area dd {
  width: calc(100% - 5em);
  padding-left: 25px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .product_item-info {
    display: block;
  }
  .product_item-data {
    margin: 0 auto 30px;
  }
}

@media screen and (max-width: 767px) {
  .product_item-info {
    display: block;
  }
  .product_item-info + .product_item-info {
    margin-top: 60px;
    border-top: 1px solid #D8D8D8;
    padding-top: 10px;
  }
  .product_item-data {
    width: inherit;
    margin-bottom: 20px;
  }
  .product_item-area {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .product_item-area h4 {
    font-size: 1.07em;
    width: 7em;
    margin-top: 2px;
  }
  .product_item-area h4 br {
    display: block;
  }
  .product_item-area dl {
    width: calc(100% - 7em);
  }
  .product_item-area dd {
    width: calc(100% - 5em);
    padding-left: 15px;
  }
}

@media screen and (max-width: 374px) {
  .product_item-area {
    display: block;
  }
  .product_item-area h4 {
    margin-bottom: 10px;
    width: inherit;
  }
  .product_item-area h4 br {
    display: none;
  }
  .product_item-area dl {
    width: inherit;
  }
}

/* 間取り
----------------------------------------------------------------- */
.product_floor {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.product_floor-item {
  margin-left: 30px;
  position: relative;
  width: 330px;
  border: 1px solid #E8E8E8;
}

.product_floor-item::after {
  content: '';
  width: 20px;
  height: 20px;
  background: url("../images/product/modal.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 1;
}

.product_floor-item .floor_img {
  cursor: pointer;
  max-width: 100%;
  border: 1px solid #E8E8E8;
}

.product_floor-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 101;
  background-color: rgba(214, 214, 214, 0.7);
}

.product_floor-modal &gt; div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  text-align: center;
  padding: 10%;
}

@media screen and (max-width: 767px) {
  .product_floor-modal &gt; div {
    padding: 10% 20px;
  }
}

.product_floor-modal img {
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
}

.product_floor-img {
  position: relative;
}

.product_floor-img .modal_close {
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(100%);
  vertical-align: top;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .product_floor-img .modal_close {
    top: -86px;
    right: 66px;
  }
}

@media screen and (max-width: 767px) {
  .product_floor {
    display: block;
  }
  .product_floor-item {
    margin-left: 0;
  }
  .product_floor-item::after {
    display: none;
  }
}

/* 1Fのみ
----------------------------------------------------------------- */
.product_item_1flr .product_item-info {
  justify-content: center;
}

.product_item_1flr .product_floor-item {
  width: 400px;
}

/* ==========================================================================
	設計コンセプト
============================================================================= */
.product_design {
  margin-bottom: 106px;
}

.product_design-lead {
  margin-top: 58px;
  margin-bottom: 70px;
  font-size: 1.2em;
  line-height: 2.3em;
  text-align: center;
}

.product_design-list {
  margin-bottom: 20px;
}

.product_design-item {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 80px;
}

.product_design-item &gt; div {
  width: calc( 50% - 30px);
}

.product_design-item:nth-last-of-type(2n+1) {
  flex-direction: row-reverse;
}

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

.product_design-body h2 {
  font-size: 1.46em;
  font-weight: bold;
  border-bottom: 1px solid #D8D8D8;
  padding: 10px 12px;
  margin-bottom: 15px;
}

.product_design-body p {
  padding: 0 12px;
}

@media screen and (max-width: 767px) {
  .product_design-lead {
    margin: 48px 0 40px;
    font-size: 1.07em;
    text-align: left;
  }
  .product_design-item {
    display: block;
    margin-bottom: 40px;
  }
  .product_design-item &gt; div {
    width: inherit;
  }
  .product_design-img {
    margin: 0 -20px;
  }
  .product_design-body h2 {
    padding: 27px 0 20px;
    border-bottom: 0;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.5em;
  }
  .product_design-body p {
    padding: 0 12px;
  }
}

/* ==========================================================================
	product_banner
============================================================================= */
.product_banner {
  margin-bottom: 110px;
}

.product_banner ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
}

.product_banner li {
  width: 50%;
  max-width: 430px;
}

.product_banner a {
  display: block;
  width: 100%;
  height: 150px;
  display: flex;
  align-items: center;
  position: relative;
  font-size: 1.2em;
  line-height: 1.8em;
  padding-left: 60px;
  font-weight: bold;
}

.product_banner a::after {
  position: absolute;
  top: 50%;
  right: 40px;
  display: block;
  content: '';
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(45deg);
}

.product_banner-strength a {
  background: url("./../images/product/strength_bg@2x.jpg") no-repeat center;
  background-size: cover;
}

.product_banner-flow a {
  background: url("./../images/product/flow_bg_2@2x.jpg") no-repeat center;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .product_banner {
    margin: 0 20px 80px;
  }
  .product_banner ul {
    display: block;
  }
  .product_banner li {
    width: 100%;
    max-width: 100%;
  }
  .product_banner li:first-child {
    margin-bottom: 20px;
  }
  .product_banner a {
    height: 117px;
    font-size: 1.14em;
    padding-left: 37px;
  }
  .product_banner-strength a {
    background: url("./../images/product/strength_bg@2x.jpg") no-repeat center;
    background-size: cover;
  }
  .product_banner-flow a {
    background: url("./../images/product/flow_bg_2_sp@2x.jpg") no-repeat center;
    background-size: cover;
  }
}

/* ==========================================================================
	共通コンセプト
============================================================================= */
.product__commonConcept {
  background-color: #F7F7F7;
  text-align: center;
}

.product__commonConcept .heading-en, .product__commonConcept .news_heading, .product__commonConcept .event_heading, .product__commonConcept .contact_heading {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .product__commonConcept .heading-en, .product__commonConcept .news_heading, .product__commonConcept .event_heading, .product__commonConcept .contact_heading {
    margin-bottom: 20px;
  }
}

.product__commonConcept p {
  line-height: 2.25;
}

@media screen and (max-width: 767px) {
  .product__commonConcept p {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .product__commonConcept p:last-child {
    margin-bottom: 0;
  }
}

.product__commonConcept p .t-hidePC {
  display: none;
}

@media screen and (max-width: 767px) {
  .product__commonConcept p .t-hidePC {
    display: block;
  }
}

.product__commonConcept-title {
  font-size: 1.6em;
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .product__commonConcept-title {
    margin-bottom: 20px;
  }
}

/* ==========================================================================
	来場予約（会場情報・フォーム付き）
============================================================================= */
.product__reserve .editor__pardot {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}

.product__reserve-area {
  background-color: #F7F7F7;
  margin-top: 60px;
  padding: 50px 60px;
}

@media screen and (max-width: 767px) {
  .product__reserve-area {
    padding: 40px 20px;
  }
}

.product__reserve-area h3 {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 45px;
}

@media screen and (max-width: 767px) {
  .product__reserve-area h3 {
    margin-bottom: 30px;
  }
}

.product__reserve-areaBody {
  display: flex;
  gap: 0 60px;
}

@media screen and (max-width: 767px) {
  .product__reserve-areaBody {
    flex-direction: column;
    gap: 20px 0;
  }
}

.product__reserve-areaInfo {
  width: calc(50% - 60px);
}

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

.product__reserve-areaInfo dl {
  display: flex;
  gap: 0 1em;
}

.product__reserve-areaMap {
  width: calc(50% + 60px);
}

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

.product__reserve-areaMap iframe {
  vertical-align: bottom;
}

.product__reserve-intro {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

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

.product__reserve-privacy {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 20px;
}

/* ==========================================================================
   分譲バナー
============================================================================= */
.realestate_topBnr {
  text-align: center;
  margin-bottom: 40px;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .realestate_topBnr {
    margin-bottom: 20px;
  }
}

/* ==========================================================================
   不動産情報一覧
============================================================================= */
.realestate_list {
  max-width: 820px;
  margin: 77px auto 190px;
}

.realestate_list-title {
  margin-bottom: 74px;
}

.realestate_list-catchcopy {
  margin-bottom: 47px;
  text-align: center;
}

.realestate_list-lead {
  line-height: 2.2em;
  margin-bottom: 64px;
}

@media screen and (max-width: 767px) {
  .realestate_list {
    margin: 40px 20px 0;
  }
  .realestate_list-title {
    margin-bottom: 40px;
  }
  .realestate_list-catchcopy {
    margin-bottom: 30px;
    text-align: left;
  }
  .realestate_list-lead {
    line-height: 2.2em;
    margin-bottom: 64px;
  }
}

/* 一覧
----------------------------------------------------------------- */
.realestate_list-item {
  margin-bottom: 50px;
}

.realestate_list-item:last-of-type {
  margin-bottom: 0;
}

.realestate_list-item a {
  display: block;
  border-bottom: 1px solid #D1D1D1;
  padding: 35px 30px;
  position: relative;
}

.realestate_list-item a::after {
  position: absolute;
  top: 50%;
  right: 45px;
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(45deg);
}

.realestate_list-name {
  font-size: 1.4em;
  font-weight: bold;
  padding-bottom: 10px;
  padding-left: 10px;
  border-bottom: 2px solid #333333;
}

/* ==========================================================================
    分譲詳細
============================================================================= */
.realestate {
  max-width: 800px;
  margin: 0 auto;
  padding-top: 57px;
}

.realestate_title {
  margin-bottom: 58px;
}

.realestate_img {
  text-align: center;
  margin-bottom: 40px;
}

.realestate_body {
  line-height: 2.6em;
}

.realestate_sec {
  margin-top: 90px;
}

.realestate_sec-title {
  font-size: 1.46em;
  font-weight: bold;
  padding: 0 10px 8px;
  border-bottom: 2px solid #333333;
  margin-bottom: 30px;
}

.realestate_sec-2clm {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 720px;
  margin: 0 auto 50px;
}

.realestate_sec-2clm &gt; div {
  width: 50%;
}

.realestate_map_name {
  font-size: 14px;
}

.realestate_map_list {
  font-size: 14px;
  padding-left: 20px;
}

.realestate_map_list dl {
  width: 340px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #D1D1D1;
  line-height: 50px;
}

.realestate_map_list dt span {
  font-weight: bold;
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}

.realestate_map_imgs {
  max-width: 720px;
  margin: 0 auto 50px;
  text-align: center;
}

.realestate_map_imgs figure {
  margin-bottom: 30px;
}

.realestate_map_imgs figcaption {
  text-align: center;
  font-size: 12px;
  color: #666;
}

.realestate_table {
  padding: 0 10px;
  margin-bottom: 60px;
}

.realestate_table table {
  width: 100%;
}

.realestate_table tr {
  border-bottom: 1px solid #D1D1D1;
}

.realestate_table th {
  width: 170px;
  background: #999999;
  color: #fff;
  padding: 15px 30px;
  text-align: left;
}

.realestate_table td {
  width: auto;
  padding: 15px 30px;
}

.realestate_near {
  margin-bottom: 80px;
}

.realestate_near-title {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .realestate {
    margin: 0 20px;
    padding-top: 50px;
  }
  .realestate_body {
    line-height: 1.8em;
  }
  .realestate_img {
    margin-bottom: 20px;
  }
  .realestate_sec {
    margin-top: 50px;
  }
  .realestate_sec-2clm {
    display: block;
  }
  .realestate_sec-2clm &gt; div {
    width: inherit;
  }
  .realestate_map_zu {
    text-align: center;
    margin-bottom: 10px;
  }
  .realestate_map_list {
    padding-left: 0;
  }
  .realestate_map_list dl {
    width: 100%;
  }
  .realestate_map_imgs {
    margin-bottom: 30px;
  }
  .realestate_table {
    padding: 0;
    font-size: 12px;
    margin-bottom: 30px;
  }
  .realestate_table th {
    width: 8em;
    padding: 15px 10px;
    line-height: 1.5em;
  }
  .realestate_table td {
    padding: 15px;
    vertical-align: middle;
  }
}

@media screen and (max-width: 320px) {
  .realestate_map_list dl {
    display: block;
    line-height: 1.8em;
    padding: 5px 0;
  }
  .realestate_map_list dd {
    padding-left: 4em;
  }
}

/* 周辺環境
----------------------------------------------------------------- */
.realestate_area_imgs {
  text-align: center;
}

.realestate_area_imgs figure {
  margin-bottom: 30px;
}

.realestate_area_imgs figcaption {
  text-align: center;
  font-size: 12px;
  color: #666;
}

/* 交通アクセス
----------------------------------------------------------------- */
.realestate_access-img {
  margin-bottom: 30px;
}

/* お問い合わせ
----------------------------------------------------------------- */
.realestate_contact {
  background: #F6F6F6;
  padding: 44px 0 50px;
  text-align: center;
}

.realestate_contact li {
  display: inline-block;
  margin: 0 20px;
}

.realestate_contact a {
  display: block;
  background: #666666;
  color: #fff;
  width: 315px;
  max-width: 100%;
  line-height: 60px;
  position: relative;
}

.realestate_contact a::after {
  position: absolute;
  top: 50%;
  right: 25px;
  display: block;
  content: '';
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

.realestate_contact-rsv a::before {
  content: '';
  width: 30px;
  height: 24px;
  background: url("./../images/cmn/icon_rsv.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
}

.realestate_contact-cnt a::before {
  content: '';
  width: 24px;
  height: 16px;
  background: url("./../images/cmn/icon_mail_w.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
}

.realestate_contact-title {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 37px;
}

@media screen and (max-width: 767px) {
  .realestate_contact li {
    display: block;
  }
  .realestate_contact li a {
    margin: 0 auto 30px;
  }
}

.pardot {
  max-width: 800px;
  margin: 0 auto 50px;
}

.privacy {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  padding: 30px;
  height: 300px;
  overflow-y: auto;
  text-align: left;
  border: 1px solid #ccc;
}

.privacy .mt30 {
  margin-top: 30px;
}

.privacy .lvl3 {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .pardot {
    margin: 0 20px 50px;
  }
  .privacy {
    margin: 0 20px;
    padding: 20px;
  }
}

/* ==========================================================================
   北洲が選ばれる3つの理由
============================================================================= */
.strength {
  max-width: 1000px;
  margin: 77px auto 0;
}

.strength_title {
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 75px;
}

.strength_list {
  margin-bottom: 117px;
}

.strength_list-title {
  font-size: 1.6em;
  margin-bottom: 68px;
  text-align: center;
}

.strength_item {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}

.strength_item &gt; div {
  width: calc(50% - 15px);
}

.strength_item:not(:last-child) {
  margin-bottom: 70px;
}

.strength_item:nth-of-type(2n) {
  flex-direction: row-reverse;
}

.strength_item + .strength_item-title {
  margin-top: 100px;
}

.strength_item-title {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 60px;
}

.strength_item-title sup {
  font-size: 75%;
}

.strength_item-body h3 {
  font-size: 1.46em;
  line-height: 1.6em;
  font-weight: bold;
  border-bottom: 1px solid #D8D8D8;
  padding: 10px 12px;
  margin-bottom: 15px;
}

.strength_item-body p {
  padding: 0 12px;
}

.strength_item-body p + h3 {
  margin-top: 25px;
}

.strength_item-body_notice {
  font-size: 12px;
  margin-top: 1em;
}

.strength_item-ast {
  font-size: 13px;
  margin-top: 28px;
}

@media screen and (max-width: 767px) {
  .strength {
    margin-top: 40px;
    padding: 0 20px;
  }
  .strength_title {
    margin-bottom: 40px;
  }
  .strength_list {
    margin-bottom: 115px;
  }
  .strength_list-title {
    font-size: 1.5em;
    margin-bottom: 45px;
  }
  .strength_item {
    display: block;
  }
  .strength_item &gt; div {
    width: inherit;
  }
  .strength_item-img {
    text-align: center;
    margin-bottom: 20px;
  }
  .strength_item-body {
    padding: 0 5px;
  }
  .strength_item-body h3 {
    border-bottom: 0;
    padding: 0;
    margin-bottom: 15px;
  }
  .strength_item-body p {
    padding: 0;
  }
  .strength_item-ast {
    margin-top: 2em;
  }
  .strength .slick-dots {
    position: absolute;
    bottom: 0;
  }
  .strength .slick-dots li button {
    width: 6px;
    height: 6px;
    padding: 7px;
  }
  .strength .slick-dots li button:before {
    content: '';
    width: 6px;
    height: 6px;
    background: none;
    opacity: 0.6;
    border: 1px solid #fff;
    border-radius: 6px;
  }
  .strength .slick-dots li.slick-active button:before {
    background: #707070;
    opacity: 1;
  }
  .strength .slick-dots li.slick-active button:before {
    background: #fff;
    opacity: 0.6;
  }
}

/* アフターサポート　ボタン
----------------------------------------------------------------- */
.strength_banner {
  margin-top: 90px;
}

/* ==========================================================================
   アフターサポート
============================================================================= */
.strength_support {
  padding-top: 65px;
}

.strength_support-inner {
  max-width: 1000px;
  width: calc(100% - 40px);
  margin: 100px auto 0;
}

.strength_support-inner p {
  margin-bottom: 1em;
}

.strength_support-inner h2 {
  font-size: 1.46em;
  font-weight: bold;
  text-align: center;
  margin-top: 70px;
  margin-bottom: 50px;
}

.strength_support-note {
  font-size: 13px;
}

.strength_support-img {
  text-align: center;
  margin-bottom: 30px;
}

.strength_support-img_scroll {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 30px;
}

.strength_support-img_scroll img {
  max-width: inherit;
  width: 1000px;
}

.strength_support-img_scroll-caption {
  display: none;
  padding: 15px !important;
  margin: 0 auto 15px;
  text-align: center;
  background: #f6f6f6;
}

@media screen and (max-width: 1000px) {
  .strength_support-img_scroll {
    padding-bottom: 1em;
  }
  .strength_support-img_scroll-caption {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .strength_support {
    padding-top: 40px;
  }
  .strength_support-inner {
    margin: 40px 20px 0;
  }
  h2 {
    line-height: 1.6em;
  }
}

/* ==========================================================================
   性能
============================================================================= */
.strength_item-list li {
  display: flex;
}

.strength_item-list li + li {
  margin-top: 25px;
}

.strength_item-list figure {
  flex-shrink: 0;
  margin-right: 30px;
}

.strength_item-list dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.strength_item-list dt span {
  display: inline-block;
  background: #808080;
  color: #fff;
  padding: 0 7px;
  font-size: 12px;
}

.strength_item-list dd {
  font-weight: bold;
  font-size: 18px;
  margin-top: 10px;
}

.strength_item-list dd span {
  display: block;
  font-weight: normal;
  font-size: 15px;
}

/* ==========================================================================
   下部回遊用バナーリスト
============================================================================= */
.strength_banner {
  margin-bottom: 110px;
}

.strength_banner ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
}

.strength_banner li {
  width: 50%;
  max-width: 430px;
}

.strength_banner a {
  display: block;
  width: 100%;
  height: 150px;
  display: flex;
  align-items: center;
  position: relative;
  font-size: 1.2em;
  line-height: 1.8em;
  padding-left: 60px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.12em;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

.strength_banner a::after {
  position: absolute;
  top: 50%;
  right: 40px;
  display: block;
  content: '';
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.strength_banner-design a {
  background: url("./../images/strength/strength_banner-design@2x.jpg") no-repeat center;
  background-size: cover;
}

.strength_banner-performance a {
  background: url("./../images/strength/strength_banner-performance@2x.jpg") no-repeat center;
  background-size: cover;
}

.strength_banner-aftersupport a {
  background: url("./../images/strength/strength_banner-aftersupport@2x.jpg") no-repeat center;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .strength_banner {
    margin: 80px 0;
  }
  .strength_banner ul {
    display: block;
  }
  .strength_banner li {
    width: 100%;
    max-width: 100%;
  }
  .strength_banner li:first-child {
    margin-bottom: 20px;
  }
  .strength_banner a {
    height: 117px;
    font-size: 1.14em;
    padding-left: 37px;
  }
}

/* ==========================================================================
   お知らせ
============================================================================= */
/* ==========================================================================
   お知らせ一覧
============================================================================= */
.newsList {
  border-top: 1px solid #D8D8D8;
}

.newsList a {
  display: block;
  padding: 16px 8px;
  border-bottom: 1px solid #D8D8D8;
}

.newsList a:hover {
  background: #F6F6F6;
}

.newsList-date {
  font-size: 0.93em;
  color: #999999;
  margin-bottom: 5px;
  font-family: "Open Sans", sans-serif;
}

@media screen and (max-width: 767px) {
  .newsList {
    margin: 0 20px;
  }
}

.newsList-taxonomy {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
  .newsList-taxonomy {
    padding: 0 20px;
    margin-top: 20px;
    margin-bottom: 0;
  }
}

/* ==========================================================================
  お知らせ詳細
============================================================================= */
.news_bottom {
  border-top: 2px solid #3b424e;
  padding-top: 25px;
}

.news_bottom-btn {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .news_content {
    margin: 0 10px;
  }
}

/* ==========================================================================
   イベント
============================================================================= */
.event {
  max-width: 940px;
  margin: 0 auto;
}

/* ==========================================================================
   イベント一覧
============================================================================= */
.eventList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -25px -50px;
  overflow: hidden;
}

.eventList-item {
  width: 280px;
  max-width: calc( (100% - 100px ) / 3);
  margin: 0 25px 50px;
}

.eventList-item a {
  display: block;
}

.eventList-new {
  position: relative;
}

.eventList-new::before {
  content: '';
  width: 50px;
  height: 50px;
  background: url("./../images/event/batch_new@2x.png") no-repeat center;
  background-size: contain;
  position: absolute;
  top: 1px;
  left: 1px;
  z-index: 1;
}

.eventList-img img {
  border: 1px solid #ececec;
}

.eventList-info {
  padding: 7px 0 0;
}

.eventList-date {
  font-size: 0.86em;
  color: #6A6A6A;
}

.eventList-date span {
  display: inline-block;
  vertical-align: baseline;
  font-family: "Open Sans", sans-serif;
  position: relative;
  padding-left: 40px;
}

.eventList-date span::before {
  position: absolute;
  top: 50%;
  left: 10px;
  content: '';
  display: inline-block;
  width: 20px;
  height: 1px;
  background: #989898;
  margin-top: -1px;
}

@media screen and (max-width: 767px) {
  .eventList {
    margin: 0 20px;
    display: block;
  }
  .eventList-item {
    width: 100%;
    max-width: inherit;
    margin: 0;
  }
  .eventList-item a {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 10px 5px;
    border-bottom: 1px solid #D8D8D8;
  }
  .eventList-img {
    width: 120px;
  }
  .eventList-info {
    width: calc(100% - 120px);
    padding: 0 0 0 15px;
  }
  .eventList-date {
    font-size: 3vw;
    line-height: 1em;
    margin-bottom: 8px;
  }
  .eventList-date span {
    padding-left: 20px;
  }
  .eventList-date span::before {
    width: 10px;
    left: 5px;
  }
  .eventList-title {
    font-size: 13px;
    line-height: 1.5em;
  }
  .eventList-new::before {
    width: 40px;
    height: 40px;
    top: 10px;
    left: 5px;
  }
}

@media screen and (max-width: 320px) {
  .eventList {
    margin: 0 10px;
  }
  .eventList-item a {
    padding: 10px 0;
  }
  .eventList-new::before {
    left: 0;
  }
}

/* ==========================================================================
   イベント　詳細
============================================================================= */
.event_content {
  max-width: 820px;
  margin: 30px  auto 0;
}

.event_content-thum {
  margin: 0 20px 30px;
}

.event_content-thum img {
  width: 100%;
  border: 1px solid #ececec;
}

.event_content-date {
  font-size: 0.83em;
  color: #999999;
  padding-left: 20px;
}

.event_content .event_content-title {
  border-color: #3b424e;
  margin: 0 10px 30px;
  padding: 0 10px  5px;
}

.event_content-end {
  background: #EEDEDE;
  color: #8B2222;
  text-align: center;
  padding: 10px 0;
}

.event_line {
  text-align: right;
  font-family: "Open Sans", sans-serif;
  color: #9D9D9D;
}

.event_line a {
  display: inline-block;
  vertical-align: baseline;
}

.event_line a::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px;
  width: 20px;
  height: 1px;
  background: #989898;
}

.event_line a img {
  width: 80px;
}

.event_form {
  border-top: 1px solid #D8D8D8;
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .event_content {
    margin-top: 0;
  }
  .event_content-thum {
    margin: 0  0 10px;
  }
  .event_bottom {
    padding: 0 20px;
  }
  .event_line {
    margin-bottom: 60px;
  }
  .event_form {
    padding: 20px 20px 0;
  }
}

/* イベントformのリンク
----------------------------------------------------------------- */
.event_contact {
  margin-top: 80px;
  background: #F6F6F6;
  padding: 44px 0 50px;
  text-align: center;
}

.event_contact li {
  display: inline-block;
  margin: 0 20px;
}

.event_contact a {
  display: block;
  background: #666666;
  color: #fff;
  width: 315px;
  max-width: 100%;
  margin: 0 auto;
  line-height: 60px;
  position: relative;
}

.event_contact a::after {
  position: absolute;
  top: 50%;
  right: 25px;
  display: block;
  content: '';
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

.event_contact-title {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .event_contact li {
    display: block;
    margin-bottom: 30px;
  }
}

/* ==========================================================================
   お問い合わせ
============================================================================= */
.contact {
  max-width: 940px;
  margin: 0 auto;
}

.contact_lead {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .contact_lead {
    margin: 0 20px;
    text-align: left;
  }
}

/* ==========================================================================
   電話番号
============================================================================= */
.contact_tel-wrap {
  max-width: 820px;
  margin: 0 auto;
}

.contact_tel-title {
  margin-bottom: 20px;
  margin-top: 55px;
  margin-left: 25px;
}

.contact_tel {
  background: #F7F7F7;
  padding: 28px;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: stretch;
}

.contact_tel &gt; div {
  width: 50%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  padding: 15px 0;
}

.contact_tel &gt; div svg {
  fill: #3b424e;
  vertical-align: middle;
}

.contact_tel &gt; div:first-child {
  text-align: center;
}

.contact_tel h3 {
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-bottom: 30px;
}

.contact_tel a {
  display: block;
}

.contact_tel dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.contact_tel dl:first-child {
  margin-bottom: 30px;
}

.contact_tel dt {
  width: 9em;
  font-size: 0.86em;
  vertical-align: middle;
  text-align: left;
}

.contact_tel dd {
  width: 180px;
  text-align: left;
}

.contact_tel-time {
  text-align: center;
  font-size: 0.86em;
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  .contact_tel {
    padding: 20px;
    display: block;
  }
  .contact_tel &gt; div {
    width: 100%;
    display: block;
    padding: 15px 0;
  }
  .contact_tel &gt; div svg {
    fill: #fff;
  }
  .contact_tel &gt; div:first-child {
    border-right: 0;
    border-bottom: 1px solid #999999;
    padding-bottom: 40px;
  }
  .contact_tel &gt; div:last-child {
    padding-top: 40px;
  }
  .contact_tel h3 {
    font-weight: bold;
    letter-spacing: 0.04em;
    margin-bottom: 30px;
  }
  .contact_tel a {
    display: block;
    padding: 10px;
    background: #3b424e;
  }
  .contact_tel dl {
    display: block;
  }
  .contact_tel dt {
    width: inherit;
    text-align: center;
    margin-bottom: 10px;
  }
  .contact_tel dd {
    width: inherit;
    text-align: center;
  }
  .contact_tel dd a {
    max-width: 260px;
    margin: 0 auto;
  }
  .contact_tel-title {
    margin-left: 0;
  }
}

@media screen and (max-width: 320px) {
  .contact_tel &gt; div:first-child svg {
    transcontact: scale(0.8);
  }
}

/* ==========================================================================
   展示場一覧
============================================================================= */
.models_list {
  max-width: 990px;
  margin: 0 auto;
}

.models_list-item {
  margin-top: 68px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 95px;
}

.models_list-item li {
  width: calc(50% - 35px);
  margin-bottom: 70px;
}

.models_list-item a {
  display: block;
  position: relative;
  height: 100%;
  background: #EFEFEF;
}

.models_list-img img {
  aspect-ratio: 460 / 260;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.models_list-open {
  position: absolute;
  top: 0;
  left: 0;
  width: 105px;
  z-index: 1;
}

.models_list-info {
  background: #EFEFEF;
  padding: 24px 25px;
}

@media screen and (max-width: 767px) {
  .models_list-info {
    padding: 24px 20px;
  }
}

.models_list-name {
  align-items: center;
  gap: 12px;
  display: flex;
  text-align: center;
  flex-direction: column;
  font-size: 1.2em;
  font-weight: bold;
  justify-content: center;
  margin-bottom: 22px;
}

.models_list-name span {
  background: #3b424e;
  color: #fff;
  padding: 0 6px;
  min-width: 50px;
  font-size: 12px;
  font-weight: normal;
  line-height: 22px;
  text-align: center;
}

.models_list-name .models_list-new {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: inherit;
  border-radius: 25px;
  border: 1px solid #333;
  font-size: 10px;
  margin-right: 10px;
  background: none;
  color: inherit;
}

@media screen and (max-width: 767px) {
  .models_list-name .models_list-new {
    width: 28px;
    height: 28px;
  }
}

.models_list-tel {
  padding-left: 22px;
  padding-right: 88px;
  position: relative;
  font-size: 0.93em;
  margin-bottom: 10px;
}

.models_list-tel::before {
  content: '';
  width: 11px;
  height: 15px;
  background: url(./../images/models/icon_tel.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 4px;
  left: 0;
}

.models_list-add {
  padding-left: 22px;
  padding-right: 88px;
  position: relative;
  font-size: 0.93em;
  line-height: 1.57em;
}

.models_list-add::before {
  content: '';
  width: 11px;
  height: 15px;
  background: url(./../images/models/icon_area.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 4px;
  left: 0;
}

.models_list-more {
  text-align: center;
  position: absolute;
  bottom: 16px;
  right: 25px;
  font-size: 10px;
  z-index: 1;
}

.models_list-more img {
  margin-bottom: 5px;
}

.models_list-more p {
  line-height: 1em;
}

@media screen and (max-width: 767px) {
  .models_list {
    margin: 0 20px;
  }
  .models_list-open img {
    width: 80%;
  }
  .models_list-item {
    margin-top: 40px;
    display: block;
  }
  .models_list-item li {
    width: inherit;
    margin-bottom: 60px;
  }
  .models_list-box {
    position: relative;
  }
  .models_list-add {
    padding-right: 80px;
  }
  .models_list-more {
    bottom: 50%;
    right: 0;
    transform: translateY(50%);
  }
}

.models_event-heading {
  border-bottom: 2px solid #333333;
  margin-bottom: 20px;
  padding-left: 15px;
  position: relative;
}

.models_event-heading p {
  font-size: 1.3em;
  font-weight: bold;
  padding-bottom: 5px;
}

.models_event-heading a {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  font-weight: bold;
  font-size: 14px;
}

.models_event .eventList {
  overflow: hidden;
  margin: 0 -10px 40px;
}

@media screen and (max-width: 767px) {
  .models_event-heading {
    padding-left: 5px;
  }
  .models_event .eventList {
    margin: 0 0 40px;
  }
}

/* ==========================================================================
   展示場詳細
============================================================================= */
.models_wrap .editor-body {
  padding: 0;
}

.models_heading-open {
  margin-bottom: 24px;
  font-size: 1.06em;
  font-weight: bold;
  color: #3b424e;
  text-align: center;
  letter-spacing: 0.1em;
}

.models_heading-open spam {
  font-family: "Open Sans", sans-serif;
}

.models_heading {
  margin-bottom: 68px;
}

.models_heading span {
  font-size: 18px;
  display: block;
  margin-bottom: 15px;
  line-height: 23px;
}

.models_heading.heading, .models_heading.heading-mt, .models_heading.news_heading, .models_heading.event_heading, .models_heading.contact_heading, .models_heading.models_form-title {
  margin-bottom: 38px;
}

.models_img {
  text-align: center;
  margin-bottom: 60px;
}

.models_img img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .models_heading {
    font-size: 6vw;
    margin-bottom: 20px;
  }
  .models_img {
    margin: 0 -20px 50px;
  }
}

.models_box-mb {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .models_box-mb {
    margin-bottom: 60px;
  }
}

.models_box-tc {
  margin: 1em 0 2em;
  text-align: center;
}

.models_box-title {
  text-align: center;
  max-width: 350px;
  margin: 0 auto 40px;
  position: relative;
  font-size: 20px;
  font-weight: bold;
  z-index: 0;
  text-align: center;
}

.models_box-title span {
  background: #fff;
  display: inline-block;
  padding: 0 30px;
}

.models_box-title::before {
  content: '';
  width: 100%;
  border-bottom: 1px solid #4D4D4D;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
}

.models_add {
  display: flex;
  flex-wrap: nowrap;
  -moz-column-gap: 60px;
  column-gap: 60px;
  justify-content: space-between;
  margin-bottom: 60px;
}

.models_add-info {
  width: calc(50% - 60px);
}

.models_add-info th {
  width: 4em;
  text-align: left;
}

.models_add-info td {
  padding-left: 30px;
}

.models_add-info tr:not(:last-child) td {
  padding-bottom: 25px;
}

.models_movie {
  width: 100%;
  padding: 0 0 56.25%;
  margin: 0 0 80px;
  position: relative;
}

.models_movie iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  border: none !important;
}

.models_map {
  width: 50%;
}

.models_map-wrap {
  width: 100%;
  overflow: hidden;
}

.models_map-wrap iframe {
  height: 183px !important;
  width: 100% !important;
  vertical-align: bottom;
}

@media screen and (max-width: 767px) {
  .models_box-title {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .models_add {
    padding: 0;
    display: block;
    margin-bottom: 60px;
  }
  .models_add-info {
    width: 100%;
    margin-bottom: 25px;
  }
  .models_add-info th {
    text-align: left;
  }
  .models_add-info tr:not(:last-child) td {
    padding-bottom: 15px;
  }
  .models_map {
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .models_add {
    padding: 0;
  }
}

/* 間取り
----------------------------------------------------------------- */
.models_floor {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.models_floor-item {
  margin: 0 20px;
  position: relative;
  width: calc( 50% - 40px);
}

.models_floor-item::after {
  content: '';
  width: 20px;
  height: 20px;
  background: url("../images/models/modal.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 1;
}

.models_floor-item .floor_img {
  cursor: pointer;
  max-width: 100%;
  border: 1px solid #E8E8E8;
}

.models_floor-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 101;
  background-color: rgba(214, 214, 214, 0.7);
}

.models_floor-modal &gt; div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  text-align: center;
  padding: 10%;
}

.models_floor-modal img {
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
}

.models_floor-img {
  position: relative;
}

.models_floor-img .modal_close {
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(100%);
  vertical-align: top;
  cursor: pointer;
}

.models_info {
  text-align: center;
  margin-top: 20px;
}

.models_info li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 24px;
  text-align: left;
  line-height: 2.4em;
}

.models_info li:first-child {
  margin-right: 60px;
  font-weight: bold;
}

@media screen and (max-width: 999px) {
  .models_floor-img .modal_close {
    transform: translate(0, -100%);
    width: 60px;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .models_floor {
    display: block;
  }
  .models_floor.slick-dotted.slick-slider {
    margin-bottom: 0;
  }
  .models_floor .slick-dots {
    position: inherit;
    bottom: inherit;
  }
  .models_floor .slick-dots li {
    width: 14px;
  }
  .models_floor .slick-dots li button {
    width: 6px;
    height: 6px;
    padding: 7px;
  }
  .models_floor .slick-dots li button:before {
    content: '';
    width: 6px;
    height: 6px;
    background: #ffff;
    opacity: 1;
    border: 1px solid #707070;
    border-radius: 6px;
  }
  .models_floor .slick-dots li.slick-active button:before {
    background: #707070;
    opacity: 1;
  }
  .models_floor-item {
    margin: 0 10px;
    width: inherit;
  }
  .models_floor-item::after {
    display: none;
  }
  .floor_img {
    cursor: pointer;
    max-width: 100%;
    border: 1px solid #E8E8E8;
  }
  .models_info li {
    display: block;
    margin: 0;
    text-align: left;
    text-align: center;
  }
  .models_info li:first-child {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .models_floor-img {
    max-width: inherit;
  }
  .models_floor-modal &gt; div {
    padding: 10px;
  }
}

/* 内装イメージ
----------------------------------------------------------------- */
.models_design {
  padding-top: 120px;
}

.models_design-title {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}

.models_design-dis {
  max-width: 820px;
  margin: 0 auto;
  margin-top: 45px;
  margin-bottom: 45px;
  line-height: 2em;
}

.models_design-dis p:not(:last-child) {
  margin-bottom: 2em;
}

@media screen and (max-width: 767px) {
  .models_design {
    position: relative;
    z-index: 0;
  }
  .models_design-title {
    font-size: 6vw;
  }
  .models_design-dis {
    text-align: left;
    margin-top: 30px;
    padding: 0 20px;
    margin-bottom: 30px;
  }
}

/* models_slider
----------------------------------------------------------------- */
.models_slider .slick-dots {
  bottom: inherit;
  top: 424px;
}

.models_slider .slick-next {
  right: calc( 50vw - 360px);
  top: 424px;
  width: 50px;
  height: 15px;
  transform: none;
  z-index: 1;
}

.models_slider .slick-next:before {
  content: '';
  opacity: 1;
  width: 50px;
  height: 15px;
  background: url("../images/models/slider_right.svg") no-repeat;
  background-size: contain;
  display: inline-block;
}

.models_slider .slick-prev {
  left: calc( 50vw - 360px);
  top: 424px;
  width: 50px;
  height: 15px;
  transform: none;
  z-index: 1;
}

.models_slider .slick-prev:before {
  content: '';
  opacity: 1;
  width: 50px;
  height: 15px;
  background: url("../images/models/slider_left.svg") no-repeat;
  background-size: contain;
  display: inline-block;
}

.models_slider-item {
  padding: 0 15px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-shadow: none;
  outline: none;
}

.models_slider-txt {
  width: 700px;
  max-width: 100%;
  margin-top: 70px;
  line-height: 1.86em;
}

.models_slider-txt h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
}

.models_slider-txt p {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .models_slider .slick-dots {
    top: 54vw;
  }
  .models_slider .slick-next {
    top: 57vw;
    width: 30px;
    height: 10px;
  }
  .models_slider .slick-next:before {
    width: 33px;
    height: 10px;
  }
  .models_slider .slick-prev {
    top: 57vw;
    width: 33px;
    height: 10px;
  }
  .models_slider .slick-prev:before {
    width: 33px;
    height: 10px;
  }
  .models_slider-item {
    width: 100vw;
  }
  .models_slider-item img {
    width: 100%;
  }
  .models_slider-txt {
    margin-top: 50px;
    line-height: 1.5em;
    text-align: left;
  }
  .models_slider-txt h3 {
    text-align: center;
  }
}

@media screen and (max-width: 699px) {
  .models_slider .slick-next {
    right: 20px;
  }
  .models_slider .slick-prev {
    left: 20px;
  }
}

@media screen and (min-width: 700px) {
  .models_slider-txt {
    opacity: 0;
    transition: opacity 0.4s ease;
    transition-delay: 0.5s;
  }
  .slick-active .models_slider-txt {
    opacity: 1;
  }
}

/* 予約フォーム
----------------------------------------------------------------- */
.models_form-title {
  border-top: 1px solid #D8D8D8;
  padding-top: 80px;
  max-width: 820px;
  margin: 0 auto 46px;
}

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

.models_form .form_wrap {
  max-width: 820px;
  margin: 0 auto;
}

.models_form .form_inner .monthly-calendar {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
  padding-top: 30px;
}

.models_form .form_inner .monthly-calendar table {
  width: 100% !important;
}

.models_form .form_inner .monthly-calendar table caption {
  position: absolute;
  top: 0;
  left: auto;
  width: 100%;
  text-align: center;
}

.models_form .form_inner .monthly-calendar .monthly-prev-next {
  margin-bottom: 20px;
}

.models_form .form_inner .monthly-calendar .monthly-prev-next a {
  color: #3b424e;
  text-decoration: underline;
}

.models_form .form_inner .monthly-calendar .monthly-prev-next .no-link {
  color: #999;
}

.models_form .form_inner .monthly-calendar .monthly-prev-next .monthly-prev a::before {
  content: '＜';
  display: inline-block;
  vertical-align: middle;
  padding-right: 5px;
}

.models_form .form_inner .monthly-calendar .monthly-prev-next .monthly-next a::after {
  content: '＞';
  display: inline-block;
  vertical-align: middle;
  padding-left: 5px;
}

.models_form .form_inner .day-calendar table {
  border-collapse: collapse;
}

.models_form .form_inner .day-calendar tr:first-child th {
  border-radius: 0;
  border: 0;
  border-bottom: 2px solid #707070;
}

.models_form .form_inner .day-calendar tr:not(:first-child) th {
  background: #999999;
  color: #fff;
  font-weight: bold;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #fff;
}

.models_form .form_inner .day-calendar tr:not(:first-child) td {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #707070;
}

.models_form .form_inner .calendar_back {
  margin-top: 20px;
}

.models_form .form_inner .form_backbtn {
  display: block;
  margin-top: 20px;
  width: 240px;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  color: #707070;
  line-height: 48px;
  border-style: none;
  cursor: pointer;
  -webkit-appearance: none;
  position: relative;
}

.models_form .form_inner .form_backbtn::after {
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(-135deg);
}

.models_form .form_inner .content-text.small {
  width: 140px;
}

.models_form .form_inner .content-form fieldset {
  background: #F8F8F8;
  border: 0;
  position: relative;
  padding: 90px 100px 20px;
  margin-bottom: 43px;
  width: 100%;
}

.models_form .form_inner .content-form fieldset legend {
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  text-align: center;
}

.models_form .form_inner .content-form table {
  width: 100%;
}

.models_form .form_inner .content-form th, .models_form .form_inner .content-form td {
  border: 0;
  display: block;
  width: 100%;
  text-align: left;
}

.models_form .form_inner .content-form th {
  font-weight: bold;
}

.models_form .form_inner .content-form td {
  margin-bottom: 26px;
}

.models_form .form_inner .content-form .required {
  display: inline-block;
  vertical-align: middle;
  background: #8B2222;
  color: #fff;
  font-size: 12px;
  width: 50px;
  text-align: center;
  line-height: 22px;
  margin-left: 16px;
  font-weight: normal;
}

.models_form .form_inner .content-form textarea {
  padding: 20px 15px;
}

.models_form .form_inner .content-form .error-message {
  font-size: 12px;
  color: #8B2222;
}

.models_form .form_inner .content-form_lead {
  text-align: center;
  margin-bottom: 45px;
}

.models_form .form_inner #booking-reservation-fieldset tbody {
  display: flex;
  flex-wrap: nowrap;
}

.models_form .form_inner #booking-reservation-fieldset tr:first-child {
  width: 40%;
}

.models_form .form_inner #booking-reservation-fieldset tr:last-child {
  width: 60%;
}

.models_form .form_inner #booking-reservation-fieldset th {
  font-weight: bold;
  text-align: left;
}

.models_form .form_inner #booking-reservation-fieldset td {
  padding-left: 36px;
}

.models_form .form_inner #booking-reservation-fieldset .input-number {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.models_form .form_inner #booking-reservation-fieldset .input-number label {
  font-weight: bold;
  display: block;
  margin-right: 10px;
}

.models_form .form_inner #booking-reservation-fieldset .input-number input {
  width: 80px;
}

.models_form .form_inner .day-calendar {
  text-align: center;
}

.models_form .form_inner .day-calendar table {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .models_form {
    margin: 0;
  }
  .models_form .form_inner {
    padding: 0 10px;
  }
  .models_form .form_inner .content-form fieldset {
    padding: 50px 10px 0;
  }
  .models_form .form_inner .content-form fieldset legend {
    top: 26px;
  }
  .models_form .form_inner .content-form td {
    margin-bottom: 15px;
  }
  .models_form .form_inner #booking-reservation-fieldset tbody {
    display: block;
  }
  .models_form .form_inner .content-text.medium {
    width: 100%;
  }
  .models_form-title {
    margin-bottom: 35px;
  }
  .models_form-lead {
    text-align: left;
    margin: 0 20px;
  }
}

/* ==========================================================================
   プレゼントbanner
============================================================================= */
.models_present {
  background: #EFEFEF;
  padding: 33px 40px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
}

.models_present-img {
  padding-right: 27px;
}

.models_present-info {
  text-align: center;
  margin-left: 10px;
}

.models_present-box {
  font-size: 15px;
  color: #fff;
  margin-bottom: 16px;
}

.models_present-box span {
  display: inline-block;
  background: #333333;
  width: 150px;
  line-height: 32px;
}

.models_present-title {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 22px;
}

.models_present-title span {
  display: inline-block;
  border-bottom: 2px solid #707070;
  padding: 0 2px;
}

.models_present-atd {
  margin-top: 36px;
  color: #666666;
  font-size: 11px;
}

@media screen and (max-width: 767px) {
  .models_present {
    padding: 20px;
    display: block;
    margin: 0 0 40px;
  }
  .models_present-img {
    padding-right: 0;
    margin-bottom: 20px;
  }
  .models_present-info {
    margin-left: 0;
  }
  .models_present-title {
    font-size: 3vw;
  }
  .models_present-atd {
    margin-top: 22px;
    color: #666666;
    font-size: 11px;
  }
}

@media screen and (min-width: 768px) {
  .models_present-atd br {
    display: none;
  }
}

/* ==========================================================================
   事例一覧
============================================================================= */
.worksList_wrap {
  margin-top: 87px;
}

.worksList_inner {
  margin-top: 60px;
}

.worksList {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 -15px -50px;
  overflow: hidden;
}

.worksList-item {
  width: calc(100% / 3);
  padding: 0 15px;
  margin-bottom: 50px;
}

.worksList-item a {
  display: block;
}

.worksList-img {
  margin-bottom: 10px;
  border: 1px solid #ececec;
  width: 100%;
  height: 0;
  padding-bottom: 62%;
  position: relative;
  overflow: hidden;
}

.worksList-img img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.worksList-title {
  text-align: center;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .worksList_wrap {
    margin-top: 40px;
  }
  .worksList_inner {
    margin-top: 40px;
  }
  .worksList {
    display: block;
    margin: 0 20px;
  }
  .worksList-item {
    width: 100%;
    padding: 0;
    margin-bottom: 35px;
  }
  .worksList-title {
    text-align: center;
  }
}

/* ==========================================================================
   事例詳細
============================================================================= */
.works_wrap {
  max-width: 940px;
  margin: 0 auto 0;
}

.works_content {
  margin-top: 30px;
}

.works_content-thum {
  margin-bottom: 60px;
}

.works_content-title {
  text-align: center;
  font-size: 1.6em;
  font-weight: bold;
  margin-bottom: 60px;
}

.works_info {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
}

.works_info-img {
  width: 480px;
  max-width: 60%;
}

.works_info-img img {
  border: 1px solid #ececec;
}

.works_info-txt {
  width: 40%;
  padding-left: 60px;
}

.works_info-txt p {
  font-weight: bold;
  margin-bottom: 25px;
}

.works_info-txt dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.works_info-txt dt {
  width: 5em;
}

.works_info-txt dd {
  width: calc(100% - 5em);
}

@media screen and (max-width: 767px) {
  .works_content {
    margin-top: 0;
  }
  .works_content .editor-update {
    margin-left: 0;
    margin-bottom: 0;
  }
  .works_content-header {
    padding: 0 20px;
  }
  .works_content-thum {
    margin: 0 -20px 40px;
  }
  .works_content-title {
    font-size: 1.3em;
    margin-bottom: 40px;
  }
  .works_info {
    display: block;
  }
  .works_info-img {
    width: inherit;
    max-width: 100%;
    margin-bottom: 20px;
  }
  .works_info-txt {
    width: inherit;
    padding-left: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .works_info-txt p {
    width: 7em;
    margin-bottom: 10px;
  }
  .works_info-txt dl {
    width: calc(100% - 7em);
  }
  .works_info-txt dt {
    width: 6em;
  }
  .works_info-txt dd {
    width: calc(100% - 6em);
  }
}

@media screen and (min-width: 768px) {
  .works_info-txt dl {
    line-height: 2.2em;
  }
}

/* Gallery
----------------------------------------------------------------- */
.works_gallery {
  width: 800px;
  max-width: 100%;
  margin: 80px auto 30px;
}

.works_gallery .slick-dots {
  margin: 0;
}

.works_gallery .slick-dots li.slick-active button:before {
  color: #666666;
  opacity: 1;
}

.works_gallery .slick-next:before {
  position: absolute;
  top: 50%;
  right: -10px;
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  margin-top: -4px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(45deg);
  opacity: 1;
}

.works_gallery .slick-prev:before {
  position: absolute;
  top: 50%;
  left: -10px;
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  margin-top: -4px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(225deg);
  opacity: 1;
}

.works_gallery .slick-slide {
  text-align: center;
}

.works_gallery .slick-slide img {
  margin: 0 auto;
}

.works_gallery-caption {
  padding-top: 10px;
  width: 620px;
  max-width: 100%;
  margin: 0 auto;
}

.works_gallery-small {
  text-align: center;
  margin-top: 40px;
}

.works_gallery-small .slick-slide {
  height: 90px;
  width: auto;
  padding: 0 5px;
}

.works_gallery-small .slick-slide img {
  height: 100%;
  width: auto;
}

@media screen and (max-width: 767px) {
  .works_gallery .slick-dotted.slick-slider {
    margin-bottom: 10px;
  }
  .works_gallery .slick-next {
    right: -10px;
  }
  .works_gallery .slick-prev {
    left: -10px;
  }
  .works_gallery .slick-next, .works_gallery .slick-prev {
    top: 26vw;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 1;
  }
  .works_gallery .slick-next:hover, .works_gallery .slick-prev:hover {
    background-color: rgba(255, 255, 255, 0.9);
  }
  .works_gallery .slick-next:before {
    top: 18px;
    right: 16px;
    width: 10px;
    height: 10px;
  }
  .works_gallery .slick-prev:before {
    top: 18px;
    left: 16px;
    width: 10px;
    height: 10px;
  }
  .works_gallery .slick-slide {
    text-align: center;
  }
  .works_gallery .slick-slide img {
    margin: 0 auto;
    max-height: 260px;
    width: auto;
  }
  .works_gallery-caption {
    width: 620px;
    max-width: 100%;
    margin: 0 auto;
  }
  .works_gallery-small {
    margin-top: 30px;
    text-align: center;
  }
  .works_gallery-small .slick-slide {
    height: 50px;
  }
}

.works_bottom {
  border-top: 2px solid #4E5555;
  padding-top: 20px;
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .works_bottom {
    margin: 0 20px 60px;
  }
}

/* こちらのオーナー様の暮らし方
----------------------------------------------------------------- */
.works_voice {
  margin-bottom: 90px;
}

.works_voice-heading {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 30px;
}

.works_voice-link {
  display: block;
  width: 760px;
  max-width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  position: relative;
  border: 1px solid #EBEBEB;
}

.works_voice-link::after {
  position: absolute;
  top: 50%;
  right: 35px;
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(45deg);
}

.works_voice-img {
  width: 300px;
  height: 150px;
}

.works_voice-title {
  width: calc(100% - 300px);
  padding: 0 10%;
  font-size: 20px;
  line-height: 2em;
  letter-spacing: 0.12em;
}

@media screen and (max-width: 767px) {
  .works_voice {
    margin: 0 20px 50px;
  }
  .works_voice-heading {
    font-size: 1.3em;
    margin-bottom: 20px;
  }
  .works_voice-link::after {
    display: none;
  }
  .works_voice-img {
    width: 165px;
    height: 120px;
  }
  .works_voice-title {
    width: calc(100% - 165px);
    padding: 0 10px;
    font-size: 1.1rem;
    line-height: 1.5em;
  }
}

/* おすすめの実例
----------------------------------------------------------------- */
.works_recommend .yarpp-related {
  margin: 0;
}

.works_recommend-heading {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .works_recommend {
    margin: 0;
  }
  .works_recommend-heading {
    font-size: 1.3em;
    margin-bottom: 20px;
    padding: 0 20px;
  }
}

/* ==========================================================================
   事例一覧
============================================================================= */
.voiceList_heading {
  display: flex;
  justify-content: center;
  align-items: center;
}

.voiceList_lead {
  line-height: 2.2em;
  padding: 50px 0;
  text-align: center;
}

.voiceList {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 -15px;
  overflow: hidden;
}

.voiceList-item {
  padding: 0 15px;
  margin-bottom: 50px;
  width: calc(100% / 3);
}

.voiceList-item a {
  display: block;
}

.voiceList-img {
  border: 1px solid #ececec;
  margin-bottom: 10px;
  width: 100%;
  height: 0;
  padding-bottom: 63.5%;
  position: relative;
  overflow: hidden;
}

.voiceList-img img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .voiceList_heading {
    padding: 0 20px;
  }
  .voiceList_lead {
    padding: 30px 20px;
  }
  .voiceList {
    margin: 0;
    padding: 0 13px;
  }
  .voiceList-item {
    padding: 0 7px;
    margin-bottom: 20px;
    width: calc(100% / 2);
  }
}

/* ==========================================================================
   詳細
============================================================================= */
.voice_content {
  margin-top: 30px;
  overflow: hidden;
}

.voice_content-header {
  max-width: 940px;
  margin: 0 auto 0;
}

.voice_content-thum {
  margin-bottom: 60px;
}

.voice_content-mov {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

.voice_content-mov iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.voice_content-title {
  text-align: center;
  font-size: 1.6em;
  font-weight: bold;
  margin-bottom: 60px;
  letter-spacing: 0.04em;
}

.voice_info {
  background: #F7F7F7;
  margin-bottom: 70px;
}

.voice_info-inner {
  max-width: 940px;
  margin: 0 auto 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  padding: 50px 0;
}

.voice_info-inner p {
  width: 7em;
  font-weight: bold;
  margin-bottom: 25px;
}

.voice_info-inner dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.voice_info-inner dt {
  width: 5em;
}

.voice_info-txt {
  width: calc( 45% - 7em);
  padding-right: 20px;
}

.voice_info-pint {
  width: calc( 55% - 7em);
  padding-left: 20px;
}

.voice_body {
  max-width: 940px;
  margin: 0 auto 0;
}

.voice_body h2.voice_body-subtitle {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 50px;
  text-align: center;
  border-bottom: none;
  padding: 0;
  letter-spacing: 0.04em;
}

.voice_bottom {
  max-width: 900px;
  margin: 0 auto 0;
  border-top: 2px solid #4E5555;
  text-align: right;
  margin-top: 60px;
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .voice_content {
    margin-top: 0;
  }
  .voice_content-thum {
    margin-bottom: 30px;
  }
  .voice_content-title {
    font-size: 1.3em;
    margin-bottom: 30px;
    padding: 0 20px;
  }
  .voice_info {
    margin: 0 10px 30px;
  }
  .voice_info-inner {
    display: block;
    padding: 20px;
  }
  .voice_info-inner p {
    margin-bottom: 10px;
    width: inherit;
  }
  .voice_info-inner p br {
    display: none;
  }
  .voice_info-txt {
    padding-right: 0;
    margin-bottom: 40px;
    width: inherit;
  }
  .voice_info-pint {
    padding-left: 0;
    width: inherit;
  }
  .voice_body h2.voice_body-subtitle {
    font-size: 1.2em;
    text-align: left;
    margin: 0 0 30px;
  }
  .voice_bottom {
    margin: 0 20px;
    margin-top: 40px;
    padding-top: 10px;
  }
}

/* こちらのオーナー様の暮らし方
----------------------------------------------------------------- */
.voice_works {
  max-width: 900px;
  margin: 0 auto 0;
  margin-top: 80px;
}

.voice_works-heading {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 30px;
}

.voice_works-link {
  display: block;
  width: 760px;
  max-width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  position: relative;
  border: 1px solid #EBEBEB;
}

.voice_works-link::after {
  position: absolute;
  top: 50%;
  right: 35px;
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(45deg);
}

.voice_works-img {
  width: 300px;
  height: 150px;
}

.voice_works-title {
  width: calc(100% - 300px);
  padding: 0 10%;
  font-size: 20px;
  line-height: 2em;
  letter-spacing: 0.12em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .voice_works {
    margin: 40px 20px 0;
  }
  .voice_works-heading {
    font-size: 1.3em;
    margin-bottom: 20px;
  }
  .voice_works-link::after {
    display: none;
  }
  .voice_works-img {
    width: 165px;
    height: 120px;
  }
  .voice_works-title {
    width: calc(100% - 165px);
    padding: 0 10px;
    font-size: 1.1rem;
    text-align: left;
    line-height: 1.5em;
  }
}

/* おすすめの実例
----------------------------------------------------------------- */
.voice_recommend {
  max-width: 900px;
  margin: 0 auto 0;
  margin-top: 80px;
}

.voice_recommend .yarpp-related {
  margin: 0;
}

.voice_recommend-heading {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .voice_recommend {
    margin-top: 50px;
  }
  .voice_recommend-heading {
    font-size: 1.3em;
    margin-bottom: 20px;
    padding: 0 20px;
  }
}

/* ==========================================================================
   おうちで相談会
============================================================================= */
.online {
  max-width: 900px;
  margin: 0 auto;
}

.online .form_inner .hasDatepicker {
  width: 580px;
  max-width: 100%;
}

.online .form_inner dt br {
  display: none;
}

/* ==========================================================================
   イントロダクション
============================================================================= */
.online_introduction {
  margin-top: 55px;
}

.online_introduction p {
  text-align: center;
}

.online_introduction p + p {
  margin-top: 1em;
}

.online_introduction strong {
  font-weight: bold;
  color: #dc3639;
}

@media screen and (max-width: 767px) {
  .online_introduction {
    margin-top: 40px;
    margin-bottom: 60px;
    padding: 0 28px;
  }
  .online_introduction p {
    text-align: left;
  }
  .online_introduction p br {
    display: none;
  }
}

/* ==========================================================================
   ご利用の手順
============================================================================= */
.online_step {
  margin-top: 55px;
}

.online_step h2 {
  margin: 0 0 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .online_step {
    margin-top: 40px;
    margin-bottom: 60px;
    padding: 0 28px;
  }
}

.online_step-list {
  display: flex;
  justify-content: space-between;
  margin: 0 0 20px;
}

.online_step-list li {
  width: calc((99% - 40px) / 3);
}

.online_step-list li + li {
  position: relative;
}

.online_step-list li + li::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-color: #ccc;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
  margin: auto;
}

.online_step-list h3 {
  min-height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
}

.online_step-list figure {
  text-align: center;
}

.online_step-list img {
  width: auto;
  height: 110px;
}

@media screen and (max-width: 767px) {
  .online_step-list {
    flex-direction: column;
  }
  .online_step-list li {
    width: 100%;
  }
  .online_step-list li + li {
    padding: 20px 0 0;
  }
  .online_step-list li + li::before {
    border-width: 0 2px 2px 0;
    bottom: inherit;
    left: 0;
    right: 0;
  }
  .online_step-list h3 {
    min-height: inherit;
  }
  .online_step-list h3 br {
    display: none;
  }
}

/* ==========================================================================
   グッド・エイジングキャンペーン
============================================================================= */
.goodageingcp {
  max-width: 900px;
  margin: 0 auto;
}

.goodageingcp .form_inner .hasDatepicker {
  width: 580px;
  max-width: 100%;
}

.goodageingcp .form_inner dt br {
  display: none;
}

/* ==========================================================================
   イントロダクション
============================================================================= */
.goodageingcp_introduction {
  margin-top: 55px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.goodageingcp_introduction figure {
  flex-shrink: 0;
  margin: 0 0 0 40px;
}

.goodageingcp_introduction p + p {
  margin-top: 1em;
}

.goodageingcp_introduction strong {
  font-weight: bold;
  color: #3b424e;
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .goodageingcp_introduction {
    margin-top: 40px;
    margin-bottom: 60px;
    padding: 0 28px;
  }
  .goodageingcp_introduction p {
    text-align: left;
  }
  .goodageingcp_introduction p br {
    display: none;
  }
  .goodageingcp_introduction figure {
    display: none;
  }
}

/* ==========================================================================
   USUKOについて
============================================================================= */
.goodageingcp_about-usuko {
  padding: 60px 0 0;
}

.goodageingcp_about-usuko dl {
  display: flex;
  justify-content: space-between;
}

.goodageingcp_about-usuko dl div {
  width: calc(50% - 15px);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

.goodageingcp_about-usuko dl dt {
  font-weight: bold;
  text-align: center;
  font-size: 20px;
  margin-bottom: 10px;
}

.goodageingcp_about-usuko .goodageingcp_lineup dd {
  text-align: center;
}

.goodageingcp_about-usuko .goodageingcp_movie dd {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

.goodageingcp_about-usuko .goodageingcp_movie dd iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .goodageingcp_about-usuko {
    padding: 0 28px;
  }
  .goodageingcp_about-usuko dl {
    flex-direction: column;
  }
  .goodageingcp_about-usuko dl div {
    width: 100%;
  }
  .goodageingcp_about-usuko dl div + div {
    margin-top: 40px;
  }
  .goodageingcp_about-usuko dl dt {
    font-size: 18px;
  }
}

/* ==========================================================================
   プラン詳細
============================================================================= */
.goodageingcp_plan {
  margin: 80px 0;
  padding: 80px 0;
  background: #EFEFEF;
}

.goodageingcp_plan h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  color: #4E5555;
}

.goodageingcp_plan h2 strong {
  color: #3b424e;
  font-size: 32px;
  margin-top: 20px;
}

.goodageingcp_plan-list {
  display: flex;
  flex-wrap: wrap;
}

.goodageingcp_plan-list li:nth-child(1) {
  width: 100%;
  margin: 30px 0 0;
}

.goodageingcp_plan-list li:nth-child(2) {
  width: calc(50% - 10px);
  margin: 30px 10px 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.goodageingcp_plan-list li:nth-child(2) a {
  position: relative;
  padding-right: 20px;
  margin: 10px 0 0;
  color: #3b424e;
  text-decoration: underline;
}

.goodageingcp_plan-list li:nth-child(2) a::after {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  border-style: solid;
  border-color: #3b424e;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 5px;
  bottom: 0;
  margin: auto;
}

.goodageingcp_plan-list li:nth-child(3) {
  width: calc(50% - 10px);
  margin: 30px 0 0 10px;
}

.goodageingcp_plan dl {
  margin: 50px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px;
  border: 1px solid #707070;
}

.goodageingcp_plan dl dt {
  margin: 0 70px 0 0;
  flex-shrink: 0;
}

.goodageingcp_plan dl li {
  padding-left: 1em;
  position: relative;
}

.goodageingcp_plan dl li::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .goodageingcp_plan {
    margin: 60px 0;
    padding: 60px 28px;
  }
  .goodageingcp_plan h2 {
    font-size: 17px;
  }
  .goodageingcp_plan h2 strong {
    font-size: 25px;
    margin-top: 10px;
    line-height: 1.5;
  }
  .goodageingcp_plan-list {
    flex-direction: column;
  }
  .goodageingcp_plan-list li {
    width: 100% !important;
    margin: 30px 0 0 !important;
    align-items: stretch !important;
    text-align: right;
  }
  .goodageingcp_plan-list li img {
    width: 100%;
    height: auto;
  }
  .goodageingcp_plan dl {
    margin: 40px 0 0;
    flex-direction: column;
    padding: 15px;
  }
  .goodageingcp_plan dl dt {
    align-self: flex-start;
    margin: 0 0 10px;
  }
}

/* ==========================================================================
   フォーム
============================================================================= */
.goodageingcp_form h2 {
  font-size: 28px;
  line-height: 53px;
  color: #3b424e;
  font-weight: bold;
  text-align: center;
}

.goodageingcp_form figure {
  text-align: center;
  margin: 30px 0;
}

.goodageingcp_form figure + p,
.goodageingcp_form figure + p + p {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .goodageingcp_form h2 {
    font-size: 19px;
    line-height: 33px;
  }
  .goodageingcp_form figure {
    margin: 30px 20px;
  }
  .goodageingcp_form figure + p,
  .goodageingcp_form figure + p + p {
    margin: 0 20px;
    text-align: left;
  }
  .goodageingcp_form figure + p br,
  .goodageingcp_form figure + p + p br {
    display: none;
  }
}

/* ==========================================================================
   バナー
============================================================================= */
.goodageingcp_bnr {
  display: flex;
  justify-content: space-between;
  margin: 80px 0 0;
}

.goodageingcp_bnr li {
  width: calc(50% - 20px);
}

@media screen and (max-width: 767px) {
  .goodageingcp_bnr {
    flex-direction: column;
    margin: 30px 0 0;
    padding: 0 20px;
  }
  .goodageingcp_bnr li {
    margin: 20px 0 0;
    width: 100%;
  }
  .goodageingcp_bnr img {
    width: 100%;
    height: auto;
  }
}

/* ==========================================================================
   ゼロ円太陽光
============================================================================= */
.solar {
  max-width: 900px;
  width: calc(100% - 20px);
  margin: 50px auto 0;
}

.solar p {
  margin: 1em 0;
}

.solar h3 {
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  margin: 50px 0 0;
}

.solar figure {
  overflow: hidden;
}

.solar + .solar {
  padding: 45px 0 0;
  border-top: 1px solid #c0c0c0;
}

.solar &gt; figure {
  text-align: center;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .solar {
    margin: 50px auto 0;
  }
  .solar h3 {
    font-size: 1.07em;
  }
}

/* ==========================================================================
   イントロダクション
============================================================================= */
.solar_movie {
  max-width: 720px;
  width: 100%;
  margin: 30px auto;
}

.solar_movie div {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.solar_movie iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  border: none !important;
}

.solar_column {
  max-width: 720px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 73px;
  background: #EFEFEF;
}

.solar_column-detail {
  display: flex;
  align-items: center;
  margin: 20px 0 0;
  max-width: 100%;
}

.solar_column figure {
  flex-shrink: 0;
  margin-left: 50px;
}

@media screen and (max-width: 767px) {
  .solar_column {
    padding: 20px 20px 0;
  }
  .solar_column-detail {
    flex-direction: column;
  }
  .solar_column-detail div {
    display: flex;
    flex-direction: column;
    align-items: center;
    order: 2;
  }
  .solar_column-detail div p {
    order: 2;
  }
  .solar_column-detail div p + p {
    order: 1;
    margin-bottom: 0;
  }
  .solar_column figure {
    margin: 10px 0 0;
    order: 1;
  }
}

.solar_table {
  width: 100%;
  margin: auto;
  overflow-x: auto;
}

.solar_table table {
  width: 900px;
  border-collapse: collapse;
  table-layout: fixed;
}

.solar_table th {
  text-align: center;
  vertical-align: middle;
  padding: 12px 12px 13px;
  border: 2px solid #fff;
  empty-cells: hide;
}

.solar_table td {
  text-align: center;
  vertical-align: middle;
  padding: 12px 12px 13px;
  border: 2px solid #fff;
}

.solar_table small {
  display: block;
  font-size: 80%;
}

.solar_table thead th:nth-child(1) {
  width: 120px;
}

.solar_table thead th:nth-child(2) {
  background: #FF8C1E;
  color: #fff;
  font-weight: bold;
}

.solar_table thead th:nth-child(3) {
  background: #B40016;
  color: #fff;
  font-weight: bold;
}

.solar_table thead th:nth-child(4) {
  background: #175BB7;
  color: #fff;
  font-weight: bold;
}

.solar_table tbody th {
  background: #EFEFEF;
}

.solar_table tbody td:nth-child(3n - 1) {
  background: rgba(255, 140, 30, 0.07);
}

.solar_table tbody td:nth-child(3n) {
  background: rgba(180, 0, 22, 0.07);
}

.solar_table tbody td:nth-child(3n + 1) {
  background: rgba(23, 91, 183, 0.07);
}

.solar_bnr-list {
  max-width: 720px;
  width: 100%;
  margin: 30px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.solar_bnr-list li:first-child {
  margin-bottom: 40px;
}

.solar_bnr-list li + li {
  margin: 10px 0 0;
}

.solar_bnr-list .half {
  width: calc(50% - 7px);
}

@media screen and (max-width: 767px) {
  .solar_bnr-list {
    flex-direction: column;
    align-items: center;
  }
  .solar_bnr-list li {
    text-align: center;
  }
  .solar_bnr-list li:first-child {
    margin-bottom: 0;
  }
  .solar_bnr-list .half {
    width: 100%;
  }
}

/* ==========================================================================
   タイルの魅力
============================================================================= */
.tile {
  font-family: "Noto Serif JP", "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  background-image: url("../images/tile/bg_noise.png");
  background-repeat: repeat;
  background-position: center top;
  background-size: 400px;
  overflow: hidden;
}

.tile .l-container {
  max-width: 1100px;
  width: calc(100% - 40px);
  margin: auto;
  position: relative;
  z-index: 1;
  padding: 0;
}

.tile_headingLv2 {
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  font-size: 34px;
  letter-spacing: 0.321em;
  line-height: 1.6;
  font-weight: normal;
  border-bottom: 1px solid #fff;
  padding: 0 1em 20px;
  position: relative;
  margin-bottom: 75px;
  color: #343427;
}

@media screen and (max-width: 767px) {
  .tile_headingLv2 {
    font-size: 24px;
    padding: 0 10px 20px;
    margin-bottom: 30px;
  }
}

.tile_headingLv2::before {
  content: '';
  display: block;
  width: 23px;
  height: 3px;
  background: #fff;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.tile_headingLv2::after {
  content: '';
  display: block;
  width: 23px;
  height: 3px;
  background: #fff;
  position: absolute;
  bottom: -2px;
  right: 0;
}

.tile_mv {
  width: 100%;
  height: 640px;
  padding: 0 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-image: url("../images/tile/mv_bg.jpg");
  background-repeat: no-repeat;
  background-position: center right 20%;
  background-size: cover;
  color: #fff;
}

.tile_mv p {
  font-size: 16px;
  letter-spacing: 0.128em;
}

@media screen and (max-width: 767px) {
  .tile_mv {
    height: auto;
    padding: 140px 15px 90px;
  }
}

.tile_mvTitle {
  margin-bottom: 30px;
}

.tile_mvTitle h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  margin: 50px 70px;
}

@media screen and (max-width: 767px) {
  .tile_mvTitle h1 {
    margin: 30px 15px;
    padding: 0 20px;
  }
}

.tile_mvTitle-sub {
  font-size: 26px;
  letter-spacing: 0.049em;
}

@media screen and (max-width: 767px) {
  .tile_mvTitle-sub {
    font-size: 18px;
  }
}

.tile_mvTitle-main {
  font-size: 49px;
  letter-spacing: 0.321em;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .tile_mvTitle-main {
    font-size: 26px;
    margin-top: 10px;
  }
}

.tile_mvTitle-border {
  display: block;
  position: relative;
  width: 100%;
  height: 1px;
  background: #fff;
}

.tile_mvTitle-border::before {
  content: '';
  display: block;
  width: 23px;
  height: 3px;
  background: #fff;
  position: absolute;
  bottom: -1px;
  left: 0;
}

.tile_mvTitle-border::after {
  content: '';
  display: block;
  width: 23px;
  height: 3px;
  background: #fff;
  position: absolute;
  bottom: -1px;
  right: 0;
}

.tile_introduction {
  max-width: 1500px;
  width: 100%;
  position: relative;
  margin: 200px auto;
  z-index: 1;
}

@media screen and (max-width: 1200px) {
  .tile_introduction {
    margin: 150px auto;
  }
}

@media screen and (max-width: 1040px) {
  .tile_introduction {
    margin: 60px 0 0;
  }
}

.tile_introduction::before {
  content: '';
  display: block;
  width: 23.2%;
  height: 0;
  padding-bottom: 19.26%;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.16);
  position: absolute;
  z-index: -1;
  top: -50px;
  left: -35%;
  right: 0;
  margin: auto;
}

@media screen and (max-width: 1040px) {
  .tile_introduction::before {
    right: inherit;
    left: -3%;
    top: -25px;
  }
}

.tile_introduction::after {
  content: '';
  display: block;
  width: 23.2%;
  height: 0;
  padding-bottom: 12.53%;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.16);
  position: absolute;
  z-index: -1;
  bottom: -110px;
  right: -5%;
}

@media screen and (max-width: 1040px) {
  .tile_introduction::after {
    bottom: -3%;
  }
}

.tile_introduction p {
  display: flex;
  flex-wrap: wrap;
  font-size: 22px;
  letter-spacing: 0.321em;
  line-height: 3.7;
}

@media screen and (max-width: 1040px) {
  .tile_introduction p {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .tile_introduction p {
    font-size: 20px;
    line-height: 2;
  }
}

.tile_introduction p + p {
  margin-top: 3.7em;
}

@media screen and (max-width: 1200px) {
  .tile_introduction p + p {
    margin-top: 1em;
  }
}

.tile_introduction figure {
  width: 41.7%;
  height: 0;
  padding-bottom: 27.77%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 1;
}

@media screen and (max-width: 1040px) {
  .tile_introduction figure {
    position: static;
    width: calc(100% - 30px);
    height: auto;
    padding: 0;
    margin: 40px 15px;
    text-align: center;
  }
}

.tile_introduction figure img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 1040px) {
  .tile_introduction figure img {
    position: static;
    height: auto;
    width: auto;
  }
}

.tile_introduction-contents {
  width: 45%;
  margin-left: auto;
}

@media screen and (max-width: 1200px) {
  .tile_introduction-contents {
    width: 50%;
  }
}

@media screen and (max-width: 1040px) {
  .tile_introduction-contents {
    width: 100%;
  }
}

.tile_advantage {
  padding: 120px 0;
  counter-reset: counter-advantage_article;
}

@media screen and (max-width: 767px) {
  .tile_advantage {
    padding: 60px 0;
  }
}

.tile_advantageArticle {
  background: #fff;
  padding: 40px 5px 70px 70px;
  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.16);
  counter-increment: counter-advantage_article;
}

@media screen and (max-width: 1040px) {
  .tile_advantageArticle {
    padding: 40px 70px 70px;
  }
}

@media screen and (max-width: 767px) {
  .tile_advantageArticle {
    padding: 30px 20px;
  }
}

.tile_advantageArticle + .tile_advantageArticle {
  margin-top: 90px;
}

@media screen and (max-width: 767px) {
  .tile_advantageArticle + .tile_advantageArticle {
    margin-top: 40px;
  }
}

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

@media screen and (max-width: 767px) {
  .tile_advantageArticle-title {
    margin-bottom: 20px;
  }
}

.tile_advantageArticle-title::before {
  content: counter(counter-advantage_article, decimal-leading-zero);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #fff;
  background: #878778;
  width: 50px;
  height: 50px;
  margin: 5px 20px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .tile_advantageArticle-title::before {
    font-size: 20px;
    margin: 0 20px 10px;
  }
}

.tile_advantageArticle-title span {
  font-size: 30px;
  letter-spacing: 0.321em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .tile_advantageArticle-title span {
    font-size: 24px;
  }
}

.tile_advantageArticle-contents {
  width: 100%;
  display: flex;
}

@media screen and (max-width: 1040px) {
  .tile_advantageArticle-contents {
    flex-direction: column;
  }
}

.tile_advantageArticle-contents + .tile_advantageArticle-contents {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .tile_advantageArticle-contents + .tile_advantageArticle-contents {
    margin-top: 60px;
  }
}

.tile_advantageArticle-text {
  top: 0;
  left: 0;
  position: relative;
  z-index: 0;
  padding-top: 70px;
  margin-right: 40px;
}

@media screen and (max-width: 1040px) {
  .tile_advantageArticle-text {
    padding: 0;
    margin: 0;
  }
}

.tile_advantageArticle-text h4 {
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  font-size: 26px;
  letter-spacing: 0.02em;
  margin-bottom: 40px;
  line-height: 1.5;
}

@media screen and (max-width: 1040px) {
  .tile_advantageArticle-text h4 {
    white-space: normal;
    position: static;
  }
}

@media screen and (max-width: 767px) {
  .tile_advantageArticle-text h4 {
    margin-bottom: 20px;
    font-size: 20px;
  }
}

.tile_advantageArticle-text p {
  font-size: 16px;
  letter-spacing: 0.02em;
  line-height: 2;
}

.tile_advantageArticle-text p + p {
  margin-top: 1em;
}

@media screen and (max-width: 767px) {
  .tile_advantageArticle-text p + p {
    font-size: 15px;
    margin-top: 10px;
  }
}

.tile_advantageArticle-figure {
  flex-shrink: 0;
  text-align: center;
}

@media screen and (max-width: 1040px) {
  .tile_advantageArticle-figure {
    margin-top: 40px;
  }
}

.tile_advantageArticle-02 .tile_advantageArticle-title {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .tile_advantageArticle-02 .tile_advantageArticle-title {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 1040px) {
  .tile_advantageArticle-02 .tile_advantageArticle-figure {
    margin-top: 0;
  }
}

.tile_source {
  font-size: 0.9em;
  color: #888;
  margin-top: 40px;
}

.tile_example {
  background-color: #E0E0D9;
  background-image: url("../images/tile/bg_noise.png");
  background-repeat: repeat;
  background-position: center top;
  background-blend-mode: multiply;
}

.tile_example-title {
  width: 100%;
  height: 540px;
  background-image: url("../images/tile/example_title-bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .tile_example-title {
    height: auto;
    padding: 60px 15px;
  }
  .tile_example-title img {
    width: 130px;
  }
}

.tile_example-title .l-container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.tile_exampleArticle {
  margin-top: 150px;
}

@media screen and (max-width: 1024px) {
  .tile_exampleArticle {
    margin-top: 50px;
  }
}

.tile_exampleArticle-main {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}

@media screen and (max-width: 1024px) {
  .tile_exampleArticle-main {
    flex-direction: column;
  }
}

.tile_exampleArticle-main figure {
  max-width: 641px;
  width: 55%;
  position: relative;
  z-index: 1;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  .tile_exampleArticle-main figure {
    max-width: inherit;
    margin: auto;
  }
}

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

.tile_exampleArticle-main figure img {
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.16);
}

.tile_exampleArticle-main figure::before {
  content: '';
  display: block;
  width: 52.5%;
  height: 0;
  padding-bottom: 43.5990975%;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.16);
  position: absolute;
  top: -50px;
  left: -80px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .tile_exampleArticle-main figure::before {
    top: -30px;
  }
}

.tile_exampleArticle-main h3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 45%;
  padding-left: 50px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 1024px) {
  .tile_exampleArticle-main h3 {
    width: 100%;
    margin-bottom: 50px;
    padding: 0;
  }
}

.tile_exampleArticle-main h3 small {
  position: absolute;
  top: 50px;
  padding-left: 20px;
}

@media screen and (max-width: 1024px) {
  .tile_exampleArticle-main h3 small {
    top: 0;
    position: relative;
  }
}

.tile_exampleArticle-main h3 small::before {
  content: '';
  display: block;
  width: 100px;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: 0;
  top: 0;
  left: -90px;
  margin: auto;
}

.tile_exampleArticle-main h3 small::after {
  content: '';
  display: block;
  width: 20px;
  height: 3px;
  background: #fff;
  position: absolute;
  bottom: 0;
  top: 0;
  left: -10px;
  margin: auto;
}

.tile_exampleArticle-main h3 span {
  display: flex;
  flex-wrap: wrap;
  font-size: 30px;
  line-height: 2.5;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 1024px) {
  .tile_exampleArticle-main h3 span {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .tile_exampleArticle-main h3 span {
    font-size: 24px;
    line-height: 1.7;
  }
}

.tile_exampleArticle-sub {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  .tile_exampleArticle-sub {
    flex-direction: column;
    align-items: center;
    margin-top: 0;
  }
}

.tile_exampleArticle-sub figure {
  flex-shrink: 0;
}

.tile_exampleArticle-sub figure img {
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.16);
}

.tile_exampleArticle-subContents {
  max-width: 590px;
  padding-left: 50px;
  margin-right: 50px;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 1024px) {
  .tile_exampleArticle-subContents {
    max-width: inherit;
    width: 100%;
    padding: 0;
    margin: 0 0 40px;
  }
}

.tile_exampleArticle-subContents p {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .tile_exampleArticle-subContents p {
    font-size: 15px;
  }
}

.tile_exampleArticle-subContents dl {
  margin-top: 20px;
  padding: 20px 30px;
  background: rgba(255, 255, 255, 0.53);
}

.tile_variation {
  padding: 180px 0;
  background-color: #E0E0D9;
  background-image: url("../images/tile/bg_noise.png");
  background-repeat: repeat;
  background-position: center top;
  background-blend-mode: multiply;
}

@media screen and (max-width: 767px) {
  .tile_variation {
    padding: 60px 0;
  }
}

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

@media screen and (max-width: 767px) {
  .tile_variationList {
    margin-top: -40px;
  }
}

.tile_variationListItem {
  max-width: 300px;
  width: calc((100% / 3) - 20px);
  margin: 20px 10px 0;
  display: flex;
  flex-direction: column;
  color: #50503B;
}

@media screen and (max-width: 767px) {
  .tile_variationListItem {
    max-width: inherit;
    width: 100%;
    align-items: center;
    margin-top: 40px;
  }
}

.tile_variationListItem figure {
  order: 1;
}

.tile_variationListItem h3 {
  order: 2;
  font-size: 18px;
  letter-spacing: 0.02em;
  text-align: center;
  font-weight: bold;
  margin: 20px 0;
}

@media screen and (max-width: 767px) {
  .tile_variationListItem h3 {
    margin: 10px 0;
  }
}

.tile_variationListItem p {
  order: 3;
  font-size: 16px;
  letter-spacing: 0.02em;
}

/* ==========================================================================
   画像アニメーション
============================================================================= */
.fadein {
  opacity: 0;
  transform: translate3d(0, calc(100vw * (15 / 1280)), 0) scale(1);
  transition: opacity 1800ms cubic-bezier(0.165, 0.84, 0.44, 1), transform 1800ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fadein.is-show {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
</pre></body></html>