
@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template: cocoon-master
Version: 1.1.3
*/

/************************************
** 基本設定
************************************/
:root {
    --max-width: 1160px;
    --main-color: #47865B;
    --txt-black: #44403c;
    --bg-dark: #F2ECE0;
    --bg-light: #FEF9F1;

    --h1: 36px;
    --h1-mobile: 36px;
    --h2: 32px;
    --h2-mobile: 28px;

    --font-size-exlarge: 20px;
    --font-size-large: 18px;
    --font-size-semi-large: 17px;
    --font-size-normal: 16px;
    --font-size-semi-small: 15px;
    --font-size-small: 14px;
    --font-size-semi-mini: 13px;
    --font-size-mini: 12px;
    --white: #fff;
    --light-green: #e7f0e9;

    --red: #e05785;
    --blue: #2cb4bd;
    --orange: #f8d21e;
    --yellow: #fbf930;
    --light-blue-bg: #f5fbfe;
    --dark-grey: #a3a3a3;
    --light-grey: #F2F4F8;
    --link-bg: rgb(0 154 215 / 75%);
    --normal-blue: #46b8e4;

    --border-grey: #ccc;
    --weight-bold: 700;
    --weight-semi-bold: 600;
    --weight-mid: 500;
    --weight-nor: 400;
    --weight-light: 300;


    --marker-under: linear-gradient(transparent 68%, #ff9 50%);
    --marker-under-red: linear-gradient(transparent 68%, #ffc1d6 50%);
    --marker-under-blue: linear-gradient(transparent 68%, #a8dafb 50%);

    --marker-under-green: linear-gradient(transparent 68%, #BFCFBC 50%);
    
    --radius-large: 12px;
    --radius-normal: 6px;

    --transition: all 0.3s ease-in-out;
    --googleicon: "Material Symbols Outlined";
}


/************************************
** Cocoon変更
************************************/


/************************************
** サイト共通設定
************************************/
*{
    letter-spacing: 1%;
}
html{
    font-size: var(--font-size-normal);
    scroll-behavior: smooth;
}
/* ユーザーがOSやブラウザで「アニメーションを減らす」設定を有効にしている場合だけ、CSSを適用する */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
a{
    transition: var(--transition);
    color: var(--main-color);
    font-weight: 600;
}
a:hover{
    opacity: .8;
    color: var(--main-color);
}


#main{
    padding: 0;
}
#main .wrap{
    max-width: var(--max-width);
}
#main > article{
    margin-bottom: 0;
}

#main {
    background: var(--bg-dark);
}
/* 基本コンテンツ幅 */
.inner-container {
    width: calc(100% - 40px);
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.entry-content{
    margin-block: 0;
}
.entry-content > *{
    margin-bottom: 0;
}
.content{
    margin-top: 0;
}

.article :is(h1, h2, h3) {
    letter-spacing: 5%;
    line-height: 1.5;
}
.article h2{
    font-size: 36px;
    font-weight: 600;
    background: none;
    border-radius: 0;
    padding: 0;
}
.article ul,
.article ol {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
.article ul li,
.article ol li {
    margin: 0;
}

.green{
    color: var(--main-color);
}
.marker-under-blue{
    background: var(--marker-under-blue);
}
.marker-under-red{
    background: var(--marker-under-red);
}
.marker-under-green{
    background: var(--marker-under-green);
}

/* 見出し */
.title-blk{
    position: relative;
    margin-left: 50px;
}
/* 葉っぱの装飾 */
.title-blk::before {
    content: "";
    position: absolute;
    top: 38px;
    left: -42px;
    width: 30px;
    height: 42px;
    background: url("/wp-content/uploads/leaf-title.png") center / contain no-repeat;
}
.title-blk:has(> h1)::before {
    top: 44px;
    left: -44px;
    width: 36px;
    height: 46px;
}
.title-blk:has(> h2)::before {
    top: 38px;
    left: -42px;
    width: 30px;
    height: 42px;
}

.en-title{
    position: relative;
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: var(--main-color);
    padding-left: 26px;
}
.en-title::before{
    content: "";
    position: absolute;
    height: 1px;
    width: 12px;
    display: inline-block;
    background: var(--main-color);
    left: 5px;
    top: 12px;
}



/*
 * ページ共通 FV（ページヘッダー）
*/
.page-header-blk .inner-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "title image"
    "content image";
  column-gap: clamp(30px, 4vw, 60px);
}
/* 画像がない場合 */
.page-header-blk .inner-container:not(:has(.page-header-image)) {
    display: block;
}
.page-header-blk .title-blk {
  grid-area: title;
}
.page-header-content {
  grid-area: content;
  min-width: 0;
}
.page-header-text {
  margin-bottom: 36px;
}
.page-header-lead {
  margin: 0 0 28px;
  font-size: clamp(19px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.9;
  color: var(--main-color);
}
.page-header-description {
  line-height: 2.1;
}
.page-header-features.label-blk {
  margin-bottom: 0 !important;
}
.page-header-features li::before {
  content: "✓";
  font-weight: 700;
  margin-right: 6px;
}
.page-header-image {
  grid-area: image;
  align-self: center;
  justify-self: center;
  width: 100%;
  max-width: 380px;
  min-width: 0;
  overflow: hidden;
  border-radius: 22px;
  aspect-ratio: 4 / 3;
}
.page-header-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/*
 * ページ共通 こんなお悩み
*/
.worries-blk .title-blk {
  margin-bottom: 20px;
}
.worries-blk .txt-blk {
  margin-bottom: 40px;
}
.worries-blk .txt-blk p {
  margin: 0;
}

/* お悩み一覧 */
.worries-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.worries-item {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  align-items: center;
  column-gap: 15px;
  min-width: 0;
  padding: 28px;
  background: var(--white);
  border: 1px solid #f4e3c9;
  border-radius: 10px;
}
.worries-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--light-green);
}
.worries-icon img {
  display: block;
  width: auto;
  height: auto;
  max-width: 60%;
  max-height: 60%;
  object-fit: contain;
}
.worries-item p {
  margin: 0;
  line-height: 1.8;
}

/* お悩み解決メッセージ */
.worries-message {
    font-weight: 500;
    text-align: center;
    width: fit-content;
    margin: 50px auto 0;
    background: var(--main-color);
    color: var(--white);
    padding: .8em 1.8em;
    border-radius: 10px;
}
.worries-message span{
    color: #ffff00;
}


/*
 * ページ共通 ABOUT SERVICE
*/
.about-service-blk .title-blk {
  margin-bottom: 70px;
}
.about-service-intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 48px;
  margin-bottom: 50px;
}
.about-service-image {
  overflow: hidden;
  border-radius: 20px;
}
.about-service-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.about-service-content {
  min-width: 0;
}
.article .about-service-content h3 {
  margin: 0 0 30px;
  padding: 0;
  border: none;
  color: var(--txt-black);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 600;
  line-height: 1.7;
}
.about-service-content h3 .text-highlight {
  background: linear-gradient(transparent 75%, #bfd0bb 75%);
}
.about-service-content p {
  margin: 0;
  font-size: 16px;
  line-height: 2.1;
}

/* サービスポイント 共通 */
.service-point-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.service-point-item {
  min-width: 0;
  padding: 35px 28px 45px;
  background: var(--white);
  border-radius: 12px;
}
.service-point-number {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 30px;
  color: var(--main-color);
}
.service-point-number .number {
  font-size: 44px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.04em;
}
.service-point-number .label {
  font-size: 13px;
  line-height: 1.4;
}
.article .service-point-item h3 {
  margin: 0 0 20px;
  padding: 0;
  border: none;
  color: var(--main-color);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.5;
}
.service-point-item p {
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
}


/*
 * ページ共通 iTEMS
*/
.items-blk .title-blk {
  margin-bottom: 20px;
}
.items-blk .txt-blk {
  margin-bottom: 90px;
}
.items-blk .txt-blk p {
  margin: 0;
}
.items-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.items-card {
  min-width: 0;
  padding: 40px 28px 26px;
  background: var(--white);
  border-radius: 12px;
}
.items-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 26px;
  margin-bottom: 30px;
  border-bottom: 1px solid #ddd;
}
.items-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  background: var(--light-green);
  border-radius: 12px;
}
.items-icon img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
}
.items-card-heading {
  min-width: 0;
}
.article .items-card-heading h3 {
  margin: 0;
  padding: 0;
  border: none;
  color: var(--txt-black);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.4;
}
.items-card-heading > span {
  display: block;
  color: var(--main-color);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}
.items-tags {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 10px;
}
.items-tags li {
  padding: 7px 14px;
  background: var(--bg-light);
  border: 1px solid #ddd;
  border-radius: 10px;
  color: var(--txt-black);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}

/* 回収品目 お問い合わせ案内 */
.items-notice {
  margin-top: 30px;
  padding: 40px 28px 55px;
  background: var(--white);
  border-radius: 12px;
}
.items-notice-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
.article .items-notice-header h3 {
  margin: 0;
  padding: 0;
  border: none;
  color: var(--txt-black);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
}
.items-notice p {
  margin: 0 0 0 15px;
  font-size: 16px;
  line-height: 2;
}


/*
 * ページ共通 VOLUME
*/
.volume-blk .title-blk {
    margin-bottom: 40px;
}
.volume-blk .txt-blk {
    margin-bottom: 80px;
}
.volume-blk .txt-blk p {
    margin: 0;
}
.volume-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.volume-item {
    min-width: 0;
    overflow: hidden;
    background: var(--white);
    border-radius: 12px;
}
.volume-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}
.volume-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.volume-label {
    position: absolute;
    top: 20px;
    left: 16px;
    padding: 8px 18px;
    background: var(--white);
    border-radius: 10px;
    color: var(--main-color);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}
.volume-body {
    padding: 30px 28px 42px;
}
.article .volume-body h3 {
    margin: 0 0 18px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
}
.volume-body p {
    margin: 0;
    color: var(--txt-black);
    font-size: 16px;
    line-height: 2.1;
}




/*
 * インスタグラム
*/
#instagram-blk .title-blk{
    width: fit-content;
    margin: 0 auto;
    padding-left: 38px;
}
#instagram-blk .title-blk::before{
    top: 6px;
    left: 3px;
    width: 29px;
    height: 40px;
}
#instagram-blk .title-blk p{
    width: fit-content;
    font-size: 26px;
    letter-spacing: 5%;
    font-weight: 600;
}
#instagram-blk .title-blk span{
    color: var(--main-color);
}
#instagram-blk .txt-blk{
    text-align: center;
}


/* リンク */
.link-blk {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
.link-blk-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 24px;
    border: 1px solid var(--main-color);
    border-radius: 100px;
    background: var(--main-color);
    color: var(--white);
    font-weight: 400;
    font-size: 14px;
}
.link-blk-link:hover {
    background: var(--white);
    color: var(--main-color);
    opacity: 1;
}
.link-blk-link span {
    font-size: 14px;

}

/*
 * ラベル
*/
.label-blk{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px !important;
}
.label-blk li {
    font-size: 14px;
    border: 1px solid var(--main-color);
    border-radius: 8px;
    padding: 2px 12px;
    background: var(--white);
    color: var(--main-color);
    font-weight: 500;
    transition: var(--transition);
}
.label-blk li:has(a) {
    padding: 0;
}
.label-blk li a {
    display: block;
    font-weight: 500;
    padding: 2px 12px;
}
.label-blk li:has(a):hover{
    background: var(--main-color);
}
.label-blk li a:hover{
    color: var(--white);
    opacity: 1;
}


/*
 * cta
*/
.cta-blk .inner-container {
    display: flex;
    justify-content: space-between;
    gap: 30px 40px;
    background: var(--white);
    padding: clamp(20px, 3vw, 40px);
    border-radius: 16px;
}
.cta-blk .left-blk{
    max-width: 420px;
}
.cta-blk .title-blk {
    margin-left: 0;
}
.cta-blk .title-blk::before {
    content: none;
}
.cta-blk .title-blk p {
    font-size: 30px;
    font-weight: 600;
}
.cta-blk .title-blk p {
    font-size: 28px;
    font-weight: 600;
}
.cta-blk .link-blk-link {
    width: fit-content;
}
.cta-blk .content-area {
    padding: clamp(20px, 3vw, 40px);
    background: #fef9f1;
    border-radius: 10px;
}


/* CTAタイトル */
.cta-blk .cta-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 30px;
    color: var(--main-color);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
}

/* アイコンの円形背景 */
.cta-blk .cta-title-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    background: var(--light-green);
    border-radius: 50%;
}

/* アイコン画像 */
.cta-blk .cta-title-icon img {
    display: block;
    width: 26px;
    height: 26px;
    object-fit: contain;
}
.cta-blk .cta-description {
    margin: 14px 0 32px;
    font-size: 14px;
}
.cta-blk .cta-features {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-block: 28px 12px;
}
.cta-blk .cta-features > li {
    font-size: 14px;
    padding: 6px 18px;
    background: var(--white);
    border: 1px solid var(--main-color);
    border-radius: 10px;
    color: var(--main-color);
    font-weight: var(--weight-semi-bold);
    line-height: 1.1;
}
.cta-blk .cta-features > li span {
    display: inline-block;
    margin-left: 2px;
    font-size: 20px;
    font-weight: var(--weight-semi-bold);
}

/* お問い合わせエリア */
.cta-blk .cta-contact {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 14px;
}

/* 電話・お問い合わせ共通 */
.cta-blk .cta-contact > * {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 225px;
    padding: 6px 16px;
    border: 1px solid var(--main-color);
    border-radius: 10px;
    box-sizing: border-box;
    background: var(--main-color);
    color: var(--white);
}
.cta-blk .cta-phone-hours,
.cta-blk .cta-inquiry-title {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

/* 電話 */
.cta-blk .cta-phone {
    text-align: center;
    text-decoration: none;
}

/* 電話番号 */
.cta-blk .cta-phone-number {
    font-size: 22px;
    font-weight: var(--weight-bold);
    line-height: 1.4;
    white-space: nowrap;
}
.cta-blk .cta-phone-number .phone-icon {
    margin-right: 4px;
}
.cta-blk .cta-phone:hover {
    color: var(--main-color);
    background: var(--white);
}

/* SNSリスト */
.cta-blk .cta-inquiry-title {
    margin: 0;
    line-height: 1.4;
    text-align: center;
    font-size: 13px;
}
.cta-blk .cta-sns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 5px 0 0;
}

/* SNSリンク */
.cta-blk .cta-sns a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28.6px;
    height: 28.6px;
    padding: 1px;
    overflow: hidden;
    color: var(--white);
    font-size: 21px;
    line-height: 1;
    text-decoration: none;
    border: 1px solid var(--white);
    border-radius: 8px;
    background: var(--main-color);
}
.cta-blk .cta-sns a:hover {
    background: var(--white);
    color: var(--main-color);
}

/* mail */
.cta-blk .cta-sns .mail-icon {
    width: 20px;
    height: 20px;
}

/* line */
.cta-blk .cta-sns .line-icon {
    width: 22px;
    height: 22px;
}


/*
 * サービス一覧、作業実績一覧　共通
*/
.listing-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.listing-item {
    display: flex;
    flex-direction: column;
    height: auto;
    min-width: 0;
    padding: 30px 32px 26px;
    background: var(--white);
    border-radius: 10px;
}

/* サービス名と画像 */
.listing-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 35px;
}
.article .listing-header .listing-title {
    flex: 0 0 auto;
    margin: 0;
    color: var(--main-color);
    font-size: var(--font-size-exlarge);
    font-weight: 600;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    padding: 0;
    border: none;
}
.listing-header img {
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
    aspect-ratio: 328 / 458;
    object-fit: cover;
    border-radius: 7px;
}

/* 説明文とリンク */
.listing-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    gap: 22px;
}
.listing-body p {
    margin: 0;
    font-size: var(--font-size-small);
    line-height: 1.9;
}
.listing-body .link-more {
    display: block;
    width: fit-content;
    margin-top: auto;
    margin-left: auto;
    color: var(--main-color);
    font-size: var(--font-size-small);
    font-weight: 600;
}
.listing-body .link-more::after {
    content: " >";
}
.listing-body .link-more:hover {
    opacity: 0.65;
}



/*
 * 作業事例一覧共通
*/
.works-blk .listing-list {
    display: flex;
    align-items: stretch;
    gap: 0;
}
.works-blk .listing-item {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    height: auto;
    min-width: 0;
    padding: 30px 32px 20px;
    background: var(--white);
    border-radius: 10px;
    font-weight: 400;
}
.works-blk .listing-item > a {
    display: flex;
    flex-direction: column;
    flex: 1;
    color: var(--txt-black);
    text-decoration: none;
    font-weight: 400;
}
.works-blk .listing-body {
    flex: 1;
}

/* サービス名と画像 */
.works-blk .listing-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 35px;
}
.article .works-blk .listing-title {
    font-size: 18px;
}

/* BEFORE・AFTER画像 */
.works-blk .listing-images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    flex: 1;
    min-width: 0;
}
.works-blk .listing-image {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: 7px;
}
.works-blk .listing-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 246 / 345;
    object-fit: cover;
    border-radius: 0;
}
.works-blk .listing-image-label {
    position: absolute;
    top: 0;
    left: 0;
    padding: 5px 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}
.works-blk .listing-image-label-before {
    /*background: var(--white);*/
    color: var(--txt-black);
}
.works-blk .listing-image-label-after {
    /*background: var(--main-color);*/
    color: var(--main-color);
}

/* 作業詳細 */
.works-blk .listing-body {
    flex-direction: row;
    gap: 0 30px;
    align-items: stretch;
}
.works-blk .works-details {
    margin: 0;
}
.works-blk .works-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 5px;
    border-bottom: 1px solid #ddd;
}
.works-blk .works-detail-row:last-child {
    border-bottom: none;
}
.works-blk .works-detail-row dt {
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}
.works-blk .works-detail-row dd {
    margin: 0;
    font-size: 14px;
    text-align: right;
    white-space: nowrap;
}
.works-blk .works-detail-row .works-price {
    color: #ff4545;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
}
.works-blk .works-price span {
    font-size: 14px;
}
.works-blk .listing-body .works-description {
    display: flex;
    align-items: center;
    margin: 0;
    padding-left: 25px;
    border-left: 1px solid #ddd;
    font-size: 14px;
    line-height: 2;
}

/*
 * コラム一覧共通
*/
.column-blk .listing-list {
    display: flex;
    align-items: stretch;
    gap: 0;
}
.column-blk .listing-item {
    height: auto;
}
.column-blk .listing-item > a {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.column-blk .listing-body {
    flex: 1;
}
.article .column-blk .listing-title {
    font-size: 18px;
}
.column-blk .listing-body .column-title {
    color: var(--txt-black);
    font-size: 15px;
}

/*
 * ご利用の流れ
*/
.flow-list {
    display: flex;
    flex-direction: column;
    gap: 42px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.flow-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 30px 40px;
    padding: 35px 45px;
    background: var(--white);
    border-radius: 10px;
}
.flow-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 20px solid var(--white);
}

/* 番号とタイトル */
.flow-heading {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}
.flow-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--main-color);
    color: var(--white);
    font-weight: 500;
    line-height: 1;
}
.article .flow-title {
    margin: 0;
    padding: 0;
    border: none;
    color: var(--main-color);
    font-weight: 500;
    line-height: 1.5;
    font-size: 20px;
}

/* 説明文 */
.flow-description {
    min-width: 0;
}
.flow-description p {
    margin: 0;
    color: var(--txt-black);
    font-size: 16px;
    line-height: 2;
}


/*
 * よくある質問
*/
.faq-wrap{
    background: var(--white);
    padding: 20px 10px 20px 20px;;
    border-radius: 10px;
    margin-bottom: 20px !important;
}
.is-style-accordion > .faq > .faq-question {
    display: flex !important;
    align-items: flex-start;
}
.is-style-accordion > .faq > .faq-question,
.is-style-accordion > .faq > .faq-answer{
    background: none;
}
.is-style-accordion > .faq > .faq-answer{
    display: none;
}
.wp-block-cocoon-blocks-faq .faq-answer[style*="display: block"] {
    display: flex !important;
    align-items: flex-start;
}
.is-style-accordion > .faq > .faq-question::before {
    color: var(--main-color);
    font-weight: 500;
    font-size: 20px;
}
.faq-question-content {
    padding-top: 6px;
}
.faq-answer-content a {
    text-decoration: underline !important;
}

/*
 * お知らせ一覧
*/
.news-blk .listing-body p{
    font-size: 16px;
    color: var(--txt-black);
}
.news-blk .listing-body p span{
    font-size: 14px;
    display: block;
}

/************************************
** 会社概要
************************************/
/* 会社概要 代表者のごあいさつ */
.message-blk .title-blk {
    margin-bottom: 70px;
}
.message-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 100px;
}
.message-image {
    min-width: 0;
}
.message-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 10px;
}
.message-body {
    min-width: 0;
}
.article .message-catch {
    margin: 0 0 45px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 30px;
    font-weight: 600;
    line-height: 1.7;
}
.message-catch span {
    background: linear-gradient(transparent 72%, #b7cdb4 72%);
}
.message-text p {
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
}
.message-text p + p {
    margin-top: 30px;
}
.message-sign {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 50px 0 0;
}
.message-position {
    color: var(--main-color);
    font-size: 14px;
    font-weight: 600;
}
.message-name {
    color: var(--txt-black);
    font-size: 20px;
    font-weight: 600;
}

/* 会社概要 大切にしていること */
.values-blk .title-blk {
    margin-bottom: 40px;
}
.values-blk .txt-blk {
    margin-bottom: 60px;
}
.values-blk .txt-blk p {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
}
.values-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.values-item {
    min-width: 0;
    min-height: 300px;
    padding: 30px 36px 40px;
    background: var(--white);
    border-radius: 10px;
    box-sizing: border-box;
}
.values-number {
    display: block;
    margin-bottom: 22px;
    color: #d3dfd8;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
}
.article .values-item h3 {
    margin: 0 0 28px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
}
.values-item p {
    margin: 0;
    color: var(--txt-black);
    font-size: 16px;
    line-height: 2;
}

/* 会社概要 会社情報 */
.shopinfo-blk .title-blk {
    margin-bottom: 70px;
}
.shopinfo-table-wrap {
    overflow: hidden;
    background: var(--white);
    border: 1px solid #eee3d2;
    border-radius: 10px;
}
.shopinfo-table {
    width: 100%;
    margin: 0;
    border: none;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 0 !important;
}
.shopinfo-table tr {
    border-bottom: 1px solid #eee3d2;
}
.shopinfo-table tr:last-child {
    border-bottom: none;
}
.shopinfo-table th,
.shopinfo-table td {
    padding: 30px 35px;
    border: none;
    font-size: 16px;
    line-height: 1.9;
    text-align: left;
    vertical-align: middle;
    overflow-wrap: anywhere;
}
.shopinfo-table th {
    width: 28%;
    background: #f7f3ed;
    color: var(--main-color);
    font-weight: 600;
}
.shopinfo-table td {
    background: var(--white);
    color: var(--txt-black);
    font-weight: 400;
}

/* 会社概要 サービス・対応エリア */
.inquire-blk .title-blk {
    margin-bottom: 65px;
}
.inquire-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
    gap: 45px;
    align-items: start;
}
.inquire-services {
    min-width: 0;
}
.inquire-service-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}
.inquire-service-list li {
    min-width: 0;
}
.inquire-service-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    min-height: 75px;
    padding: 20px 25px;
    background: var(--white);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(60, 55, 45, 0.04);
    color: var(--txt-black);
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    box-sizing: border-box;
}
.inquire-service-list a span {
    flex-shrink: 0;
    color: var(--main-color);
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
}
.inquire-service-more {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    margin-top: 30px;
    padding-bottom: 6px;
    border-bottom: 1px solid #b5cbb8;
    color: var(--main-color);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
.inquire-service-more span {
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}
.inquire-service-more:hover {
    color: var(--main-color);
    opacity: 1;
    transform: none;
}
.inquire-area {
    min-width: 0;
    padding: 40px 35px;
    background: var(--white);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(60, 55, 45, 0.04);
    box-sizing: border-box;
}
.inquire-area-label {
    display: block;
    margin-bottom: 25px;
    color: var(--main-color);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.2em;
}
.article .inquire-area h3 {
    margin: 0 0 25px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.7;
}
.inquire-area-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 25px !important;
}
.inquire-area-list li {
    padding: 7px 15px;
    background: var(--light-green);
    border-radius: 100px;
    color: var(--main-color);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}
.inquire-area p {
    margin: 0;
    font-size: 14px;
    line-height: 2;
}


/************************************
** パンくず
************************************/
.breadcrumb, .breadcrumb.sbp-main-before {
    width: calc(100% - 40px);
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
    margin-block: 0;
    padding: 1em 0.4em;
}
.breadcrumb :is(.far, .fas):not(.fa-angle-right) {
    display: none;
}


/************************************
** swiper
************************************/
.swiper-wrapper {
    margin-top: 0;
    margin-left: 0;
}
.swiper.pagenation-on.swiper-initialized{
    padding-bottom: 50px;
}
.swiper.pagenation-on:not(.swiper-initialized) .swiper-pagination {
    display: none;
}
.swiper-pagination-bullet-active{
    background: var(--main-color);
}


/************************************
** navi共通
************************************/
.navi-in a{
    font-size: clamp(0.787rem, 0.134rem + 1.02vw, 0.875rem);
    font-weight: 400;
}
.navi-in a:hover{
    background: none;
    color: var(--main-color);
    opacity: 1;
}
.navi-in > ul .sub-menu li{
    padding: .6em .5em;
    height: auto;
}
.fixed-header .has-sub{
    display: flex;
}
.fixed-header .navi-in > ul li:hover > ul{
    display: block;
}

#navi{
    margin-left: auto;
    flex: 0 1 auto;
}
.header-container-in.hlt-top-menu .navi{
    width: auto;
}
#navi .navi-in > ul > li > a {
    /*padding: 0 .8em;*/
    padding: 0 .6em;
}
#navi .navi-in > ul > li > a:has(.top-has-sub) {
    padding-right: 1.4em;
}
.navi-in > ul > li:hover > a {
    color: var(--main-color);
}

/* サブナビがある場合のアイコン変更 */
.navi-in .has-icon .fa-angle-down::before {
    content: "\f067";
    font-size: 0.9em;
}

/* サブメニュー */
.navi-in > ul .sub-menu{
    background: var(--white);
    box-shadow: 0 6px 24px rgba(46, 60, 45, .06);
    border-radius: 10px;
    padding: 1em 0;
}


/************************************
** ヘッダー
************************************/

/* ヘッダー内部の最大幅 */
#header-container-in {
    width: calc(100% - 40px);
    max-width: var(--max-width);
    margin: 0 auto;
    min-height: 60px;
}

/* ロゴ */
.header-container-in.hlt-top-menu .logo-image{
    width: clamp(7.875rem, 1.341rem + 10.22vw, 8.75rem);
}
.site-name-text-link{
    padding: 0;
}

/* 電話・SNS全体 */
.header-contact {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 47px;
}

/*header-contact*/
.header-contact a{
    text-decoration: none;
    font-weight: 400;
}
.header-contact a:hover{
    opacity: 1;
}


/* 電話 */
/* 電話アイコンと文字を横並び */
.header-phone {
    display: flex;
    align-items: center;
    flex-direction: column;
    color: var(--white);
    border: 1px solid var(--main-color);
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 19px;
    height: 46px;
    line-height: 1.2;
    justify-content: center;
    background: var(--main-color);
}
.header-phone:hover{
    color: var(--main-color);
    background: var(--white);
}

/* 営業時間 */
.header-phone small{
    font-size: 10px;
    font-weight: var(--weight-mid);
}
.header-phone-text {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 電話番号 */
.header-phone-text .phone-icon{
    width: 16px;
    height: 16px;
}
.header-phone-text strong {
    display: block;
}

/* SNS */
.header-inquiry{
    line-height: 1.3;
    border: 1px solid var(--main-color);
    padding: 2px 10px;
    border-radius: 10px;
    background: var(--main-color);
    height: 45.9px;
}

.header-inquiry-title{
    display: block;
    font-size: 10px;
    color: #ffffff;
    text-align: center;
    margin-bottom: 2px;
    font-weight: var(--weight-mid);
}

/* SNSアイコン横並び */
.header-sns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* アイコン共通 */
.header-sns-link {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--white);
    border-radius: 8px;
    color: var(--white);
    text-decoration: none;
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
    width: 25px;
    height: 25px;
    overflow: hidden;
}
.header-sns-link:hover{
    color: var(--main-color);
    background: var(--white);
}
.header-sns-link .svg-icon {
    width: 18px;
}

.header-phone-bottom{
    font-size: 16px;
}

/* snsの中の電話 */
.header-phone-bottom{
    display: none;
}

/************************************
** フッタCTA
************************************/
#footer-cta {
    background: var(--main-color);
}
#footer-cta ul {
    padding-left: 0;
}
#footer-cta li {
    list-style: none;
}
#footer-cta.cta-blk .inner-container {
    display: block;
    gap: 50px 100px;
    background: none;
    padding: 0;
    border-radius: 0;
}
#footer-cta.cta-blk .content-area {
    padding: 40px;
    background: none;
    border-radius: 0;
    width: fit-content;
    margin: 0 auto;
}
#footer-cta.cta-blk .cta-title {
    color: var(--white);
    justify-content: center;
    font-size: 28px;
    margin-bottom: 0;
}
#footer-cta.cta-blk .cta-description {
    color: var(--white);
    text-align: center;
}
#footer-cta.cta-blk .cta-features {
    padding-left: 0;
    justify-content: center;
}
#footer-cta.cta-blk .cta-features > li {
    color: var(--white);
    background: var(--main-color);
    border-color: var(--white);
}

#footer-cta.cta-blk .cta-contact > * {
    border-color: var(--white);
    background: var(--white);
    color: var(--main-color);
}
#footer-cta.cta-blk .cta-phone:hover {
    background: var(--main-color);
    color: var(--white);
    opacity: 1;
}
#footer-cta.cta-blk .cta-sns a {
    border-color: var(--main-color);
}
#footer-cta.cta-blk .cta-sns a:hover {
    opacity: 1;
}

/************************************
** フッタ
************************************/
/* フッタ共通 */
#footer{
    background: var(--bg-dark);
    padding-bottom: 0;
    margin-top: 0;
}
.footer-widgets{
    font-size: var(--font-size-small);
    padding-top: 42px;
    max-width: var(--max-width);
}
.widget-title{
    font-size: var(--font-size-normal);
    font-weight: var(--weight-mid);
    color: var(--main-color);
}
.footer-left,
.footer-center,
.footer-right,
.footer-fourth{
    flex: 1;
    padding: 10px 16px;
}
.widget_nav_menu ul{
    margin-top: 6px;
}
.widget_nav_menu ul li a{
    padding-top: 6px;
    padding-bottom: 6px;
    display: inline-block;
    font-weight: 400;
}
.widget_nav_menu ul li a:hover{
    background: none;
    color: var(--main-color);
    opacity: 1;
}


/* フッタ左 */
.footer-left .custom-html-widget > *:not(:last-child){
    margin-bottom: 1em;
}
.footer-img{
    width: 148px;
}
.footer-address{
    font-style: normal;
}
.footer-shop a{
    text-decoration: none;
    color: var(--txt-black);
    font-weight: 400;
}
.footer-shop a:hover{
    color: var(--main-color);
    opacity: 1;
}

.footer-bottom{
    color: var(--white);
    background: var(--main-color);
    padding: 4px 0 6px;
    font-size: var(--font-size-mini);
}

/************************************
** モバイルボタン
************************************/
.mobile-menu-buttons{
    z-index: 1000 !important;
    background: var(--main-color);
    padding-block: 8px 4px;
}
.mobile-menu-buttons .fa-bars::before {
    content: "menu" !important;
    font-family: var(--googleicon) !important;
    font-size: 23px;
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    display: inline-block;
    white-space: nowrap;
    font-feature-settings: "liga";
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 48;
}
.mobile-menu-buttons .fa-phone-square-alt:before{
    font-size: 28px;
}
.mobile-menu-buttons .fa-envelope:before{
    font-size: 28px;
}
.mobile-menu-buttons .fa-line:before{
    font-size: 28px;
}
.mobile-menu-buttons .fa-instagram-square:before{
    content: "\e055";
    font-size: 28px;
}
.mobile-menu-buttons .fa-outdent::before {
    content: "\f704" !important;
    font-family: var(--googleicon) !important;
    font-size: 32px;
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    display: inline-block;
    white-space: nowrap;
    font-feature-settings: "liga";
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 48;
}

.menu-content{
    overflow: auto;
}
.menu-close-button{
    text-align: right;
}
#navi-menu-content .fa-times{
    margin-right: 20px;
}
#navi-menu-content .fa-times::before {
    content: "\e5cd" !important;
    font-family: var(--googleicon) !important;

    /* アイコンの設定 */
    font-size: 40px;
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    display: inline-block;
    white-space: nowrap;
    font-feature-settings: "liga";

    /* アウトラインの太さ */
    font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 48;
}
#navi-menu-open,
#sidebar-menu-open,
.mobile-menu-buttons .menu-button > a{
    color: var(--white);
}
.menu-drawer li{
    border-bottom: 1px solid var(--border-grey);
}
.menu-drawer li:first-child{
    border-top: 1px solid var(--border-grey);
}
.menu-drawer a {
    color: var(--txt-black);
    padding: 12px 6px;
    position: relative;
    font-size: var(--font-size-small);
    font-weight: 400;
}
.menu-drawer a:hover{
    background: none;
    color: var(--main-color);
}
.menu-drawer a:after {
    position: absolute;
    right: 8px;
    bottom: 8px;
    content: "keyboard_arrow_right" !important;
    font-family: var(--googleicon) !important;

    /* アイコンの設定 */
    font-size: 30px;
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    display: inline-block;
    white-space: nowrap;
    font-feature-settings: "liga";

    /* アウトラインの太さ */
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 48;
}
.menu-drawer .sub-menu > li:last-child{
    border-bottom: none;
}


/************************************
** 固定ページ共通設定
************************************/
.article .title-blk h1,
.archive .title-blk h1,
.blog .title-blk h1,
.single .title-blk h1{
    font-size: 46px;
    font-weight: 600;
    background: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 1em;
}

.page a {
    text-decoration: none;
}
.page .entry-content{
/*    padding: 0;
    margin: 0;
*/}
.entry-content > section{
    padding-block: 100px;
}
.entry-content > section:first-child{
    padding-top: 80px;
}
.entry-content > section:nth-child(odd){
    background-color: var(--bg-dark);
}
.entry-content > section:nth-child(even){
    background-color: var(--bg-light);
}

/************************************
** トップページ
************************************/
.home .article .title-blk h2{
    font-size: 46px;
}

/* 葉っぱの装飾 */
.home .title-blk::before {
    top: 43px;
    left: -42px;
    width: 33px;
    height: 47px;
}

/** 背景 **/
.home .entry-content > section:first-child{
    padding-top: 100px;
}
.home .entry-content > section:nth-child(odd){
    background-color: var(--bg-light);
}
.home .entry-content > section:nth-child(even){
    background-color: var(--bg-dark);
}

/** fv **/
.page .home-fv {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 760px;
    overflow: hidden;
}
.page .home-fv #top-slider {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.page .home-fv #top-slider .swiper-slide {
    height: 100%;
}
.page .home-fv #top-slider picture {
    display: block;
    width: 100%;
    height: 100%;
}
.page .home-fv #top-slider img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.page .home-fv-inner {
    position: relative;
    z-index: 1;
    pointer-events: none;
}
.page .home-fv-content {
    width: fit-content;
    max-width: 100%;
    padding: clamp(30px, calc(2.2059vw + 19.412px), 45px) clamp(25px, calc(4.4118vw + 3.824px), 55px);
    background: rgba(255, 255, 255, 0.65);
    border-radius: 10px;
    pointer-events: auto;
}
.page .article h2.home-fv-title {
    margin: 0;
    font-size: clamp(1.875rem, calc(1.1691rem + 2.3529vw), 2.875rem);
    line-height: 1.5;
    letter-spacing: 5%;
}
.page .home-fv-title .text-small {
    font-size: 0.7391em;
}
.page .home-fv-title .text-accent {
    color: var(--main-color);
}
.page .home-fv-description {
    margin: 14px 0 32px 0;
}
.page .home-fv-features {
    margin-block: 28px 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.page .home-fv-features > li {
    font-size: 14px;
    padding: 6px 18px;
    background: var(--white);
    border: 1px solid var(--main-color);
    border-radius: 10px;
    color: var(--main-color);
    font-weight: var(--weight-semi-bold);
    line-height: 1.1;
}
.page .home-fv-features > li span {
    font-size: 20px;
    display: inline-block;
    margin-left: 2px;
    font-weight: var(--weight-semi-bold);
}

/* お問い合わせエリア */
.page .home-fv-contact {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 14px;
}

/* 電話・お問い合わせ共通 */
.page .home-fv-contact > * {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 225px;
    padding: 6px 16px;
    border-radius: 10px;
    box-sizing: border-box;
    border: 1px solid var(--main-color);
    background: var(--main-color);
    color: var(--white);
    font-weight: 400;
}
.page .home-fv-phone-hours,
.page .home-fv-inquiry-title {
    font-size: 14px;
    line-height: 1.5;
}

/* 電話 */
.page .home-fv-phone {
    text-align: center;
    text-decoration: none;
}

/* 電話番号 */
.page .home-fv-phone-number {
    font-size: 22px;
    font-weight: var(--weight-bold);
    line-height: 1.4;
    white-space: nowrap;
}
.page .home-fv-phone-number .phone-icon {
    margin-right: 4px;
}
.page .home-fv-phone:hover {
    color: var(--main-color);
    background: var(--white);
}

/* SNSリスト */
.page .home-fv-inquiry-title {
    margin: 0;
    line-height: 1.4;
    text-align: center;
    font-size: 13px;
}
.page .home-fv-sns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 5px 0 0;
}

/* SNSリンク */
.page .home-fv-sns a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 21px;
    line-height: 1;
    text-decoration: none;
    border: 1px solid white;
    border-radius: 8px;
    background: var(--main-color);
    width: 28.6px;
    height: 28.6px;
    overflow: hidden;
    padding: 1px;
}
.page .home-fv-sns a:hover {
    background: var(--white);
    color:var(--main-color);
}

/* mail */
.page .home-fv-sns .mail-icon{
    width: 20px;
    height: 20px;
}

/* line */
.page .home-fv-sns .line-icon{
    width: 22px;
    height: 22px;
}

/** fv下のスライダー **/
#ad-slider-blk .swiper--wrapper {
    /* wrapperのサイズを調整 */
    width: 100%;
    height: 300px;
}




/*
 * こんなお悩み
*/
.home .worries-blk .inner-container{
    background-image: url("/wp-content/uploads/trouble-img1.png");
    background-position: right 30px top;
    background-repeat: no-repeat;
    background-size: 270px auto;
}
.home .worries-item {
    grid-template-columns: 50px minmax(0, 1fr);
}
.home .worries-icon {
    background: none;
}
.home .worries-icon img {
    max-width: 80%;
    max-height: 80%;
}


/*
 * ご利用料金
*/
.home .price-blk .txt-blk span{
    color: var(--main-color);
    font-weight: 600;
}


/* 料金タブ */
.home .price-blk .price-tabs {
    margin-top: 40px;
}
.home .price-blk .price-tab-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
}
.home .price-blk .price-tab-buttons {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}
.home .price-blk .price-tab-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 30px;
    background: #e9e6df;
    border-radius: 12px 12px 0 0;
    color: var(--txt-black);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease, color 0.3s ease;
    letter-spacing: .05em;
}
.home .price-blk #price-tab-pack:checked ~ .price-tab-buttons label[for="price-tab-pack"],
.home .price-blk #price-tab-single:checked ~ .price-tab-buttons label[for="price-tab-single"] {
    background: var(--white);
    color: var(--main-color);
}
.home .price-blk #price-tab-pack:focus-visible ~ .price-tab-buttons label[for="price-tab-pack"],
.home .price-blk #price-tab-single:focus-visible ~ .price-tab-buttons label[for="price-tab-single"] {
    outline: 2px solid var(--main-color);
    outline-offset: 3px;
}

/* タブパネル */
.home .price-blk .price-tab-panel {
    display: none;
    padding: 40px;
    background: var(--white);
    border-radius: 0 12px 12px 12px;
}
.home .price-blk #price-tab-pack:checked ~ .price-panel-pack,
.home .price-blk #price-tab-single:checked ~ .price-panel-single {
    display: block;
}
.home .price-blk .price-panel-description {
    margin-bottom: 35px;
}
.home .price-blk .price-panel-description .price-attention {
    color: #ff4545;
    font-size: 17px;
    font-weight: 700;
}

/* 料金カード共通 */
.home .price-blk .price-card-list {
    display: grid;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home .price-blk .price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 40px 15px 25px;
    background: var(--bg-light);
    border: 1px solid #f4e3c9;
    border-radius: 16px;
    text-align: center;
}
.home .price-blk .price-card img {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}
.home .article .price-blk .price-card h3 {
    margin: 12px 0;
    font-size: 20px;
    font-weight: 600;
    border: none;
}
.home .price-blk .price-card .price-amount {
    margin: 0 0 8px;
    color: #ff4545;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}
.home .price-blk .price-amount span {
    font-size: 15px;
}
.home .price-blk .price-room {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 700;
}
.home .price-blk .price-detail {
    margin: 0;
    font-size: 13px;
}
/* 積み放題パック */
.home .price-blk .price-card-list-pack {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    max-width: 850px;
    margin: 0 auto;
}
.home .price-blk .price-card-list-pack .price-card img {
    width: 180px;
}
.home .price-blk .price-card-popular {
    border: 2px solid var(--main-color);
    background: #eff9f3;
}
.home .price-blk .price-popular-label {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px 14px;
    border-radius: 7px;
    background: var(--main-color);
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
/* 単品回収 */
.home .price-blk .price-card-list-single {
    grid-template-columns: repeat(auto-fit, minmax(117px, 1fr));
}
.home .price-blk .price-card-list-single .price-card {
    display: grid;
    grid-template-rows: 66px auto auto;
    align-content: center;
    justify-items: center;
    padding: 22px 10px;
}
.home .price-blk .price-card-list-single .price-card img {
    display: block;
    width: 100px;
    height: 100px;
    object-fit: contain;
}
.home .price-blk .price-card-list-single .price-card.price-tv img {
    width: 68px;
}
.home .price-blk .price-card-list-single .price-card.price-fridge img {
    height: 68px;
}
.home .price-blk .price-card-list-single .price-card.price-bed img {
    width: 96px;
}
.home .article .price-blk .price-card-list-single .price-card h3 {
    margin: 0;
    font-size: 16px;
    text-align: center;
    padding-bottom: 6px;
}
.home .price-blk .price-card-list-single .price-card .price-amount {
    margin: 0;
    font-size: 22px;
    text-align: center;
}
/* 注記 */
.home .price-blk .price-note {
    width: fit-content;
    margin: 40px auto 0;
    font-size: 12px;
}


/*
 * 選ばれる5つの理由
*/
.home .article .reason-blk .title-blk h2{
    line-height: 1.3;
}
.home .reason-blk .title-blk .small{
    font-size: 30px;
}
.home .reason-blk .title-blk .green{
    font-size: 68px;
}
.home .reason-blk .content-area {
    margin-top: 50px;
}
.home .reason-blk .reason-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home .reason-blk .reason-item {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 50px;
    padding: 65px 70px;
    background: var(--white);
    border-radius: 10px;
}
.home .reason-blk .reason-item:nth-child(even) .reason-image {
    order: 2;
}
.home .reason-blk .reason-item:nth-child(even) .reason-content {
    order: 1;
}

/* 画像 */
.home .reason-blk .reason-image {
    min-width: 0;
}
.home .reason-blk .reason-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* 番号とサブタイトル */
.home .reason-blk .reason-heading {
    display: flex;
    align-items: flex-end;
    gap: 18px;
    margin-bottom: 10px;
}
.home .reason-blk .reason-number {
    color: var(--main-color);
    font-size: 100px;
    font-weight: 600;
    line-height: 1;
}
.home .reason-blk .reason-lead {
    margin: 0 0 8px;
    color: var(--main-color);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.6;
}

/* タイトルと説明文 */
.home .article .reason-blk .reason-title {
    margin: 0 0 25px;
    padding: 0;
    border: none;
    color: var(--txt-black);
    font-size: 30px;
    font-weight: 600;
    line-height: 1.5;
}
.home .reason-blk .reason-description {
    margin: 0;
    font-size: 14px;
    line-height: 2;
}

/* 3つのポイント */
.home .reason-blk .reason-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    border-radius: 8px;
    background: var(--main-color);
}
.home .reason-blk .reason-points li {
    font-weight: 500;
    text-align: center;
    padding: 12px 10px;
    color: var(--white);
    font-size: 13px;
    line-height: 1.5;
}
.home .reason-blk .reason-points li + li {
    border-left: 1px solid rgba(255, 255, 255, 0.45);
}


/************************************
** 料金のご案内
************************************/
/*
 * PRICE PLAN
*/
.price-plan-blk .txt-blk {
    margin-bottom: 80px;
}
.price-plan-blk .txt-blk p {
    margin: 0;
}
.price-plan-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}
.price-plan-item {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px 24px 30px;
    background: var(--white);
    border-radius: 12px;
}
.price-plan-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 165px;
    padding: 18px;
    background: #faf5ed;
    border-radius: 12px;
    box-sizing: border-box;
}
.price-plan-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 130px;
    object-fit: contain;
}
.price-plan-house .price-plan-image img {
    height: 112px;
}
.price-plan-heading {
    padding: 20px 0 18px;
    border-bottom: 2px dotted #ccc;
}
.article .price-plan-heading h3 {
    margin: 0 0 8px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
}
.price-plan-heading p {
    margin: 0;
    color: var(--main-color);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
}
.article .price-plan-price {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    min-height: 95px;
    margin: 0;
    padding: 20px 0;
    border-bottom: 2px dotted #ccc;
    box-sizing: border-box;
}
.price-plan-amount {
    color: #f44343;
    font-size: clamp(24px, 2.5vw, 36px);
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}
.price-plan-amount small {
    font-size: 18px;
}
.price-plan-price-estimate {
    align-items: center;
    color: var(--main-color);
    font-size: 28px;
    font-weight: 700;
}
.price-plan-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 20px !important;
}
.price-plan-features li {
    position: relative;
    padding-left: 32px;
    color: var(--txt-black);
    font-size: 15px;
    line-height: 1.6;
}
.price-plan-features li::before {
    content: "✓";
    position: absolute;
    top: 2px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: var(--light-green);
    border-radius: 50%;
    color: var(--main-color);
    font-size: 13px;
    font-weight: 700;
}
.price-plan-blk .notice-message {
    width: fit-content;
    max-width: 100%;
    margin: 45px auto 0;
    padding: 10px 30px;
    background: var(--bg-dark);
    border-radius: 12px;
    color: #888;
    font-size: 14px;
    line-height: 1.8;
    box-sizing: border-box;
}

/*
 * ITEM PRICE
*/
.item-price-blk .txt-blk {
    margin-bottom: 40px;
}
.item-price-tabs {
    position: relative;
}
.item-price-tabs > input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
}

/* カテゴリータブ */
.item-price-tab-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 22px;
    padding: 12px 10px;
    background: var(--white);
    border-radius: 12px;
}
.item-price-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 10px;
    background: var(--bg-dark);
    border: none;
    border-radius: 100px;
    color: var(--txt-black);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
    transition: var(--transition);
}
.item-price-tab:hover {
    background: var(--main-color);
    color: var(--white);
}
#item-price-furniture:checked ~ .item-price-tab-list label[for="item-price-furniture"],
#item-price-appliance:checked ~ .item-price-tab-list label[for="item-price-appliance"],
#item-price-goods:checked ~ .item-price-tab-list label[for="item-price-goods"],
#item-price-hobby:checked ~ .item-price-tab-list label[for="item-price-hobby"],
#item-price-office:checked ~ .item-price-tab-list label[for="item-price-office"] {
    background: var(--main-color);
    color: var(--white);
}
#item-price-furniture:focus-visible ~ .item-price-tab-list label[for="item-price-furniture"],
#item-price-appliance:focus-visible ~ .item-price-tab-list label[for="item-price-appliance"],
#item-price-goods:focus-visible ~ .item-price-tab-list label[for="item-price-goods"],
#item-price-hobby:focus-visible ~ .item-price-tab-list label[for="item-price-hobby"],
#item-price-office:focus-visible ~ .item-price-tab-list label[for="item-price-office"] {
    outline: 3px solid var(--txt-black);
    outline-offset: 3px;
}

/* タブ表示切り替え */
.item-price-panel {
    display: none;
    padding: 28px 24px 32px;
    background: var(--white);
    border-radius: 12px;
}
#item-price-furniture:checked ~ .item-price-panel-furniture,
#item-price-appliance:checked ~ .item-price-panel-appliance,
#item-price-goods:checked ~ .item-price-panel-goods,
#item-price-hobby:checked ~ .item-price-panel-hobby,
#item-price-office:checked ~ .item-price-panel-office {
    display: block;
}

/* 料金一覧 */
.item-price-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 0;
}
.item-price-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    min-width: 0;
    min-height: 68px;
    padding: 12px 18px;
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
}
.item-price-name {
    min-width: 0;
    color: var(--txt-black);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
}
.item-price-value {
    flex: 0 0 auto;
    color: #ff4545;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    text-align: right;
    white-space: nowrap;
}
.item-price-value small {
    font-size: 14px;
}
.item-price-estimate {
    font-size: 18px;
    color: var(--main-color);
}

/* 単品回収料金 お問い合わせ案内 */
.item-price-blk .items-notice {
    margin-top: 35px;
}
.item-price-blk .notice-message {
    width: fit-content;
    max-width: 100%;
    margin: 45px auto 0;
    padding: 10px 30px;
    background: var(--bg-light);
    border-radius: 12px;
    color: #888;
    font-size: 14px;
    line-height: 1.8;
    box-sizing: border-box;
}


/*
 * ITEM PRICE
*/
.house-cleanup-blk .title-blk {
    margin-bottom: 20px;
}
.house-cleanup-blk .txt-blk {
    margin-bottom: 70px;
}
.house-cleanup-blk .txt-blk p {
    margin: 0;
}
.house-cleanup-blk .content-area {
    padding: 35px 24px 45px;
    background: var(--white);
    border-radius: 12px;
}
.house-cleanup-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 0;
}
.house-cleanup-item {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 15px;
    min-width: 0;
    min-height: 78px;
    padding: 15px 18px;
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
}
.house-cleanup-type {
    color: var(--main-color);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}
.house-cleanup-description {
    min-width: 0;
    color: var(--txt-black);
    font-size: 14px;
    line-height: 1.6;
}
.house-cleanup-price {
    color: #ff4545;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    text-align: right;
    white-space: nowrap;
}
.house-cleanup-price small {
    font-size: 14px;
}
.house-cleanup-estimate {
    color: var(--main-color);
    font-size: 20px;
}
.house-cleanup-blk .notice-message {
    width: fit-content;
    max-width: 100%;
    margin: 45px auto 0;
    padding: 10px 30px;
    background: var(--bg-dark);
    border-radius: 12px;
    color: #888;
    font-size: 14px;
    line-height: 1.8;
    box-sizing: border-box;
}

/*
 * MOVING
*/
.moving-blk .volume-item {
    display: flex;
    flex-direction: column;
}
.moving-blk .volume-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 30px 28px 35px;
}
.moving-blk .volume-body > p:not(.moving-price) {
    margin: 0 0 25px;
}
.moving-blk .volume-body .moving-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0;
    margin: 0;
    padding-top: 18px;
    border-top: 1px solid #ddd;
    color: #ff4545;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}
.moving-blk .moving-price small {
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}
.moving-blk .volume-body .moving-price-estimate {
    color: var(--main-color);
    font-size: 26px;
}
.moving-blk .notice-message {
    width: fit-content;
    max-width: 100%;
    margin: 45px auto 0;
    padding: 10px 30px;
    background: var(--bg-light);
    border-radius: 12px;
    color: #888;
    font-size: 14px;
    line-height: 1.8;
    box-sizing: border-box;
}


/*
 * INCLUDED
*/
.included-blk .worries-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.included-blk .worries-item {
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: start;
    column-gap: 18px;
    padding: 28px 24px;
    border: none;
    border-radius: 12px;
}
.included-blk .worries-icon {
    width: 54px;
    height: 54px;
    flex-shrink: 0;
}
.included-blk .worries-icon img {
    max-width: 60%;
    max-height: 60%;
}
.included-content {
    min-width: 0;
}
.article .included-content h3 {
    margin: 0 0 10px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}
.included-blk .included-description {
    margin: 0;
    color: var(--txt-black);
    font-size: 14px;
    line-height: 1.9;
}
.included-blk .notice-message {
    width: fit-content;
    max-width: 100%;
    margin: 45px auto 0;
    padding: 10px 30px;
    background: var(--bg-dark);
    border-radius: 12px;
    color: #888;
    font-size: 14px;
    line-height: 1.8;
    box-sizing: border-box;
}

/*
 * ABOUT PRICE
*/

.about-price-blk .title-blk {
    margin-bottom: 45px;
}
.about-price-blk .txt-blk {
    margin-bottom: 65px;
}
.about-price-blk .txt-blk p {
    margin: 0;
}
.about-price-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.about-price-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 205px;
    padding: 38px 12px 25px;
    background: var(--white);
    border-radius: 12px;
    box-sizing: border-box;
    text-align: center;
}
.about-price-number {
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--main-color);
    border-radius: 50%;
    color: var(--white);
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}
.about-price-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin-bottom: 20px;
    background: var(--light-green);
    border-radius: 50%;
    flex-shrink: 0;
}
.about-price-icon img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.article .about-price-item h3 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
}
.about-price-blk .notice-message {
    width: fit-content;
    max-width: 100%;
    margin: 45px auto 0;
    padding: 10px 30px;
    background: var(--bg-light);
    border-radius: 12px;
    color: #888;
    font-size: 14px;
    line-height: 1.8;
    box-sizing: border-box;
}

/*
 * ABOUT PRICE
*/
.purchase-blk .title-blk {
    margin-bottom: 60px;
}
.purchase-blk .content-area {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 50px;
    padding: 40px;
    background: var(--white);
    border-radius: 10px;
    box-sizing: border-box;
}
.purchase-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}
.article .purchase-content h3 {
    margin: 0 0 30px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 600;
    line-height: 1.7;
}
.purchase-content .txt-blk {
    margin-bottom: 35px;
}
.purchase-content .txt-blk p {
    margin: 0;
    color: var(--txt-black);
    font-size: 16px;
    line-height: 2.1;
}
.purchase-content .link-blk-link {
    width: fit-content;
    min-height: 46px;
    box-sizing: border-box;
}
.purchase-image {
    min-width: 0;
    overflow: hidden;
    border-radius: 10px;
}
.purchase-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}


/************************************
** ご利用の流れ
************************************/
/*
 * FLOW STEP
*/
.flow-step-blk .title-blk {
    margin-bottom: 35px;
}
.flow-step-blk .txt-blk {
    margin-bottom: 60px;
}
.flow-step-blk .txt-blk p {
    margin: 0;
}
.flow-step-list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.flow-step-list::before {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 50%;
    width: 1px;
    border-left: 2px dotted #c8d8c7;
    transform: translateX(-50%);
}
.flow-step-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr);
    align-items: center;
    column-gap: 20px;
    min-width: 0;
}
.flow-step-image {
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
    border-radius: 10px;
}
.flow-step-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 576 / 360;
    object-fit: cover;
}
.flow-step-number {
    position: relative;
    z-index: 1;
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: 70px;
    height: 70px;
    background: var(--main-color);
    border-radius: 50%;
    color: var(--white);
    line-height: 1.1;
    text-align: center;
}
.flow-step-number span {
    font-size: 12px;
    font-weight: 500;
}
.flow-step-number strong {
    font-size: 24px;
    font-weight: 600;
}
.flow-step-body {
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
    padding: 30px;
    background: var(--white);
    border-radius: 10px;
    box-sizing: border-box;
}
.flow-step-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 5px 12px;
    background: var(--light-green);
    border-radius: 8px;
    color: var(--main-color);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}
.article .flow-step-body h3 {
    margin: 0 0 15px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
}
.flow-step-body p {
    margin: 0;
    color: var(--txt-black);
    font-size: 15px;
    line-height: 1.9;
}
.flow-step-item:nth-child(even) .flow-step-image {
    grid-column: 3;
}
.flow-step-item:nth-child(even) .flow-step-body {
    grid-column: 1;
}

/*
 * FLOW STEP
*/
.payment-blk .title-blk {
    margin-bottom: 45px;
}
.payment-blk .txt-blk {
    margin-bottom: 65px;
}
.payment-blk .txt-blk p {
    margin: 0;
}
.payment-blk .about-price-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 15px;
}
.payment-blk .about-price-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    min-height: 300px;
    padding: 30px 20px;
    background: var(--white);
    border-radius: 10px;
    box-sizing: border-box;
    text-align: center;
}
.payment-blk .about-price-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 70px;
    width: 70px;
    height: 70px;
    margin-bottom: 22px;
    background: var(--light-green);
    border-radius: 50%;
}
.payment-blk .about-price-icon img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.article .payment-blk .about-price-item h3 {
    margin: 0 0 20px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}
.payment-blk .payment-illustration {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    min-height: 0;
    margin: 0;
}
.payment-blk .payment-illustration img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 180px;
    height: auto;
    object-fit: contain;
    object-position: center top;
}
.payment-blk .notice-message {
    width: fit-content;
    max-width: 100%;
    margin: 45px auto 0;
    padding: 10px 30px;
    background: var(--bg-dark);
    border-radius: 12px;
    color: #888;
    font-size: 14px;
    line-height: 1.8;
    box-sizing: border-box;
}


/************************************
** よくある質問
************************************/
/* FAQページ カテゴリー一覧 */
.faq-category-blk .title-blk {
    margin-bottom: 25px;
}
.faq-category-blk .txt-blk {
    margin-bottom: 65px;
}
.faq-category-blk .txt-blk p {
    margin: 0;
}
.faq-category-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 15px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.faq-category-item {
    min-width: 0;
}
.faq-category-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 210px;
    padding: 35px 15px 25px;
    background: var(--white);
    border-radius: 10px;
    color: var(--txt-black);
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    transition: transform 0.3s, opacity 0.3s;
}
.faq-category-item a:hover {
    transform: translateY(-5px);
    opacity: 0.85;
}
.faq-category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    margin-bottom: 20px;
    background: var(--light-green);
    border-radius: 50%;
}
.faq-category-icon img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}
.faq-category-name {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
}
.faq-category-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-top: 15px;
    background: var(--bg-light);
    border-radius: 50%;
    color: var(--main-color);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

/* FAQページ カテゴリー別セクション */
.faq-section-blk {
    scroll-margin-top: 110px;
}
.faq-section-heading {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}
.faq-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    background: var(--light-green);
    border-radius: 50%;
}
.faq-section-icon img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}
.faq-section-heading .title-blk {
    margin: 0;
}
.faq-section-heading .title-blk::before {
    content: none;
}
.faq-section-heading .en-title {
    display: block;
    margin-bottom: 8px;
}
.article .faq-section-heading h2 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 30px;
    font-weight: 600;
    line-height: 1.5;
}
.faq-section-blk .content-area {
    max-width: 1050px;
    margin: 0 auto;
}

/* FAQページ 共通FAQブロックの配置 */
.faq-section-blk .faq-wrap:last-of-type {
    margin-bottom: 0 !important;
}

/* FAQページ カテゴリー一覧へ戻る */
.faq-section-more {
    display: block;
    width: fit-content;
    margin: 30px 0 0 auto;
    color: var(--main-color);
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
}
.faq-section-more:hover {
    opacity: 0.7;
}


/************************************
** 問い合わせ
************************************/
/* お問い合わせ お問い合わせ方法 */
.contact-sns-blk .title-blk {
    margin-bottom: 40px;
}
.contact-sns-blk .txt-blk {
    margin-bottom: 55px;
}
.contact-sns-blk .txt-blk p {
    margin: 0;
    font-size: 16px;
    line-height: 2;
}
.contact-sns-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.contact-sns-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    min-height: 485px;
    padding: 30px 35px 35px;
    background: var(--white);
    border-radius: 10px;
    box-sizing: border-box;
}
.contact-sns-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    margin-bottom: 40px;
    background: var(--light-green);
    border-radius: 50%;
}
.contact-sns-icon img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
}
.article .contact-sns-item h3 {
    margin: 0 0 28px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
    text-align: center;
}
.article .contact-sns-description {
    width: 100%;
    margin: 0;
    font-size: 15px;
    line-height: 2;
}
.contact-sns-phone {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    width: 100%;
    margin-top: 20px;
}
.contact-sns-phone a {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
}
.contact-sns-phone span {
    color: var(--txt-black);
    font-size: 12px;
    line-height: 1.6;
}
.contact-sns-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-top: auto;
    padding: 10px 30px;
    background: var(--main-color);
    border-radius: 10px;
    color: var(--white);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}
.contact-sns-button:hover {
    background: var(--main-color);
    color: var(--white);
    opacity: 1;
}


/* お問い合わせ メールフォーム */
.contactform-blk .title-blk {
    margin-bottom: 35px;
}
.contactform-blk .txt-blk {
    margin-bottom: 65px;
}
.contactform-blk .txt-blk p {
    margin: 0;
    font-size: 16px;
    line-height: 2;
}
.contactform-blk .content-area {
    max-width: 860px;
    margin-inline: auto;
}
.contactform-blk .snow-monkey-form {
    margin: 0;
    color: var(--txt-black);
    font-size: 14px;
}

/* 入力・確認・完了ステップ */
.contactform-blk .smf-progress-tracker {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 650px;
    margin: 0 auto 30px;
    padding: 0;
    list-style: none;
}
.contactform-blk .smf-progress-tracker::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 16.6667%;
    right: 16.6667%;
    height: 2px;
    background: #d9d9d9;
    z-index: 0;
}
.contactform-blk .smf-progress-tracker__item {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    min-width: 0;
    width: auto;
    margin: 0;
    color: #c6c6c6;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
}
.contactform-blk .smf-progress-tracker__item::before,
.contactform-blk .smf-progress-tracker__item::after {
    content: none;
    display: none;
}
.contactform-blk .smf-progress-tracker__item__number {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    margin: 0;
    border-radius: 50%;
    background: #c6c6c6;
    color: var(--white);
    font-size: 12px;
    line-height: 1;
}
.contactform-blk .smf-progress-tracker__item[aria-current="true"] {
    color: var(--txt-black);
    font-weight: 700;
}
.contactform-blk .smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__number {
    background: #333;
}
.contactform-blk .smf-progress-tracker__item__text {
    margin-top: 0;
    color: inherit;
    line-height: 1.5;
}

/* フォーム全体 */
.contactform-blk .smf-form {
    overflow: hidden;
    background: var(--white);
    border-radius: 12px 12px 0 0;
}
.contactform-blk .smf-form::before {
    content: "ご入力いただいた内容は、お問い合わせへの回答のみに使用します。";
    display: block;
    padding: 15px 28px;
    background: #3e6f55;
    color: var(--white);
    font-size: 13px;
    line-height: 1.6;
}

/* フォーム項目 */
.contactform-blk .smf-item {
    display: grid;
    grid-template-columns: 32% minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    margin: 0;
    padding: 24px 28px;
    border-bottom: 1px solid #eee8dc;
    background: var(--white);
    box-sizing: border-box;
}
.contactform-blk .smf-item__col {
    min-width: 0;
    margin: 0;
    padding: 0;
}
.contactform-blk .smf-item__col--label {
    padding-top: 12px;
}
.contactform-blk .smf-item__label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.contactform-blk .smf-item__label__text {
    color: var(--txt-black);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
}
.contactform-blk .smf-item__controls {
    width: 100%;
    min-width: 0;
}

/* 必須・任意ラベル */
.contactform-blk .smf-item__col--label:has(+ .smf-item__col--controls [data-validations~="required"]) .smf-item__label::after {
    content: "必須";
    display: inline-block;
    padding: 2px 7px;
    border-radius: 3px;
    background: #c64d41;
    color: var(--white);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}
.contactform-blk .smf-item__col--label:not(:has(+ .smf-item__col--controls [data-validations~="required"])) .smf-item__label::after {
    content: "任意";
    display: inline-block;
    padding: 2px 7px;
    border: 1px solid #e8ddcc;
    border-radius: 3px;
    background: #f4efe6;
    color: #8b877f;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
}

/* 入力欄 */
.contactform-blk .smf-text-control__control,
.contactform-blk .smf-textarea-control__control,
.contactform-blk .smf-select-control__control {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 50px;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid #e6d8c3;
    border-radius: 9px;
    background: var(--white);
    box-shadow: none;
    color: var(--txt-black);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.6;
    box-sizing: border-box;
}
.contactform-blk .smf-text-control__control::placeholder,
.contactform-blk .smf-textarea-control__control::placeholder {
    color: #aaa49a;
    opacity: 1;
}
.contactform-blk .smf-textarea-control__control {
    min-height: 180px;
    resize: vertical;
}
.contactform-blk .smf-text-control__control:focus,
.contactform-blk .smf-textarea-control__control:focus,
.contactform-blk .smf-select-control__control:focus {
    border-color: var(--main-color);
    outline: 2px solid rgb(71 134 91 / 15%);
    outline-offset: 1px;
}

/* ラジオボタン */
.contactform-blk .smf-radio-buttons-control__control {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
}
.contactform-blk .smf-radio-buttons-control .smf-label {
    margin: 0;
}
.contactform-blk .smf-radio-button-control {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.contactform-blk .smf-radio-button-control__control {
    accent-color: var(--main-color);
}
.contactform-blk .smf-radio-button-control__label {
    color: var(--txt-black);
    font-size: 14px;
}

/* 写真添付 */
.contactform-blk .smf-placeholder[data-name^="photo-"] {
    margin-bottom: 10px;
}
.contactform-blk .smf-file-control {
    max-width: 100%;
}
.contactform-blk .smf-file-control label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 14px;
    border: 1px dashed #dfcfb5;
    border-radius: 9px;
    background: #fdfaf4;
    cursor: pointer;
}
.contactform-blk .smf-file-control__control {
    max-width: 100%;
}
.contactform-blk .smf-file-control__label {
    display: inline-block;
    padding: 9px 14px;
    border: 1px solid #d8c9b1;
    border-radius: 6px;
    background: var(--white);
    color: var(--txt-black);
    font-size: 13px;
    font-weight: 600;
}
.contactform-blk .smf-file-control__filename {
    color: #888;
    font-size: 12px;
    overflow-wrap: anywhere;
}
.contactform-blk .smf-file-control__clear {
    margin-top: 5px;
    padding: 5px 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background: var(--white);
    color: var(--txt-black);
    font-size: 12px;
    cursor: pointer;
}

/* 個人情報の取り扱い */
.contactform-blk .smf-item__controls .wp-block-paragraph {
    margin: 0 0 12px;
    color: var(--txt-black);
    font-size: 14px;
    line-height: 1.8;
}
.contactform-blk .smf-item__controls .wp-block-paragraph a {
    color: #3e6f55;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.contactform-blk .smf-checkbox-control {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.contactform-blk .smf-checkbox-control__control {
    width: 18px;
    height: 18px;
    accent-color: var(--main-color);
}
.contactform-blk .smf-checkbox-control__label {
    font-size: 14px;
    line-height: 1.8;
}

/* 確認・送信ボタン */
.contactform-blk .smf-action {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin: 0;
    padding: 30px 25px;
    background: #fdfaf4;
}
.contactform-blk .smf-button-control__control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 300px;
    min-height: 56px;
    padding: 14px 30px;
    border: 1px solid #3e6f55;
    border-radius: 10px;
    background: #3e6f55;
    box-shadow: 0 6px 14px rgb(0 0 0 / 8%);
    color: var(--white);
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    cursor: pointer;
    transition: var(--transition);
}
.contactform-blk .smf-button-control__control:hover {
    background: var(--main-color);
    color: var(--white);
    opacity: 1;
}
.contactform-blk .smf-button-control__control:focus-visible {
    outline: 3px solid #a4c6ae;
    outline-offset: 3px;
}
.contactform-blk .smf-button-control__control[data-action="back"] {
    min-width: 160px;
    background: var(--white);
    color: var(--main-color);
    box-shadow: none;
}
.contactform-blk .smf-button-control__control[data-action="back"]:hover {
    background: var(--light-green);
}

/* フォーム下の案内 */
.contactform-note {
    margin: 0;
    padding: 0 20px 30px;
    border-radius: 0 0 12px 12px;
    background: #fdfaf4;
    color: #85857e;
    font-size: 13px;
    line-height: 1.8;
    text-align: center;
}
.contactform-note::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    margin-right: 8px;
    border: 1px solid #3e6f55;
    border-radius: 50%;
    color: #3e6f55;
    font-size: 10px;
    font-weight: 700;
}
.contactform-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    max-width: 860px;
    margin: 35px auto 0 !important;
    padding: 0;
    list-style: none;
}
.contactform-features li {
    padding: 12px 10px;
    border-radius: 8px;
    background: var(--white);
    color: var(--main-color);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

/* お問い合わせ完了画面 */
.contactform-blk .smf-form:has(.smf-complete-content) {
    max-width: 900px;
    margin-inline: auto;
    padding: 70px 30px 60px;
    background: var(--white);
    border-radius: 18px;
    text-align: center;
}
.contactform-blk .smf-form:has(.smf-complete-content)::before {
    content: "";
    display: block;
    width: 105px;
    height: 105px;
    margin: 0 auto 32px;
    padding: 0;
    background-color: var(--light-green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M10 25l10 10L39 13' fill='none' stroke='%2347865B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 52px;
    border-radius: 50%;
}
.contactform-blk .smf-complete-content {
    text-align: center;
}
.contactform-blk .smf-complete-content h2.wp-block-heading {
    max-width: 500px;
    margin: 0 auto 28px;
    padding: 0;
    border: none;
    background: none;
    color: var(--txt-black);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.05em;
}
.contactform-blk .smf-complete-content p.wp-block-paragraph {
    margin: 0;
    padding: 0;
    color: var(--txt-black);
    font-size: 16px;
    font-weight: 400;
    line-height: 2.2;
}
.contactform-blk .smf-complete-content .contact-complete-link {
    margin-top: 40px;
}
.contactform-blk .smf-complete-content .contact-complete-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding-bottom: 5px;
    border-bottom: 1px solid #cbd8ce;
    color: var(--main-color);
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}
.contactform-blk .smf-complete-content .contact-complete-link a span {
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
}
.contactform-blk .smf-complete-content .contact-complete-link a:hover {
    opacity: 0.7;
}


/
/************************************
** プライバシーポリシー
************************************/
.privacy-policy-blk .title-blk {
    margin-left: 0;
}
.privacy-policy-blk .title-blk::before {
    content: none;
}
.privacy-policy-blk > .inner-container > p:first-child {
    margin-bottom: 80px;
}
.privacy-policy-section + .privacy-policy-section {
    margin-top: 80px;
}
.privacy-policy-section .title-blk {
    margin-left: 0;
}
.article .privacy-policy-section h2 {
    margin-bottom: 1em;
    font-size: 26px;
}
.article .privacy-policy-blk .content-area ol {
    padding-left: 1.5em;
    list-style-type: decimal;
}
.article .privacy-policy-blk .content-area ul {
    padding-left: 1.5em;
    list-style-type: disc;
}
.privacy-policy-blk .content-area li {
    margin-bottom: 8px;
}
.privacy-policy-blk .privacy-policy-date {
    margin: 60px 0 0;
    text-align: right;
    font-size: 14px;
}


/************************************
** 投稿ページ共通設定
************************************/
:is(.archive, .single, .blog) #container {
    background-color: var(--bg-dark);
}
:is(.archive, .single, .blog) #main {
    width: calc(100% - 40px);
    max-width: var(--max-width);
    margin-inline: auto;
    margin-top: 80px;
}
:is(.archive, .single, .blog) .title-blk:has(> h1)::before {
    top: 21px;
}
:is(.archive, .single, .blog) .title-blk span {
    display: none;
}



/************************************
** レスポンシブデザイン用
************************************/
/* 1023px以下 */
@media screen and (max-width: 1023px) {
    /************************************
    ** サイト共通設定
    ************************************/
    /*
     * 作業事例一覧共通
    */
    .works-blk .works-detail-row {
        flex-direction: column;
    }

    /*
     * ページ共通 こんなお悩み
    */
    .worries-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .worries-item {
        padding: 22px;
    }
    /*
     * ページ共通 ABOUT SERVICE
    */
    .about-service-blk .title-blk {
        margin-bottom: 50px;
    }
    .about-service-intro {
        gap: 30px;
    }
    .service-point-item {
        padding: 30px 22px 35px;
    }

    /*
     * ページ共通 iTEMS
    */
    .items-blk .txt-blk {
        margin-bottom: 50px;
    }
    .items-list {
        gap: 15px;
    }
    .items-card {
        padding: 28px 20px;
    }
    .items-tags {
        gap: 8px;
    }
    .volume-blk .txt-blk {
        margin-bottom: 50px;
    }
    .volume-list {
        gap: 15px;
    }
    .volume-label {
        top: 15px;
        left: 15px;
        padding: 6px 14px;
        font-size: 14px;
    }
    .volume-body {
        padding: 25px 20px 35px;
    }


    /************************************
    ** ヘッダー共通
    ************************************/
    .header-container-in.hlt-top-menu {
        flex-direction: row;
    }

    /************************************
    ** ヘッダー
    ************************************/
    .navi-in .menu-pc{
        display: flex;
    }

    /* 電話 */
    .header-phone{
        display: none;
    }
    /* snsの中の電話 */
    .header-phone-bottom{
        display: flex;
    }


    /************************************
    ** フッタ
    ************************************/
    #footer{
        padding-bottom: 50px;
    }
    .footer-widgets{
        display: flex;
    }

    /* mobile nav */
    .mobile-footer-menu-buttons{
        bottom: 0 !important;
    }

    /************************************
    ** go to top button
    ************************************/
    .go-to-top{
        bottom: 60px;
    }
    .mblt-footer-mobile-buttons .go-to-top-button{
        display: flex;
    }

    /************************************
    ** トップページ
    ************************************/

    /************************************
    ** 料金のご案内
    ************************************/
    /*
     * PRICE PLAN
    */
    .price-plan-blk .txt-blk {
        margin-bottom: 50px;
    }
    .price-plan-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .price-plan-item {
        padding: 25px 22px;
    }
    .price-plan-amount {
        font-size: 34px;
    }

    /*
     * ITEM PRICE
    */
    .item-price-panel {
        padding: 24px 20px 28px;
    }
    .item-price-item {
        min-height: 64px;
        padding: 10px 12px;
    }

    /*
     * ITEM PRICE
    */
    .house-cleanup-blk .txt-blk {
        margin-bottom: 50px;
    }
    .house-cleanup-blk .content-area {
        padding: 25px 20px 30px;
    }
    .house-cleanup-item {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 5px 12px;
        padding: 15px 12px;
    }
    .house-cleanup-type {
        font-size: 20px;
    }
    .house-cleanup-description {
        grid-column: 1;
        grid-row: 2;
        font-size: 14px;
    }
    .house-cleanup-price {
        grid-column: 2;
        grid-row: 1 / 3;
    }

    /*
     * MOVING
    */
    .moving-blk .volume-body {
        padding: 25px 20px 30px;
    }
    .moving-blk .volume-body .moving-price-estimate {
        font-size: 24px;
    }


    /*
     * INCLUDED
    */
    .included-blk .worries-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .included-blk .worries-item {
        padding: 24px 20px;
    }

    /*
     * ABOUT PRICE
    */
    .about-price-blk .txt-blk {
        margin-bottom: 60px;
    }
    .about-price-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 45px 20px;
    }
    .about-price-item {
        min-height: 195px;
    }

    /*
     * ABOUT PRICE
    */
    .purchase-blk .title-blk {
        margin-bottom: 45px;
    }
    .purchase-blk .content-area {
        gap: 30px;
        padding: 30px;
    }
    .article .purchase-content h3 {
        margin-bottom: 22px;
        font-size: 24px;
    }
    .purchase-content .txt-blk {
        margin-bottom: 25px;
    }


    /************************************
    ** ご利用の流れ
    ************************************/
    /*
     * FLOW STEP
    */
    .flow-step-list {
        gap: 40px;
    }
    .flow-step-item {
        grid-template-columns: minmax(0, 1fr) 65px minmax(0, 1fr);
        column-gap: 12px;
    }
    .flow-step-number {
        width: 60px;
        height: 60px;
    }
    .flow-step-number span {
        font-size: 10px;
    }
    .flow-step-number strong {
        font-size: 21px;
    }
    .flow-step-body {
        padding: 22px;
    }
    .article .flow-step-body h3 {
        font-size: 18px;
    }
    .flow-step-body p {
        font-size: 14px;
    }

    /*
     * FLOW STEP
    */
    .payment-blk .txt-blk {
        margin-bottom: 45px;
    }
    .payment-blk .about-price-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
    .payment-blk .about-price-item {
        min-height: 280px;
        padding: 30px 24px;
    }
    .payment-blk .payment-illustration img {
        max-height: 160px;
    }


    /************************************
    ** よくある質問
    ************************************/
    /* FAQページ カテゴリー一覧 */
    .faq-category-blk .txt-blk {
        margin-bottom: 45px;
    }
    .faq-category-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .faq-category-item a {
        min-height: 190px;
        padding: 30px 15px 25px;
    }
    .faq-section-heading {
        margin-bottom: 35px;
    }


    /************************************
    ** 会社概要
    ************************************/
    /* 会社概要 代表者のごあいさつ */
    .message-blk .title-blk {
        margin-bottom: 50px;
    }
    .message-content {
        gap: 50px;
    }
    .article .message-catch {
        margin-bottom: 30px;
        font-size: 24px;
    }
    .message-text p {
        font-size: 15px;
    }
    .message-text p + p {
        margin-top: 20px;
    }
    .message-sign {
        margin-top: 35px;
    }

    /* 会社概要 大切にしていること */
    .values-blk .txt-blk {
        margin-bottom: 45px;
    }
    .values-list {
        gap: 12px;
    }
    .values-item {
        padding: 28px 24px 35px;
    }
    .article .values-item h3 {
        font-size: 18px;
    }
    .values-item p {
        font-size: 15px;
    }

    /* 会社概要 サービス・対応エリア */
    .inquire-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .inquire-area {
        padding: 35px;
    }

    /* 会社概要 会社情報 */
    .shopinfo-table th,
    .shopinfo-table td {
        padding: 25px;
    }

    /************************************
    ** 問い合わせ
    ************************************/
    /* お問い合わせ お問い合わせ方法 */
    .contact-sns-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .contact-sns-item {
        min-height: 430px;
        padding: 30px 25px 35px;
    }

}

/* 834px以下 */
@media screen and (max-width: 834px) {


    /************************************
    ** サイト共通設定
    ************************************/
    /*
     * cta
    */
    .cta-blk .inner-container {
        flex-direction: column;
    }

    /*
     * 作業事例一覧共通
    */
    .works-blk .listing-body {
        flex-direction: column;
    }
    .works-blk .works-detail-row {
        flex-direction: row;
    }
    .works-blk .listing-body .works-description {
        padding-left: 0;
        padding-top: 1em;
        border-left: none;
        border-top: 1px solid #ddd;
    }


    /*
     * ご利用の流れ
    */
    .flow-item {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }


    /************************************
    ** ヘッダー
    ************************************/
    .navi-in .menu-pc{
        display: none;
    }

    /************************************
    ** フッタ
    ************************************/
    .footer-widgets{
        display: block;
    }

    /************************************
    ** トップページ
    ************************************/
    /*
     * サービス一覧
    */
    /* サービス一覧スライダー */
    #service-slider .swiper-wrapper {
        display: flex;
        gap: 0;
    }
    #service-slider .swiper-slide {
        flex-shrink: 0;
    }


    /*
     * ご利用料金
    */
    /* 積み放題パック */
    .home .price-blk .price-card-list-pack {
        /*gap: 60px;*/
    }


    /*
     * 選ばれる5つの理由
    */
    .home .reason-blk .reason-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
        padding: 30px;
    }
    .home .reason-blk .reason-item .reason-content {
        grid-row: 1;
        grid-column: 1;
    }
    .home .reason-blk .reason-item .reason-image {
        grid-row: 2;
        grid-column: 1;
    }


    /************************************
    ** サービス一覧
    ************************************/
    .service .service-blk .listing-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}



/* ページ共通 FV スマートフォン */
@media screen and (max-width: 767px) {

    /************************************
    ** サイト共通設定
    ************************************/
    /*
     * ページ共通 FV（ページヘッダー）
    */
    .article .page-header-blk .title-blk h1 {
        margin-bottom: 0;
    }
    .page-header-blk .inner-container {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "title"
        "image"
        "content";
    gap: 30px;
    }


    /*
     * ページ共通 こんなお悩み
    */
    .worries-blk .txt-blk {
        margin-bottom: 30px;
    }
    .worries-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    .worries-item {
        grid-template-columns: 60px minmax(0, 1fr);
        column-gap: 15px;
        padding: 18px 20px;
    }
    .worries-item p {
        font-size: 14px;
    }


    /*
     * ページ共通 ABOUT SERVICE
    */
    .about-service-blk .title-blk {
        margin-bottom: 35px;
    }
    .about-service-intro {
        grid-template-columns: minmax(0, 1fr);
        gap: 25px;
        margin-bottom: 35px;
    }
    .about-service-image {
        border-radius: 12px;
    }
    .article .about-service-content h3 {
        margin-bottom: 20px;
        font-size: 22px;
    }
    .service-point-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }
    .service-point-item {
        padding: 25px;
    }
    .service-point-number {
        margin-bottom: 20px;
    }
    .service-point-number .number {
        font-size: 38px;
    }

    /*
     * ページ共通 iTEMS
    */
    .items-blk .txt-blk {
        margin-bottom: 35px;
    }
    .items-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }
    .items-card {
        padding: 25px 20px;
    }
    .items-card-header {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .items-icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }
    .items-icon img {
        width: 26px;
        height: 26px;
    }
    .article .items-card-heading h3 {
        font-size: 20px;
    }
    .items-notice {
        margin-top: 20px;
        padding: 25px 20px;
    }
    .items-notice-header {
        gap: 12px;
        margin-bottom: 18px;
    }
    .article .items-notice-header h3 {
        font-size: 18px;
    }
    .items-notice p {
        margin: 0;
        font-size: 14px;
    }

    /*
     * ページ共通 iTEMS
    */
    .volume-blk .title-blk {
        margin-bottom: 25px;
    }
    .volume-blk .txt-blk {
        margin-bottom: 35px;
    }
    .volume-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }
    .volume-image {
        aspect-ratio: 4 / 3;
    }
    .volume-label {
        top: 15px;
        left: 15px;
    }
    .volume-body {
        padding: 25px 20px 30px;
    }
    .article .volume-body h3 {
        margin-bottom: 15px;
    }


    /************************************
    ** トップページ
    ************************************/
    /** fv **/
    .home .entry-content > section:first-child {
        padding-top: 0;
    }
    .page .home-fv {
        display: block;
        min-height: 0;
        overflow: visible;
        background: var(--white);
    }

    /* FVスライダー */
    .page .home-fv #top-slider {
        position: relative;
        inset: auto;
        width: 100%;
        height: auto;
        aspect-ratio: 375 / 430;
    }
    .page .home-fv #top-slider .swiper-slide {
        height: 100%;
    }
    .page .home-fv #top-slider picture {
        display: block;
        width: 100%;
        height: 100%;
    }
    .page .home-fv #top-slider img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    /* FV画像下部のグラデーション */
    .page .home-fv .swiper-wrapper::after {
        content: "";
        position: absolute;
        inset: 0;
        bottom: -1px;
        z-index: 2;
        background: linear-gradient(to bottom, transparent 85%, var(--bg-light) 100%);
        pointer-events: none;
    }

    /* FVコンテンツ */
    .page .home-fv-inner {
        width: 100%;
        max-width: none;
    }
    .page .home-fv-content {
        width: 100%;
        max-width: none;
        padding: 30px 20px 40px;
        background: none;
        border-radius: 0;
        box-sizing: border-box;
    }


    /*
     * こんなお悩み
    */
    .home .worries-blk .inner-container {
        background-image: none;
    }


    /************************************
    ** 料金のご案内
    ************************************/
    /*
     * PRICE PLAN
    */
    .price-plan-blk .title-blk {
        margin-bottom: 25px;
    }
    .price-plan-blk .txt-blk {
        margin-bottom: 35px;
    }
    .price-plan-list {
        grid-template-columns: minmax(0, 1fr);
    }
    .price-plan-item {
        padding: 24px 20px;
    }
    .price-plan-price {
        min-height: 80px;
        padding: 15px 0;
    }
    .price-plan-features li {
        font-size: 14px;
    }
    .price-plan-blk .notice-message {
        margin-top: 30px;
        padding: 12px 20px;
        border-radius: 12px;
        font-size: 13px;
    }

    /*
     * ITEM PRICE
    */
    .item-price-blk .txt-blk {
        margin-bottom: 30px;
    }
    .item-price-tab-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 20px;
        padding: 10px;
    }
    .item-price-panel {
        padding: 16px 16px 24px;
    }
    .item-price-list {
        grid-template-columns: minmax(0, 1fr);
    }
    .item-price-blk .items-notice {
        margin-top: 25px;
    }

    /*
     * ITEM PRICE
    */
    .house-cleanup-blk .title-blk {
        margin-bottom: 20px;
    }
    .house-cleanup-blk .txt-blk {
        margin-bottom: 30px;
    }
    .house-cleanup-blk .content-area {
        padding: 16px 16px 24px;
    }
    .house-cleanup-list {
        grid-template-columns: minmax(0, 1fr);
    }
    .house-cleanup-item {
        min-height: 75px;
        padding: 12px 5px;
    }
    .house-cleanup-estimate {
        font-size: 18px;
    }

    /*
     * MOVING
    */
    .moving-blk .volume-body {
        padding: 25px 22px 30px;
    }
    .moving-blk .volume-body > p:not(.moving-price) {
        margin-bottom: 22px;
    }
    .moving-blk .volume-body .moving-price {
        padding-top: 15px;
    }
    .moving-blk .volume-body .moving-price-estimate {
        font-size: 24px;
    }

    /*
     * MOVING
    */
    .included-blk .worries-list {
        grid-template-columns: minmax(0, 1fr);
    }
    .included-blk .worries-item {
        grid-template-columns: 48px minmax(0, 1fr);
        column-gap: 15px;
        padding: 20px 18px;
    }
    .included-blk .worries-icon {
        width: 48px;
        height: 48px;
    }
    .article .included-content h3 {
        margin-bottom: 8px;
    }


    /*
     * INCLUDED
    */
    .about-price-blk .title-blk {
        margin-bottom: 30px;
    }
    .about-price-blk .txt-blk {
        margin-bottom: 55px;
    }
    .about-price-list {
        grid-template-columns: minmax(0, 1fr);
    }
    .about-price-item {
        padding: 35px 12px 22px;
    }
    .about-price-number {
        top: -22px;
        width: 44px;
        height: 44px;
        font-size: 18px;
    }
    .about-price-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 16px;
    }
    .about-price-icon img {
        width: 40px;
        height: 40px;
    }

    /*
     * ABOUT PRICE
    */
    .purchase-blk .title-blk {
        margin-bottom: 35px;
    }
    .purchase-blk .content-area {
        grid-template-columns: minmax(0, 1fr);
        padding: 24px 20px;
    }
    .purchase-content .txt-blk {
        margin-bottom: 25px;
    }
    .purchase-content .txt-blk p {
        font-size: 14px;
        line-height: 2;
    }


    /************************************
    ** ご利用の流れ
    ************************************/
    /*
     * FLOW STEP
    */
    .flow-step-blk .title-blk {
        margin-bottom: 25px;
    }
    .flow-step-blk .txt-blk {
        margin-bottom: 35px;
    }
    .flow-step-list::before {
        top: 20px;
        bottom: 20px;
        left: 28px;
        transform: none;
    }
    .flow-step-item {
        grid-template-columns: 56px minmax(0, 1fr);
        align-items: start;
        column-gap: 15px;
        row-gap: 15px;
    }
    .flow-step-number {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 56px;
        height: 56px;
    }
    .flow-step-number span {
        font-size: 10px;
    }
    .flow-step-number strong {
        font-size: 19px;
    }
    .flow-step-image,
    .flow-step-item:nth-child(even) .flow-step-image {
        grid-column: 2;
        grid-row: 1;
    }
    .flow-step-body,
    .flow-step-item:nth-child(even) .flow-step-body {
        grid-column: 2;
        grid-row: 2;
        padding: 20px;
    }
    .flow-step-image img {
        aspect-ratio: 4 / 3;
    }

    /*
     * FLOW STEP
    */
    .payment-blk .title-blk {
        margin-bottom: 25px;
    }
    .payment-blk .txt-blk {
        margin-bottom: 35px;
    }
    .payment-blk .about-price-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .payment-blk .about-price-item {
        min-height: 230px;
        padding: 24px 12px;
    }
    .payment-blk .about-price-icon {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
        margin-bottom: 16px;
    }
    .payment-blk .about-price-icon img {
        width: 34px;
        height: 34px;
    }

    /************************************
    ** よくある質問
    ************************************/
    /* FAQページ カテゴリー一覧 */
    .faq-category-blk .title-blk {
        margin-bottom: 25px;
    }
    .faq-category-blk .txt-blk {
        margin-bottom: 35px;
    }
    .faq-category-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .faq-category-item a {
        min-height: 165px;
        padding: 25px 12px 20px;
    }
    .faq-category-icon {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
        margin-bottom: 15px;
    }
    .faq-category-icon img {
        width: 28px;
        height: 28px;
    }
    .faq-category-name {
        font-size: 14px;
    }
    .faq-category-arrow {
        width: 24px;
        height: 24px;
        margin-top: 15px;
        font-size: 14px;
    }
    .faq-section-blk {
        scroll-margin-top: 75px;
    }
    .faq-section-heading {
        gap: 15px;
        margin-bottom: 30px;
    }
    .faq-section-icon {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
    }
    .faq-section-icon img {
        width: 28px;
        height: 28px;
    }
    .faq-section-heading .en-title {
        margin-bottom: 5px;
        font-size: 12px;
    }
    .article .faq-section-heading h2 {
        font-size: 22px;
    }
    .faq-section-more {
        margin-top: 20px;
        font-size: 13px;
    }


    /************************************
    ** 会社概要
    ************************************/
    /* 会社概要 代表者のごあいさつ */
    .message-blk .title-blk {
        margin-bottom: 35px;
    }
    .message-content {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .message-image {
        max-width: 500px;
        margin-inline: auto;
    }
    .article .message-catch {
        margin-bottom: 25px;
        font-size: 22px;
        line-height: 1.6;
    }
    .message-text p {
        font-size: 15px;
        line-height: 1.9;
    }
    .message-text p + p {
        margin-top: 20px;
    }
    .message-sign {
        gap: 15px;
        margin-top: 30px;
    }
    .message-name {
        font-size: 18px;
    }

    /* 会社概要 大切にしていること */
    .values-blk .title-blk {
        margin-bottom: 25px;
    }
    .values-blk .txt-blk {
        margin-bottom: 35px;
    }
    .values-blk .txt-blk p {
        font-size: 15px;
    }
    .values-list {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .values-item {
        min-height: 0;
        padding: 25px 28px 32px;
    }
    .values-number {
        margin-bottom: 15px;
        font-size: 36px;
    }
    .article .values-item h3 {
        margin-bottom: 18px;
        font-size: 19px;
    }
    .values-item p {
        font-size: 15px;
        line-height: 1.9;
    }


    /* 会社概要 サービス・対応エリア */
    .inquire-blk .title-blk {
        margin-bottom: 35px;
    }
    .inquire-service-list {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .inquire-service-list a {
        min-height: 65px;
        padding: 16px 20px;
        font-size: 16px;
    }
    .inquire-service-more {
        margin-top: 25px;
        font-size: 14px;
    }
    .inquire-area {
        padding: 30px 25px;
    }
    .inquire-area-label {
        margin-bottom: 18px;
    }
    .article .inquire-area h3 {
        font-size: 20px;
    }
    .inquire-area-list li {
        padding: 6px 12px;
        font-size: 13px;
    }

    /* 会社概要 会社情報 */
    .shopinfo-blk .title-blk {
        margin-bottom: 35px;
    }
    .shopinfo-table-wrap {
        border-radius: 10px;
    }
    .shopinfo-table,
    .shopinfo-table tbody,
    .shopinfo-table tr,
    .shopinfo-table th,
    .shopinfo-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    .shopinfo-table th {
        padding: 14px 20px;
        font-size: 15px;
    }
    .shopinfo-table td {
        padding: 18px 20px 22px;
        font-size: 15px;
    }

    /************************************
    ** 問い合わせ
    ************************************/
    /* お問い合わせ お問い合わせ方法 */
    .contact-sns-blk .title-blk {
        margin-bottom: 25px;
    }
    .contact-sns-blk .txt-blk {
        margin-bottom: 35px;
    }
    .contact-sns-blk .txt-blk p {
        font-size: 15px;
    }
    .contact-sns-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }
    .contact-sns-item {
        min-height: 0;
        padding: 30px 25px 35px;
    }
    .contact-sns-icon {
        width: 64px;
        height: 64px;
        margin-bottom: 25px;
    }
    .contact-sns-icon img {
        width: 30px;
        height: 30px;
    }
    .article .contact-sns-item h3 {
        margin-bottom: 20px;
        font-size: 19px;
    }
    .contact-sns-description {
        font-size: 14px;
    }
    .contact-sns-phone a {
        font-size: 25px;
    }
    .contact-sns-button {
        width: 100%;
        margin-top: 30px;
    }

    /* お問い合わせ メールフォーム */
    .contactform-blk .title-blk {
        margin-bottom: 25px;
    }
    .contactform-blk .txt-blk {
        margin-bottom: 35px;
    }
    .contactform-blk .txt-blk p {
        font-size: 15px;
    }
    .contactform-blk .smf-progress-tracker {
        margin-bottom: 25px;
    }
    .contactform-blk .smf-progress-tracker__item {
        font-size: 11px;
    }
    .contactform-blk .smf-form::before {
        padding: 14px 18px;
        font-size: 12px;
    }
    .contactform-blk .smf-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 22px 18px;
    }
    .contactform-blk .smf-item__col--label {
        padding-top: 0;
    }
    .contactform-blk .smf-text-control__control,
    .contactform-blk .smf-textarea-control__control,
    .contactform-blk .smf-select-control__control {
        font-size: 16px;
    }
    .contactform-blk .smf-radio-buttons-control__control {
        gap: 12px;
    }
    .contactform-blk .smf-action {
        padding: 25px 18px;
    }
    .contactform-blk .smf-button-control {
        width: 100%;
    }
    .contactform-blk .smf-button-control__control {
        width: 100%;
        min-width: 0;
    }
    .contactform-note {
        padding: 0 18px 25px;
        font-size: 12px;
    }
    .contactform-features {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-top: 25px !important;
    }

    /* お問い合わせ完了画面 */
    .contactform-blk .smf-form:has(.smf-complete-content) {
        padding: 55px 20px;
        border-radius: 12px;
    }
    .contactform-blk .smf-form:has(.smf-complete-content)::before {
        width: 85px;
        height: 85px;
        margin-bottom: 25px;
        background-size: 44px;
    }
    .contactform-blk .smf-complete-content h2.wp-block-heading {
        max-width: 320px;
        margin-bottom: 22px;
        font-size: 24px;
    }
    .contactform-blk .smf-complete-content p.wp-block-paragraph {
        font-size: 14px;
        line-height: 2;
    }
    .contactform-blk .smf-complete-content .contact-complete-link {
        margin-top: 35px;
    }
    .contactform-blk .smf-complete-content .contact-complete-link a {
        font-size: 14px;
    }

    /************************************
    ** プライバシーポリシー
    ************************************/
    /* プライバシーポリシー セクション間隔 */
    .privacy-policy-section + .privacy-policy-section {
        margin-top: 80px;
    }

}



/* 480px以下 */
@media screen and (max-width: 480px) {

    /************************************
    ** サイト共通設定
    ************************************/
    .title-blk {
        margin-left: 44px;
    }
    .title-blk::before {
        top: 37px;
        left: -38px;
        width: 28px;
        height: 44px;
    }

    /************************************
    ** 固定ページ共通設定
    ************************************/
    .home .article .title-blk h2{
        font-size: 36px;
    }

    /************************************
    ** ヘッダー
    ************************************/
    /* 電話 */
    .header-phone{
        display: none;
    }
    /* snsの中の電話 */
    .header-phone-bottom{
        display: flex;
    }


    /************************************
    ** トップページ
    ************************************/

    /*
     * 選ばれる5つの理由
    */
    .home .reason-blk .reason-points {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        max-width: 200px;
        margin-inline: auto;
    }
    .home .reason-blk .reason-points li + li {
        border-top: 1px solid rgba(255, 255, 255, 0.45);
        border-bottom: 1px solid rgba(255, 255, 255, 0.45);
        border-left: none;
    }

    /*
     * お知らせ一覧
    */
    .news-blk .listing-list{
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    /************************************
    ** サービス一覧
    ************************************/
    .service .service-blk .listing-list {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }


}
