@charset "UTF-8";
/* ------------------------------
　　共通
------------------------------ */
#adminBox,
.acms-admin-box {
  margin-top: 20px;
}
.main-body {
  margin-top: 100px;
}
.topicpath + .acms-container {
  margin-top: 50px;
}
@media (min-width: 768px) {
  .topicpath + .acms-container {
    margin-top: 100px;
  }
}
.btn_big {
  font-size: 22px;
  padding: 20px;
}
.btn_middle {
  padding: 20px 30px;
  font-size: 16px;
  font-weight: bold;
}
.btn_arrow::after {
  content: url(../images/marker/double_arrow.svg);
  width: 1em;
  height: 1em;
  display: inline-block;
}
.p-btn-right {
  position: absolute;
  top: 0;
  bottom: 0;
}
.page-title-wrapper {
  margin-top: 49px;
  height: 350px;
}
@media (min-width: 1024px) {
  .page-title-wrapper {
    margin-top: 100px;
  }
}
.img-center {
  margin: 0 auto;
}
nav.acms-pager-container {
  /*--ページャー--*/
  margin-top: 30px;
}
/*******************
基本テーブルの装飾
*******************/
.entry-column td,
.entry-column th {
  font-size: 14px;
  border: 1px solid #4f1717;
}
.entry-container tbody:first-child {
  border-top: 1px solid #4f1717;
}
.entry-container th {
  background: #fbf6f1;
  border-top: 0;
}
.entry-container td {
  border-top: 0;
}
@media (min-width: 768px) {
  .entry-container table {
    border: 1px solid #4f1717;
  }
  .entry-container th {
    border: 1px solid #4f1717;
  }
  .entry-container td {
    background: #fff;
    font-size: 14px;
  }
}
/******************* 
文字装飾
*******************/
.faq .entry-column a {
  color: #fff;
}
.faq .entry-column a:hover {
  text-decoration: none;
  color: #333;
}
.entry-btn-pagelink,
.entry-btn-pagelink:visited {
  display: inline-block;
  border: 2px solid #246f24;
  background: #246f24;
  padding: 10px 20px;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  margin: 10px;
}
.entry-btn-pagelink:hover {
  background: #fff;
}
.faq .entry-column h2 {
  margin-top: 100px;
}
.faq .entry-column h3 {
  display: inline-block;
  position: relative;
  background: #fbf6f1;
  border-radius: 25px;
  margin: 0 10px 30px 20px;
  padding: 20px 30px;
}
.faq .entry-column h3::before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50px;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #fbf6f1;
  z-index: 2;
}
/******************* 
見出し
*******************/
.page-title-wrapper {
  height: 300px;
}
.page-title {
  position: relative;
  display: block;
  margin: 0 0 10px;
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}
/* ------------------------------
　　ヘッダー
------------------------------ */
header.head-wrapper {
  display: block;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  box-shadow: 0 1px 4px 0 #e0e0e094;
  z-index: 100000;
}
.sp-head-table {
  display: table;
  width: 100%;
}
a#nav-open-btn {
  display: table-cell;
  width: 20%;
}
.sp-logo {
  display: table-cell;
  width: 60%;
  text-align: center;
  vertical-align: middle;
}
.width20 {
  display: table-cell;
  width: 20%;
}
.sp-logo .site-name {
  display: block;
  margin: 0;
}
.sp-logo .site-name img {
  height: 38px;
  margin: 0;
}
@media (min-width: 768px) {
  .site-logo {
    width: 200px;
  }
  .navbar {
    text-align: right;
  }
  .navbar li:last-child {
    border-right: 0;
  }
}
@media (min-width: 1024px) {
  .header-nav {
    display: table-cell;
    width: 80%;
  }
  .sp-logo {
    width: 200px;
  }
  ｝ /*上部ナビ*/
  .navbar.nav_global_apper ul li a {
    font-size: 14px;
    padding: 0 10px;
  }
  .navbar.nav_global_apper {
    margin-bottom: 10px;
  }
  .navbar.nav_global_apper ul li a {
    font-size: 14px;
    padding: 0 10px;
  }
  /*下部グローバルナビ*/
  .navbar li {
    padding: 0 3px;
    margin: 0;
    border-right: 1px solid #ddd;
  }
  .navbar.nav_global > ul {
    display: flex;
  }
  .navbar.nav_global > ul li {
    flex-grow: 1;
  }
  .navbar.nav_global ul li a {
    font-size: 16px;
    margin: 0 auto;
  }
}
.header-nav nav li:hover ul {
  /*子リストPC非表示*/
  display: none;
}
/* ------------------------------
　　オフキャンバス
------------------------------ */
.sp-menu-title {
  display: block;
  padding: 20px;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #eee;
  margin: 0;
}
.mobile-navbar-footer ul.banner {
  margin: 0 10px;
}
.mobile-navbar-footer li.snslist {
  display: inline-block;
  vertical-align: middle;
  margin: 0.5em;
}
.mobile-navbar-footer ul li.snslist img {
  width: 35px;
  height: auto;
}
.side20 {
  margin: auto 20px;
}
/* ------------------------------
　　トップページ
------------------------------ */
/*.layout100 {
    width: 100%;
    height: 100%;
    position: relative;
}
.main-visual-innerbox {
    position: absolute;
    bottom: 0;
    right: 5px;
    max-width: 330px;
    padding: 0;
	text-align: left;
}*/
/*メイン画像*/
@media (max-width: 767px) {
  .main-visual-title {
    display: none;
  }
}
/*topix*/
.top-topics-wrap {
  display: table;
  background: #fbf6f1;
  width: 100%;
}
.top-topics-title {
  width: 200px;
  background: #5f493e;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  color: #fff;
}
.top-topics-body {
  width: auto;
  display: table-cell;
  padding: 20px;
}
.top-topics-body ul {
  border-top: 0;
  list-style: none;
  padding: 0;
}
.top-topics-list-group,
.top-topics-list-group:visited {
  display: block;
  padding: 5px 10px;
  color: #333;
  text-decoration: none;
}
.top-topics-list-group:hover {
  color: #999;
  text-decoration: none;
}

.top-topics-body .headline-dat {
  font-size: 12px;
}

/*小カテゴリラベルカラー*/
.acms-label {
  color: #fff;
  border-radius: 0;
  min-width: 43px;
  text-align: center;
}
.c-housingtour {
  background: #f5812c;
}
.c-event {
  background: #7e2df4;
}
.c-seminar {
  background: #2dabf5;
}
.c-experience {
  background: #f53b2e;
}
/*施工事例*/
h2 .acms-img-responsive {
  display: inline-block;
}
.module_head_title {
  position: relative;
}
.p-btn-right {
  position: absolute;
  top: 0;
  bottom: 0;
}
/*家づくり進行中*/
h2.report-title {
  margin-bottom: 10px;
}
/* ------------------------------
　　フッター
------------------------------ */
.footer {
  padding: 30px 0;
}
/* フッターロゴ */
.footer-logo .site-name {
  display: block;
}
.footer-logo .site-name img {
  width: 240px;
}
@media (min-width: 1024px) {
  .footer-logo .site-name {
    display: block;
  }
}
footer .btn.more_link {
  margin: 0 0 30px;
}
footer .head-snslist {
  margin-bottom: 30px;
}
.navbar.foot_nav_global {
  text-align: center;
}
/* SNS */
.foot-sns {
  background: #fbf6f1;
  padding: 20px;
}
.foot-sns ul {
  list-style: none;
  margin: 0.5em 0;
  padding: 0;
}
li.snslist {
  display: inline-block;
  vertical-align: middle;
  margin: 0.5em 1em;
}
li.snslist img {
  height: 35px;
  width: auto;
}
li a:hover {
  opacity: 0.75;
}
/* ------------------------------
　　カテゴリー名
------------------------------ */
.page-title {
  position: relative;
  text-align: center;
  margin: 0 auto;
}
.cat-title {
  display: inline-block;
  background: #ffffff40;
  padding: 40px 50px;
  margin: 0 auto;
  border-radius: 25px;
  text-shadow: 1px 1px 3px #333;
}
/* ------------------------------
　 会社概要・かさはらの家について　インデックスページ
------------------------------ */
.summary-img-title {
  position: absolute;
  bottom: 0;
  font-size: 18px;
  color: #fff;
  background: #4f1717;
  padding: 20px 0;
  text-align: center;
  width: 100%;
  border-radius: 0 0 5px 5px;
}
.page-title-filter {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.summary-image .card-img img {
  position: relative;
  border-radius: 5px;
  box-shadow: 2px 2px 5px 0 #ccc;
}
/* 　 会社概要・かさはらの家について　フッターリスト */
.entry-footer .card-img img {
  height: 180px;
}
/* 会社概要 */
.entry-company-foot {
  background: #fff;
}
.entry-company-foot section {
  width: 100%;
}
.foot-list-ul {
  padding: 0;
}
.foot-list {
  list-style: none;
  height: 100%;
  text-align: center;
  margin: 5px 0;
}
.foot-list a.list-link.acms-list-group-item {
  border: 2px solid #246f24;
  padding: 50px 20px;
  font-size: 18px;
}
.chatch-text {
  font-size: 25px;
  color: #5f493e;
}
.chatch-text-sub {
  font-size: 20px;
  color: #5f493e;
}
::marker {
  /*リストマーカー*/
  color: #f29700;
  font-size: 20px;
}
ol ::marker {
  color: #333;
  font-size: 1em;
}
.anchor_base {
  padding-top: 100px;
  margin-top: -100px;
}
/* ------------------------------
　　イベントカテゴリー
------------------------------ */
.card-img img.event-index-list {
  /*インデックスページサムネイル表示*/
  width: auto;
  max-height: 260px;
  object-fit: cover;
  margin: 0 auto;
}
.card-img {
  position: relative;
}
.card-img img {
  margin: 0 auto;
  width: 100%;
  height: 260px;
  object-fit: cover;
}
.event-label {
  position: absolute;
  top: -2px;
  left: -2px;
  padding: 10px 25px;
  box-shadow: 3px 3px 3px #00000054;
}
/* ------------------------------
　　家づくり進行中カテゴリー
------------------------------ */
.index-img-list {
  /*インデックスページサムネイル表示*/
  width: 100%;
  height: 260px;
  object-fit: cover;
  margin: 0 auto;
}
.process-main-img {
  margin-bottom: 100px;
}
.process-main-img img {
  margin: 0 auto;
}
.process_box {
  margin: 10px;
  margin-bottom: 30px;
  padding: 15px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  height: calc(100% - 20px);
}
.process_date {
  text-align: center;
  font-size: 16px;
  padding: 0 0 10px;
}
.process_text {
  font-size: 16px;
  font-weight: bold;
  margin: 20px 0;
  text-align: center;
}
.process_img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.entry-column p.process-year {
  text-align: center;
  margin-top: 20px;
  font-size: 20px;
  font-weight: bold;
  color: #ec6200;
}
.lead-bk {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
}
/* ------------------------------
　　アルバムカテゴリー
------------------------------ */
h2.album_index {
  text-align: center;
  font-size: 25px;
  margin-top: 100px;
}
.list-place {
  display: inline-block;
  background: #000;
  padding: 3px 8px;
  color: #fff;
  border-radius: 5px;
}
/* 住まい手の声 */
.voice_header {
  text-align: center;
}
.voice_header img {
  margin: 0 auto;
}
/* 施工事例 */
.tag-cloud ul {
  padding: 0;
  list-style: none;
  text-align: center;
}
section.tag-cloud {
  /* タグクラウド */
  border: 2px solid #000;
  padding: 0 15px;
  margin-bottom: 50px;
}
h2.sub-heading {
  margin: 5px;
  padding: 10px;
  text-align: center;
}
.tag-cloud-item {
  display: inline-block;
  margin: 8px 0;
  padding: 5px;
}
.tag-cloud-item a {
  font-size: 16px;
  padding: 8px 16px;
  background: #000;
  border-radius: 25px;
  color: #fff;
  letter-spacing: 0.1em;
}
.tag-cloud-item a:hover {
  text-decoration: none;
  opacity: 0.75;
}
.s-name {
  font-size: 18px;
  font-weight: bold;
}
.s-year {
  /*font-size: 14px;*/
  letter-spacing: 0.05em;
}
p.p-b10 {
  margin-bottom: 10px;
}
/* ------------------------------
　　 トピックス
------------------------------ */
.topics-list-box {
  border-top: 1px solid #eee;
  padding-top: 4px;
}
.topics-list {
  padding: 4px;
  padding-bottom: 20px;
  font-size: 16px;
  border-bottom: 1px solid #eee;
}
/* ------------------------------
　　 お問い合わせ・フォーム
------------------------------ */
.contact-box .contact-no {
  margin: 10px;
}
.contact-box h2.entry-title {
  padding: 15px 30px;
  margin-left: 10px;
  border-radius: 5px;
  background: #246f24;
  color: #fff;
}
.contact-box p.contact-title {
  margin: 5px 10px;
  background: #fbf6f1;
  border: 1px solid #eee;
  color: #333;
  font-weight: bold;
  padding: 5px 15px;
  border-radius: 25px;
  display: inline-block;
  font-size: 20px;
}
/*入力内容テーブル*/
.contact-box .mail-step {
  background: #fff;
}
.contact-form,
.contact-form-group {
  background: #fff;
}
.entry-column ul.contact-form,
table.contact-form {
  margin: 0;
  margin-bottom: 30px;
  padding: 5px;
  box-sizing: border-box;
  border-radius: 5px;
  border: 2px solid #ccc;
}
ul.contact-form li,
.contact-form-group {
  border-bottom: 1px solid #efefef;
}
ul.contact-form li:last-child,
.contact-form-group:last-child {
  border-bottom: 0;
}
/*リンクボタン*/
a.message-back-link,
a.message-back-link:visited {
  color: #fff;
  display: inline-block;
  border: 2px solid #246f24;
  background: #246f24;
  padding: 10px 20px;
  border-radius: 5px;
  font-weight: bold;
  margin: 10px;
}
a.message-back-link:hover {
  background: #fff;
  text-decoration: none;
  color: #333;
}
/* ------------------------------
　　 フローティングバナー
------------------------------ */
.floating-banner {
  /*opacity: 0;
	-webkit-transition: opacity .2s ease-out;
    transition: opacity .2s ease-out; site.cssにて設定*/
  position: fixed;
  z-index: 99999;
  bottom: 5px;
  margin: 0 1%;
}
.banner-body {
  width: 98vw; /* バナーの横幅 */
  padding: 8px;
  background: #fffffff0; /* バナーの背景色 */
  border: 1px solid #246f24; /* バナーフチ線 */
  color: #333; /* バナー内の文字色 */
  text-align: center;
  box-sizing: border-box;
}
.floating-banner a {
  text-decoration: none;
}
.banner-body-bg {
  background: url(../images/top/camp-bnr.png);
  background-size: cover;
  padding: 25px 0;
}
.copy {
  font-size: 14px;
  margin: 5px auto 10px;
  line-height: 1.4;
}
.copy span {
  display: block;
  font-size: 20px;
}
.cta {
  display: block;
  width: 200px;
  padding: 10px 10px;
  font-size: 18px;
  border-radius: 25px;
  margin: 60px auto;
  background: #f29800;
  color: #fff;
}
.banner-body img:hover,
.banner-body .cta:hover {
  opacity: 0.9;
}
@media screen and (min-width: 768px) {
  .floating-banner {
    bottom: 20px;
    right: 20px;
  }
  .banner-body {
    position: relative;
    /*width: 600px;*/
    width: 360px;
    padding: 10px;
    box-shadow: 0 0 10px #00000020;
  }
  .copy {
    margin: 5px auto 20px;
  }
  .cta {
    margin: 10px auto;
    padding: 5px 10px;
    font-size: 16px;
    background: #246f24;
  }
}
/*非表示ボタン*/
input#btn,
input#btn-sp {
  visibility: hidden;
}
input[type="checkbox"] {
  display: block;
}
input[type="checkbox"]:checked + .floating-banner {
  display: none;
}
label.flow-bnr-label {
  position: absolute;
  font-size: 20px;
  right: 10px;
  top: 10px;
}

.home-h2-under-text {
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  margin: -10px 0 20px;
}
@media (min-width: 768px) {
  .home-h2-under-text {
    font-size: 15px;
    margin: -20px 0 40px;
  }
}
.voice-item {
  background-color: #fff;
  padding: 0 8px 24px;
}
.voice-item__date {
  font-weight: bold;
}
.voice-item__image-area {
  width: 100%;
  max-width: 340px;
  aspect-ratio: 22/16;
  margin: 4px auto 16px;
}
.voice-item__image-area img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.staff-wrapper {
  padding: 40px;
}
.staff-item__image-area {
  width: 100%;
  max-width: 340px;
  aspect-ratio: 22/16;
  margin: 4px auto 16px;
}
.staff-item__image-area img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.staff-item__position,
.staff-item__title,
.staff-item__license {
  margin: 4px 0;
}
.staff-item__position,
.staff-item__license-label {
  font-size: 1.17em;
}
.staff-item__license {
  line-height: 1.45;
}
.staff-item__text {
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: 1px;
  width: 98%;
  margin: 28px auto 8px;
}
.top-three-item-lists {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
}
.top-three-item-lists__item {
  width: 30%;
  min-width: 290px;
}
@media (max-width: 948px) {
  .top-three-item-lists {
    flex-direction: column;
    align-items: center;
  }
  .top-three-item-lists__item {
    width: 90%;
  }
}
.reason-wrapper {
  padding-top: 40px;
}
.reason-item {
  padding-bottom: 82px;
  position: relative;
}
.reason-item__title {
  text-align: center;
  position: relative;
  margin-left: 35px;
  padding: 1.5rem 2rem calc(0.8rem + 10px);
  display: inline-block;
  font-size: 28px;
  letter-spacing: 0.2em;
  transform: rotate(-2deg);
  background: url(https://www.kasahara-net.jp/themes/kasahara_site2020/images/top/logo_s.png) no-repeat top left #ffce5c;
  background-size: 90px;
}
.reason-item__title::before {
  position: absolute;
  top: -14px;
  left: -14px;
  width: 100%;
  height: 100%;
  content: "";
  border: 4px solid #4f1717;
}
.reason-item__image-area {
  width: 80%;
  aspect-ratio: 22/16;
  margin: 4px auto 16px;
}
.reason-item__image-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
.reason-item__text {
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: 1px;
  width: 98%;
  margin: auto;
}
.reason-item__link {
  width: 100%;
  margin: 0;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
  white-space: nowrap;
}
.reason-item__link a {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

.faq-area {
  max-width: 768px;
  display: grid;
  gap: 24px;
  margin: auto;
  counter-reset: question;
}

.faq-item {
  list-style: none;
  position: relative;
}

.faq-item::before,
.faq-item::after {
  content: "";
  display: block;
  width: 16px;
  height: 3px;
  background-color: #f7f1ec;
  position: absolute;
  top: 19px;
  right: 24px;
  border-radius: 20px;
  transition: 0.3s transform;
}

.faq-item::after {
  transform: rotate(90deg);
}

.faq-item[open]::before {
  transform: rotate(45deg);
}

.faq-item[open]::after {
  transform: rotate(135deg);
}

.faq-question {
  font-size: 20px;
  font-weight: bold;
  padding: 8px 30px 10px;
  outline: none;
  color: #f7f1ec;
  background-color: #246f24;
  counter-increment: question;
  cursor: pointer;
}

.faq-question::-webkit-details-marker,
.faq-question::marker {
  content: none;
  display: none;
}

.faq-question::before {
  content: "Q" counter(question) ".";
}

.faq-answer {
  padding: 0 16px;
}

.faq-text {
  font-size: 18px;
}

.faq-text.bold {
  font-weight: bold;
}

.footer-logo .infomation {
  width: 320px;
  margin: 20px auto;
  text-align: left;
  line-height: 20px;
}

.footer-logo .infomation .access_link {
  margin-left: 30px;
}

.footer-logo .infomation a.access_link {
  color: #333;
  border-bottom: 1px solid;
}

.footer-logo .infomation .annotation {
  font-size: 10px;
}

.footer-logo .infomation .hl {
  font-weight: bold;
}

.footer-logo .infomation .detail {
  margin-bottom: 20px;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .footer-logo .infomation {
    font-size: 12px;
  }
  .faq-question {
    padding: 8px 10px 10px;
    font-size: 18px;
  }
}

/* 20231114 エリアページ追加 */
.area-page-title {
  max-width: 660px;
  margin: auto;
}
.area-page-section {
  padding: 80px 0;
}
.works .thumbnail-link img {
  width: 100%;
  aspect-ratio: 700/467;
  object-fit: cover;
}

/* 20240418 */
/*.cmn-access-area {}*/

.cmn-access-title {
  text-align: center;
  margin: 20px auto;
}

.cmn-access-box {
  display: flex;
  justify-content: space-between;
  margin: 0px auto 40px;
}

.cmn-access-table {
  width: 60%;
}

.cmn-access-table .entry-container {
  margin: 0px;
}

.cmn-access-map {
  width: 38%;
}

.cmn-access-map iframe {
  width: 100%;
  max-height: 157px;
}

@media (max-width: 767px) {
  .cmn-access-box {
    display: block;
    margin: 0px auto 40px;
  }

  .cmn-access-table {
    width: 100%;
    margin: 0px auto 20px;
  }

  .cmn-access-map {
    width: 100%;
  }

  .cmn-access-map iframe {
    width: 100%;
    max-height: 200px;
  }
}
