@charset "UTF-8";
/*--------------------------------------
　　　　　　共通スタイル
--------------------------------------*/
/* 【iPhone】【Safari】【css】ボタンの角丸などの初期化 */
input[type="button"], input[type="submit"] {
  -webkit-appearance: none; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 2.6666666667vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  background-color: #df7d5e; }
  @media print, screen and (min-width: 768px) {
    html {
      font-size: 1.3020833333vw; } }
  @media print, screen and (min-width: 1140px) {
    html {
      font-size: 10px; } }

body {
  font-size: 1.1rem;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  color: #000;
  position: relative;
  background-color: #df7d5e; }
  @media print, screen and (min-width: 768px) {
    body {
      font-size: 1.1rem; } }
  @media print, screen and (min-width: 1140px) {
    body {
      font-size: 1.1rem; } }

a:link {
  color: #df7d5e;
  text-decoration: none; }
a:visited {
  color: #df7d5e;
  text-decoration: none; }
a.underline {
  text-decoration: underline; }
  a.underline:hover {
    text-decoration: none; }
a.underline-hover:hover {
  text-decoration: underline; }
a.opacity-hover {
  display: block;
  transition: opacity 0.3s ease 0s; }
  a.opacity-hover:hover {
    opacity: 0.7; }
a.opacity-hover-inline {
  transition: opacity 0.3s ease 0s; }
  a.opacity-hover-inline:hover {
    opacity: 0.7; }

a.link-button {
  background-color: #fff;
  border: 2px #df7d5e solid;
  color: #df7d5e;
  display: inline-block;
  padding: 0.6em 2.5em;
  border-radius: 2em;
  font-weight: bold;
  min-width: 18.4rem;
  transition: .3s; }
  a.link-button span {
    position: relative;
    display: inline-block; }
    a.link-button span::after {
      content: "\f178";
      font-family: FontAwesome;
      position: absolute;
      right: -2.5em;
      top: 50%;
      transform: translateY(-45%); }
  a.link-button.up span::after {
    content: "\f176";
    right: -1.5em; }
  a.link-button:hover {
    color: #fff;
    background-color: #df7d5e; }

a.link-button-w {
  background-color: #fff;
  border: 2px #df7d5e solid;
  color: #df7d5e;
  display: inline-block;
  padding: 0.6em 2.5em;
  border-radius: 2em;
  font-weight: bold;
  min-width: 18.4rem;
  transition: .3s; }
  a.link-button-w span {
    position: relative;
    display: inline-block; }
    a.link-button-w span::after {
      content: "\f178";
      font-family: FontAwesome;
      position: absolute;
      right: -2.5em;
      top: 50%;
      transform: translateY(-45%); }
  a.link-button-w:hover {
    color: #fff;
    background-color: #df7d5e;
    border: 2px #fff solid; }

.wrap-button {
  margin-top: 5rem;
  text-align: center; }

#pageTop {
  position: fixed;
  bottom: 6.5rem;
  right: 1.5rem;
  z-index: 10; }
  #pageTop img {
    width: 4rem;
    height: auto;
    vertical-align: bottom; }
  @media print, screen and (min-width: 768px) {
    #pageTop {
      bottom: 2rem;
      right: 2rem; }
      #pageTop img {
        width: 4rem; } }

/*その他*/
.indent-1 {
  padding-left: 1em;
  text-indent: -1em; }

.indent-2 {
  padding-left: 2em;
  text-indent: -2em; }

.img-max-width-100 {
  width: 100%;
  height: auto;
  vertical-align: bottom; }

.overflow-hidden {
  overflow: hidden; }

.color-main {
  color: #df7d5e; }

.color-green {
  color: #79bdbb; }

.color-active {
  color: #d4623e; }

.color-red {
  color: #ff0000; }

.common-title {
  text-align: center;
  font-size: 1.0rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1.4; }
  .common-title .roboto-c {
    font-size: 2.3rem;
    font-weight: 600;
    letter-spacing: 0.1em; }

.roboto {
  font-family: "Roboto", sans-serif; }

.roboto-c {
  font-family: "Roboto Condensed", sans-serif; }

.zen-maru {
  font-family: "Zen Maru Gothic", sans-serif; }

/* ----------------------------------------
　　　　　　　ここから
---------------------------------------- */
/* 共通 */
.wrap-container {
  width: 100%;
  padding-left: 5.3333333333vw;
  padding-right: 5.3333333333vw;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .wrap-container {
      padding-left: 5.2083333333vw;
      padding-right: 5.2083333333vw; } }
  @media print, screen and (min-width: 1140px) {
    .wrap-container {
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 20px;
      padding-right: 20px; } }

/* パンくずリスト */
.wrap-breadcrumbs .breadcrumbs a {
  color: #df7d5e; }
  .wrap-breadcrumbs .breadcrumbs a:hover {
    text-decoration: underline; }

.spinner {
  margin: 0 auto;
  width: 8rem;
  text-align: center; }

.spinner > div {
  width: 1.1rem;
  /* サイズ - 可変 - 大きくした場合、上の「.spinner」のサイズも変えないと縦長になる */
  height: 1.1rem;
  /* サイズ - 可変 */
  background-color: #fff;
  border-radius: 100%;
  display: inline-block;
  margin: 0 0.25em;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both; }

.spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s; }

.spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0); }
  40% {
    -webkit-transform: scale(1); } }
@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1); } }
/* ロード画面 ここから */
.preloader-common {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  transition: .5s;
  background-color: #df7d5e;
  color: #fff; }
  .preloader-common .logo img {
    width: 13rem;
    height: auto;
    vertical-align: bottom; }
  .preloader-common .load-text {
    font-size: 10px;
    margin-top: 5px;
    text-align: center;
    font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif; }
  .preloader-common i {
    color: #df7d5e; }

@keyframes puff-in-center {
  0% {
    -webkit-filter: blur(8px);
    filter: blur(8px);
    opacity: 0; }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1; } }
.common-marker {
  line-height: 1.6; }
  .common-marker span {
    background: linear-gradient(transparent 70%, #ffda2a 30%);
    padding: 0 0.4em;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 1.5s; }

html.wf-active body.complete .preloader-common, html.loading-delay body.complete .preloader-common {
  pointer-events: none;
  opacity: 0; }
html.wf-active body.complete .common-marker.visible span, html.loading-delay body.complete .common-marker.visible span {
  background-size: 100% 100%; }
html.wf-active body.complete .main-catch-copy, html.loading-delay body.complete .main-catch-copy {
  animation: puff-in-center 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s both; }

/* ロード画面 ここまで */
.wrap-youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  width: 100%; }
  .wrap-youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }

.wrap-all {
  background-color: #faf0e0;
  min-height: 100vh;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .wrap-all {
      padding-top: 2.5rem; } }
  @media print, screen and (min-width: 1140px) {
    .wrap-all {
      padding-top: 2.5rem; } }

main {
  overflow: hidden; }

.wrap-main-contents {
  background-color: #df7d5e;
  color: #fff;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .wrap-main-contents {
      margin: 0 auto 0 2rem;
      border-radius: 1rem 1rem 0 0;
      width: 37.5rem; } }
  @media print, screen and (min-width: 1140px) {
    .wrap-main-contents {
      margin: 0 auto; } }

.wrap-left-side-contents {
  display: none; }
  @media print, screen and (min-width: 1140px) {
    .wrap-left-side-contents {
      display: block;
      width: calc((100% - 37.5rem) / 2);
      position: fixed;
      left: 0;
      top: 0;
      padding: 7.5rem 0;
      text-align: center;
      color: #df7d5e;
      height: 100%;
      height: 100vh; }
      .wrap-left-side-contents h2 .main {
        font-size: 1.8rem;
        font-weight: bold; }
      .wrap-left-side-contents h2 .sub {
        font-size: 1.0rem;
        font-weight: normal; }
      .wrap-left-side-contents .style-list {
        margin: 3rem auto 0;
        width: 21.2rem; }
        .wrap-left-side-contents .style-list li {
          padding: 3.5rem 0;
          text-align: center;
          border-bottom: 1px #df7d5e solid;
          position: relative; }
          .wrap-left-side-contents .style-list li:last-child {
            border-bottom: none; }
          .wrap-left-side-contents .style-list li a {
            transition: opacity .3s; }
            .wrap-left-side-contents .style-list li a:hover {
              opacity: 0.7; }
          .wrap-left-side-contents .style-list li img {
            height: auto;
            vertical-align: bottom; }
          .wrap-left-side-contents .style-list li.botanical img.logo {
            width: 13.5rem; }
          .wrap-left-side-contents .style-list li.botanical .char01 {
            position: absolute;
            left: -2.4rem;
            top: 0; }
          .wrap-left-side-contents .style-list li.botanical .char02 {
            position: absolute;
            right: -3.5rem;
            bottom: 1.0rem; }
          .wrap-left-side-contents .style-list li.cafe img.logo {
            width: 10.7rem; }
          .wrap-left-side-contents .style-list li.cafe .char03 {
            position: absolute;
            left: -1rem;
            top: 2.0rem; }
          .wrap-left-side-contents .style-list li.cafe .char04 {
            position: absolute;
            right: 0rem;
            bottom: 2.0rem; }
          .wrap-left-side-contents .style-list li.bitter img.logo {
            width: 10.7rem; }
          .wrap-left-side-contents .style-list li.bitter .char05 {
            position: absolute;
            left: -6rem;
            top: 2.7rem; }
          .wrap-left-side-contents .style-list li.bitter .char06 {
            position: absolute;
            right: -4rem;
            bottom: 1rem; }
          .wrap-left-side-contents .style-list li.fleur img.logo {
            width: 10.7rem; }
          .wrap-left-side-contents .style-list li.fleur .char07 {
            position: absolute;
            left: -7rem;
            bottom: 0rem; }
          .wrap-left-side-contents .style-list li.fleur .char08 {
            position: absolute;
            right: -4.3rem;
            bottom: 1rem; }
          .wrap-left-side-contents .style-list li.urban img.logo {
            width: 12.9rem; }
          .wrap-left-side-contents .style-list li.urban .char09 {
            position: absolute;
            right: -7rem;
            bottom: -6rem; } }

.wrap-sp-nav-contents {
  color: #df7d5e;
  font-weight: 500; }
  .wrap-sp-nav-contents h2 {
    font-size: 1.2rem;
    border-bottom: 1px #df7d5e solid;
    padding-bottom: 0.5em; }
  .wrap-sp-nav-contents .grid-nav {
    display: grid;
    grid-template-columns: 4fr 3fr;
    line-height: 2.2; }
    .wrap-sp-nav-contents .grid-nav.col1 {
      grid-template-columns: 1fr; }
    .wrap-sp-nav-contents .grid-nav a {
      transition: opacity .3s; }
      .wrap-sp-nav-contents .grid-nav a:hover {
        opacity: 0.7; }
    .wrap-sp-nav-contents .grid-nav .flex {
      display: flex;
      flex-flow: wrap;
      padding-left: 1em; }
      .wrap-sp-nav-contents .grid-nav .flex li {
        padding-right: 1em; }
  .wrap-sp-nav-contents .sp-sns {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem; }
    .wrap-sp-nav-contents .sp-sns li {
      padding: 0 1.2rem; }
    .wrap-sp-nav-contents .sp-sns a {
      transition: opacity .3s; }
      .wrap-sp-nav-contents .sp-sns a:hover {
        opacity: 0.7; }
      .wrap-sp-nav-contents .sp-sns a img {
        height: auto;
        vertical-align: bottom; }
      .wrap-sp-nav-contents .sp-sns a img.insta {
        width: 1.7rem; }
      .wrap-sp-nav-contents .sp-sns a img.threads {
        width: 1.7rem; }
      .wrap-sp-nav-contents .sp-sns a img.tiktok {
        width: 1.4rem; }
      .wrap-sp-nav-contents .sp-sns a img.facebook {
        width: 1.7rem; }
      .wrap-sp-nav-contents .sp-sns a img.youtube {
        width: 2.2rem; }
      .wrap-sp-nav-contents .sp-sns a img.line {
        width: 2.2rem; }
  .wrap-sp-nav-contents .center-grid {
    display: grid;
    place-content: center;
    height: 5rem; }
  .wrap-sp-nav-contents .tel-block {
    border: 1px #df7d5e solid;
    text-align: center; }
    .wrap-sp-nav-contents .tel-block .num {
      font-weight: 300;
      font-size: 1.85rem;
      line-height: 1.2;
      letter-spacing: 0.1em; }
    .wrap-sp-nav-contents .tel-block .time {
      font-size: 1.0rem;
      line-height: 1.2; }
  .wrap-sp-nav-contents a.collemo-block {
    background: #231815 url("../images/collemo-village-text.png") no-repeat center/15.5rem auto;
    transition: background .3s; }
    .wrap-sp-nav-contents a.collemo-block:hover {
      background: #fff url("../images/collemo-village-text-b.png") no-repeat center/15.5rem auto; }
  .wrap-sp-nav-contents .button-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; }
    .wrap-sp-nav-contents .button-grid .sub {
      font-size: 1.0rem;
      line-height: 1.4; }
    .wrap-sp-nav-contents .button-grid .title {
      font-size: 1.3rem;
      line-height: 1.4;
      font-weight: bold; }
    .wrap-sp-nav-contents .button-grid a {
      transition: opacity .3s; }
      .wrap-sp-nav-contents .button-grid a:hover {
        opacity: 0.7; }
    .wrap-sp-nav-contents .button-grid a.tyumon-block {
      color: #fff;
      background-color: #79bdbb;
      text-align: center; }
    .wrap-sp-nav-contents .button-grid a.bunjyo-block {
      color: #fff;
      background-color: #d4623e;
      text-align: center; }
    .wrap-sp-nav-contents .button-grid a.line-block {
      grid-column: 1 / 3;
      background-color: #231815;
      color: #fff;
      text-align: center;
      line-height: 1.5 !important; }
      .wrap-sp-nav-contents .button-grid a.line-block .line-text img {
        width: 12.2rem;
        height: auto;
        vertical-align: bottom; }
  @media print, screen and (min-width: 768px) {
    .wrap-sp-nav-contents a.tel-block {
      pointer-events: none; } }

.wrap-right-side-contents {
  display: none; }
  @media print, screen and (min-width: 768px) {
    .wrap-right-side-contents {
      display: block;
      width: calc((100% - 37.5rem));
      position: fixed;
      right: 0;
      top: 0;
      padding: 5rem 0;
      color: #df7d5e;
      height: 100%;
      height: 100vh; }
      .wrap-right-side-contents .wrap-sp-nav-contents {
        width: 28.5rem;
        margin: 0 auto; } }
  @media print, screen and (min-width: 1140px) {
    .wrap-right-side-contents {
      width: calc((100% - 37.5rem) / 2); }
      .wrap-right-side-contents .wrap-sp-nav-contents {
        margin: 0 auto 0 10%; } }

.fixed-sp-footer-menu {
  display: flex;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 5;
  border-top: 1px #173e4b solid; }
  .fixed-sp-footer-menu .center-grid {
    display: grid;
    place-content: center;
    height: 5rem; }
  .fixed-sp-footer-menu .sub {
    font-size: 1.0rem;
    line-height: 1.4; }
  .fixed-sp-footer-menu .title {
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: bold; }
  .fixed-sp-footer-menu a.tyumon-block {
    color: #fff;
    background-color: #79bdbb;
    text-align: center;
    width: 25%; }
  .fixed-sp-footer-menu a.bunjyo-block {
    color: #fff;
    background-color: #d4623e;
    text-align: center;
    width: 25%; }
  .fixed-sp-footer-menu a.line-block {
    grid-column: 1 / 3;
    background-color: #231815;
    color: #fff;
    text-align: center;
    line-height: 1.5 !important;
    width: 50%; }
    .fixed-sp-footer-menu a.line-block .line-text img {
      width: 12.2rem;
      height: auto;
      vertical-align: bottom; }
  @media print, screen and (min-width: 768px) {
    .fixed-sp-footer-menu {
      display: none; } }

/* header *********************************************************************************************************/
.wrap-header {
  padding: 2rem; }
  .wrap-header .logo img {
    width: 15.4rem;
    height: auto;
    vertical-align: bottom; }

/* ------------------引出しメニュー ここから-------------------*/
#wrap-hamberger-menu {
  position: fixed;
  cursor: pointer;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #df7d5e;
  right: 1.5rem;
  top: 1.5rem;
  z-index: 500;
  display: flex;
  justify-content: center;
  align-items: center; }
  #wrap-hamberger-menu .box {
    width: 2.3rem;
    height: 1.4rem;
    position: relative; }
  #wrap-hamberger-menu span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.2rem;
    background-color: #fff;
    overflow: hidden;
    transition: all .4s; }
    #wrap-hamberger-menu span:nth-of-type(1) {
      width: 100%; }
    #wrap-hamberger-menu span:nth-of-type(2) {
      top: 0.6rem;
      width: 100%; }
    #wrap-hamberger-menu span:nth-of-type(3) {
      top: 1.2rem;
      width: 100%; }
  #wrap-hamberger-menu.open {
    background-color: transparent; }
    #wrap-hamberger-menu.open span {
      background-color: #df7d5e; }
      #wrap-hamberger-menu.open span:nth-of-type(1) {
        top: -0.3rem;
        left: 0.1rem;
        transform: translateY(1rem) rotate(-135deg);
        width: 2.0rem; }
      #wrap-hamberger-menu.open span:nth-of-type(2) {
        opacity: 0; }
      #wrap-hamberger-menu.open span:nth-of-type(3) {
        top: 1.7rem;
        left: 0.1rem;
        transform: translateY(-1rem) rotate(135deg);
        width: 2.0rem; }
  @media print, screen and (min-width: 768px) {
    #wrap-hamberger-menu {
      display: none; } }

#sp-menu {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: #fcf2ef;
  color: #fff;
  transition: .7s;
  transform: translateX(100%);
  pointer-events: none;
  z-index: 490;
  overflow: auto;
  padding: 5rem 2rem; }
  #sp-menu.open {
    transform: translateX(0);
    pointer-events: auto; }
  @media print, screen and (min-width: 768px) {
    #sp-menu {
      display: none; } }

/* ------------------引出しメニュー ここまで-------------------*/
/* トップページ-------------------------------------------------------------------------------------*/
.wrap-top-slider {
  display: flex;
  /* スライダー1の設定 */
  /* スライダー2の設定 */
  /* キャッチコピーの基本スタイル */
  /* スライドが切り替わり、アクティブになった時だけ表示。
     Swiperの仕様で、表示が完了したスライドには自動的にこのクラスがつきます。
  */ }
  .wrap-top-slider .slider-1 {
    width: 22rem;
    height: 40rem;
    margin: 0;
    overflow: hidden; }
  .wrap-top-slider .slider-2 {
    width: 7.5rem;
    height: 40rem;
    margin-left: 1rem;
    margin-right: 0;
    overflow: hidden; }
  .wrap-top-slider .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block; }
  .wrap-top-slider .title {
    margin-left: 2rem; }
    .wrap-top-slider .title p {
      font-weight: bold;
      writing-mode: vertical-rl;
      font-size: 1.4rem;
      letter-spacing: 0.1em; }
  .wrap-top-slider .copy {
    position: absolute;
    top: 2rem;
    /* 左上配置 */
    left: 2rem;
    color: #fff;
    font-size: 2.1rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    /* 初期状態：透明 ＆ 10px下に配置 */
    opacity: 0;
    transform: translateY(1rem);
    transition: opacity 0.5s ease, transform 0.5s ease; }
  .wrap-top-slider .swiper-slide-active .copy {
    opacity: 1;
    transform: translateY(0);
    /* スライド完了後に少し遅らせてフェードインさせるなら transition-delay */
    transition-delay: 1s; }

.wrap-top-nav {
  padding: 0 1rem;
  margin-top: -2rem;
  position: relative;
  z-index: 2; }
  .wrap-top-nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem; }
    .wrap-top-nav ul li a {
      display: block;
      border-radius: 2em;
      border: 2px #d4623e solid;
      background-color: #fff;
      padding: 0.8em 0;
      transition: .3s; }
      .wrap-top-nav ul li a.yoridori {
        background: #ffffff url("../images/yoridori-button.svg") no-repeat center/14.7rem auto; }
      .wrap-top-nav ul li a.works {
        background: #ffffff url("../images/works-button.svg") no-repeat center/10.6rem auto; }
      .wrap-top-nav ul li a:hover.yoridori {
        background: #d4623e url("../images/yoridori-button-on.svg") no-repeat center/14.7rem auto; }
      .wrap-top-nav ul li a:hover.works {
        background: #d4623e url("../images/works-button-on.svg") no-repeat center/10.6rem auto; }
    .wrap-top-nav ul li p {
      text-align: center;
      font-weight: bold; }

.wrap-top-events {
  padding-top: 5.5rem;
  /* 全体の幅を制限したい場合は event-slider に記述 */ }
  .wrap-top-events .event-slider {
    width: 100%;
    overflow: hidden;
    /* 画面外のはみ出しを防ぐ */
    padding: 3rem 0 0; }
    .wrap-top-events .event-slider .swiper {
      width: 60%;
      /* 左右のスライドを見せるためにスライダー本体の幅を100%より少し小さく設定します  */
      overflow: visible;
      /* これで両端が見えるようになります */ }
    .wrap-top-events .event-slider .swiper-slide a {
      border-radius: 1.5rem;
      overflow: hidden;
      display: block;
      aspect-ratio: 1 / 1; }
      .wrap-top-events .event-slider .swiper-slide a img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

.wrap-top-news {
  padding: 6rem 1.5rem; }

.wrap-news-list li {
  padding-top: 3rem; }
  .wrap-news-list li a {
    color: #fff;
    transition: opacity .3s; }
    .wrap-news-list li a .info {
      display: flex;
      flex-flow: wrap;
      line-height: 1.2;
      letter-spacing: 0.1em; }
    .wrap-news-list li a .date {
      opacity: 0.5;
      padding-right: 1em;
      font-style: italic;
      display: inline-block;
      font-size: 1.2rem; }
    .wrap-news-list li a .category {
      padding: 0 1em;
      border-left: 1px #f7ddd5 solid;
      display: inline-block; }
    .wrap-news-list li a .news {
      padding: 0 1em;
      border-left: 1px #f7ddd5 solid;
      display: inline-block;
      font-size: 1.2rem; }
    .wrap-news-list li a .title {
      padding-top: 0.5rem; }
    .wrap-news-list li a:hover {
      opacity: 0.7; }

.wrap-top-sale {
  padding: 6rem 3rem;
  background-color: #fff;
  position: relative;
  color: #df7d5e;
  overflow: hidden; }
  .wrap-top-sale::before {
    content: "";
    position: absolute;
    left: -3rem;
    top: 0;
    width: 7rem;
    height: 100%;
    background-image: linear-gradient(90deg, #c3c3c3, #ffffff 100%);
    z-index: 1; }
  .wrap-top-sale::after {
    content: "";
    position: absolute;
    right: -3rem;
    top: 0;
    width: 7rem;
    height: 100%;
    background-image: linear-gradient(270deg, #c3c3c3, #ffffff 100%);
    z-index: 1; }
  .wrap-top-sale .catch {
    font-weight: bold;
    text-align: center;
    font-size: 1.4rem;
    margin-top: 2rem;
    position: relative;
    z-index: 2; }

.sale-slider, .single-sale-slider01, .single-sale-slider02, .custom-home-slider, .yoridori-slider {
  width: 100%;
  margin: 3rem auto 0;
  position: relative;
  z-index: 5; }
  .sale-slider .swiper, .single-sale-slider01 .swiper, .single-sale-slider02 .swiper, .custom-home-slider .swiper, .yoridori-slider .swiper {
    position: relative;
    padding-bottom: 4rem; }
  .sale-slider .thumnail, .single-sale-slider01 .thumnail, .single-sale-slider02 .thumnail, .custom-home-slider .thumnail, .yoridori-slider .thumnail {
    width: 100%;
    aspect-ratio: 63 / 50; }
    .sale-slider .thumnail img, .single-sale-slider01 .thumnail img, .single-sale-slider02 .thumnail img, .custom-home-slider .thumnail img, .yoridori-slider .thumnail img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .sale-slider .swiper-button-prev, .single-sale-slider01 .swiper-button-prev, .single-sale-slider02 .swiper-button-prev, .custom-home-slider .swiper-button-prev, .yoridori-slider .swiper-button-prev,
  .sale-slider .swiper-button-next,
  .single-sale-slider01 .swiper-button-next,
  .single-sale-slider02 .swiper-button-next,
  .custom-home-slider .swiper-button-next,
  .yoridori-slider .swiper-button-next {
    top: 11rem;
    width: 3.7rem;
    height: 3.7rem;
    margin-top: 0;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; }
    .sale-slider .swiper-button-prev::after, .single-sale-slider01 .swiper-button-prev::after, .single-sale-slider02 .swiper-button-prev::after, .custom-home-slider .swiper-button-prev::after, .yoridori-slider .swiper-button-prev::after,
    .sale-slider .swiper-button-next::after,
    .single-sale-slider01 .swiper-button-next::after,
    .single-sale-slider02 .swiper-button-next::after,
    .custom-home-slider .swiper-button-next::after,
    .yoridori-slider .swiper-button-next::after {
      content: none; }
  .sale-slider .swiper-button-prev, .single-sale-slider01 .swiper-button-prev, .single-sale-slider02 .swiper-button-prev, .custom-home-slider .swiper-button-prev, .yoridori-slider .swiper-button-prev {
    left: -1.8rem;
    background-image: url("../images/arrow-prev.svg");
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.15)); }
  .sale-slider .swiper-button-next, .single-sale-slider01 .swiper-button-next, .single-sale-slider02 .swiper-button-next, .custom-home-slider .swiper-button-next, .yoridori-slider .swiper-button-next {
    right: -1.8rem;
    background-image: url("../images/arrow-next.svg");
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.15)); }
  .sale-slider .swiper-pagination, .single-sale-slider01 .swiper-pagination, .single-sale-slider02 .swiper-pagination, .custom-home-slider .swiper-pagination, .yoridori-slider .swiper-pagination {
    bottom: 0; }
    .sale-slider .swiper-pagination-bullet, .single-sale-slider01 .swiper-pagination-bullet, .single-sale-slider02 .swiper-pagination-bullet, .custom-home-slider .swiper-pagination-bullet, .yoridori-slider .swiper-pagination-bullet {
      background: #faf0e0;
      opacity: 1; }
      .sale-slider .swiper-pagination-bullet-active, .single-sale-slider01 .swiper-pagination-bullet-active, .single-sale-slider02 .swiper-pagination-bullet-active, .custom-home-slider .swiper-pagination-bullet-active, .yoridori-slider .swiper-pagination-bullet-active {
        background: #df7d5e; }
  .sale-slider .information, .single-sale-slider01 .information, .single-sale-slider02 .information, .custom-home-slider .information, .yoridori-slider .information {
    margin-top: 2rem;
    font-weight: bold;
    letter-spacing: 0.1em; }
    .sale-slider .information .flex-address, .single-sale-slider01 .information .flex-address, .single-sale-slider02 .information .flex-address, .custom-home-slider .information .flex-address, .yoridori-slider .information .flex-address {
      display: flex;
      flex-flow: wrap; }
    .sale-slider .information .title, .single-sale-slider01 .information .title, .single-sale-slider02 .information .title, .custom-home-slider .information .title, .yoridori-slider .information .title {
      font-size: 1.4rem; }
    .sale-slider .information .copy, .single-sale-slider01 .information .copy, .single-sale-slider02 .information .copy, .custom-home-slider .information .copy, .yoridori-slider .information .copy {
      font-size: 1.5rem;
      margin-top: 0.5rem;
      font-weight: normal; }
    .sale-slider .information .price, .single-sale-slider01 .information .price, .single-sale-slider02 .information .price, .custom-home-slider .information .price, .yoridori-slider .information .price {
      line-height: 1.5; }
      .sale-slider .information .price .num, .single-sale-slider01 .information .price .num, .single-sale-slider02 .information .price .num, .custom-home-slider .information .price .num, .yoridori-slider .information .price .num {
        font-size: 3.7rem;
        font-weight: 600; }
    .sale-slider .information table th, .single-sale-slider01 .information table th, .single-sale-slider02 .information table th, .custom-home-slider .information table th, .yoridori-slider .information table th {
      border: 1px #da7d5e solid;
      padding: 0 2em;
      white-space: nowrap;
      vertical-align: middle; }
    .sale-slider .information table td, .single-sale-slider01 .information table td, .single-sale-slider02 .information table td, .custom-home-slider .information table td, .yoridori-slider .information table td {
      padding: 0 1em; }
  .sale-slider .wrap-button, .single-sale-slider01 .wrap-button, .single-sale-slider02 .wrap-button, .custom-home-slider .wrap-button, .yoridori-slider .wrap-button {
    margin-top: 3rem; }

.single-sale-slider01 {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  .single-sale-slider01 .swiper {
    position: relative;
    padding-bottom: 0; }
  .single-sale-slider01 .swiper-button-prev {
    left: 0; }
  .single-sale-slider01 .swiper-button-next {
    right: 0; }
  .single-sale-slider01 .information {
    margin-top: 1rem; }

.single-sale-slider02 {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  .single-sale-slider02 .swiper {
    overflow: visible; }
  .single-sale-slider02 .swiper-slide {
    box-shadow: 0.5rem 0.5rem 2rem rgba(0, 0, 0, 0.2); }
  .single-sale-slider02 .swiper-button-prev {
    left: 0; }
  .single-sale-slider02 .swiper-button-next {
    right: 0; }
  .single-sale-slider02 .information {
    margin-top: 0;
    padding: 1.5rem 1.5rem 2rem 1.5rem; }

.custom-home-slider .swiper {
  padding-bottom: 0; }

.yoridori-slider .swiper {
  padding-bottom: 0; }

.wrap-top-concept {
  padding: 6rem 0 0;
  overflow: hidden; }
  .wrap-top-concept .wrap-concept {
    padding-top: 8rem;
    position: relative; }
    .wrap-top-concept .wrap-concept .bg img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }
    .wrap-top-concept .wrap-concept .panel {
      background-color: #fff;
      border-radius: 0 2rem 2rem 0;
      padding: 5rem 3.5rem 4.5rem 1.5rem;
      position: absolute;
      z-index: 2;
      left: 0;
      top: 3rem;
      box-shadow: 0.5rem 0.5rem 2rem rgba(0, 0, 0, 0.2);
      width: 33.3rem;
      color: #df7d5e; }
      .wrap-top-concept .wrap-concept .panel h3 {
        font-size: 1.8rem; }
      .wrap-top-concept .wrap-concept .panel .desc {
        line-height: 2;
        font-size: 1.2rem; }

.wrap-top-houses {
  padding: 6rem 1.5rem 4rem; }
  .wrap-top-houses h3 {
    font-size: 1.4rem;
    border: 1px #fff solid;
    padding: 0.2em 0.5em;
    text-align: center; }
  .wrap-top-houses .num-title {
    display: flex;
    align-items: center;
    margin-top: 4rem; }
    .wrap-top-houses .num-title .roboto-c {
      font-size: 8.5rem;
      line-height: 0;
      width: 50%;
      flex-shrink: 0;
      padding-left: 2.5rem; }
    .wrap-top-houses .num-title h4 {
      border-left: 1px #fff solid;
      padding: 0 0 0 2rem; }
      .wrap-top-houses .num-title h4 .title {
        font-size: 1.7rem; }
        .wrap-top-houses .num-title h4 .title img {
          width: 10.4rem;
          height: auto;
          vertical-align: bottom; }
      .wrap-top-houses .num-title h4 .eng {
        font-weight: normal; }
  .wrap-top-houses .banner {
    margin-top: 2.5rem; }
    .wrap-top-houses .banner a img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }
  .wrap-top-houses .photo-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 2rem; }
    .wrap-top-houses .photo-list img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }

.wrap-top-our {
  padding: 6rem 3rem 4rem;
  background: url("../images/top-our-bg.jpg") no-repeat center center/cover; }
  .wrap-top-our .link-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2rem; }
    .wrap-top-our .link-list a {
      background-color: #fff;
      color: #df7d5e;
      display: block;
      padding: 0.6em 2.5em;
      border-radius: 2em;
      font-weight: bold;
      transition: .3s;
      font-size: 1.4rem;
      text-align: center;
      position: relative;
      box-shadow: 0.5rem 0.5rem 2rem rgba(0, 0, 0, 0.2); }
      .wrap-top-our .link-list a::after {
        content: "\f178";
        font-family: FontAwesome;
        position: absolute;
        right: 2em;
        top: 50%;
        font-size: 1.1rem;
        transform: translateY(-45%); }
      .wrap-top-our .link-list a:hover {
        color: #fff;
        background-color: #df7d5e; }

.wrap-top-what {
  padding: 6rem 1.5rem 4rem; }
  .wrap-top-what .what-nav {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5rem;
    padding: 2rem 1rem; }
    .wrap-top-what .what-nav a {
      background-color: #fff;
      color: #df7d5e;
      border: 2px #fff solid;
      display: block;
      padding: 0.6em 0;
      border-radius: 2em;
      font-weight: bold;
      transition: .3s;
      font-size: 1.0rem;
      text-align: center; }
      .wrap-top-what .what-nav a:hover {
        background-color: #df7d5e;
        color: #fff; }
  .wrap-top-what .banner {
    margin-top: 1.5rem; }
    .wrap-top-what .banner a img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }

.wrap-top-works {
  padding: 6rem 0 4rem;
  background-color: #fff;
  color: #df7d5e; }

.works-slider {
  width: 100%;
  overflow: hidden;
  /* 画面外のはみ出しを防ぐ */
  padding: 3rem 0 0; }
  .works-slider .swiper {
    width: 60%;
    /* 左右のスライドを見せるためにスライダー本体の幅を100%より少し小さく設定します  */
    overflow: visible;
    /* これで両端が見えるようになります */ }
  .works-slider .swiper-slide a {
    transition: opacity .3s;
    display: block; }
    .works-slider .swiper-slide a:hover {
      opacity: 0.7; }
  .works-slider .swiper-slide .thumnail {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1; }
    .works-slider .swiper-slide .thumnail img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 1.5rem;
      overflow: hidden; }
    .works-slider .swiper-slide .thumnail .new-icon {
      position: absolute;
      left: 1rem;
      top: 1rem;
      width: 5rem;
      height: 5rem;
      border: 2px #fff solid;
      border-radius: 50%;
      z-index: 2;
      font-size: 1rem;
      text-align: center;
      color: #fff;
      font-weight: 600;
      display: grid;
      place-content: center; }
  .works-slider .information {
    margin-top: 2rem;
    font-weight: bold;
    text-align: center; }
    .works-slider .information .title {
      font-size: 1.6rem;
      font-weight: normal; }
  .works-slider .wrap-button {
    margin-top: 3rem; }

.wrap-top-voice {
  padding: 6rem 1.5rem 4rem; }
  .wrap-top-voice .voice-list {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem; }
    .wrap-top-voice .voice-list li a {
      display: flex;
      align-items: center;
      transition: opacity .3s; }
      .wrap-top-voice .voice-list li a .icon {
        width: 7.3rem;
        flex-shrink: 0;
        padding: 0 1.5rem; }
        .wrap-top-voice .voice-list li a .icon img {
          width: 100%;
          height: auto;
          vertical-align: bottom; }
      .wrap-top-voice .voice-list li a:hover {
        opacity: 0.7; }
    .wrap-top-voice .voice-list li:nth-child(even) a .icon {
      order: 2; }
    .wrap-top-voice .voice-list li:nth-child(even) a .bubble {
      order: 1; }
  .wrap-top-voice .bubble {
    position: relative;
    display: inline-block;
    padding: 1rem 2rem;
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 1rem;
    filter: drop-shadow(0.5rem 0.5rem 2rem rgba(0, 0, 0, 0.2));
    font-weight: bold; }
    .wrap-top-voice .bubble p {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden; }
    .wrap-top-voice .bubble::before, .wrap-top-voice .bubble::after {
      content: "";
      position: absolute;
      border-style: solid;
      top: 50%;
      transform: translateY(-50%); }
    .wrap-top-voice .bubble.left {
      margin-left: 1.5rem; }
      .wrap-top-voice .bubble.left::before {
        left: -1.5rem;
        border-width: 1.5rem 1.5rem 0 0;
        border-color: transparent #fff transparent transparent; }
      .wrap-top-voice .bubble.left::after {
        left: -1.4rem;
        border-width: 1.5rem 1.5rem 0 0;
        border-color: transparent #fff transparent transparent; }
    .wrap-top-voice .bubble.right {
      margin-right: 1.5rem; }
      .wrap-top-voice .bubble.right::before {
        right: -1.5rem;
        border-width: 1.5rem 0 0 1.5rem;
        border-color: transparent transparent transparent #fff; }
      .wrap-top-voice .bubble.right::after {
        right: -1.4rem;
        border-width: 1.5rem 0 0 1.5rem;
        border-color: transparent transparent transparent #fff; }

.wrap-top-faq, .wrap-faq-contents {
  padding: 6rem 1.5rem 4rem;
  background: url("../images/top-faq-bg.jpg") no-repeat center center/cover;
  /* 質問部分（通常時） */
  /* アイコンやタイトルの微調整 */
  /* 回答部分（初期状態は非表示） */
  /* オープン状態のスタイル */ }
  .wrap-top-faq .qa-container, .wrap-faq-contents .qa-container {
    margin-top: 2rem; }
  .wrap-top-faq .qa-item, .wrap-faq-contents .qa-item {
    margin-bottom: 1em;
    background-color: transparent;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 2.5em;
    cursor: pointer;
    outline: none; }
  .wrap-top-faq .qa-question, .wrap-faq-contents .qa-question {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0.5em 2em;
    background-color: transparent;
    border: none;
    color: #fff;
    transition: 0.3s;
    text-align: left;
    cursor: pointer; }
  .wrap-top-faq .qa-q-icon, .wrap-faq-contents .qa-q-icon {
    margin-right: 2rem;
    font-size: 2.6rem; }
  .wrap-top-faq .qa-title, .wrap-faq-contents .qa-title {
    flex-grow: 1;
    font-size: 1.4rem;
    font-weight: bold; }
  .wrap-top-faq .qa-arrow, .wrap-faq-contents .qa-arrow {
    margin-left: 1em; }
  .wrap-top-faq .qa-answer, .wrap-faq-contents .qa-answer {
    display: none;
    overflow: hidden; }
  .wrap-top-faq .qa-answer-content, .wrap-faq-contents .qa-answer-content {
    padding: 0 2em 1em;
    color: #df7d5e;
    font-weight: 500;
    opacity: 0;
    transition: opacity .3s; }
  .wrap-top-faq .qa-item.is-open, .wrap-faq-contents .qa-item.is-open {
    background-color: #fff;
    color: #df7d5e; }
    .wrap-top-faq .qa-item.is-open .qa-question, .wrap-faq-contents .qa-item.is-open .qa-question {
      color: #df7d5e; }
    .wrap-top-faq .qa-item.is-open .qa-answer-content, .wrap-faq-contents .qa-item.is-open .qa-answer-content {
      opacity: 1; }

.wrap-top-instagram {
  padding: 6rem 1.5rem 4rem; }
  .wrap-top-instagram .wrap-button a {
    display: inline-block;
    padding: 0.6em 2.5em;
    background-color: #fff;
    border-radius: 2em;
    border: 2px #fff solid;
    font-weight: bold;
    transition: .3s; }
    .wrap-top-instagram .wrap-button a .flex {
      display: flex;
      justify-content: center;
      align-items: center; }
      .wrap-top-instagram .wrap-button a .flex i {
        font-size: 1.6rem; }
      .wrap-top-instagram .wrap-button a .flex span {
        padding: 0 1em; }
      .wrap-top-instagram .wrap-button a .flex img {
        width: 1rem;
        height: auto;
        vertical-align: middle; }
    .wrap-top-instagram .wrap-button a:hover {
      background-color: transparent;
      color: #fff; }

.wrap-top-recruit {
  padding: 6rem 1.5rem 4rem;
  background-color: #fff;
  color: #df7d5e; }

.wrap-top-contact {
  padding: 6rem 3rem;
  background: url("../images/top-contact-bg.jpg") no-repeat center center/cover; }
  .wrap-top-contact .link-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2rem; }
    .wrap-top-contact .link-list a {
      background-color: #fff;
      color: #df7d5e;
      display: block;
      padding: 0.6em 2.5em;
      border-radius: 2em;
      font-weight: bold;
      transition: .3s;
      font-size: 1.4rem;
      text-align: center;
      position: relative;
      box-shadow: 0.5rem 0.5rem 2rem rgba(0, 0, 0, 0.2); }
      .wrap-top-contact .link-list a:hover {
        color: #fff;
        background-color: #df7d5e; }

.scrt-cover {
  overflow: hidden;
  position: relative;
  display: block; }
  .scrt-cover::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background-color: #d4623e;
    transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    transition-delay: 0.3s; }
  .scrt-cover::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #df7d5e;
    z-index: 2;
    transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); }
  .scrt-cover.bg-white::after {
    background-color: #fff; }
  .scrt-cover.visible {
    transform: translateX(0); }
    .scrt-cover.visible::before {
      left: 100%; }
    .scrt-cover.visible::after {
      left: 100%; }

/* footer-------------------------------------------------------------------------------------*/
.wrap-footer {
  padding: 3rem 2rem 7rem;
  background-color: #fff;
  color: #000; }
  .wrap-footer .wrap-footer-nav {
    display: flex;
    justify-content: center;
    width: 21.5rem;
    margin: 0 auto; }
  .wrap-footer .footer-nav {
    display: flex;
    flex-flow: wrap;
    font-weight: 500; }
    .wrap-footer .footer-nav li a {
      line-height: 2;
      transition: opacity .3s; }
      .wrap-footer .footer-nav li a:hover {
        opacity: 0.7; }
    .wrap-footer .footer-nav li.r-border::after {
      content: "　｜　";
      color: #df7d5e; }
  .wrap-footer .footer-company {
    display: flex;
    margin-top: 5rem; }
    .wrap-footer .footer-company .logo {
      width: 48%; }
      .wrap-footer .footer-company .logo a img {
        width: 13rem;
        height: auto;
        padding-top: 0.3rem; }
    .wrap-footer .footer-company .info {
      width: 52%; }
  .wrap-footer .footer-sns {
    display: flex;
    justify-content: center;
    margin-top: 3.5rem; }
    .wrap-footer .footer-sns li {
      padding: 0 1.2rem; }
    .wrap-footer .footer-sns a {
      transition: opacity .3s; }
      .wrap-footer .footer-sns a:hover {
        opacity: 0.7; }
      .wrap-footer .footer-sns a img {
        height: auto;
        vertical-align: bottom; }
      .wrap-footer .footer-sns a img.insta {
        width: 1.7rem; }
      .wrap-footer .footer-sns a img.threads {
        width: 1.7rem; }
      .wrap-footer .footer-sns a img.tiktok {
        width: 1.4rem; }
      .wrap-footer .footer-sns a img.facebook {
        width: 1.7rem; }
      .wrap-footer .footer-sns a img.youtube {
        width: 2.2rem; }
      .wrap-footer .footer-sns a img.line {
        width: 2.2rem; }
  .wrap-footer .copyright {
    margin-top: 3rem;
    text-align: center;
    font-size: 1.0rem; }
  @media print, screen and (min-width: 768px) {
    .wrap-footer {
      padding: 3rem 2rem; } }

/* ビヨリハウジングって？ *********************************************************************************************************************************/
.wrap-about-contents01 {
  padding: 2rem 3rem 6rem; }
  .wrap-about-contents01 .image {
    margin-top: 3rem; }

.wrap-about-business {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 6rem 3rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-about-business h3 {
    font-size: 1.4rem;
    text-align: center; }
  .wrap-about-business h4 {
    font-size: 1.4rem;
    text-align: center;
    border: 1px #df7d5e solid;
    padding: 0.4em; }
    .wrap-about-business h4.border-none {
      border: none;
      padding: 0; }
    .wrap-about-business h4 img {
      width: 13.8rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-about-business .photo-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem; }
    .wrap-about-business .photo-list img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }
    .wrap-about-business .photo-list figcaption {
      font-size: 1.0rem;
      line-height: 1.5;
      font-weight: bold;
      margin-top: 0.5rem; }

.wrap-about-group {
  padding: 6rem 3rem; }
  .wrap-about-group h3 {
    font-size: 1.4rem;
    text-align: center;
    border: 1px #fff solid;
    padding: 0.4em; }
  .wrap-about-group .group-list {
    line-height: 1.6;
    padding-left: 5rem; }
    .wrap-about-group .group-list li {
      padding: 4rem 0 2.5rem;
      border-bottom: 1px #fff solid; }
      .wrap-about-group .group-list li:last-child {
        border-bottom: none;
        padding: 4rem 0 0; }
    .wrap-about-group .group-list .name {
      font-weight: bold;
      font-size: 1.2rem;
      padding: 0.3rem 0; }
    .wrap-about-group .group-list .url {
      font-style: italic;
      font-size: 1.2rem; }
      .wrap-about-group .group-list .url a {
        color: #fff; }

/* 会社概要 *********************************************************************************************************************************/
.wrap-company-profile {
  padding: 0 2rem; }
  .wrap-company-profile h3 {
    text-align: center;
    font-size: 1.4rem; }
  .wrap-company-profile table {
    width: 100%;
    margin-top: 2rem; }
    .wrap-company-profile table tr {
      border-bottom: 1px #fff solid; }
      .wrap-company-profile table tr:last-child {
        border-bottom: none; }
    .wrap-company-profile table th {
      font-weight: normal;
      padding: 0.7em 2em 0.7em 0;
      text-align: left; }
    .wrap-company-profile table td {
      padding: 0.7em 0;
      text-align: left; }

/* よくある家づくりのお悩み *********************************************************************************************************************************/
.wrap-faq-contents {
  background: none;
  padding: 2rem 1.5rem 6rem; }
  .wrap-faq-contents h3 {
    margin-top: 6rem;
    font-size: 1.4rem;
    text-align: center; }
  .wrap-faq-contents .qa-item {
    border: 1px solid #fff;
    border-radius: 2em; }
  .wrap-faq-contents .qa-question {
    padding: 0.8em 2em;
    line-height: 1.6; }
  .wrap-faq-contents .qa-q-icon {
    font-style: italic; }
  .wrap-faq-contents .qa-title {
    font-size: 1.2rem; }

/* お問い合わせ *********************************************************************************************************************************/
.wrap-contact-contents {
  padding: 2rem 3rem 6rem; }
  .wrap-contact-contents .image {
    margin-top: 3rem; }

.wrap-contact-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 6rem 3rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);
  margin-bottom: 6rem; }
  .wrap-contact-panel h3 {
    text-align: center;
    font-size: 1.4rem; }
  .wrap-contact-panel .tel-block {
    padding: 0 0 3rem;
    border-bottom: 1px #df7d5e solid; }
    .wrap-contact-panel .tel-block .tel {
      text-align: center;
      font-weight: 700;
      font-size: 2.3rem;
      margin-top: 1.5rem; }
    .wrap-contact-panel .tel-block .fax {
      text-align: center;
      font-weight: 600;
      font-size: 1.6rem;
      margin-top: 0.5rem; }
  .wrap-contact-panel .line-block {
    padding: 3rem 0 3rem;
    border-bottom: 1px #df7d5e solid; }
    .wrap-contact-panel .line-block a {
      color: #fff;
      font-weight: bold;
      text-align: center;
      display: inline-block;
      background-color: #00b900;
      padding: 0.5em 3em;
      border-radius: 2em;
      transition: opacity .3s; }
      .wrap-contact-panel .line-block a:hover {
        opacity: 0.7; }
      .wrap-contact-panel .line-block a img {
        width: 2.3rem;
        height: auto;
        vertical-align: middle; }
      .wrap-contact-panel .line-block a span {
        vertical-align: middle; }
  .wrap-contact-panel .mail-block {
    padding: 3rem 0 0; }
    .wrap-contact-panel .mail-block .caution {
      color: #000;
      font-weight: bold;
      text-align: center;
      margin-top: 1rem; }
    .wrap-contact-panel .mail-block .naiyou {
      background-color: #df7d5e;
      text-align: center;
      font-weight: bold;
      font-size: 1.4rem;
      margin-top: 3rem;
      color: #fff;
      padding: 0.5em; }
      .wrap-contact-panel .mail-block .naiyou span {
        font-size: 1.0rem;
        font-weight: normal; }
  @media print, screen and (min-width: 768px) {
    .wrap-contact-panel .tel-block .tel a {
      pointer-events: none; } }

/* 自社一貫体制 *********************************************************************************************************************************/
.wrap-system-contents {
  padding: 2rem 3rem 6rem; }
  .wrap-system-contents .image {
    margin-top: 3rem; }

.wrap-system-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 6rem 3rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-system-panel h3.top-title {
    text-align: center;
    font-size: 1.4rem; }
  .wrap-system-panel h3.border-title {
    text-align: center;
    font-size: 1.4rem;
    padding: 0.5em;
    border: 1px #df7d5e solid; }
  .wrap-system-panel .flow-img {
    margin-top: 6rem; }
  .wrap-system-panel .merit-grid {
    display: grid;
    grid-template-columns: 3.7rem 1fr;
    gap: 3rem;
    margin-top: 3rem; }
    .wrap-system-panel .merit-grid .icon-block {
      display: grid;
      place-content: center; }
      .wrap-system-panel .merit-grid .icon-block img {
        height: auto;
        vertical-align: bottom; }
      .wrap-system-panel .merit-grid .icon-block .icon01 {
        width: 3.7rem; }
      .wrap-system-panel .merit-grid .icon-block .icon02 {
        width: 3.7rem; }
      .wrap-system-panel .merit-grid .icon-block .icon03 {
        width: 3.4rem; }
    .wrap-system-panel .merit-grid .text-block h4 {
      font-size: 1.4rem; }
  .wrap-system-panel .wrap-button {
    margin-top: 8rem; }
  .wrap-system-panel a.link-button {
    font-size: 1.4rem;
    min-width: 100%; }

/* ビヨリハウジングの家づくり *********************************************************************************************************************************/
.wrap-architecture-contents {
  padding: 2rem 3rem 6rem; }
  .wrap-architecture-contents .image {
    margin-top: 3rem; }

.wrap-architecture-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 6rem 3rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-architecture-panel .top-title {
    text-align: center;
    font-size: 1.4rem; }
  .wrap-architecture-panel .border-title {
    text-align: center;
    font-size: 1.4rem;
    padding: 0.5em;
    border: 1px #df7d5e solid; }
  .wrap-architecture-panel .bg-title {
    text-align: center;
    font-size: 1.4rem;
    padding: 0.5em;
    background-color: #df7d5e; }
  .wrap-architecture-panel .chart-img {
    margin-top: 5rem; }

.wrap-architecture-feature {
  padding: 6rem 1.5rem;
  /* 質問部分（通常時） */
  /* アイコンやタイトルの微調整 */
  /* 回答部分（初期状態は非表示） */
  /* オープン状態のスタイル */ }
  .wrap-architecture-feature .top-title {
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: 0.1em; }
  .wrap-architecture-feature .border-title {
    text-align: center;
    font-size: 1.4rem;
    padding: 0.5em;
    border: 1px #df7d5e solid;
    letter-spacing: 0.1em; }
  .wrap-architecture-feature .bg-title {
    text-align: center;
    font-size: 1.4rem;
    padding: 0.5em;
    background-color: #df7d5e;
    color: #fff;
    letter-spacing: 0.1em; }
    .wrap-architecture-feature .bg-title.green {
      background-color: #79bdbb; }
  .wrap-architecture-feature .grid-title {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid #df7d5e;
    overflow: hidden;
    width: 100%;
    font-weight: bold;
    font-size: 1.4rem; }
    .wrap-architecture-feature .grid-title > div {
      padding: 0.5em;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center; }
    .wrap-architecture-feature .grid-title div:first-child {
      background-color: #df7d5e;
      color: #fff;
      clip-path: polygon(-1% -1%, calc(100% - 1rem) -1%, 100% 50%, calc(100% - 1rem) 101%, -1% 101%);
      padding-right: 2rem;
      margin-right: -1rem;
      z-index: 1; }
    .wrap-architecture-feature .grid-title div:last-child {
      padding-left: 2rem; }
    .wrap-architecture-feature .grid-title.green {
      color: #79bdbb;
      border: 1px solid #79bdbb; }
      .wrap-architecture-feature .grid-title.green div:first-child {
        background-color: #79bdbb; }
  .wrap-architecture-feature .toggle-container {
    margin-top: 5.5rem; }
  .wrap-architecture-feature .toggle-item {
    margin-bottom: 1em;
    background-color: transparent;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 2.5em;
    outline: none; }
  .wrap-architecture-feature .toggle-question {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0.75em 2em;
    background-color: transparent;
    border: none;
    color: #fff;
    transition: 0.3s;
    text-align: left;
    cursor: pointer; }
  .wrap-architecture-feature .toggle-q-icon {
    margin-right: 2rem;
    font-size: 2.6rem; }
  .wrap-architecture-feature .toggle-title {
    flex-grow: 1;
    font-size: 1.4rem;
    font-weight: bold; }
  .wrap-architecture-feature .toggle-arrow {
    margin-left: 1em; }
  .wrap-architecture-feature .toggle-answer {
    display: none;
    overflow: hidden; }
  .wrap-architecture-feature .toggle-answer-content {
    padding: 3rem 2em 3em;
    color: #df7d5e;
    font-weight: 500;
    opacity: 0;
    transition: opacity .3s; }
    .wrap-architecture-feature .toggle-answer-content.pt-none {
      padding: 0 2em 3em; }
  .wrap-architecture-feature .toggle-item.is-open {
    background-color: #fff;
    color: #df7d5e; }
    .wrap-architecture-feature .toggle-item.is-open .toggle-question {
      color: #df7d5e; }
    .wrap-architecture-feature .toggle-item.is-open .toggle-answer-content {
      opacity: 1; }
  .wrap-architecture-feature .wrap-table {
    display: flex; }
    .wrap-architecture-feature .wrap-table .table-left img {
      width: 14.1rem;
      height: auto;
      vertical-align: bottom; }
    .wrap-architecture-feature .wrap-table .table-right {
      overflow: hidden;
      margin-right: -3rem; }
      .wrap-architecture-feature .wrap-table .table-right .sticky {
        overflow: auto; }
      .wrap-architecture-feature .wrap-table .table-right img {
        width: 81.7rem;
        height: auto;
        vertical-align: bottom; }
  .wrap-architecture-feature a.system-link {
    display: block;
    padding: 0.75em 2em;
    background-color: #fff;
    color: #df7d5e;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    border-radius: 2.5em;
    transition: .3s; }
    .wrap-architecture-feature a.system-link:hover {
      background-color: #d4623e;
      color: #fff; }

/* 施工実績 *********************************************************************************************************************************/
.wrap-arc-works-contents {
  padding: 2rem 3rem 6rem;
  /* 質問部分（通常時） */
  /* アイコンやタイトルの微調整 */
  /* 回答部分（初期状態は非表示） */
  /* オープン状態のスタイル */ }
  .wrap-arc-works-contents .works-category-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem; }
    .wrap-arc-works-contents .works-category-list li.full {
      grid-column: 1 / 3; }
    .wrap-arc-works-contents .works-category-list a {
      background-color: #fff;
      border: 2px #d4623e solid;
      color: #d4623e;
      display: block;
      padding: 0.6em 2.5em;
      border-radius: 2em;
      font-weight: bold;
      transition: .3s;
      text-align: center; }
      .wrap-arc-works-contents .works-category-list a.pd-none {
        padding: 0.6em; }
      .wrap-arc-works-contents .works-category-list a span.arrow {
        position: relative;
        display: inline-block; }
        .wrap-arc-works-contents .works-category-list a span.arrow::after {
          content: "\f178";
          font-family: FontAwesome;
          position: absolute;
          right: -2.5em;
          top: 50%;
          transform: translateY(-45%); }
      .wrap-arc-works-contents .works-category-list a:hover {
        color: #fff;
        background-color: #d4623e; }
      .wrap-arc-works-contents .works-category-list a.green {
        border: 2px #79bdbb solid;
        color: #79bdbb; }
        .wrap-arc-works-contents .works-category-list a.green:hover {
          background-color: #79bdbb;
          color: #fff; }
      .wrap-arc-works-contents .works-category-list a.brown {
        border: 2px #b39576 solid;
        color: #b39576; }
        .wrap-arc-works-contents .works-category-list a.brown:hover {
          background-color: #b39576;
          color: #fff; }
  .wrap-arc-works-contents .toggle-container {
    margin-top: 4rem; }
  .wrap-arc-works-contents .toggle-item {
    margin-bottom: 1em;
    background-color: transparent;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 2.5em;
    outline: none; }
  .wrap-arc-works-contents .toggle-question {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0.75em 2em;
    background-color: transparent;
    border: none;
    color: #fff;
    transition: 0.3s;
    text-align: left;
    cursor: pointer; }
  .wrap-arc-works-contents .toggle-q-icon {
    margin-right: 2rem;
    font-size: 2.6rem; }
  .wrap-arc-works-contents .toggle-title {
    flex-grow: 1;
    font-size: 1.4rem;
    font-weight: bold; }
  .wrap-arc-works-contents .toggle-arrow {
    margin-left: 1em; }
  .wrap-arc-works-contents .toggle-answer {
    display: none;
    overflow: hidden; }
  .wrap-arc-works-contents .toggle-answer-content {
    padding: 3rem 2em 3em;
    color: #df7d5e;
    font-weight: 500;
    opacity: 0;
    transition: opacity .3s; }
    .wrap-arc-works-contents .toggle-answer-content.pt-none {
      padding: 0 2em 3em; }
  .wrap-arc-works-contents .toggle-item.is-open {
    background-color: #fff;
    color: #df7d5e; }
    .wrap-arc-works-contents .toggle-item.is-open .toggle-question {
      color: #df7d5e; }
    .wrap-arc-works-contents .toggle-item.is-open .toggle-answer-content {
      opacity: 1; }

.category-label {
  border-radius: 0 2em 2em 0;
  background-color: #df7d5e;
  display: inline-block;
  color: #fff;
  font-size: 1.0rem;
  padding: 0.5em 1em;
  text-align: center;
  font-weight: bold;
  min-width: 9rem; }
  .category-label.green {
    background-color: #79bdbb; }
  .category-label.brown {
    background-color: #b39576; }
  .category-label.gray {
    background-color: #888; }

.wrap-arc-works-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 3rem 3rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-arc-works-panel h3.top-title {
    text-align: center;
    font-size: 1.4rem; }
  .wrap-arc-works-panel .arc-works-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem 0;
    margin-top: 2rem; }
    .wrap-arc-works-panel .arc-works-list .image-block {
      position: relative;
      aspect-ratio: 1 / 1; }
      .wrap-arc-works-panel .arc-works-list .image-block img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .wrap-arc-works-panel .arc-works-list .image-block .category-label {
        position: absolute;
        left: 0;
        bottom: -0.2rem; }
    .wrap-arc-works-panel .arc-works-list .text-block {
      padding: 0.5em;
      line-height: 1.5;
      font-size: 1.4rem;
      text-align: center; }

.wrap-single-works-contents {
  padding: 2rem 3rem 6rem; }

.wrap-single-works-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 3rem 2rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-single-works-panel .main-image img {
    width: 100%;
    height: auto;
    vertical-align: bottom; }
  .wrap-single-works-panel .flex-title {
    display: flex;
    justify-content: space-between; }
    .wrap-single-works-panel .flex-title .title {
      padding-left: 1em; }
  .wrap-single-works-panel table.info-table {
    width: 100%; }
    .wrap-single-works-panel table.info-table tr {
      border-top: 2px #df7d5e solid;
      border-bottom: 2px #df7d5e solid; }
      .wrap-single-works-panel table.info-table tr th {
        padding: 0.7em;
        font-weight: 500;
        text-align: center; }
      .wrap-single-works-panel table.info-table tr td {
        padding: 0.7em;
        font-weight: 500;
        text-align: center; }
  .wrap-single-works-panel .photo-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem; }
    .wrap-single-works-panel .photo-gallery a.thumnail {
      display: block;
      width: 100%;
      aspect-ratio: 1 / 1; }
      .wrap-single-works-panel .photo-gallery a.thumnail img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

/* お客様の声 *********************************************************************************************************************************/
.wrap-arc-voice-contents {
  padding: 2rem 3rem 3rem; }

.wrap-arc-voice-panel, .wrap-single-voice-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 3rem 3rem 5rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-arc-voice-panel .voice-list, .wrap-single-voice-panel .voice-list {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 6rem; }
  .wrap-arc-voice-panel .flex-block, .wrap-single-voice-panel .flex-block {
    display: flex;
    align-items: center; }
  .wrap-arc-voice-panel .icon, .wrap-single-voice-panel .icon {
    text-align: center;
    flex-shrink: 0;
    padding: 0 3.5rem 0 1rem; }
    .wrap-arc-voice-panel .icon img, .wrap-single-voice-panel .icon img {
      width: 4.4rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-arc-voice-panel .text-block .desc, .wrap-single-voice-panel .text-block .desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden; }

.wrap-single-voice-panel {
  padding: 3rem 2rem 5rem; }
  .wrap-single-voice-panel .main-image {
    width: 100%;
    aspect-ratio: 3 / 2; }
    .wrap-single-voice-panel .main-image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .wrap-single-voice-panel .balloon {
    position: relative;
    background: #FFF;
    border-bottom: solid 2px #df7d5e;
    text-align: center;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0 0 1em; }
    .wrap-single-voice-panel .balloon::before {
      content: "";
      position: absolute;
      bottom: -23px;
      left: 50%;
      margin-left: -15px;
      border: 12px solid transparent;
      border-top: 12px solid #FFF;
      z-index: 2; }
    .wrap-single-voice-panel .balloon::after {
      content: "";
      position: absolute;
      bottom: -28px;
      left: 50%;
      margin-left: -17px;
      border: 14px solid transparent;
      border-top: 14px solid #df7d5e;
      z-index: 1; }

.voice-slider {
  width: 100%;
  margin: 3rem auto 0;
  position: relative;
  z-index: 5;
  padding: 0 1rem; }
  .voice-slider .swiper {
    position: relative;
    padding-bottom: 4rem; }
  .voice-slider .thumnail {
    width: 100%;
    aspect-ratio: 63 / 50; }
    .voice-slider .thumnail img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .voice-slider .swiper-button-prev,
  .voice-slider .swiper-button-next {
    top: 11rem;
    width: 3.7rem;
    height: 3.7rem;
    margin-top: 0;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; }
    .voice-slider .swiper-button-prev::after,
    .voice-slider .swiper-button-next::after {
      content: none; }
  .voice-slider .swiper-button-prev {
    left: -0.8rem;
    background-image: url("../images/arrow-prev.svg");
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.15)); }
  .voice-slider .swiper-button-next {
    right: -0.8rem;
    background-image: url("../images/arrow-next.svg");
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.15)); }
  .voice-slider .swiper-pagination {
    bottom: 0; }
    .voice-slider .swiper-pagination-bullet {
      background: #faf0e0;
      opacity: 1; }
      .voice-slider .swiper-pagination-bullet-active {
        background: #df7d5e; }
  .voice-slider .information {
    margin-top: 2rem;
    font-weight: 500; }

/* お知らせ *********************************************************************************************************************************/
.wrap-arc-news-contents {
  padding: 2rem 3rem 6rem; }
  .wrap-arc-news-contents .news-category-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem; }
    .wrap-arc-news-contents .news-category-list li.full {
      grid-column: 1 / 3; }
    .wrap-arc-news-contents .news-category-list a {
      background-color: #fff;
      border: 2px #d4623e solid;
      color: #d4623e;
      display: block;
      padding: 0.6em 2.5em;
      border-radius: 2em;
      font-weight: bold;
      transition: .3s;
      text-align: center; }
      .wrap-arc-news-contents .news-category-list a.pd-none {
        padding: 0.6em; }
      .wrap-arc-news-contents .news-category-list a span.arrow {
        position: relative;
        display: inline-block; }
        .wrap-arc-news-contents .news-category-list a span.arrow::after {
          content: "\f178";
          font-family: FontAwesome;
          position: absolute;
          right: -2.5em;
          top: 50%;
          transform: translateY(-45%); }
      .wrap-arc-news-contents .news-category-list a:hover {
        color: #fff;
        background-color: #d4623e; }
      .wrap-arc-news-contents .news-category-list a.green {
        border: 2px #79bdbb solid;
        color: #79bdbb; }
        .wrap-arc-news-contents .news-category-list a.green:hover {
          background-color: #79bdbb;
          color: #fff; }
      .wrap-arc-news-contents .news-category-list a.brown {
        border: 2px #b39576 solid;
        color: #b39576; }
        .wrap-arc-news-contents .news-category-list a.brown:hover {
          background-color: #b39576;
          color: #fff; }

.wrap-arc-news-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 3rem 3rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-arc-news-panel .arc-news-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    margin-top: 2rem; }
    .wrap-arc-news-panel .arc-news-list .image-block {
      position: relative;
      aspect-ratio: 3 / 2; }
      .wrap-arc-news-panel .arc-news-list .image-block img {
        width: 100%;
        height: 100%;
        vertical-align: bottom;
        object-fit: cover; }
      .wrap-arc-news-panel .arc-news-list .image-block .category-label {
        position: absolute;
        left: 0;
        bottom: 0; }

.wrap-single-news-contents {
  padding: 2rem 3rem 6rem; }

.wrap-single-news-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 3rem 2rem 4rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }

/* 分譲中の物件情報 *********************************************************************************************************************************/
.wrap-arc-sale-contents {
  padding: 2rem 3rem 4rem; }
  .wrap-arc-sale-contents .catch {
    text-align: center;
    line-height: 2;
    font-size: 1.4rem; }

.wrap-arc-sale-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 5.5rem 3rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-arc-sale-panel .thumnail {
    width: 100%;
    aspect-ratio: 63 / 50; }
    .wrap-arc-sale-panel .thumnail img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .wrap-arc-sale-panel .information {
    margin-top: 2rem;
    font-weight: bold;
    letter-spacing: 0.1em; }
    .wrap-arc-sale-panel .information .flex-address {
      display: flex;
      flex-flow: wrap; }
    .wrap-arc-sale-panel .information .title {
      font-size: 1.4rem; }
    .wrap-arc-sale-panel .information .copy {
      font-size: 1.5rem;
      margin-top: 0.5rem;
      font-weight: normal; }
    .wrap-arc-sale-panel .information .price {
      line-height: 1.5; }
      .wrap-arc-sale-panel .information .price .num {
        font-size: 3.7rem;
        font-weight: 600; }
    .wrap-arc-sale-panel .information table th {
      border: 1px #da7d5e solid;
      padding: 0 2em;
      white-space: nowrap;
      vertical-align: middle; }
    .wrap-arc-sale-panel .information table td {
      padding: 0 1em; }
  .wrap-arc-sale-panel .wrap-button {
    margin-top: 3rem; }
  .wrap-arc-sale-panel .visit-title {
    display: flex;
    justify-content: center;
    align-items: center; }
    .wrap-arc-sale-panel .visit-title .icon img {
      width: 2.5rem;
      height: auto;
      vertical-align: bottom; }
    .wrap-arc-sale-panel .visit-title p {
      font-weight: bold;
      padding-left: 1em; }
  .wrap-arc-sale-panel .wrap-property {
    margin: 5rem -1.5rem 0; }
    .wrap-arc-sale-panel .wrap-property .property-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3.5rem 0.5rem;
      font-weight: bold; }
      .wrap-arc-sale-panel .wrap-property .property-list .image-block {
        position: relative; }
        .wrap-arc-sale-panel .wrap-property .property-list .image-block .thumnail {
          width: 100%;
          aspect-ratio: 63 / 50; }
          .wrap-arc-sale-panel .wrap-property .property-list .image-block .thumnail img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .wrap-arc-sale-panel .wrap-property .property-list .image-block .visit {
          position: absolute;
          left: -0.6rem;
          top: -0.6rem;
          width: 6.4rem;
          height: auto;
          filter: drop-shadow(0.5rem 0.5rem 0.5rem white); }
      .wrap-arc-sale-panel .wrap-property .property-list .wrap-info {
        padding-right: 1.8rem;
        position: relative; }
        .wrap-arc-sale-panel .wrap-property .property-list .wrap-info::after {
          content: "\f0da";
          font-family: FontAwesome;
          position: absolute;
          right: 0.7rem;
          top: 50%;
          transform: translateY(-50%); }
      .wrap-arc-sale-panel .wrap-property .property-list .style {
        border: 1px #df7d5e solid;
        padding: 0.3em;
        text-align: center; }
      .wrap-arc-sale-panel .wrap-property .property-list .nowrap {
        white-space: nowrap; }

.wrap-sale-knowledge {
  padding: 6rem 3rem; }
  .wrap-sale-knowledge .link-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2rem; }
    .wrap-sale-knowledge .link-list a {
      background-color: #fff;
      color: #df7d5e;
      display: block;
      padding: 0.6em 2.5em;
      border-radius: 2em;
      font-weight: bold;
      transition: .3s;
      font-size: 1.4rem;
      text-align: center;
      position: relative;
      box-shadow: 0.5rem 0.5rem 2rem rgba(0, 0, 0, 0.2); }
      .wrap-sale-knowledge .link-list a:hover {
        color: #fff;
        background-color: #d4623e; }

.wrap-single-sale-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 5.5rem 1.5rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);
  /* テーブルを包むコンテナ */
  /* ボタンのデザイン */ }
  .wrap-single-sale-panel .point-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5rem; }
    .wrap-single-sale-panel .point-list li {
      display: grid;
      place-content: center;
      border: 1px #df7d5e solid;
      padding: 0.2em;
      font-size: 1.0rem;
      font-weight: 500; }
  .wrap-single-sale-panel .flex-title {
    display: flex;
    justify-content: space-between; }
    .wrap-single-sale-panel .flex-title .title {
      padding-left: 1em; }
  .wrap-single-sale-panel .information-block {
    margin-top: 1rem;
    font-weight: bold;
    letter-spacing: 0.1em; }
    .wrap-single-sale-panel .information-block .price {
      line-height: 1.5; }
      .wrap-single-sale-panel .information-block .price .num {
        font-size: 3.7rem;
        font-weight: 600; }
    .wrap-single-sale-panel .information-block table th {
      border: 1px #da7d5e solid;
      padding: 0 0.5em;
      white-space: nowrap;
      vertical-align: middle;
      text-align: center;
      width: 8rem; }
    .wrap-single-sale-panel .information-block table td {
      padding: 0 1em; }
  .wrap-single-sale-panel .line-soudan {
    text-align: center; }
    .wrap-single-sale-panel .line-soudan img {
      width: 24.6rem;
      height: auto; }
  .wrap-single-sale-panel .wrap-contact-button a {
    display: block;
    border: 2px #df7d5e solid;
    text-align: center;
    color: #df7d5e;
    font-weight: bold;
    padding: 0.7em;
    border-radius: 2em;
    font-size: 1.4rem;
    transition: .3s; }
    .wrap-single-sale-panel .wrap-contact-button a:hover {
      background-color: #df7d5e;
      color: #fff; }
  .wrap-single-sale-panel .madori-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6rem;
    padding: 0 1.5rem; }
    .wrap-single-sale-panel .madori-list .image-block img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }
    .wrap-single-sale-panel .madori-list .text-block {
      display: flex;
      margin-top: 2rem; }
      .wrap-single-sale-panel .madori-list .text-block .title {
        padding-right: 1.5em;
        font-size: 1.4rem;
        font-weight: bold;
        flex-shrink: 0; }
  .wrap-single-sale-panel .property-overview {
    width: 100%; }
    .wrap-single-sale-panel .property-overview tr {
      border-top: 2px #df7d5e solid;
      border-bottom: 2px #df7d5e solid; }
      .wrap-single-sale-panel .property-overview tr th {
        padding: 0.7em;
        background-color: #faece7;
        font-weight: bold;
        white-space: nowrap; }
      .wrap-single-sale-panel .property-overview tr td {
        padding: 0.7em; }
  .wrap-single-sale-panel .table-wrapper {
    position: relative;
    overflow: hidden;
    max-height: 15rem;
    /* 初期状態の高さ */
    transition: max-height 0.5s ease-in-out;
    /* スライドのアニメーション */
    /* 下部のフェードアウト効果（3〜5行目にかけて透明にする） */ }
    .wrap-single-sale-panel .table-wrapper .fade-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 10rem;
      /* 透明にする範囲 */
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
      pointer-events: none;
      /* 下の要素をクリック可能にする */
      transition: opacity 0.3s; }
    .wrap-single-sale-panel .table-wrapper.is-open {
      max-height: 120rem; }
      .wrap-single-sale-panel .table-wrapper.is-open .fade-overlay {
        opacity: 0; }
  .wrap-single-sale-panel .spec-wrapper {
    position: relative;
    overflow: hidden;
    max-height: 50rem;
    /* 初期状態の高さ */
    transition: max-height 0.5s ease-in-out;
    /* スライドのアニメーション */
    /* 下部のフェードアウト効果 */ }
    .wrap-single-sale-panel .spec-wrapper .fade-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 20rem;
      /* 透明にする範囲 */
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
      pointer-events: none;
      /* 下の要素をクリック可能にする */
      transition: opacity 0.3s; }
    .wrap-single-sale-panel .spec-wrapper.is-open {
      max-height: 280rem; }
      .wrap-single-sale-panel .spec-wrapper.is-open .fade-overlay {
        opacity: 0; }
    .wrap-single-sale-panel .spec-wrapper ul {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem 1rem; }
  .wrap-single-sale-panel .button-container {
    text-align: center;
    margin-top: 1rem; }
  .wrap-single-sale-panel .toggle-btn {
    text-align: center;
    width: 100%;
    padding: 0.7em;
    cursor: pointer;
    background: #fff;
    color: #df7d5e;
    font-weight: bold;
    border: 1px #df7d5e solid;
    border-radius: 2em;
    position: relative; }
    .wrap-single-sale-panel .toggle-btn::after {
      content: "▼";
      position: absolute;
      right: 1.5rem; }
    .wrap-single-sale-panel .toggle-btn.open::after {
      content: "▲"; }
  .wrap-single-sale-panel .google-map {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    width: calc(100% + 3rem); }

/* ビヨリの注文住宅 *********************************************************************************************************************************/
.wrap-costom-home-contents {
  padding: 2rem 3rem 4rem; }

.wrap-costom-home-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 5.5rem 3rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-costom-home-panel .num-grid {
    display: flex;
    align-items: center; }
    .wrap-costom-home-panel .num-grid .num {
      font-size: 8.5rem;
      line-height: 1; }
      .wrap-costom-home-panel .num-grid .num.image {
        font-size: 1rem;
        width: 4.2rem;
        flex-shrink: 0; }
        .wrap-costom-home-panel .num-grid .num.image img {
          height: auto;
          vertical-align: bottom; }
          .wrap-costom-home-panel .num-grid .num.image img.one {
            width: 2.1rem; }
          .wrap-costom-home-panel .num-grid .num.image img.two {
            width: 3.6rem; }
          .wrap-costom-home-panel .num-grid .num.image img.three {
            width: 3.3rem; }
    .wrap-costom-home-panel .num-grid .text-block {
      padding-left: 2.5rem;
      line-height: 1.5; }
    .wrap-costom-home-panel .num-grid.reverse .num {
      order: 2; }
    .wrap-costom-home-panel .num-grid.reverse .text-block {
      order: 1;
      padding-left: 0;
      padding-right: 2.5rem; }
  .wrap-costom-home-panel .process-grid {
    display: flex;
    align-items: flex-end;
    gap: 1.5rem; }
    .wrap-costom-home-panel .process-grid.al-center {
      align-items: center; }
    .wrap-costom-home-panel .process-grid .image-block img {
      height: auto;
      vertical-align: bottom; }
      .wrap-costom-home-panel .process-grid .image-block img.process01 {
        width: 9.7rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process02 {
        width: 7.6rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process03 {
        width: 9.2rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process04 {
        width: 7.5rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process05 {
        width: 10.2rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process06 {
        width: 7.4rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process07 {
        width: 8.6rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process08 {
        width: 10rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process09 {
        width: 7.7rem; }
      .wrap-costom-home-panel .process-grid .image-block img.process10 {
        width: 7.8rem; }
    .wrap-costom-home-panel .process-grid .text-block h4 {
      font-size: 1.4rem;
      text-align: center;
      background-color: #df7d5e;
      padding: 0.2em;
      color: #fff; }
    .wrap-costom-home-panel .process-grid .text-block .point {
      display: flex;
      align-items: center; }
      .wrap-costom-home-panel .process-grid .text-block .point .loupe {
        width: 1.8rem;
        height: auto;
        vertical-align: bottom; }
      .wrap-costom-home-panel .process-grid .text-block .point .text-block {
        padding-left: 0.5em; }

.wrap-custom-home-works {
  padding: 6rem 2rem; }
  .wrap-custom-home-works .photo-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 2rem; }
    .wrap-custom-home-works .photo-list img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }

/* 私たちの想い *********************************************************************************************************************************/
.wrap-concept-contents {
  padding: 2rem 3rem 4rem; }

.wrap-concept-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 5.5rem 3rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-concept-panel .logo {
    text-align: center; }
    .wrap-concept-panel .logo img {
      width: 15.5rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-concept-panel h4 .roboto-c {
    letter-spacing: 0.2em; }

/* ヨリドリビヨリ *********************************************************************************************************************************/
.wrap-yoridoribiyori-contents {
  padding: 2rem 3rem 4rem; }

.wrap-yoridoribiyori-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-yoridoribiyori-panel .panel-inner {
    background-color: #fff;
    padding: 5.5rem 3rem 6rem;
    padding: 0 3rem 6rem; }
    .wrap-yoridoribiyori-panel .panel-inner.panel01 {
      border-radius: 2rem 2rem 0 0;
      padding: 5.5rem 3rem 6rem; }
    .wrap-yoridoribiyori-panel .panel-inner.panel-last {
      border-radius: 0 0 2rem 2rem; }
  .wrap-yoridoribiyori-panel .gradation-line {
    background-image: linear-gradient(0deg, #ffffff, #ffffff 20%, #888);
    opacity: 0.3;
    height: 5rem; }
  .wrap-yoridoribiyori-panel .num-grid {
    display: flex;
    align-items: center; }
    .wrap-yoridoribiyori-panel .num-grid .num {
      font-size: 8.5rem;
      line-height: 1; }
    .wrap-yoridoribiyori-panel .num-grid .text-block {
      padding-left: 2.5rem;
      line-height: 1.5; }
  .wrap-yoridoribiyori-panel .wrap-5-style {
    position: relative;
    height: 32rem; }
    .wrap-yoridoribiyori-panel .wrap-5-style .tap {
      display: block;
      width: 5.8rem;
      height: 6.7rem;
      position: absolute;
      left: 50%;
      top: 12.0rem;
      transform: translate(-40%, 0);
      background: url("../images/yoridori-tap.png") no-repeat center center/contain; }
    .wrap-yoridoribiyori-panel .wrap-5-style a {
      display: block;
      width: 11rem;
      height: 11rem;
      border-radius: 50%;
      border: 3px #df7d5e solid;
      position: absolute;
      transition: .3s; }
      .wrap-yoridoribiyori-panel .wrap-5-style a.botanical {
        left: 50%;
        top: 0;
        transform: translateX(-50%);
        background: #fff url("../images/yoridori-botanical-logo.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a.cafe {
        right: 0.5rem;
        top: 7.5rem;
        background: #fff url("../images/yoridori-cafe-logo.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a.bitter {
        left: 50%;
        top: 19.0rem;
        transform: translateX(0.5rem);
        background: #fff url("../images/yoridori-bitter-logo.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a.fleur {
        left: 50%;
        top: 19.0rem;
        transform: translateX(calc(-100% - 0.5rem));
        background: #fff url("../images/yoridori-fleur-logo.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a.urban {
        left: 0.5rem;
        top: 7.5rem;
        background: #fff url("../images/yoridori-urban-logo.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a:hover.botanical {
        background: #df7d5e url("../images/yoridori-botanical-logo-w.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a:hover.cafe {
        background: #df7d5e url("../images/yoridori-cafe-logo-w.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a:hover.bitter {
        background: #df7d5e url("../images/yoridori-bitter-logo-w.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a:hover.fleur {
        background: #df7d5e url("../images/yoridori-fleur-logo-w.png") no-repeat center 60%/7.8rem auto; }
      .wrap-yoridoribiyori-panel .wrap-5-style a:hover.urban {
        background: #df7d5e url("../images/yoridori-urban-logo-w.png") no-repeat center 60%/7.8rem auto; }
  .wrap-yoridoribiyori-panel .botanical-title {
    text-align: center;
    margin-top: 5rem;
    padding-top: 5rem; }
    .wrap-yoridoribiyori-panel .botanical-title img {
      width: 13.5rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-yoridoribiyori-panel .cafe-title {
    text-align: center; }
    .wrap-yoridoribiyori-panel .cafe-title img {
      width: 10.7rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-yoridoribiyori-panel .bitter-title {
    text-align: center; }
    .wrap-yoridoribiyori-panel .bitter-title img {
      width: 10.7rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-yoridoribiyori-panel .fleur-title {
    text-align: center; }
    .wrap-yoridoribiyori-panel .fleur-title img {
      width: 10.7rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-yoridoribiyori-panel .urban-title {
    text-align: center; }
    .wrap-yoridoribiyori-panel .urban-title img {
      width: 12.9rem;
      height: auto;
      vertical-align: bottom; }

/* 採用情報 *********************************************************************************************************************************/
.wrap-recruit-contents {
  padding: 2rem 3rem 4rem; }

.wrap-recruit-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 5.5rem 3rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-recruit-panel .logo {
    text-align: center; }
    .wrap-recruit-panel .logo img {
      width: 15.5rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-recruit-panel a.link-button {
    min-width: 20rem; }

/* スタッフ紹介 *********************************************************************************************************************************/
.wrap-staff-contents {
  padding: 2rem 3rem 4rem; }

.wrap-staff-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 5.5rem 3rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-staff-panel .staff-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem; }
    .wrap-staff-panel .staff-grid .image-block img {
      box-shadow: 1rem 1rem 1rem rgba(0, 0, 0, 0.1); }
    .wrap-staff-panel .staff-grid .text-block {
      padding: 0 1.5rem 0 0; }
      .wrap-staff-panel .staff-grid .text-block h4 {
        letter-spacing: 0.2em;
        font-weight: normal; }
    .wrap-staff-panel .staff-grid li:nth-child(even) {
      padding-top: 5rem; }
      .wrap-staff-panel .staff-grid li:nth-child(even) .text-block {
        padding: 0 0 0 1.5rem; }

/* コッレモ事業部 *********************************************************************************************************************************/
.wrap-collemo-contents {
  padding: 2rem 3rem 4rem; }
  .wrap-collemo-contents .common-title img {
    width: 13.8rem;
    height: auto; }

.wrap-collemo-panel {
  background-color: #fff;
  color: #df7d5e;
  border-radius: 2rem;
  padding: 5.5rem 3rem 6rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  .wrap-collemo-panel .logo {
    text-align: center; }
    .wrap-collemo-panel .logo img {
      width: 15.5rem;
      height: auto;
      vertical-align: bottom; }
  .wrap-collemo-panel .num-grid {
    display: flex;
    align-items: center; }
    .wrap-collemo-panel .num-grid .num {
      font-size: 8.5rem;
      line-height: 1; }
    .wrap-collemo-panel .num-grid .text-block {
      padding-left: 2.5rem;
      line-height: 1.5; }
  .wrap-collemo-panel .product-list li {
    border-top: 1px #df7d5e solid;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    padding: 0.5em 0; }
    .wrap-collemo-panel .product-list li:last-child {
      border-bottom: 1px #df7d5e solid; }
  .wrap-collemo-panel .collemo-village {
    text-align: center; }
    .wrap-collemo-panel .collemo-village img {
      width: 22rem;
      height: auto; }
  .wrap-collemo-panel .collemo-golf {
    text-align: center; }
    .wrap-collemo-panel .collemo-golf img {
      width: 14rem;
      height: auto; }
  .wrap-collemo-panel .collemo-care {
    text-align: center; }
    .wrap-collemo-panel .collemo-care img {
      width: 20rem;
      height: auto; }
  .wrap-collemo-panel .collemo-sauna {
    text-align: center; }
    .wrap-collemo-panel .collemo-sauna img {
      width: 15.3rem;
      height: auto; }
  .wrap-collemo-panel .collemo-zakka {
    text-align: center; }
    .wrap-collemo-panel .collemo-zakka img {
      width: 9.6rem;
      height: auto; }
  .wrap-collemo-panel .color-black {
    color: #000; }
  .wrap-collemo-panel .wrap-collemo-button {
    text-align: center;
    margin-top: 6rem; }
    .wrap-collemo-panel .wrap-collemo-button a {
      display: inline-block;
      background: #fff url("../images/collemo-village-text-s.png") no-repeat center center/11.3rem auto;
      border: 1px #000 solid;
      border-radius: 2em;
      width: 18.6rem;
      height: 3.2rem;
      transition: .3s; }
      .wrap-collemo-panel .wrap-collemo-button a:hover {
        background: #000 url("../images/collemo-village-text-s-w.png") no-repeat center center/11.3rem auto; }

/* プライバシーポリシー *********************************************************************************************************************************/
.wrap-privacy-contents {
  padding: 2rem 3rem 4rem; }

/* 404 *********************************************************************************************************************************/
.wrap-404-contents {
  padding: 2rem 3rem 4rem; }

/* 下層ページ *********************************************************************************************************************************/
/*メールフォームここから*/
#mailformpro {
  text-align: left;
  margin-top: 3rem; }
  #mailformpro input {
    padding: 0.5rem;
    font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
    border: 1px #ddd solid; }
  #mailformpro select {
    padding: 0.5rem;
    font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
    border: 1px #ddd solid; }
  #mailformpro textarea {
    width: 100%;
    font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
    border: 1px #ddd solid; }
  #mailformpro input[type=checkbox] {
    width: 1.2rem;
    height: 1.2rem; }
  #mailformpro label.checkbox {
    margin-right: 3em; }
  #mailformpro dl dt.title {
    background-color: #f5f5f5;
    color: #000;
    font-weight: 500;
    font-size: 1.2rem;
    padding: 0.5em 1em;
    margin-top: 2.5rem; }
    #mailformpro dl dt.title span {
      font-size: 1.0rem;
      font-weight: normal;
      color: #df7d5e; }
      #mailformpro dl dt.title span.black {
        color: #000; }
  #mailformpro dl dd {
    margin-top: 1rem; }
    #mailformpro dl dd.color-gray {
      color: #808080; }
  #mailformpro .note {
    font-size: 1.0rem;
    margin-top: 2rem; }
  #mailformpro .note-box02 {
    border: 1px #ddd solid;
    font-size: 1.2rem;
    background-color: #fff;
    padding: 2rem;
    margin: 3rem auto 0; }
  #mailformpro .privacy-check {
    margin-top: 2rem;
    font-size: 1.2rem;
    text-align: center;
    font-weight: 500; }
    #mailformpro .privacy-check a {
      text-decoration: underline; }
      #mailformpro .privacy-check a:hover {
        text-decoration: none; }
  #mailformpro .sub-text {
    color: #aaa;
    font-size: 1.4rem;
    font-weight: normal; }

.mfp_not_checked {
  padding: 0.5em;
  border: none !important; }

.mfp_checked {
  border: none !important;
  background-color: transparent !important;
  box-shadow: none !important; }

.form-1 {
  width: 100%; }
  @media print, screen and (min-width: 1140px) {
    .form-1 {
      width: 50%; } }

.form-3 {
  width: 100%; }

.form-4 {
  width: 100%; }
  @media print, screen and (min-width: 1140px) {
    .form-4 {
      width: 49%;
      margin-right: 15px; } }

.form-6 {
  width: 100% !important;
  height: 7rem !important; }

.form-7 {
  width: 100% !important;
  height: 20rem !important; }

.mfp_buttons {
  text-align: center;
  margin-top: 4rem; }
  .mfp_buttons button, .mfp_buttons input {
    border-style: none;
    font-size: 1.1rem;
    cursor: pointer;
    background-color: #fff;
    border: 2px #df7d5e solid;
    color: #df7d5e;
    display: inline-block;
    padding: 0.6em 2.5em;
    border-radius: 2em;
    font-weight: bold;
    min-width: 18.4rem; }
    .mfp_buttons button#mfp_button_cancel, .mfp_buttons button#mfp_button_send, .mfp_buttons input#mfp_button_cancel, .mfp_buttons input#mfp_button_send {
      padding: 0.6em 0;
      min-width: 11rem;
      margin: 0.5rem; }
    .mfp_buttons button#mfp_button_send, .mfp_buttons input#mfp_button_send {
      background-color: #df7d5e;
      color: #fff; }

.contact-required {
  color: #e73357;
  font-style: normal; }

.thanks-message {
  margin-top: 40px;
  text-align: left; }
  @media print, screen and (min-width: 768px) {
    .thanks-message {
      text-align: center; } }

/* ========== ページャー ========== */
.pager {
  margin-bottom: 1.4rem;
  text-align: center;
  clear: both;
  margin: 3rem 1.4rem 1rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600; }
  .pager a, .pager span {
    display: inline-block; }
  .pager .current {
    border: #df7d5e 1px solid;
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0.2em 0 0;
    margin: 0 0.1em;
    background: #df7d5e;
    color: #fff;
    text-align: center; }
  .pager a:hover {
    border: rgba(221, 221, 221, 0.8) 1px solid;
    background: rgba(242, 242, 242, 0.8);
    text-decoration: none; }

a.page-numbers {
  border: #df7d5e 1px solid;
  border-radius: 50%;
  margin: 0 0.1em;
  padding: 0.2em 0 0;
  width: 2.5rem;
  height: 2.5rem;
  text-align: center; }

/* パンくずリスト */
.breadcrumbs {
  font-size: 1.0rem; }

.breadcrumbs a {
  color: #df7d5e; }

.breadcrumbs a:hover {
  text-decoration: underline; }

/*　ページナビ　*/
.page-navi {
  overflow: hidden;
  clear: both;
  text-align: center;
  margin-top: 10.6666666667vw;
  line-height: 1.2;
  font-size: 1.2rem; }
  .page-navi p {
    display: inline-block; }
    .page-navi p:first-child {
      padding-right: 8vw; }
    .page-navi p:nth-child(2) {
      padding-left: 8vw;
      border-left: 1px #ddd solid; }
  .page-navi a {
    transition: color 0.3s ease 0s;
    color: #888; }
    .page-navi a:hover {
      color: #df7d5e; }
  @media print, screen and (min-width: 768px) {
    .page-navi {
      margin-top: 7.8125vw;
      font-size: 1.4rem; }
      .page-navi p:first-child {
        padding-right: 6.5104166667vw; }
      .page-navi p:nth-child(2) {
        padding-left: 6.5104166667vw; } }
  @media print, screen and (min-width: 1140px) {
    .page-navi {
      margin-top: 60px; }
      .page-navi p:first-child {
        padding-right: 50px; }
      .page-navi p:nth-child(2) {
        padding-left: 50px; } }

.google-map {
  position: relative;
  height: 45rem;
  overflow: hidden;
  width: 100%; }
  .google-map img {
    width: auto; }
  .google-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }

/**********************************************************************************************************************************/
.editor-contents {
  margin-top: 2rem; }
  .editor-contents p {
    margin-bottom: 1em; }
  .editor-contents table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2em; }
    .editor-contents table th {
      border: 1px #ddd solid;
      padding: 0.5em; }
    .editor-contents table td {
      border: 1px #ddd solid;
      padding: 0.5em; }
    .editor-contents table thead {
      border-bottom: 2px #bbb solid; }
    .editor-contents table tfoot {
      border-top: 2px #bbb solid; }
  .editor-contents ul {
    margin-bottom: 1em; }
    .editor-contents ul > li {
      list-style-type: disc;
      list-style-position: outside;
      margin-left: 1.3em; }
      .editor-contents ul > li ul > li {
        list-style-type: circle;
        list-style-position: outside;
        margin-left: 1.3em; }
        .editor-contents ul > li ul > li ul > li {
          list-style-type: square;
          list-style-position: outside;
          margin-left: 1.3em; }
  .editor-contents ol {
    margin-bottom: 1em; }
    .editor-contents ol > li {
      list-style-type: decimal;
      list-style-position: outside;
      margin-left: 1.3em; }
      .editor-contents ol > li ul > li {
        list-style-type: circle;
        list-style-position: outside;
        margin-left: 1.3em; }
        .editor-contents ol > li ul > li ul > li {
          list-style-type: square;
          list-style-position: outside;
          margin-left: 1.3em; }
  .editor-contents .wp-block-file__button {
    background-color: #df7d5e !important; }
  .editor-contents .wp-block-embed-youtube {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    width: 100%; }
    .editor-contents .wp-block-embed-youtube .wp-block-embed__wrapper {
      position: static !important; }
    .editor-contents .wp-block-embed-youtube iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100% !important;
      height: 100% !important; }
  .editor-contents .wp-block-image img {
    height: auto;
    vertical-align: bottom; }
  .editor-contents .wp-block-image figcaption {
    color: #555d66;
    text-align: center; }
  .editor-contents .wp-block-file .wp-block-file__button {
    border-radius: 2em;
    background: #df7d5e;
    color: #fff;
    font-size: .8em;
    padding: 0.5em 1em; }
  .editor-contents .wp-block-file:not(.wp-element-button) {
    font-size: 1em; }
  .editor-contents .wp-block-heading {
    font-size: 1.3em;
    margin-bottom: 1em; }
  .editor-contents h2.has-background, .editor-contents h3.has-background, .editor-contents h4.has-background, .editor-contents h5.has-background, .editor-contents h6.has-background {
    padding: 0.5em 1em; }
  .editor-contents .fb_iframe_widget,
  .editor-contents .fb_iframe_widget span,
  .editor-contents .fb_iframe_widget iframe[style] {
    width: 100% !important; }

/*-------------------------------------------------------------------------------------*/
/*フォントサイズ*/
.fs-10 {
  font-size: 1rem; }

.fs-11 {
  font-size: 1.1rem; }

.fs-12 {
  font-size: 1.2rem; }

.fs-13 {
  font-size: 1.3rem; }

.fs-14 {
  font-size: 1.4rem; }

.fs-15 {
  font-size: 1.5rem; }

.fs-16 {
  font-size: 1.6rem; }

.fs-17 {
  font-size: 1.7rem; }

.fs-18 {
  font-size: 1.8rem; }

.fs-19 {
  font-size: 1.9rem; }

.fs-20 {
  font-size: 2rem; }

.fs-21 {
  font-size: 2.1rem; }

.fs-22 {
  font-size: 2.2rem; }

.fs-23 {
  font-size: 2.3rem; }

.fs-24 {
  font-size: 2.4rem; }

.fs-25 {
  font-size: 2.5rem; }

.fs-26 {
  font-size: 2.6rem; }

.fs-27 {
  font-size: 2.7rem; }

.fs-28 {
  font-size: 2.8rem; }

.fs-29 {
  font-size: 2.9rem; }

.fs-30 {
  font-size: 3rem; }

.pt-5 {
  padding-top: 0.5rem; }

.pt-10 {
  padding-top: 1rem; }

.pt-15 {
  padding-top: 1.5rem; }

.pt-20 {
  padding-top: 2rem; }

.pt-25 {
  padding-top: 2.5rem; }

.pt-30 {
  padding-top: 3rem; }

.pt-35 {
  padding-top: 3.5rem; }

.pt-40 {
  padding-top: 4rem; }

.pt-45 {
  padding-top: 4.5rem; }

.pt-50 {
  padding-top: 5rem; }

.pt-55 {
  padding-top: 5.5rem; }

.pt-60 {
  padding-top: 6rem; }

.pt-65 {
  padding-top: 6.5rem; }

.pt-70 {
  padding-top: 7rem; }

.pt-75 {
  padding-top: 7.5rem; }

.pt-80 {
  padding-top: 8rem; }

.mt-5 {
  margin-top: 0.5rem; }

.mt-10 {
  margin-top: 1rem; }

.mt-15 {
  margin-top: 1.5rem; }

.mt-20 {
  margin-top: 2rem; }

.mt-25 {
  margin-top: 2.5rem; }

.mt-30 {
  margin-top: 3rem; }

.mt-35 {
  margin-top: 3.5rem; }

.mt-40 {
  margin-top: 4rem; }

.mt-45 {
  margin-top: 4.5rem; }

.mt-50 {
  margin-top: 5rem; }

.mt-55 {
  margin-top: 5.5rem; }

.mt-60 {
  margin-top: 6rem; }

.mt-65 {
  margin-top: 6.5rem; }

.mt-70 {
  margin-top: 7rem; }

.mt-75 {
  margin-top: 7.5rem; }

.mt-80 {
  margin-top: 8rem; }

.font-weight-normal {
  font-weight: normal; }

.font-weight-500 {
  font-weight: 500; }

.font-weight-bold {
  font-weight: bold; }

.fw-400 {
  font-weight: 400; }

.fw-500 {
  font-weight: 500; }

.fw-600 {
  font-weight: 600; }

.fw-700 {
  font-weight: 700; }

.line-height80 {
  line-height: 0.8; }

.line-height90 {
  line-height: 0.9; }

.line-height100 {
  line-height: 1.0; }

.line-height110 {
  line-height: 1.1; }

.line-height120 {
  line-height: 1.2; }

.line-height130 {
  line-height: 1.3; }

.line-height140 {
  line-height: 1.4; }

.line-height145 {
  line-height: 1.45; }

.line-height150 {
  line-height: 1.5; }

.line-height160 {
  line-height: 1.6; }

.line-height170 {
  line-height: 1.7; }

.line-height180 {
  line-height: 1.8; }

.line-height190 {
  line-height: 1.9; }

.line-height200 {
  line-height: 2.0; }

.t-align-left {
  text-align: left; }

.t-align-center {
  text-align: center; }

.t-align-right {
  text-align: right; }

.inline-block {
  display: inline-block; }

.visible-tb {
  display: none; }

.visible-pc {
  display: none; }

@media screen and (max-width: 767px) {
  .hidden-sp {
    display: none !important; }

  .fs-10-sp {
    font-size: 1rem; }

  .fs-11-sp {
    font-size: 1.1rem; }

  .fs-12-sp {
    font-size: 1.2rem; }

  .fs-13-sp {
    font-size: 1.3rem; }

  .fs-14-sp {
    font-size: 1.4rem; }

  .fs-15-sp {
    font-size: 1.5rem; }

  .fs-16-sp {
    font-size: 1.6rem; }

  .fs-17-sp {
    font-size: 1.7rem; }

  .fs-18-sp {
    font-size: 1.8rem; }

  .fs-19-sp {
    font-size: 1.9rem; }

  .fs-20-sp {
    font-size: 2rem; }

  .fs-21-sp {
    font-size: 2.1rem; }

  .fs-22-sp {
    font-size: 2.2rem; }

  .fs-23-sp {
    font-size: 2.3rem; }

  .fs-24-sp {
    font-size: 2.4rem; }

  .fs-25-sp {
    font-size: 2.5rem; }

  .fs-26-sp {
    font-size: 2.6rem; }

  .fs-27-sp {
    font-size: 2.7rem; }

  .fs-28-sp {
    font-size: 2.8rem; }

  .fs-29-sp {
    font-size: 2.9rem; }

  .fs-30-sp {
    font-size: 3rem; }

  .pt-5-sp {
    padding-top: 0.5rem; }

  .pt-10-sp {
    padding-top: 1rem; }

  .pt-15-sp {
    padding-top: 1.5rem; }

  .pt-20-sp {
    padding-top: 2rem; }

  .pt-25-sp {
    padding-top: 2.5rem; }

  .pt-30-sp {
    padding-top: 3rem; }

  .pt-35-sp {
    padding-top: 3.5rem; }

  .pt-40-sp {
    padding-top: 4rem; }

  .pt-45-sp {
    padding-top: 4.5rem; }

  .pt-50-sp {
    padding-top: 5rem; }

  .pt-55-sp {
    padding-top: 5.5rem; }

  .pt-60-sp {
    padding-top: 6rem; }

  .mt-5-sp {
    margin-top: 0.5rem; }

  .mt-10-sp {
    margin-top: 1rem; }

  .mt-15-sp {
    margin-top: 1.5rem; }

  .mt-20-sp {
    margin-top: 2rem; }

  .mt-25-sp {
    margin-top: 2.5rem; }

  .mt-30-sp {
    margin-top: 3rem; }

  .mt-35-sp {
    margin-top: 3.5rem; }

  .mt-40-sp {
    margin-top: 4rem; }

  .mt-45-sp {
    margin-top: 4.5rem; }

  .mt-50-sp {
    margin-top: 5rem; }

  .mt-55-sp {
    margin-top: 5.5rem; }

  .mt-60-sp {
    margin-top: 6rem; }

  .t-align-left-sp {
    text-align: left; }

  .t-align-center-sp {
    text-align: center; }

  .t-align-right-sp {
    text-align: right; } }
@media print, screen and (min-width: 768px) {
  .hidden-tb {
    display: none !important; }

  .visible-tb {
    display: inline; }

  .fs-10-tb {
    font-size: 1rem; }

  .fs-11-tb {
    font-size: 1.1rem; }

  .fs-12-tb {
    font-size: 1.2rem; }

  .fs-13-tb {
    font-size: 1.3rem; }

  .fs-14-tb {
    font-size: 1.4rem; }

  .fs-15-tb {
    font-size: 1.5rem; }

  .fs-16-tb {
    font-size: 1.6rem; }

  .fs-17-tb {
    font-size: 1.7rem; }

  .fs-18-tb {
    font-size: 1.8rem; }

  .fs-19-tb {
    font-size: 1.9rem; }

  .fs-20-tb {
    font-size: 2rem; }

  .fs-21-tb {
    font-size: 2.1rem; }

  .fs-22-tb {
    font-size: 2.2rem; }

  .fs-23-tb {
    font-size: 2.3rem; }

  .fs-24-tb {
    font-size: 2.4rem; }

  .fs-25-tb {
    font-size: 2.5rem; }

  .fs-26-tb {
    font-size: 2.6rem; }

  .fs-27-tb {
    font-size: 2.7rem; }

  .fs-28-tb {
    font-size: 2.8rem; }

  .fs-29-tb {
    font-size: 2.9rem; }

  .fs-30-tb {
    font-size: 3rem; }

  .pt-5-tb {
    padding-top: 0.5rem; }

  .pt-10-tb {
    padding-top: 1rem; }

  .pt-15-tb {
    padding-top: 1.5rem; }

  .pt-20-tb {
    padding-top: 2rem; }

  .pt-25-tb {
    padding-top: 2.5rem; }

  .pt-30-tb {
    padding-top: 3rem; }

  .pt-35-tb {
    padding-top: 3.5rem; }

  .pt-40-tb {
    padding-top: 4rem; }

  .pt-45-tb {
    padding-top: 4.5rem; }

  .pt-50-tb {
    padding-top: 5rem; }

  .pt-55-tb {
    padding-top: 5.5rem; }

  .pt-60-tb {
    padding-top: 6rem; }

  .mt-5-tb {
    margin-top: 0.5rem; }

  .mt-10-tb {
    margin-top: 1rem; }

  .mt-15-tb {
    margin-top: 1.5rem; }

  .mt-20-tb {
    margin-top: 2rem; }

  .mt-25-tb {
    margin-top: 2.5rem; }

  .mt-30-tb {
    margin-top: 3rem; }

  .mt-35-tb {
    margin-top: 3.5rem; }

  .mt-40-tb {
    margin-top: 4rem; }

  .mt-45-tb {
    margin-top: 4.5rem; }

  .mt-50-tb {
    margin-top: 5rem; }

  .mt-55-tb {
    margin-top: 5.5rem; }

  .mt-60-tb {
    margin-top: 6rem; }

  .t-align-left-tb {
    text-align: left; }

  .t-align-center-tb {
    text-align: center; }

  .t-align-right-tb {
    text-align: right; } }
@media print, screen and (min-width: 1140px) {
  .hidden-pc {
    display: none !important; }

  .visible-pc {
    display: block !important; }

  .visible-tb {
    display: none; }

  .fs-10-pc {
    font-size: 1.0rem; }

  .fs-11-pc {
    font-size: 1.1rem; }

  .fs-12-pc {
    font-size: 1.2rem; }

  .fs-13-pc {
    font-size: 1.3rem; }

  .fs-14-pc {
    font-size: 1.4rem; }

  .fs-15-pc {
    font-size: 1.5rem; }

  .fs-16-pc {
    font-size: 1.6rem; }

  .fs-17-pc {
    font-size: 1.7rem; }

  .fs-18-pc {
    font-size: 1.8rem; }

  .fs-19-pc {
    font-size: 1.9rem; }

  .fs-20-pc {
    font-size: 2.0rem; }

  .fs-21-pc {
    font-size: 2.1rem; }

  .fs-22-pc {
    font-size: 2.2rem; }

  .fs-23-pc {
    font-size: 2.3rem; }

  .fs-24-pc {
    font-size: 2.4rem; }

  .fs-25-pc {
    font-size: 2.5rem; }

  .fs-26-pc {
    font-size: 2.6rem; }

  .fs-27-pc {
    font-size: 2.7rem; }

  .fs-28-pc {
    font-size: 2.8rem; }

  .fs-29-pc {
    font-size: 2.9rem; }

  .fs-30-pc {
    font-size: 3.0rem; }

  .pt-5-pc {
    padding-top: 0.5rem; }

  .pt-10-pc {
    padding-top: 1rem; }

  .pt-15-pc {
    padding-top: 1.5rem; }

  .pt-20-pc {
    padding-top: 2rem; }

  .pt-25-pc {
    padding-top: 2.5rem; }

  .pt-30-pc {
    padding-top: 3rem; }

  .pt-35-pc {
    padding-top: 3.5rem; }

  .pt-40-pc {
    padding-top: 4rem; }

  .pt-45-pc {
    padding-top: 4.5rem; }

  .pt-50-pc {
    padding-top: 5rem; }

  .pt-55-pc {
    padding-top: 5.5rem; }

  .pt-60-pc {
    padding-top: 6rem; }

  .mt-5-pc {
    margin-top: 0.5rem; }

  .mt-10-pc {
    margin-top: 1rem; }

  .mt-15-pc {
    margin-top: 1.5rem; }

  .mt-20-pc {
    margin-top: 2rem; }

  .mt-25-pc {
    margin-top: 2.5rem; }

  .mt-30-pc {
    margin-top: 3rem; }

  .mt-35-pc {
    margin-top: 3.5rem; }

  .mt-40-pc {
    margin-top: 4rem; }

  .mt-45-pc {
    margin-top: 4.5rem; }

  .mt-50-pc {
    margin-top: 5rem; }

  .mt-55-pc {
    margin-top: 5.5rem; }

  .mt-60-pc {
    margin-top: 6rem; }

  .t-align-left-pc {
    text-align: left; }

  .t-align-center-pc {
    text-align: center; }

  .t-align-right-pc {
    text-align: right; } }
