@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* --------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# カスタムプロパティ
# ベース
# コモン
# ページ
# ウジェット
  - フッター
# プラグイン
  - Contact Form 7
# 追加ブロックエディタースタイル
# ユーティリティ

clamp計算
最小：360
最大：1096
参考：https://free.page-craft.jp/clamp/

/* --------------------------------------------------------------
# カスタムプロパティ
-------------------------------------------------------------- */
:root {
  --color-accent01: #f15f2c;
  --color-accent02: #fff36d;
  --color-accent03: #ff8224;
  --color-accent04: #269e8e;
  --color-gray01: #f2f2f2;
  --color-gray02: #f6f6f6;
  --color-gray03: #333;
  --color-main-secondary: #3370a6;
  --drop-shadow-lv1: 0px 4px 8px rgba(0, 0, 0, .15);
  --drop-shadow-lv2: 3px 3px 8px rgba(0, 0, 0, .1);
  --drop-shadow-lv3: 0px 4px 8px rgba(0, 0, 0, .15);
  --font-size-clamp-lv1: clamp(1.125rem, .942rem + .815vw, 1.5rem); /* 18px〜24px */
  --font-size-clamp-lv2: clamp(1.375rem, 1.008rem + 1.63vw, 2.125rem); /* 22px〜34px */
  --font-size-clamp-lv3: clamp(1.625rem, 1.197rem + 1.902vw, 2.5rem); /* 26px〜40px */
  --font-size-clamp-lv4: clamp(1.75rem, 1.139rem + 2.717vw, 3rem); /* 28px〜48px */
  --font-size-root: 3.89vw;
  --font-weight-lv0: 100;
  --font-weight-lv1: 200;
  --font-weight-lv3: 300;
  --font-weight-lv4: 400;
  --font-weight-lv5: 500;
  --font-weight-lv6: 600;
  --font-weight-lv7: 700;
  --font-weight-lv8: 800;
  --font-weight-lv9: 900;
  --letter-spacing-lv1: 0;
  --letter-spacing-lv2: .025em;
  --letter-spacing-lv3: .05em;
  --letter-spacing-lv4: .075em;
  --letter-spacing-lv5: .1em;
  --radius-circle: 50%;
  --radius-lv1: 5px;
  --radius-lv2: 10px;
  --radius-lv3: 80px;
  --radius-lv4: 20px;
}

/* --------------------------------------------------------------
# ベース
-------------------------------------------------------------- */
html {
  text-align: justify;
}

.page #content {
  margin-bottom: 0;
  padding-top: 0;
}

.p-articleFoot {
  display: none;
}

/* --------------------------------------------------------------
# コモン
-------------------------------------------------------------- */

/* デバイス出し分け
-------------------------------------------------------------*/
@media (min-width: 782px) {
  .pc_only.is-media {
    display: block !important;
  }
  .sp_only.is-media {
    display: none !important;
  }
}

/* 背景
-------------------------------------------------------------- */
.swell-block-fullWide.has-bg-img.is-bg-left {
  background-origin: content-box;
  background-position: left top -80vw;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 600px) {
  .swell-block-fullWide.has-bg-img.is-bg-left {
    background-position: left bottom;
    background-size: cover;
  }
}
.swell-block-fullWide.has-bg-img.is-bg-right {
  background-origin: content-box;
  background-repeat: no-repeat;
  background-size: cover;
}

.swell-block-fullWide.has-bg-img.is-bg-right.-primary {
  background-position: right top -233vw;
}
.swell-block-fullWide.has-bg-img.is-bg-right.-secondary {
  background-position: right top -217vw;
}
@media (min-width: 600px) {
  .swell-block-fullWide.has-bg-img.is-bg-right {
    background-position: right bottom !important;
    background-size: cover;
  }
}

/* 見出し
-------------------------------------------------------------- */
h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before,
h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
  background: repeating-linear-gradient(var(--color_htag) 0%, var(--color_htag) 50%, var(--color-main-secondary) 50%, var(--color-main-secondary) 100%) !important;
}

h2.is-deco-none:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
h3.is-deco-none:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  padding-left: 0 !important;
}

h2.is-deco-none:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before,
h3.is-deco-none:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
  display: none !important;
}

h2.is-line-none.is-style-section_ttl {
  padding-bottom: 0;
}
h2.is-line-none.is-style-section_ttl::after {
  display: none;
}

/* タイトル
-------------------------------------------------------------- */
.id_203 .c-pageTitle {
  border-bottom: 1px solid var(--color_border);
}

.id_203 .c-pageTitle span {
  border-bottom: 1px solid var(--color_main);
  float: left;
  margin-bottom: -1px;
  padding: .25em .5em;
}

/* ボタン
-------------------------------------------------------------- */
.swell-block-button.is-style-more_btn.is-style-main_btn a,
.home .p-postListWrap.is-style-main .is-style-more_btn a {
  box-shadow: 0 0 0 2px var(--color-main-secondary);
}

.swell-block-button.is-style-more_btn.is-style-main_btn a::after,
.home .p-postListWrap.is-style-main .is-style-more_btn a::after {
  display: none;
}

.swell-block-button.is-style-more_btn.is-style-main_btn a:hover,
.home .p-postListWrap.is-style-main .is-style-more_btn a:hover {
  background-color: var(--color-main-secondary);
}

.swell-block-button.is-style-more_btn.is-style-main_btn a:hover span,
.home .p-postListWrap.is-style-main .is-style-more_btn a:hover {
  color: var(--swl-text_color--white);
}

.swell-block-button.is-style-more_btn.is-style-main_btn a span,
.home .p-postListWrap.is-style-main .is-style-more_btn a {
  color: var(--color-main-secondary);
  font-weight: var(--font-weight-lv7);
}

.swell-block-button.is-style-btn_line.is-style-btn_border a {
  border: 2px solid;
}

/* ファイル
-------------------------------------------------------------- */
.wp-block-file {
  text-align: initial;
}

/* テーブル
-------------------------------------------------------------- */
@media (max-width: 959px) {
  .wp-block-table td:first-of-type {
    border-bottom: none;
  }
  .wp-block-table td:last-of-type {
    border-top: none;
  }
}

@media (min-width: 960px) {
  .wp-block-table td,
  .wp-block-table th {
    padding: 1.5em .75em;
  }
}

/* アコーディオン
-------------------------------------------------------------- */
.swell-block-accordion.is-style-title h3.swell-block-accordion__label {
  padding-left: 24px;
  position: relative;
}
.swell-block-accordion.is-style-title h3.swell-block-accordion__label::before {
  background: repeating-linear-gradient(var(--color_htag) 0%, var(--color_htag) 50%, var(--color-main-secondary) 50%, var(--color-main-secondary) 100%) !important;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 8px;
}
/* フッター
-------------------------------------------------------------- */
@media (min-width: 960px) {
  .l-footer .l-footer__nav {
    display: none;
  }
}

.l-footer .l-footer__foot {
  background-color: var(--color-accent04);
}

.l-footer .copyright {
  color: #fff;
}

/* コンテンツヘッダー
-------------------------------------------------------------- */
.l-topTitleArea {
  min-height: 6em;
}
@media (min-width: 600px) {
  .l-topTitleArea {
    min-height: 9em;
  }
}

.l-topTitleArea .l-topTitleArea__body {
  text-align: center;
}

.c-pageTitle {
  font-size: var(--font-size-clamp-lv3);
}

/* 投稿リスト
-------------------------------------------------------------- */

/* YouTube
-------------------------------------------------------------- */
.wp-block-embed-youtube.is-youtube {
  max-width: 640px;
}

/* ページトップへ戻る
-------------------------------------------------------------- */
.c-fixBtn {
  border: 1px solid var(--color-accent04) !important;
  color: var(--color-accent04) !important;
}
@media (min-width: 960px) {
  .c-fixBtn.hov-bg-main:hover {
    background-color: var(--color-accent04) !important;
  }
}

/* --------------------------------------------------------------
# ページ
-------------------------------------------------------------- */

/* トップ
-------------------------------------------------------------- */

/* メインビジュアル ------------------------------------------ */
.p-mainVisual .p-mainVisual__slideTitle {
  background-color: #f75e2d;
  font-size: var(--font-size-clamp-lv3);
  font-weight: var(--font-weight-lv7);
  letter-spacing: var(--letter-spacing-lv5);
  max-width: clamp(13.125rem, 9.932rem + 14.19vw, 18.438rem); /* 210px〜295px */
  padding-left: .6em;
  padding-right: .6em;
}

@media (min-width: 960px) {
  .p-mainVisual .p-mainVisual__slideTitle {
    max-width: 535px;
  }
}

/* 輻射冷暖房とは？
-------------------------------------------------------------- */
.p-about-fukusya-contact > div {
  position: relative;
}

.p-about-fukusya-contact__chara {
  left: 50%;
  position: absolute;
  top: min(-120 / 599* 100vw, -120px);
  transform: translateX(-50%);
  z-index: 999;
}

@media (min-width: 600px) {
  .p-about-fukusya-contact__chara {
    top: min(-120 / 781* 100vw, -120px);
  }
}

@media (min-width: 782px) {
  .p-about-fukusya-contact__chara {
    left: initial;
    right: 0;
    top: min(-60 / 900* 100vw, -60px);
    transform: none;
  }
}

.p-about-fukusya-map a {
  transition: opacity .25s;
}
.p-about-fukusya-map a:hover {
  opacity: .8;
}

/* --------------------------------------------------------------
# ウジェット
-------------------------------------------------------------- */

/* フッター
-------------------------------------------------------------- */
@media (max-width: 959px) {
  .l-footer .l-footer__widgetArea {
    display: none;
  }
}

.c-listMenu a {
  border-bottom: none;
  font-size: .875em;
  transition: none;
}

.c-listMenu a:before {
  display: none;
}

.c-listMenu a:hover {
  background-color: inherit;
  padding: .75em 1em .75em 1.5em;
}

.w-footer .w-footer__box {
  flex: 0 1 auto;
}

.l-footer .l-footer__nav a {
  color: #fff;
}

.l-footer .l-footer__nav li:first-child a {
  border-left: none;
  border-right: none;
}

@media screen and (min-width: 959px) {
  .l-footer .l-footer__nav a {
    color: inherit;
  }
}

/* --------------------------------------------------------------
# プラグイン
-------------------------------------------------------------- */

/* Contact Form 7
-------------------------------------------------------------- */
.page-id-717 div.wpforms-container-full .wpforms-form .wpforms-submit-container {
  text-align: center !important;
}
.page-id-717 div.wpforms-container-full input[type=text],
.page-id-717 div.wpforms-container-full input[type=email],
.page-id-717 div.wpforms-container-full textarea {
  border: 1px solid rgba(199,199,199,.5) !important;
}
@media screen and (max-width: 599px) {
  .page-id-717 div.wpforms-container-full .wpforms-field.wpforms-field-radio.wpforms-list-inline ul {
    flex-direction: column;
  }
}
.page-id-717 div.wpforms-container-full .wpforms-form button[type=submit] {
  align-items: center;
  background: #f15f2c !important;
  border-color: #ee7948 !important;
  border-radius: 5px;
  border-radius: 80px;
  color: #fff !important;
  display: inline-flex;
  font-size: 1.5em;
  font-weight: 700;
  height: 3.5em;
  justify-content: center;
  line-height: 1.5;
  min-width: var(--the-min-width);
  min-width: 80%;
  padding: 1em 1.5em;
  transition: box-shadow .25s;
  width: 60%;
}
.page-id-717 div.wpforms-container-full .wpforms-form button[type=submit]:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.1), 0 12px 24px -12px rgba(0,0,0,.2);
  opacity: 1;
}

.page-id-717 .cf7-area .cf7-item {
  padding: 1em 0;
}

.page-id-717 .cf7-area .cf7-q {
  margin-bottom: 1em;
}

.page-id-717 .cf7-area .cf7-q label {
  display: block;
  font-style: normal;
  font-weight: 700;
  word-break: break-word;
  word-wrap: break-word;
}

.page-id-717 .cf7-area .cf7-q .cf7-req {
  color: #fc6060;
  font-weight: 500;
}

.page-id-717 .cf7-area .wpcf7-radio {
  display: flex; gap: 1em;
}
@media screen and (max-width: 599px) {
  .page-id-717 .cf7-area .wpcf7-radio {
    flex-direction: column;
  }
}
.page-id-717 .cf7-area .wpcf7-radio .wpcf7-list-item {
  margin-left: 0;
}

.page-id-717 .cf7-area .wpcf7-spinner {
  display: block;
}

.page-id-717 .cf7-area input[type="text"],
.page-id-717 .cf7-area input[type="email"],
.page-id-717 .cf7-area input[type="tel"],
.page-id-717 .cf7-area textarea {
  background-color: #fff;
  border: 1px solid rgba(199,199,199,.5);
  border-radius: 5px;
  padding: .5em;
  width: 100%;
}


.page-id-717 .cf7-area .cf7-submit {
  text-align: center;
}

.page-id-717 .cf7-area .cf7-submit [type=submit] {
  align-items: center;
  background: var(--color-accent04) !important;
  border-color: var(--color-accent04) !important;
  border-radius: 0px;
  /* border-radius: 80px; */
  color: #fff !important;
  display: inline-flex;
  font-size: 1.15em;
  font-weight: 700;
  height: 3.5em;
  justify-content: center;
  line-height: 1.5;
  min-width: var(--the-min-width);
  min-width: 50%;
  padding: 1em 1.5em;
  transition: box-shadow .25s;
  width: 50%;
}

@media screen and (max-width: 599px) {
  .page-id-717 .cf7-area .cf7-submit [type=submit] {
    height: 3em;
    line-height: .5;
    min-width: 80%;
    width: 80%;
  }
}

.page-id-717 .cf7-area .cf7-submit [type=submit]:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.1), 0 12px 24px -12px rgba(0,0,0,.2);
  opacity: 1;
}

/* --------------------------------------------------------------
# 追加ブロックエディタースタイル
-------------------------------------------------------------- */
.wp-block-columns.is-style-justify {
  justify-content: space-between;
}
.wp-block-columns.is-style-center {
  justify-content: center;
}

/* --------------------------------------------------------------
# ユーティリティ
-------------------------------------------------------------- */
.u-drop-shadow01 {
  filter: drop-shadow(var(--drop-shadow-lv1));
}
.u-drop-shadow02 {
  filter: drop-shadow(var(--drop-shadow-lv2));
}
.u-drop-shadow.is-media figure {
  filter: drop-shadow(var(--drop-shadow-lv1));
}
.u-text-align-init {
  text-align: initial;
}
.u-max-width-initial > figure > img {
  max-width: initial;
}
