@charset "UTF-8";
:root {
  --main-color-01: #C5943F;
  --main-color-02: #796A56;
  --main-color-03: #3A72B9;
  --text-color-01: #464646;
}

/* フォント ------------------------------------------------------------------------ */
/* ExtraLight */
@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/NotoSerifJP-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}
/* Light */
@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/NotoSerifJP-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
/* Regular */
@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/NotoSerifJP-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
/* Medium */
@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/NotoSerifJP-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
/* SemiBold */
@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/NotoSerifJP-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
/* Bold */
@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/NotoSerifJP-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
/* ExtraBold */
@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/NotoSerifJP-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
/* Black */
@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/NotoSerifJP-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
/* WP共通設定 --------------------------------------------------------------------- */
body {
  font-family: "Noto Serif JP", sans-serif;
  z-index: -5;
  position: relative;
  color: var(--text-color-01);
}

body.home .site-body {
  padding: 0;
}

body.home .main-section--margin-bottom--on {
  margin-bottom: 0;
}

.site-body-bottom .widget {
  margin-bottom: 0;
}

h2, h3, h4, h5, h6 {
  font-weight: 600;
}

h2 {
  font-size: clamp(2.2rem, 2rem + 0.625vw, 2.4rem);
}

h3 {
  font-size: clamp(1.6rem, 1.4rem + 0.625vw, 1.8rem);
}

/* chrome画像ぼやけ防止 */
img {
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
  width: 100%;
}

/* 既存ブロック調整 ---------------------------------------------------------- */
/* ギャラリーブロック 拡大なし */
.wp-block-gallery.has-nested-images figure.wp-block-image {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

/* ギャラリー */
ul.blocks-gallery-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

ul.blocks-gallery-grid .blocks-gallery-item__caption {
  padding: 40px 0px 9px;
}

@media only screen and (max-width: 600px) {
  .wp-block-media-text .wp-block-media-text__content {
    margin-top: 1.2rem;
    padding: 0 10px;
  }
  .wp-block-media-text .wp-block-media-text__content h3 {
    margin-bottom: 0.4em;
  }
}

/* vk投稿ブロック */
.vk_post .vk_post_btn {
  font-size: 14px;
  display: block;
  background: none;
  border-radius: 0.6rem;
  padding: 0.6rem 1rem;
}

.card a.btn-primary {
  color: var(--vk-color-primary-dark);
}

.btn-primary:active, .btn-primary:focus, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active {
  color: #FFF !important;
  background-color: var(--vk-color-primary);
}

/* vkslider */
.swiper-pagination-bullet {
  border-radius: unset;
  width: 8px;
  height: 8px;
  border-radius: 10rem;
  background-color: #cfc0a6;
  opacity: unset;
  outline: 1px solid var(--vk-color-background-white-translucent);
  vertical-align: middle;
  position: relative;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
  opacity: 0.8;
}

.swiper-pagination-bullet-active {
  background: var(--main-color-01);
  width: 14px;
  height: 14px;
  top: 0px;
  position: relative;
}

/* vk card */
.card-noborder .vk_post_imgOuter {
  border: none;
}

.card-noborder.vk_post-btn-display .card-body {
  padding-bottom: 3.5rem;
}

/* スタイルカスタマイズ ------------------------------------------------------------- */
.white-box-cont {
  -webkit-filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.1));
  padding: 0 1.6rem;
}

.white-box-cont > .wp-block-group {
  max-width: 980px !important;
  margin: 0 auto;
}

/* 見出し */
/* 見出し１ */
.cus-heading-g1 {
  margin-bottom: 26px;
}

.cus-heading-g1 h2 {
  border: none;
  font-size: clamp(1.6rem, 1.4rem + 0.8vw, 2rem);
  margin-bottom: 1.2em !important;
  font-weight: 600;
}

.cus-heading-g1 p {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2em;
  color: var(--main-color-01);
  text-align: center;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 10px !important;
}

.cus-heading-g1 p::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: var(--main-color-01);
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 1rem;
}

/* 見出し１ 左寄せ */
.cus-heading-g1.left h2 {
  text-align: left;
}

.cus-heading-g1.left p {
  text-align: left;
}

.cus-heading-g1.left p::after {
  left: 0;
  -webkit-transform: none;
          transform: none;
}

/* 段落下線点線 */
p.cus-p-border-bottom-dotted {
  border-bottom: 1px dotted;
  padding: 0 0.5em 0.2em 0.5em;
  margin: 0 5px 0.8em 5px !important;
  display: inline-block;
  color: #c5943f;
}

/* ボタン */
.cus-button-1 {
  position: relative;
  display: block;
  text-align: right;
}

.cus-button-1 > a {
  position: relative;
  display: inline-block;
  padding: 0 50px 0 15px;
  text-decoration: none;
}

.cus-button-1 > a::after {
  content: "";
  width: calc(100% + 50px);
  height: 25px;
  border-bottom: solid 1px;
  border-right: solid 1px;
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
  position: relative;
  top: -14px;
  left: -20px;
  display: inline-block;
}

/* コンテンツ幅レイアウト */
.width-contents {
  max-width: 1110px;
  margin: 0 auto;
}

.width-mid {
  max-width: 780px;
  margin: 0 auto;
}

/* テーブルレイアウト */
.custom-table01 > table {
  border: none;
  border-spacing: 0 6px;
  border-collapse: separate;
}

.custom-table01 > table th,
.custom-table01 > table td {
  padding: 1.4em 0;
  border: none;
}

.custom-table01 > table th, .custom-table01 > table tr > td:first-child {
  width: 30%;
  background: #F6F8FC;
  color: var(--text-color-01);
  font-weight: bold;
  text-align: center;
}

.custom-table01 > table td {
  padding-left: 1.4rem;
  padding-right: 1.2rem;
  position: relative;
}

.custom-table01 > table td::after {
  background-color: #E8E8E8;
  border-radius: 10rem;
  content: "";
  display: block;
  height: 1px;
  width: 99%;
  bottom: 0;
  right: 0;
  position: absolute;
}

/* ヘッダー -------------------------------------------------------------------- */
.site-header {
  -webkit-box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.1);
}

/* ロゴ調整 */
#site-header-container {
  max-width: 100%;
  padding-left: 2%;
  padding-right: 2%;
  height: 86px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#site-header .site-header-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: auto;
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 340px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.site-header--layout--nav-float .site-header-logo a {
  width: 100%;
}

#site-header .site-header-logo .catchphrase {
  display: block;
  font-size: 14px;
  line-height: 1em;
  padding-bottom: 8px;
}

.header_scrolled #site-header .site-header-logo .catchphrase {
  display: none;
}

.site-header-logo img {
  max-height: 65px;
  width: 100%;
}

.header-logo-after-cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-logo-after-cont a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-left: 1.2rem;
}

.header-logo-after-cont img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.header_scrolled .header-logo-after-cont > a > img {
  max-height: 50px;
}

/* メニュー */
.global-nav-list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  float: none;
}

.global-nav-list > li:before {
  display: none;
}

.global-nav-list > li.gnavi-cus-contact > a {
  color: #006CCB;
  border: 2px solid #006CCB;
  border-radius: 0.6rem;
  padding: 12px 1.2rem;
  height: auto;
  margin-left: 16px;
}

.global-nav-list > li.gnavi-cus-contact > a > .global-nav-name > i::before {
  font-weight: 900;
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: middle;
}

.global-nav-list > li > a > span {
  color: var(--accent-color01);
  font-weight: 800;
}

#global-nav > ul {
  padding: 0.5rem 0 0.5rem 1rem;
}

.header_scrolled #site-header-container {
  height: 100%;
}

.header_scrolled .global-nav-list > li > a {
  padding: 0 1.5em;
}

/* サブメニュー */
.global-nav-list > li > ul.sub-menu {
  background-color: #ffffff;
  -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  left: 50%;
  margin-left: -150px;
  width: 300px;
}

.global-nav-list > li .global-nav-description {
  color: var(--main-color-01);
  opacity: 1;
}

.global-nav-list .sub-menu li a {
  padding: 20px 1.2em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  display: block;
  font-size: 0.95rem;
}

.global-nav-list .sub-menu li a {
  color: var(--vk-color-text-body);
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

.global-nav-list .sub-menu li a:hover {
  background-color: var(--vk-color-primary-vivid);
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

/* SNSアイコン */
.global-nav-list > li.gnavi-cus-icon-sns:before {
  border: none;
  display: none;
}

.global-nav-list > li.gnavi-cus-icon-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 1rem;
}

.global-nav-list > li.gnavi-cus-icon-sns a {
  padding: 0;
  height: auto;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.global-nav-list > li.gnavi-cus-icon-sns a:hover {
  opacity: 0.6;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

/* アイコンサイズ */
.global-nav-list > li.gnavi-cus-icon-sns i {
  font-size: 33px;
  margin: 0;
}

/* アイコンカラー */
.global-nav-list > li.gnavi-cus-icon-sns.facebook i, .vk-menu-acc > li.gnavi-cus-icon-sns.facebook i {
  color: #3B5998;
}

.global-nav-list > li.gnavi-cus-icon-sns.x i, .vk-menu-acc > li.gnavi-cus-icon-sns.x i {
  color: #000;
}

.global-nav-list > li.gnavi-cus-icon-sns.instagram i, .vk-menu-acc > li.gnavi-cus-icon-sns.instagram i {
  color: #C13584;
}

.global-nav-list > li.gnavi-cus-icon-sns.line i, .vk-menu-acc > li.gnavi-cus-icon-sns.line i {
  color: #06c755;
}

#breadcrumb .container {
  max-width: 94%;
}

/* トップページ ---------------------------------------------------------- */
/* お花の残し方 */
.nokoshikata-cont .wp-block-vk-blocks-card-item {
  overflow: visible;
}

.nokoshikata-cont .vk_post_imgOuter {
  position: relative;
  overflow: visible;
}

.nokoshikata-cont .wp-block-vk-blocks-card-item .vk_post_imgOuter::after {
  position: absolute;
  top: -12px;
  left: -16px;
  display: inline-block;
  width: 155px;
  height: 60px;
  content: "";
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
}

.nokoshikata-cont .wp-block-vk-blocks-card-item:first-of-type .vk_post_imgOuter::after {
  background: url("../img/nokoshikata-s1.svg") no-repeat;
}

.nokoshikata-cont .wp-block-vk-blocks-card-item:nth-of-type(2) .vk_post_imgOuter::after {
  background: url("../img/nokoshikata-s2.svg") no-repeat;
}

.nokoshikata-cont .wp-block-vk-blocks-card-item:nth-of-type(3) .vk_post_imgOuter::after {
  background: url("../img/nokoshikata-s3.svg") no-repeat;
}

.nokoshikata-cont .wp-block-vk-blocks-card-item .card-title {
  margin-bottom: 0.4em;
  font-size: 1.4rem;
  font-weight: 600;
}

/* 簡単見積･問い合わせ ページ ------------------------------------------------------------ */
body.post-name-contact .site-body {
  padding: 0;
}

body.post-name-contact .card a.btn-primary {
  color: var(--main-color-03);
}

body.post-name-contact .btn-primary {
  border-color: var(--main-color-03);
}

body.post-name-contact .btn-primary:hover {
  background-color: var(--main-color-03);
}

body.post-name-contact .btn-primary:active, .btn-primary:focus, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active {
  background-color: var(--main-color-03);
  border-color: var(--main-color-03);
}

/* 加工方法 */
.processing-cont .wp-block-vk-blocks-card-item {
  overflow: visible;
}

.processing-cont .vk_post_imgOuter {
  position: relative;
  overflow: visible;
}

.processing-cont .wp-block-vk-blocks-card-item .vk_post_imgOuter::after {
  position: absolute;
  top: -12px;
  left: -16px;
  display: inline-block;
  width: 155px;
  height: 60px;
  content: "";
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
}

.processing-cont .wp-block-vk-blocks-card-item:first-of-type .vk_post_imgOuter::after {
  background: url("../img/processing-s1.svg") no-repeat;
}

.processing-cont .wp-block-vk-blocks-card-item:nth-of-type(2) .vk_post_imgOuter::after {
  background: url("../img/processing-s2.svg") no-repeat;
}

.processing-cont .wp-block-vk-blocks-card-item:nth-of-type(3) .vk_post_imgOuter::after {
  background: url("../img/processing-s3.svg") no-repeat;
}

/* メニュータブ 見積･お問い合わせ */
.tab_box .btn_area {
  margin: 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tab_box .tab_btn {
  width: 50%;
  padding: 0.8em 0;
  margin: 0 !important;
  color: #333;
  background: #e7f2ff;
  text-align: center;
  cursor: pointer;
  -webkit-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}

.tab_box .tab_btn:hover {
  background-color: #e7f2ff;
}

.tab_box .tab_btn.active {
  background: var(--main-color-03);
  color: #fff;
}

.tab_box .panel_area {
  padding: 20px;
}

.tab_box .tab_panel {
  display: none;
}

.tab_box .tab_panel.active {
  display: block;
}

/* 簡単見積 フォーム */
.storia-form-cont-item {
  margin-top: 30px;
}

.storia-form-cont .storia-form-cont-item.select-process {
  display: block;
}

.img-select-wrap .wpcf7-form-control-wrap {
  margin-bottom: 30px;
  display: block;
}

.img-select label {
  height: 100%;
  width: 100%;
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

body.post-name-contact input[type=submit] {
  border: 1px solid var(--main-color-03);
  background-color: var(--main-color-03);
}

body.post-name-contact .contact-submit input[type=submit]:hover {
  color: var(--main-color-03);
  border: 1px solid var(--main-color-03);
}

.storia-form-cont input[type=radio] {
  accent-color: #3A72B9;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  vertical-align: middle;
  margin-top: 2px;
}

.storia-form-cont .wpcf7-list-item-label {
  vertical-align: middle;
}

.storia-form-cont .img-select .wpcf7-list-item:has(input[type=radio]:checked) {
  -webkit-box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.2);
  opacity: 0.8;
}

.storia-form-cont {
  margin-bottom: 60px;
}

.storia-form-cont-item > h2 {
  border: none;
  font-size: 1.6rem;
  font-weight: 600;
  border-bottom: 3px solid #5385c5;
  padding-left: 1rem;
  margin-top: 64px;
}

.storia-form-cont-item:first-of-type > h2 {
  margin-top: 0;
}

.storia-form-cont-item > h2 > span:first-child {
  color: #3A72B9;
  font-size: 1rem;
  padding: 0;
  line-height: 1em;
  display: block;
  letter-spacing: 0.1em;
}

.storia-form-cont-item > p {
  background-color: #ECF4FF;
  padding: 1rem 1.2rem;
  margin-bottom: 1.2rem;
}

.storia-form-cont-item .img-select {
  display: grid;
  /* grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); */
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}

.storia-form-cont-item .img-select .wpcf7-list-item {
  width: 100%;
  border: 1px solid #efefef;
  padding: 1rem 0.8rem 0.8rem;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
  -webkit-box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.1);
  background-color: #FFF;
  margin: 0;
}

.storia-form-cont-item .img-select .wpcf7-list-item span {
  font-weight: 700;
  font-size: clamp(0.813rem, 0.676rem + 0.68vw, 1.188rem);
  padding-left: 0.4rem;
  vertical-align: middle;
}

.storia-form-cont-item .img-select .list-item-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.storia-form-cont-item .img-select .list-item-img {
  height: 260px;
  width: 100%;
  max-width: 100%;
}

.storia-form-cont-item .img-select .wpcf7-list-item img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  padding-top: 0.7rem;
  max-height: 100%;
  height: 100%;
  width: 100%;
  max-width: 100%;
}

/* 合計（参考料金） */
.item-price-total-cont {
  background-color: #3A72B9;
  padding: 16px 0.6rem;
  max-width: 120px;
  position: fixed;
  right: 0;
  bottom: 12%;
  z-index: 999;
  text-align: right;
  border-radius: 0.6rem 0 0 0.6rem;
  -webkit-box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.2);
}

.item-price-total-cont dl {
  margin: 0;
}

.item-price-total-cont dt:nth-child(1) {
  margin: 0;
  color: #FFF;
  font-size: 0.8rem;
}

.item-price-total-cont dt:nth-child(2) {
  color: #FFF;
}

.item-price-total-cont dt:nth-child(2) > span {
  font-size: 0.7rem;
}

.item-price-total-cont dd {
  color: #FFF;
  display: block;
}

.item-price-total-cont dd.note {
  display: inline-block;
}

.item-price-total-cont dd.item-price-total-warn {
  display: inline-block;
}

.item-price-total-cont dd input {
  border: none;
  width: 100%;
  text-align: right;
  font-size: 1.1rem;
  color: #3f3f3f;
  border-radius: 0.2rem;
  padding: 0.4rem 0.2rem 0.28rem;
  max-width: 130px;
}

.item-price-total-cont .note {
  font-size: 0.75rem;
}

.item-price-total-cont .item-price-total-warn {
  font-size: 0.75rem;
  color: #ffda16;
}

/* セレクトボックス 分岐 */
#text-design-select > div {
  /* display: none; */
}

#text-design-wedding .text {
  margin-top: 16px;
}

#text-design-wedding .text p {
  margin-bottom: 0.2em;
}

/* 問い合わせフォーム基本レイアウト */
.common-form-layout dl {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(20%, 0.1fr) 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.8rem 0 0;
}

.common-form-layout dl dt {
  grid-column: 1/2;
  margin: 4px 0 4px;
}

.common-form-layout dl dd {
  grid-column: 2/3;
}

.common-form-layout .name-style {
  max-width: 300px;
}

.common-form-layout .mail-style {
  max-width: 400px;
}

.common-form-layout :where(.tel-style, .date-style) {
  max-width: 240px;
}

.common-form-layout .wpcf7-list-item {
  margin: 0;
}

.common-form-layout .wpcf7-form-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 1.2rem;
}

.common-form-layout .wpcf7-form-control .has-free-text {
  display: block;
  width: 100%;
}

.common-form-layout .caution ul {
  padding-left: 1em;
}

.common-form-layout .caution li {
  list-style: none;
}

.common-form-layout .caution li::before {
  content: "※";
  margin-left: -1em;
}

.common-form-layout .doui .wpcf7-acceptance {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.common-form-layout .contact-submit .wpcf7-submit {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}

.common-form-layout .item-wrap-title {
  border-bottom: 1px solid #ededed;
  padding-bottom: 12px;
}

.common-form-layout .item-wrap-title > p {
  margin: 12px 0 12px 0 !important;
  font-size: 0.85em;
  border-bottom: 1px solid #ededed;
  padding: 0 0.4em 0.2em;
}

.common-form-layout .item-wrap-title dl:first-of-type {
  margin: 0;
}

/* 同意チェックボックス */
.consent-check {
  text-align: center;
}

.consent-check a {
  padding: 10px 4.2rem;
  margin-bottom: 12px;
  border: 1px solid;
  display: inline-block;
}

/* このイメージで問い合わせ */
.contact-sample-image dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3%;
}

.contact-sample-image img {
  width: 100%;
  max-width: 180px;
}

.contact-sample-image span {
  font-size: 1.2em;
}

.contact-sample-image .text span {
  display: block;
}

.contact-sample-image .text span:nth-child(1) {
  font-size: 1.2em;
}

.contact-sample-image .text span:nth-child(2) {
  font-size: 0.9em;
}

.contact-sample-image .remove-btn {
  margin-top: 8px;
}

.contact-sample-image .remove-btn a {
  font-size: 0.7em;
  background-color: #e30000;
  color: #FFF;
  padding: 1px 5px 2px;
  font-family: "Noto Sans JP";
  border-radius: 0.2rem;
}

/* フッター ----------------------------------------------------------------- */
.site-footer {
  border-top: none;
  background: #FFF;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

.site-footer-content {
  padding-bottom: 36px;
}

.site-footer-content .widget {
  margin-bottom: 0;
}

.site-footer-copyright {
  padding: 2px 1.2rem;
  max-width: 100% !important;
  background: var(--main-color-01);
  color: #FFF;
}

.site-footer-copyright > p {
  font-size: 14px;
  line-height: 1em;
  margin: 20px;
}

/* フッターのvk投稿リスト */
.site-footer .postListText_singleTermLabel {
  display: inline-block;
  float: none;
  max-width: 120px;
  min-width: 120px;
}

.site-footer .postListText_title {
  float: none;
  margin-top: 0.4em;
}

/* コンタクトフォーム整形 お問い合わせ */
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
  margin: 4px 0;
  line-height: 1.3em;
}

.table-contact-form {
  border: none;
}

.table-contact-form p {
  margin-bottom: 0;
}

.contact-preferred-title {
  border-bottom: 1px solid #5e321a;
  padding: 6px 8px 2px;
  font-size: 0.9em;
}

.table-contact-form-top {
  border-bottom: 1px solid #e1e1e1;
  padding-bottom: 14px;
  border-collapse: separate;
  margin-bottom: 20px;
}

.table-contact-form th {
  border: none;
  text-align: left;
  font-size: 1em;
}

.table-contact-form td {
  border: none;
  width: 75%;
}

.table-contact-form .name-style {
  max-width: 300px;
}

.table-contact-form .mail-style {
  max-width: 400px;
}

.table-contact-form :where(.tel-style, .date-style) {
  max-width: 240px;
}

.contact-req {
  color: #ffaa00;
  font-size: 0.8em;
  border: 1px solid #ffaa00;
  padding: 0.2em 4px 0.2em;
  border-radius: 6px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}

.your-talk {
  font-size: 1.2em;
}

.contact-attention {
  color: #ffaa00;
  font-size: 0.8em;
}

.contact-submit {
  text-align: center;
  margin-top: 36px;
}

.contact-submit input[type=submit] {
  width: 50%;
  padding: 0.8em 2em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.contact-submit input[type=submit]:hover {
  background: none;
  color: var(--vk-color-primary);
  border: 1px solid var(--vk-color-primary);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.wpcf7-spinner {
  visibility: hidden;
  display: block;
  background-color: #23282d;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 8px auto 4px;
  position: relative;
}

input#zip {
  width: 10em;
}

.wpcf7-checkbox .has-free-text {
  display: block;
}

/* swiper トップページキービジュアル */
.top-kv {
  background-color: #FFF;
  padding-bottom: 30px;
  padding-top: 11px;
}

/* スライドの動き等速 */
.top-swiper .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

/* 画像のサイズ調整 */
.top-swiper .swiper-slide {
  height: 600px !important;
  width: auto !important;
}

.top-swiper .swiper-slide img {
  width: auto;
  height: 100%;
}

/* 背景 */
.bg-triangle-top {
  position: relative;
  overflow: visible;
}

.bg-triangle-top::before {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  display: inline-block;
  height: 187px;
  max-width: 2318px;
  width: 100%;
  margin-top: -185px;
  background: url("../img/bg-triangle-top.svg") no-repeat top center;
  background-size: cover;
  z-index: -1;
}

/* パララックス */
.orn {
  position: absolute;
  display: inline-block;
  width: 100%;
  z-index: -1;
}

.orn-img01::before {
  position: absolute;
  top: 7px;
  display: inline-block;
  content: "";
  width: 560px;
  height: 542px;
  background: url("../img/orn-img01.png") no-repeat right top;
  -webkit-transform: rotate(-4deg);
          transform: rotate(-4deg);
  left: -130%;
}

.orn-img02::before {
  position: absolute;
  top: -30px;
  display: inline-block;
  content: "";
  width: 490px;
  height: 330px;
  background: url("../img/orn-img02.png") no-repeat right top;
  -webkit-transform: rotate(4deg);
          transform: rotate(4deg);
  right: -114%;
}

.orn-img03::before {
  position: absolute;
  top: 264px;
  display: inline-block;
  content: "";
  width: 370px;
  height: 250px;
  background: url("../img/orn-img03.png") no-repeat right top;
  -webkit-transform: rotate(-4deg);
          transform: rotate(-4deg);
  right: -96%;
}

/* baguetteBox */
body #baguetteBox-overlay .full-image img {
  display: inline-block;
  width: auto;
  height: auto;
  vertical-align: middle;
  -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  max-height: 95%;
  max-width: 100%;
  min-height: 95%;
  min-width: 95%;
  -o-object-fit: contain;
     object-fit: contain;
  pointer-events: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/* ハンバーガーメニューアニメ */
#vk-mobile-nav-menu-btn {
  display: none;
}

.admin-bar .vk-mobile-nav.vk-mobile-nav-drop-in, .vk-mobile-nav.vk-mobile-nav-drop-in {
  top: 0;
}

.admin-bar .hamburger {
  top: 52px;
}

@media only screen and (max-width: 782px) {
  .admin-bar .hamburger {
    top: 66px;
  }
}
.hamburger {
  display: block;
  position: fixed;
  z-index: 2100;
  right: 13px;
  top: 14px;
  width: 48px;
  height: 48px;
  cursor: pointer;
  text-align: center;
}

.hamburger span {
  display: block;
  position: absolute;
  width: 36px;
  height: 4px;
  left: 6px;
  background: #555;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -webkit-transform: scaleY(0.5) translateY(1px);
          transform: scaleY(0.5) translateY(1px);
}

.hamburger span:nth-child(1) {
  top: 10px;
}

.hamburger span:nth-child(2) {
  top: 22px;
}

.hamburger span:nth-child(3) {
  top: 34px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 16px;
  left: 5px;
  -webkit-transform: rotate(-45deg) scaleY(0.5) translateY(1px);
  transform: rotate(-45deg) scaleY(0.5) translateY(1px);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg) scaleY(0.5) translateY(1px);
  transform: rotate(45deg) scaleY(0.5) translateY(1px);
}

#vk-mobile-nav {
  text-align: center;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#vk-mobile-nav nav ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

#vk-mobile-nav nav ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  -webkit-transition: 0.4s all;
  transition: 0.4s all;
}

#vk-mobile-nav nav ul li:last-child {
  padding-bottom: 0;
}

#vk-mobile-nav nav ul li a {
  display: block;
  padding: 1em 0;
  text-decoration: none;
}

/* このクラスを、jQueryで付与・削除する */
#vk-mobile-nav.active {
  visibility: visible;
  opacity: 1;
}

/* reCaptcha v3 位置変更　左下 */
.grecaptcha-badge {
  left: 6px !important;
  width: 70px !important;
  z-index: 999;
}

.grecaptcha-badge:hover {
  left: 6px !important;
  width: 256px !important;
}

/* スクロールダウン */
.container_06 {
  height: 86px;
  position: relative;
}

.container_06 a:hover {
  color: #7b7b7b;
  text-decoration-color: #7b7b7b;
}

.scroll-down_06 {
  position: absolute;
  top: 10%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  font-family: serif;
  color: #7b7b7b;
  font-size: 14px;
  text-decoration: none;
}

.circle-arrow {
  width: 40px;
  height: 40px;
  border: 1px solid #7b7b7b;
  border-radius: 50%;
  position: relative;
  margin-bottom: 12px;
  margin-inline: auto;
  -webkit-animation: pulse 2s infinite;
          animation: pulse 2s infinite;
}

.circle-arrow::after {
  content: "";
  position: absolute;
  top: 49%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-left: 1px solid #7b7b7b;
  border-bottom: 1px solid #7b7b7b;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/* ページトップへ */
#page_top {
  position: fixed;
  right: 1.5%;
  bottom: 2%;
  z-index: 100;
  height: 86px;
}

#page_top a:hover {
  color: #7b7b7b;
  text-decoration-color: #7b7b7b;
}

#page_top .scroll-top {
  text-align: center;
  font-family: serif;
  color: #7b7b7b;
  font-size: 14px;
  text-decoration: none;
}

#page_top .circle-arrow {
  width: 40px;
  height: 40px;
  border: 1px solid #7b7b7b;
  border-radius: 50%;
  position: relative;
  margin-bottom: 12px;
  margin-inline: auto;
  -webkit-animation: pulseTop 2s infinite;
          animation: pulseTop 2s infinite;
}

#page_top .circle-arrow::after {
  content: "";
  position: absolute;
  top: 49%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-left: 1px solid #7b7b7b;
  border-bottom: 1px solid #7b7b7b;
  -webkit-transform: translate(-50%, -25%) rotate(135deg);
  transform: translate(-50%, -25%) rotate(135deg);
}

@-webkit-keyframes pulseTop {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes pulseTop {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/* メディアクエリ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* PC */
/* PC・タブレット */
@media only screen and (max-width: 1199.98px) {
  /* ヘッダー電話メニュー */
  .header-tel {
    display: none;
  }
}
/* PC・タブレット */
@media only screen and (min-width: 992px) {
  /* ヘッダースクロール時 */
  .header_scrolled .site-header-container--scrolled--logo-and-nav-full {
    padding-right: 2rem;
  }
  body.device-pc .hamburger {
    display: none;
  }
}
/* タブレット */
@media only screen and (max-width: 991.98px) {
  /* スマホ･タブレットスクロールカクツキ防止 テーマ不具合？ */
  .page-header {
    margin-top: 0 !important;
  }
  .header_scrolled.admin-bar .site-header {
    top: 0;
  }
  /* 簡単見積フォーム */
  .storia-form-cont-item .img-select .list-item-img {
    height: 160px;
  }
}
/* タブレット */
/* タブレット・スマホ */
@media only screen and (max-width: 767.98px) {
  .table-contact-form th {
    display: block;
  }
  .table-contact-form td {
    width: 100%;
    display: block;
  }
  .common-form-layout dl {
    display: block;
  }
  .vk_post.media {
    display: block;
  }
  .vk_post.media .media-img {
    width: 100%;
  }
  .vk_post.media .media-body {
    width: 100%;
    height: auto;
  }
  .rellax {
    display: none;
  }
  /* フォーム 合計参考料金 */
  .item-price-total-cont {
    display: block;
    max-width: 100%;
    width: 100%;
    bottom: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    text-align: left;
    padding: 12px 0.6rem 8px;
  }
  .item-price-total-cont dt:nth-child(2) {
    color: #FFF;
    font-size: 1.4rem;
    margin-bottom: 0;
    line-height: 1.2em;
  }
  .item-price-total-cont dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.2rem;
  }
  .storia-form-cont-item .img-select {
    grid-template-columns: 1fr 1fr;
  }
}
/* タブレット・スマホ */
/* スマホ */
@media only screen and (max-width: 575.98px) {
  .top-swiper .swiper-slide {
    height: 400px !important;
  }
  /* 簡単見積フォーム */
  .storia-form-cont-item .img-select .list-item-img {
    height: 30svw;
  }
  .storia-form-cont input[type=radio] {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .storia-form-cont-item .img-select .wpcf7-list-item span {
    padding-left: 0;
  }
}/*# sourceMappingURL=main-style.css.map */