/*
Theme Name:konosu hoshikai
Theme URI:https://tcd-theme.com/tcd097/
Description:WordPressテーマ「common」の自作子テーマです。
Template:common_tcd097
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.12.3
*/


/*--------------------------------------
 共通
--------------------------------------*/
/* font */
body, input, textarea, button.accordion-header, .post_content, .c-headline, 
.p-fp-free-space .p-fp-section__headline, .page .p-fp-section__headline, .p-single__header-title, .p-header-slider .p-header-slider__title.c-font--1 {
    font-family: 'Lexend', "BIZ UDGothic", sans-serif !important;
	letter-spacing: 0.05em;
}
.gothic {
	font-family: 'Lexend', 'Noto Sans JP', sans-serif !important;
}
.en {
	font-family: "Kulim Park", sans-serif !important;
}
.min {
	font-family: var(--tcd-font-type2) !important;
}

/* カラー */
.org { color: rgba(var(--tcd-accent-color), 1); }
.wh { color: #fff; }
.bg-yl { background-color: #fac724; }
.bg-beige {	background: rgba(var(--tcd-bg-color, 246, 246, 246),1); }
.bg-wh { background-color:#fff; }


/* 改行 */
span.il-b {
  display: inline-block;
}
.spbr {
	display: none;
}
.pcbr {
    display: block;
    height: 0;
    width: 0;
}
.pc-only {
	display: block !important;
}
.sp-only {
	display: none !important;
}
@media (max-width: 767px) {
  .spbr {
	display: block;
    height: 0;
    width: 0;
	}
  .pcbr {
	display: none;
	}
  .pc-only {
	display: none !important;
	}
  .sp-only {
	display: block !important;
	}
}

/* リンク画像 */
a:hover img {
    opacity: 0.7;
	transition: 0.5s;
}

/* スマホ時TELリンク */
.mobile_device a[href^="tel:"] {
    text-decoration: none;
}

/* 小ボタン */
.btn-s {
    width: 100% !important;
    max-width: 330px;
    height: 45px !important;
    font-weight: 700;
    font-size: 15px;
	line-height: 1;
}
.btn-s:hover {
    background: #fff;
}

/* pdfアイコン */
i.fa-file-pdf {
    font-size: 140%;
}

/* ※印 */
ul.notes {
  display: table;
  width: 100%;
  margin: 5px 0 0 0;
  padding-left: 0;
}
ul.notes li {
  list-style: none;
  font-size: 12px;
  line-height: 1.6;
  color: #666;
}
ul.notes li .notes_head {
  display: table-cell;
  vertical-align: top;
  white-space: nowrap;
  padding-right: 0.5em;
}
ul.notes li .notes_body {
  display: table-cell;
  vertical-align: top;
  text-align: left;
}

/* マーカー */
span.stripe-marker {
	background-image: repeating-linear-gradient(-45deg, #fcf69f 0, #fcf69f 2px, transparent 2px, transparent 4px);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 0.5em;
    font-weight: 700;
    color: #434343;
}

/* small */
small {
    font-size: smaller;
    padding: 0 3px;
}




/* header ----------------------------------------------*/
.l-header__inner.l-inner {
    max-width: unset;
}
.p-global__nav a {
    font-weight: 700;
    font-size: 95%;
    color: #2b2b2b;
}
/* サブメニュー背景色 
.is-header-type--dark .p-global__nav .sub-menu, .is-header-type--dark .p-megamenu {
    background: #333;
}*/

/* 検索バー非表示 */
.l-header__icons-search {
    display: none;
}
/* ナビ右寄せ */
@media screen and (max-width: 1520px) {
	.p-global__nav-wrapper  {
		justify-content: right;
	}
}
/* 検索窓幅
@media screen and (max-width: 1560px) {
	.l-header__search:hover .l-header__search-form input {
        width: 200px;
    }
}*/

/* 翻訳プラグイン */
.menu-item-gtranslate a.glink span {
    font-size: 12px !important;
}
.menu-item-gtranslate a.gt_switcher-popup {
    padding: 0 0 0 20px;
}


/* footer ----------------------------------------------*/
/* banner */
.l-footer__banner {
    border-top: none;
	background: rgba(var(--tcd-bg-color), 1);
}
.l-footer__banner .l-inner {
    max-width: 825px;
}
.l-footer__banner-item {
    min-width: calc((825px - 60px) / 3);
    height: 82px;
}
@media (max-width: 1240px) {
    .l-footer__banner-list {
        padding-left: 0;
    }
}
@media (max-width: 850px) {
    .l-footer__banner-list {
        padding-left: 0;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
    }
	.l-footer__banner-inner {
        width: 90%;
        margin: 0 auto;
    }
	.l-footer__banner-item {
		min-width: unset;
		height: 58px;
		width: 180px;
	}
	* + .l-footer__banner-item {
		margin-left: 0;
	}
	.l-footer__banner-link {
		max-width: 180px;
		margin: 0 auto;
	}
}

/* ロゴエリア */
@media (max-width: 767px) {
	.l-footer__logo .c-logo {
		justify-content: center;
	}
	.l-footer__desc {
        text-align: center;
    }
}

/* MENU */
.l-footer__desc {
    font-size: 1rem;
    line-height: 1.7;
}
.l-footer__nav-list>ul>li:first-of-type {
    margin: -0.3em 0 0;
}
.l-footer__nav-list>ul>li:not(:first-of-type) {
    margin: calc(20px - 0.3em) 0 -0.3em;
}
.l-footer__nav-list>ul>li .sub-menu {
    margin-top: 5px;
    line-height: 1.7;
	column-gap: 25px
}
.l-footer__nav-list>ul>li .sub-menu li a {
    position: relative;
}
.l-footer__nav-list>ul>li .sub-menu li a::before {
    content: "";
    position: absolute;
    width: 10px;
    background-color: #616161;
    top: 50%;
    transform: translateY(-50%);
    left: -17px;
    height: 0.5px;
}






/*--------------------------------------
TOP
--------------------------------------*/
/* 横スクロール回避・横幅拡張・BGカラー  */
.home .l-container {
    overflow: hidden;
	background: rgba(var(--tcd-bg-color, 246, 246, 246),1);
}
.home .is-sidebar--none {
	max-width: 1180px;
}
.home .l-main {
    width: 1180px;
}
@media not all and (max-width: 767px) {
    .home .l-container__inner {
        padding: 70px 0 0;
    }
}
@media (max-width: 767px) {
    .home .l-container__inner {
        padding: 40px 0 0;
    }
}

/* スライダー文字下余白削除 */
@media not all and (max-width: 767px) {
    .is-show-news-ticker .p-header-slider__contents {
        padding-bottom: 0;
    }
}

/* sp加盟店数アイコン位置 */
@media (max-width: 767px) {
    .p-front-products-label-wrapper {
        top: 10px;
    }
	.p-front-products-label {
        margin: 0 0 0 auto;
    }
}

/* ひなちゃん */
.p-header-slider-wrapper:after {
    content: "";
    position: absolute;
    background: url(./images/hinachan.png) no-repeat;
    background-size: cover;
    bottom: -6px;
    left: 4%;
    height: 180px;
    width: 142px;
    animation: fadeIn 2s ease-in-out;
    z-index: 99;
}
@media (max-width: 767px) {
    .p-header-slider-wrapper:after {
        bottom: 0;
        left: 5px;
        height: 127px;
        width: 100px;
    }
}

/* フリースペースのタイトル、固定ページCTAタイトル */
.p-fp-free-space .p-fp-section__headline, .page .p-fp-section__headline {
    font-size: 34px !important;
    line-height: 1.6 !important;
    margin: -0.3em 0 !important;
}
.p-fp-free-space .p-fp-section__desc, .page .p-fp-section__desc {
    font-size: 16px !important;
    line-height: 2.4 !important;
    margin: -0.7em 0 !important;
	margin-top: calc(20px - 0.7em) !important;
}
@media (max-width: 767px) {
    .p-fp-free-space .p-fp-section__headline, .page .p-fp-section__headline {
        font-size: 22px !important;
		margin-bottom: 0 !important;
    }
	.p-fp-free-space .p-fp-section__desc, .page .p-fp-section__desc {
        font-size: 14px !important;
        line-height: 2 !important;
        margin: -0.5em 0 !important;
    }
}

/* フリースペース間の上余白 */
* + .p-fp-section {
    margin-top: 0;
}

/* TOPお知らせ */
/* 波bottom */
.wave-btm {
	background-color: rgba(var(--tcd-bg-color), 1);
    background-image: url(./images/bg-wave-bottom.png);
    background-size: 120rem;
    background-position: bottom 0 center;
    background-repeat: no-repeat;
    position: relative;
}
@media screen and (max-width: 767px) {
	.wave-btm {
		background-size: 60rem;
	}
}

/* お知らせ枠 */
.p-fp-free-space .news {
	max-width: 950px;
    margin: 0 auto;
	padding: 0 0 300px;
}
/* ▼ お知らせリスト */
.news-list {
    padding-top: 50px;
}
.news-item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
  padding: 20px 10px;
  gap: 16px;
}
.news-list ul, .news-list-ajax ul {
    list-style: none !important;
    margin-left: 0 !important;
	margin-bottom: 20px !important;
}
.home .news-list-ajax {
    background: #fff;
    padding: 40px 60px;
    border-radius: 20px;
}
.news-date {
	width: 100px;
    color: #333;
    font-size: 0.95em;
    white-space: nowrap;
    flex-shrink: 0;
    font-family: 'Arial';
}
.news-categories {
  width: 190px;
  font-size: 0.9em;
  flex-shrink: 0;
}
.news-categories a {
	display: inline-block;
	margin: 2px 4px 2px 0;
	font-size: 0.9em;
	background-color: #fff;
	padding: 7px 12px 5px;
    text-align: center;
    border-radius: 100vmax;
    line-height: 1;
    font-weight: 700;
    width: 165px;
}
.news-title {
	flex: 1;
	font-weight: 700;
	line-height: 1.7;
}
.news-title a {
	color: #333 !important;
	text-decoration: none;
}
.news-title a:hover {
	color: rgba(var(--tcd-link-color), 1)!important;
}
/* ▼ カテゴリボタン */
.news-category-buttons {
    margin: 40px 0 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
}
.news-cat-btn {
    display: inline-block;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 100vmax;
    text-decoration: none;
    color: #333;
	background: #fff;
    font-size: 14px;
    transition: 0.3s;
}
/*.news-categories a:hover,
.news-cat-btn:hover {
	text-decoration: none !important;
}*/

/* ▼ 色設定 ▼ */
/* デフォルト色（加盟店からのお知らせ） */
.news-categories a,
.news-cat-btn {
	color: #0073aa !important;
	border: 1px solid #0073aa;
}
.news-categories a:hover,
.news-cat-btn:hover, .news-cat-btn.cat-info-shop.active {
	color: #fff !important;
	background-color: #0073aa;
	font-weight: 600;
	text-decoration: none !important;
}
/* カテゴリー色 */
.news-cat-btn.cat-all {
	color: #737373 !important;
	border: 1px solid #ccc;
}
.news-cat-btn.cat-all:hover, .news-cat-btn.cat-all.active {
	color: #fff !important;
	background-color: #ccc;
	font-weight: 600;
	text-decoration: none !important;
}
.news-categories a.cat-info-shop,
.news-cat-btn.cat-info-shop {
	color: #0073aa !important;
	border: 1px solid #0073aa;
}
.news-categories a.cat-info-shop:hover,
.news-cat-btn.cat-info-shop:hover, .news-cat-btn.cat-info-shop.active {
	color: #fff !important;
	background-color: #0073aa;
	font-weight: 600;
	text-decoration: none !important;
}
.news-categories a.cat-info-hoshikai,
.news-cat-btn.cat-info-hoshikai {
	color: #e67e22 !important;
	border: 1px solid #e67e22;
}
.news-categories a.cat-info-hoshikai:hover,
.news-cat-btn.cat-info-hoshikai:hover, .news-cat-btn.cat-info-hoshikai.active {
	color: #fff !important;
	background-color: #e67e22;
	font-weight: 600;
	text-decoration: none !important;
}
.news-categories a.cat-campaign,
.news-cat-btn.cat-campaign {
	color: #27ae60 !important;
	border: 1px solid #27ae60;
}
.news-categories a.cat-campaign:hover,
.news-cat-btn.cat-campaign:hover, .news-cat-btn.cat-campaign.active {
	color: #fff !important;
	background-color: #27ae60;
	font-weight: 600;
	text-decoration: none !important;
}
.news-categories a.cat-event,
.news-cat-btn.cat-event {
	color: #e74c3c !important;
	border: 1px solid #e74c3c;
}
.news-categories a.cat-event:hover,
.news-cat-btn.cat-event:hover, .news-cat-btn.cat-event.active {
	color: #fff !important;
	background-color: #e74c3c;
	font-weight: 600;
	text-decoration: none !important;
}

@media screen and (max-width: 767px) {
	.p-fp-free-space .news {
		padding: 0 0 140px
	}
	.home .news-list-ajax {
		padding: 15px 25px;
		margin: 0 20px;
	}
  .news-item {
	display: block;
  }
  .news-date,
  .news-categories,
  .news-title {
	display: inline-block;
    width: auto;
    margin-bottom: 6px;
	margin-right: 10px;
  }
  .news-title {
	display: block;
    width: auto;
    margin-bottom: 0;
  }
  .news-categories a {
    width: auto;
  }
}

/* TOP加盟店のご案内 */
.p-fp-free-space .shop {
	background: #fff;
	padding: 0;
	margin-top: -200px;
}
@media screen and (max-width: 767px) {
	.p-fp-free-space .shop {
		margin-top: -140px;
	}
}

/* 加盟店検索タブ */
.shop-search-wrap {
  margin: 40px 0 0;
}
.shop-tabs {
	display: flex;
    flex-wrap: wrap;
    max-width: 840px;
}
.shop-tab-button {
	position: relative;
    cursor: pointer;
    flex: 1;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    border-radius: 10px 10px 0 0;
    /*box-shadow: -6px 0px 8px rgba(0, 0, 0, 0.08);*/
    background: #E8E8E8;
    color: #939393;
    padding: 20px 0;
	transition: background-color 0.3s, color 0.3s;
}
.shop-tab-button.active {
	background: #fac724;
    color: #000;
    z-index: +1;
    box-shadow: 6px 6px 8px rgba(0, 0, 0, 0.08);
}
.shop-tab-button.active.tab2 {
    box-shadow: -6px 0px 8px rgba(0, 0, 0, 0.08);
}
.shop-tab-content {
	display: none;
	position: relative;
    z-index: +2;
    padding: 40px 0 50px;
	/*background: url(./images/shop-tab-content_bg.png) no-repeat center bottom / cover;*/
    background-color: #fac724;
	background-image: linear-gradient(rgb(250, 199, 36), rgb(255 214 186));
}
.shop-tab-content.active {
  display: block;
}
.shop-tab-content h3 {
  display: none;
}
.map-note {
  font-size: 15px;
  color: #333;
  line-height: 1 !important;
}
.map-note .map-icon {
  width: 30px;
  height: auto;
  vertical-align: middle;
  margin: 0 4px;
}
.shop-tab-content iframe {
	height: 550px;
}
@media screen and (max-width: 767px) {
	.p-fp-free-space .shop {
		padding: 40px 0 0;
	}
	.shop-search-wrap {
		margin: 20px 0 0;
	}
	.shop-tab-button {
		font-size: 15px;
	}
}

/* Googleカレンダー */
/* デフォルト非表示 */
.gcalendar iframe .Sp1EOc, .gcalendar iframe .JNpOJd {
    display: none;
}

/* 条件から探す 各セクションの間隔 */
.shop-search-wrap .shop-condition-section {
    margin-bottom: 40px;
}
.shop-search-wrap .shop-condition-section h4 {
    font-size: 18px;
    margin-bottom: 15px;
    padding-left: 10px;
}

/* カテゴリーから探す */
.shop-cat-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	margin-left: 0 !important;
}
.shop-cat-contents li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 23.5%;
	background: #fff;
    -webkit-box-shadow: 10px 10px 20px 5px rgba(0, 0, 0, 0.08);
    box-shadow: 10px 10px 20px 5px rgba(0, 0, 0, 0.08);
    position: relative;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
	border-radius: 10px 10px 0 10px;
}
.shop-cat-contents li a:before {
    content: "\f002";
    font-family: FontAwesome;
    position: absolute;
    right: 8px;
    bottom: 3px;
    font-size: 0.8rem;
    color: #fff;
    z-index: 1;
}
.shop-cat-contents li a:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 50px 50px;
    border-color: transparent transparent #434343 transparent;
    position: absolute;
    right: 0;
    bottom: 0;
	-webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.shop-cat-contents li a:hover:after {
    border-color: transparent transparent rgba(var(--tcd-accent-color), 0.8) transparent;
}
.shop-cat-contents li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: flex-start;
    width: 100%;
    padding: 30px 0;
    text-align: center;
	text-decoration: none;
}
.shop-cat-contents li a:hover {
    opacity: 1;
	text-decoration: none !important;
}
.shop-cat-contents li a .item-box {
    width: 100%;
    display: block;
}
/*.shop-cat-contents li a span i {
    font-size: 3rem;
	color: #fac724;
}*/
.shop-cat-contents li a:hover span i {
    -webkit-transform: translate(5px, 6px);
    -ms-transform: translate(5px, 6px);
    transform: translate(5px, 6px);
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.shop-cat-contents li a .title1 {
    font-size: 1.4rem;
    font-weight: 700;
    color: #434343;
}
.shop-cat-contents li a .box {
    padding: 0 30px;
	font-weight: 700;
}
.shop-cat-contents li a .box .desc {
	font-size: 0.9rem;
	color: #757575;
    line-height: 1.5 !important;
	margin: 0 0 0.5em 0;
}
.shop-cat-contents li a .box .title2 {
	font-size: 0.9rem;
    background: #edf0f5;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    margin: 0 auto 10px;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.shop-cat-contents li a:hover .title2 {
    background-color: #fac724;
    color: #fff;
}
.shop-cat-contents li a .box .text {
    text-align: left;
	font-size: 0.9rem;
    line-height: 1.5 !important;
}
@media screen and (min-width: 768px) and (max-width: 991px) {
	.shop-cat-contents {
		row-gap: 25px;
	}
	.shop-cat-contents li {
		width: 48.5%;
	}
}
@media screen and (max-width: 767px) {
    .shop-cat-contents li {
        display: block;
        width: 100%;
        -webkit-box-shadow: none;
        box-shadow: none;
        margin: auto auto 15px;
    }
	.shop-cat-contents li a {
		padding: 20px;
	}
	.shop-cat-contents li a .item-box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
		align-items: center;
        column-gap: 20px;
    }
	.shop-cat-contents li a .item-box .icon-box {
        width: 35%;
        padding-top: 10px;
    }
	/*.shop-cat-contents li a span i {
		font-size: 2.3rem;
	}*/
	.shop-cat-contents li a .title1 {
        font-size: 1.3rem;
        margin-top: 5px;
    }
	.shop-cat-contents li a .item-box .box {
        width: 58%;
		padding: 0;
    }
	.shop-cat-contents li a .box .title2 {
        margin-top: auto;
    }	
}

/* タグから探す */
.shop-search-wrap .woocommerce-product-attributes-item__tag-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -5px 0 0 5px;
}
.shop-search-wrap .woocommerce-product-attributes-item__tag-list a {
    display: block;
    min-width: 60px;
    height: 30px;
    line-height: 29px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 5px;
    font-size: 12px;
    color: #000;
    text-align: center;
    margin: 5px 0 0 5px;
    transition-property: color, background, border-color;
}
.shop-search-wrap .woocommerce-product-attributes-item__tag-list a:hover {
    color: #fff !important;
    background: rgba(var(--tcd-accent-color), 0.8);
    border: 1px solid rgba(var(--tcd-accent-color), 1);
	text-decoration: none;
}

/* キーワードで探す 検索フォーム */
.shop-search-wrap .woocommerce-product-search {
    display: flex;
    align-items: center;
    gap: 10px;
	margin: 0 10px;
}
.shop-search-wrap .woocommerce-product-search input[type="search"] {
    flex: 1;
    padding: 8px 20px;
    border: none;
    border-radius: 40px;
}
.shop-search-wrap .woocommerce-product-search button {
    background: #434343;
    color: #fff;
    border: none;
    border-radius: 0 40px 40px 0;
    padding: 8px 15px;
    font-size: 18px;
	width: 60px;
    cursor: pointer;
    transition: background 0.2s;
}
.shop-search-wrap .woocommerce-product-search button:hover {
    background: rgba(var(--tcd-accent-color), 0.8);
}
@media screen and (max-width: 768px) {
    /* 見出しサイズ調整 */
    .shop-search-wrap .shop-condition-section h4 {
        font-size: 16px;
    }
    /* タグボタン調整 */
    .shop-search-wrap .woocommerce-product-attributes-item__tag-list a {
        min-width: 80px;
        height: 34px;
        line-height: 33px;
        font-size: 13px;
        margin: 6px 0 0 6px;
    }
    /* 検索フォーム縦並び */
    .shop-search-wrap .woocommerce-product-search {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .shop-search-wrap .woocommerce-product-search input[type="search"] {
        width: 100%;
        box-sizing: border-box;
		margin-bottom: 8px;
        border-radius: 10px;
    }
    .shop-search-wrap .woocommerce-product-search button {
        position: static;
        width: 100%;
        box-sizing: border-box;
		border-radius: 10px;
    }
}

/* 加盟店一覧ボタン */
.q_custom_button.q_custom_button2.shop-list {
    font-weight: 700;
}
.q_custom_button.q_custom_button2.shop-list:hover {
    background-color: #fff;
}

/* TOPブログ */
/* 波top */
.home .p-fp-posts {
	/*background-color: rgba(var(--tcd-bg-color), 1);*/
    background-image: url(./images/bg-wave-top.png);
    background-size: 120rem;
    background-position: top 0 center;
    background-repeat: no-repeat;
    position: relative;
	width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
.home .p-fp-posts {
    padding: 70px 0;
    margin-top: -15px;
}
@media screen and (max-width: 767px) {
	.home .p-fp-posts {
		background-size: 50rem;
        padding: 0;
        margin-top: -25px;
	}
}

/* ブログ */
.home .p-fp-posts__header {
    padding: 70px 0 40px;
	background: unset;
}
.home .p-fp-posts__list {
    max-width: 1180px;
    margin: 0 auto;
}
.p-archive--post-item__content {
    padding: 20px 18px;
	background: #fff;
}
/* PC4カラムに変更 */
@media (min-width:992px) {
	.home .p-archive--post-item {
		width: 25%;
	}
	/* 枠線 - アーカイブ */
	.home .p-archive--post .p-archive--post-item:nth-of-type(2n) .p-archive--post-item__content, 
	.home .p-archive--post .p-archive--post-item:last-of-type .p-archive--post-item__content {
		border-right-width: 0px;
	}
	.home .p-archive--post .p-archive--post-item:nth-of-type(4n) .p-archive--post-item__content,
	.home .p-archive--post .p-archive--post-item:last-of-type .p-archive--post-item__content {
	  border-right-width:1px;
	}
	.home .p-archive--post .p-archive--post-item:nth-last-of-type(-n+4) .p-archive--post-item__content {
	  border-bottom-width:1px;
	}
}
/* single ヘッダーサムネ非表示 */
.single-post .p-single__header-image {
    display: none;
}
/* ウィジェット(カテゴリー名表示) */
.p-widget-post-list .p-widget-post-list__cat {
    font-size: 0.75em;
    color: rgba(var(--tcd-accent-color), 1);
    margin-bottom: 8px;
    display: inline-block;
    line-height: 1.2;
}
.p-widget-post-list .p-widget-post-list__date {
    margin-bottom: 5px;
}
.p-widget-post-list .p-widget-post-list__title {
    line-height: 1.3;
    height: auto;
}

/* TOPイベント */
/* カレンダースペース */
.p-fp-free-space .event {
	padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
	.p-fp-free-space .event {
		padding: 70px 0;
	}
}


/* TOP加盟店になりませんか？ */
.p-fp-free-space .hina-card.cta {
	padding: 70px 0;
    position: relative;
    z-index: 3;
    width: 100%;
}
.hina-card.cta:before,
.hina-card.cta:after {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}
.hina-card.cta:before {
    background: url(./images/cta_bg.jpg) center center no-repeat;
    background-size: cover;
}
.hina-card.cta:after {
    background-color: rgb(85 85 85 / 70%);
}

.hina-card.cta .cta_card {
    position: relative;
	max-width: 980px;
    margin: 30px auto 0;
	padding: 40px;
    background: #fff;
    border-radius: 10px;
}
.hina-card.cta .cta_card p.txt {
	margin-bottom: 20px;
    font-size: 16px;
    text-align: center;
    line-height: 1.8;
    border-top: 1px solid #ddd;
    padding-top: 35px;
}
.hina-card.cta .flex-box {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
	margin-left: 0 !important;
	list-style: none !important;
	row-gap: 5px;
}
.hina-card.cta .cta_point {
    margin-bottom: 15px;
}
.hina-card.cta .cta_point li {
    margin: 0 5px;
    padding: 7px 15px;
    background: #F44336;
    color: #fff;
    border-radius: 30px;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
}
.hina-card.cta .cta_card .tel_block {
    margin-right: 20px;
    padding-right: 20px;
    width: calc(100% - 580px);
    border-right: 1px solid #ddd;
}
.hina-card.cta .cta_card .frm_block {
    width: 560px;
}

.hina-card.cta .cta_card .tel_block .tel_num {
    position: relative;
    font-size: 36px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.7px;
}
.hina-card.cta .cta_card .tel_block .tel_num span {
    position: relative;
    top: -2px;
    left: -1px;
	font-size: 18px;
}
.hina-card.cta .cta_card .tel_block .tel_num a {
	color: #000;
}
.hina-card.cta .cta_card .tel_block .tel_num a:hover {
	opacity: 0.7;
}
.hina-card.cta .cta_card .tel_block .tel_sub {
    margin-top: 5px;
    line-height: 1.3;
    font-weight: 500;
    color: #555;
    letter-spacing: 3.6px;
	font-size: 90%;
}
.hina-card.cta .cta_card .btn_contact {
    width: 268px;
    border-radius: 40px;
    display: inline-block;
    text-align: center;
    padding: 20px 5px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    background-color: rgba(var(--tcd-link-color), 1);
    letter-spacing: 1.5px;
    transition: color 0.3s ease, background-color 0.3s ease;
}
.hina-card.cta .btn_contact:hover {
	background-color: #fff;
    color: rgba(var(--tcd-link-color), 1);
    border: 1px solid rgba(var(--tcd-link-color), 1);
}
.hina-card.cta .btn_contact.contact_btn {
    margin-right: 15px;
}
.hina-card.cta .cta_card h3 {
    margin: 1em 0 0.5em;
}
.hina-card.cta .cta_card .card-img img {
    position: absolute;
    top: -160px;
    right: -50px;
    width: 350px;
}
.hina-card.cta .cta_card .card-txt {
    max-width: 800px;
	text-align: center;
	margin: 0 auto;
}
.hina-card.cta .cta_card .card-txt p {
    margin-bottom: 20px;
    line-height: 1.8;
}
.hina-card.cta .cta_card .card-join {
	position: absolute;
    bottom: 138px;
    left: 20px;
}
.hina-card.cta .cta_card .card-join .img-join {
    width: 250px;
}
@media screen and (max-width: 1010px) {
    .hina-card.cta {
        padding: 60px 0px;
    }
	.hina-card.cta .cta_card {
        padding: 40px 20px;
    }
	.hina-card.cta .cta_point li {
	    margin: 0 4px;
	    padding: 7px 9px;
	    font-size: 12px;
	}
	.hina-card.cta .cta_card p.txt {
        margin-bottom: 15px;
        font-size: 15px;
        line-height: 1.6;
        padding-top: 5px;
        border-top: none;
    }
	.hina-card.cta .cta_card .tel_block,
	.hina-card.cta .cta_card .frm_block {
		width: 100%;
		margin: 0px 0px 0px;
		padding: 0px;
	    border: 0px;
	    text-align: center;
	}
	.hina-card.cta .cta_card .tel_block {
		margin-bottom: 15px;
	}
	.hina-card.cta .cta_card .tel_block .tel_num {
	    font-size: 32px;
	}
	.hina-card.cta .cta_card .tel_block .tel_sub {
	    margin-top: 5px;
	    font-size: 15px;
	    letter-spacing: 3px;
	}
	.hina-card.cta .cta_card .frm_block {
		display: flex;
	}
	.hina-card.cta .cta_card .btn_contact {
	    width: 100%;
	    margin-top: 15px;
    	padding: 15px 10px 14px;
    	font-size: 14px;
	}
	.hina-card.cta .cta_card .btn_contact.contact_btn {
    	margin-right: 10px;
	}
	.hina-card.cta .cta_card .card-img, .hina-card.cta .cta_card .card-txt {
		width: 100%;
        padding: 0;
	}
	.hina-card.cta .cta_card .card-img img {
		position: static;
		display: block;
		max-width: 300px;
		margin: 0 auto 20px;
	}
	.hina-card.cta .cta_card .card-join {
		position: static;
		display: block;
	}
	.hina-card.cta .cta_card .card-join .img-join {
		width: 100%;
		max-width: 230px;
		margin: 0 auto;
		text-align: center;
	}
}
@media screen and (max-width: 650px) {
	.hina-card.cta .cta_card .card-txt p {
		font-size: 15px;
		text-align: left;
	}
}



/*--------------------------------------
お知らせ
--------------------------------------*/
/* ▼ お知らせ投稿ページ カテゴリ */
.p-single__header-categories {
    margin-bottom: 20px;
    font-size: 0.9em;
    line-height: 1.5;
}
.p-single__header-categories a.news-cat-btn {
    margin-right: 6px;
    padding: 4px 10px 2px;
    font-size: 0.85em;
    font-weight: 600;
}
@media screen and (max-width: 767px) {
    .p-single__header-categories {
        font-size: 0.8em;
        line-height: 1.4;
    }
    .p-single__header-categories a.news-cat-btn {
        display: inline-block;
        margin-right: 4px;
        margin-bottom: 4px;
        padding: 3px 8px;
        font-size: 0.8em;
    }
}
/* 記事ページ下部「新着NEWS」 */
.p-recent-news .p-archive--news-item__cat {
    font-size: 0.75em;
    color: rgba(var(--tcd-accent-color), 1);
    margin-bottom: 10px;
    display: inline-block;
    line-height: 1.2;
}
.p-recent-news .p-archive--news-item__date {
    margin-bottom: 8px;
}
.p-recent-news .p-archive--news-item__title {
    line-height: 1.7;
}
@media (min-width: 768px) {
	.p-recent-news .p-archive--news-item__content {
		padding: 0 25px;
	}
}




/*--------------------------------------
ブログ
--------------------------------------*/
/* selectフォント指定 */
.widget_categories select {
    font-family: var(--tcd-font-type1);
}
/* 更新日非表示 */
.c-date--updated {
    display: none;
}
/* 時計マークの位置調整 */
.c-date:before {
    margin-top: 0.15em;
}
/* アーカイブカテゴリーサイズ・カラー変更 */
.c-post-category {
    font-size: 11px;
    background-color: #434343;
    height: 30px;
    padding: 0 10px;
}






/*--------------------------------------
加盟店のご案内
--------------------------------------*/
/* ヘッダー画像非表示 */
.post-type-archive-product .p-page-header, .tax-product_cat .p-page-header, .tax-product_tag .p-page-header, .search .p-page-header, .tax-pa_genre .p-page-header {
    display: none;
}

/* アーカイブ[販売中のみ]コメントを非表示 */
.p-archive03__sort-filter--stock {
    display: none !important;
}
/* アーカイブ[お気に入り]マーク非表示 */
.p-product-item__like {
    display: none;
}
/* アーカイブ商品の画像を長方形に変更 */
.p-product-item__image .p-product-item__image-bg {
    padding-top: 70%;
}
/* アーカイブ在庫切れなどのラベル */
.p-product-item .p-product-item__labels{
    padding-top: 70%;
}
/* アーカイブ店名を2行で表示 */
.p-product-item__content .p-product-item__title{
    max-height: calc(1.6em * 2);
    height: auto;
}
.p-product-item__content .p-product-item__title span{
    -webkit-line-clamp: 2;
}
/* アーカイブ店名余白,右寄せ */
.p-product-item__content {
    padding: 20px 18px 10px;
	text-align: left;
}
/* アーカイブ店名枠高さ揃え */
@media (min-width: 768px) {
	.p-product-item__content {
		min-height: 112.2px;
	}
}
@media (max-width: 767px) {
	.p-product-item__content {
		min-height: 95px;
	}
	.p-product-item__content .p-product-item__title {
		font-size: 15px;
	}
}

/* カテゴリー枠 */
.p-wc-category {
    padding: 3px 13px 2px 15px;
    background: rgba(var(--tcd-accent-color), 1);
    color: #fff;
	font-weight: 700;
    border-radius: 30px;
}
.p-single-product__header-category .p-wc-category {
	padding: 6px 13px 5px 15px;
	font-size: 16px;
}
.p-product-item__content .p-wc-category {
	font-size: 14px;
	padding: 3px 13px 2px 15px;
}
.p-wc-category:hover {
    color: #fff;
    opacity: 0.8
}
/* カテゴリー色分け */
/* 暮らし */
.product_cat-kurashi .p-wc-category {
    background: #17a600;
}
/* 装う */
.product_cat-fashion .p-wc-category {
    background: #e73b80;
}
/* 健やか */
.product_cat-sukoyaka .p-wc-category {
    background: #00479d;
}
/* 味わう */
.product_cat-gourmet .p-wc-category {
    background: #FF5722;
}
@media (max-width: 767px) {
    .p-single-product__header-category .p-wc-category {
		font-size: 15px;
		padding: 3px 13px 2px 15px;
	}
	.p-product-item__content .p-wc-category {
		font-size: 13px;
	}
}

/* SNSアイコン */
.store-sns {
  display: flex;
  gap: 12px;
}
.sns-icon {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.sns-home { background-color: #777;}
.sns-x { background-color: #000;}
.sns-instagram {background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);}
.sns-facebook { background-color: #1877f2;}
.sns-youtube { background-color: #ff0000; }
.sns-line { background-color: #4CAF50; }

.sns-icon:hover {
  transform: translateY(-5px);
  opacity: 0.9;
}
/* 吹き出し */
.sns-icon::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.sns-icon:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(-4px);
}

/* 加盟店NEWS */
.single-product .store-news {
    max-width: 1000px;
    margin: 0 auto;
}
.single-product .store-news .q_frame {
    margin-bottom: 1em;
}
.single-product .store-news .q_frame3 .q_frame_label {
    font-size: 120%;
}
.single-product .store-news .news-list {
    padding-top: 20px;
}
.news-more a {
    border-bottom: 1px solid rgba(var(--tcd-link-color), 1);
    padding: 0 5px 5px 20px;
    font-size: 14px;
	margin-right: 5px;
	transition: 0.5s;
}
.news-more a:hover {
	margin-right: 0px;
	text-decoration: none !important;
	color: #FFC107;
}


/* 加盟店情報 */
/* タブ内基本情報 */
.p-single-product__store-info {
    background: #f7f5f0;
    padding: 70px 0;
	margin: 70px 0 0;
}
.wc-tab {
    background: unset;
    border: unset;
    margin: 0;
    padding: 20px 0;
}
.wc-tabs li {
	background: unset;
    border-color: unset;
    border-style: unset;
}
.wc-tabs li:only-child {
    font-size: 130%;
    border-bottom-color: unset;
}
.wc-tabs li a {
    cursor: unset;
    display: block;
    padding: 0;
    text-align: left;
}
.woocommerce-product-attributes-item__tag-list a {
    font-size: 14px;
	height: auto;
}
.woocommerce-product-attributes-item--attribute_pa_genre td.woocommerce-product-attributes-item__value a {
    display: inline-block;
	min-width: 60px;
    line-height: 29px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    color: #000;
    text-align: center;
    margin: 5px 0 0 5px;
    transition-property: color, background, border-color;
}
.woocommerce-product-attributes-item--attribute_pa_genre td.woocommerce-product-attributes-item__value a:hover {
	color: #fff;
	background: rgba(var(--tcd-accent-color), 1);
	border: 1px solid rgba(var(--tcd-accent-color), 1);
}
@media (min-width: 768px) {
	.woocommerce table.wc-tab__attributes-table th {
		padding: 20px 70px 20px 20px;
	}
	.woocommerce table.wc-tab__attributes-table td {
		padding: 20px 20px 20px 0;
	}
}
@media (max-width: 767px) {
    .wc-tab {
        padding: 20px 0;
    }
}
/* タブ内アクセスマップ */
/* 拡大ボタン */
.map-more .q_custom_button.q_custom_button2 {
	font-size: 85%;
	width: 200px;
    margin: 25px 0 0;
}
/* 枠・背景削除 */
.p-single-product__tabs .p-single-review {
    border: none;
    background: none;
}
/* Font Awesome */
.additional_information_tab .fa-circle-info {
    font-size: 150%;
    position: relative;
    top: 3px;
}
/* Googleマップ・口コミ非表示 */
.g-map {
	padding-top: 50%;
    overflow-y: hidden;
    position: relative;
    width: 100%;
    height: 575px;
}
.g-map iframe {
	position: absolute;
    top: -150px;
    left: 0;
    height: calc(100% + (150px * 2));
	width: 100%;
}
@media (max-width: 767px) {
	.g-map {
		height: 420px;
	}
}

/* ブログ */
.store-blog {
    margin-bottom: 100px;
}
/* タイトル */
.p-single-product__section-headline {
    text-align: left;
    margin: 0 0 20px 0;
	color: #ff8e3f;
}
/* PC3カラムに変更 */
@media (min-width:992px) {
	.store-blog .p-archive--post-item {
		width: 33.3%;
	}
	/* 枠線 - アーカイブ */
	.store-blog .p-archive--post .p-archive--post-item:nth-of-type(3n) .p-archive--post-item__content, 
	.store-blog .p-archive--post .p-archive--post-item:last-of-type .p-archive--post-item__content {
		border-right-width: 0px;
	}
	.store-blog .p-archive--post .p-archive--post-item:nth-of-type(3n) .p-archive--post-item__content,
	.store-blog .p-archive--post .p-archive--post-item:last-of-type .p-archive--post-item__content {
	  border-right-width:1px;
	}
	.store-blog .p-archive--post .p-archive--post-item:nth-last-of-type(-n+3) .p-archive--post-item__content {
	  border-bottom-width:1px;
	}
}
@media (max-width: 767px) {
    .store-blog .p-archive--post {
        margin-top: 0;
    }
}

/* 加盟店ページでページトップボタンが非表示になるのを回避 */
@media (max-width: 599px) {
    .p-product-footer-bar ~ .p-return-top-button-wrapper {
        display: block;
    }
}

/* フローティングバナー */
.floating-call-banner {
	position: fixed;
    bottom: 120px;
    right: 24px;
    z-index: 1000;
    background-color: #ffe4c5;
    border-radius: 50px;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
.floating-call-banner .call-link {
  display: flex;
  align-items: center;
  color: #333;
  text-decoration: none;
  padding: 10px 16px;
  gap: 10px;
  transition: opacity 0.2s ease, transform 0.2s ease;
  text-decoration: none;
}
.floating-call-banner .call-link:hover {
  text-decoration: none;
}
.floating-call-banner .call-icon {
  font-size: 26px;
  color: rgba(var(--tcd-accent-color), 1);
}
.floating-call-banner .call-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.call-title {
  font-size: 12px;
}
.call-subtext {
  font-size: 11px;
  opacity: 0.85;
}
.call-number {
    font-size: 22px;
    font-weight: 600;
    margin: 3px 0;
    color: #000;
    line-height: 1;
	font-family: "Kulim Park", sans-serif !important;
}
/* スマホ用非表示 */
.call-buttons-mobile {
  display: none;
}
@media (max-width: 767px) {
	.p-return-top-button-wrapper {
        bottom: 65px;
    }
  /* PC用非表示 */
  .floating-call-banner .call-link.call-desktop {
    display: none;
  }
	.floating-call-banner {
		border: unset;
	}
  /* スマホ用表示 */
  .call-buttons-mobile {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
	height: 71px;
  }
  .btn-mobile {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 10px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
  }
  .btn-phone {
    background-color: rgba(var(--tcd-accent-color), 1);
	text-decoration: none !important;
  }
  .btn-mail {
    background-color: #666;
  }
  .btn-mobile i {
    font-size: 18px;
  }
  .p-return-top-button-wrapper {
        bottom: 80px;
    }
}
/* フローティングバナーのフェードイン制御 */
/* PCのふわっと表示 */
@media (min-width: 768px) {
  .floating-call-banner {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    pointer-events: none;
  }
  .floating-call-banner.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}
/* スマホの下スライドイン */
@media (max-width: 767px) {
  .call-buttons-mobile {
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
  }
  .call-buttons-mobile.visible {
    transform: translateY(0);
    opacity: 1;
  }
}

/* ウィジェット（プラグイン：Filter Everything） */
.widget_wpc_filters_widget{
    border: 1px solid rgba(var(--tcd-accent-color), 1);
    border-radius: 5px;
    padding: 15px 15px 20px;
    margin-top: 40px !important;
}
.wpc-filter-title {
    font-size: 15px;
    color: rgba(var(--tcd-accent-color), 1);
    font-weight: 700;
}
.wpc-filter-link {
    font-size: 14px !important;
}
.wpc-filters-main-wrap ul.wpc-filters-ul-list {
    float: left !important;
    padding: 0 0 10px !important;
}
.wpc-filters-main-wrap li.wpc-term-item {
    margin-bottom: 5px !important;
    display: inline-block;
}
.wpc-filters-section {
    margin-bottom: 0 !important;
}
.wpc-filter-layout-submit-button {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
}
.wpc-filters-main-wrap a.wpc-filters-reset-button, .wpc-filters-main-wrap a.wpc-filters-submit-button {
    width: auto !important;
    font-size: 12px;
    background-color: #eaeaea !important;
    border: none !important;
    display: block !important;
}
a.wpc-filters-reset-button:hover, a.wpc-filters-submit-button:hover {
    opacity: unset !important;
    background-color: rgba(var(--tcd-accent-color), 1) !important;
    color: #fff;
}

/* ウィジェット（＃タグで検索） */
.woocommerce.widget_product_tag_cloud .tag-cloud-link {
    margin: 0 0 6px 6px;
	line-height: 25px;
    height: 25px;
}



/*--------------------------------------
固定ページ
--------------------------------------*/
/* 横スクロール回避・横幅拡張・BGカラー  */
.page .l-container {
    overflow-x: hidden;
}
.page .is-sidebar--none {
	max-width: 1000px;
	padding-bottom: 0;
}
/*.page .l-inner {
    max-width: 1180px;
}*/
.page .l-main {
    width: 1000px;
}
.w-full  {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
	position: relative;
}
.p-inner {
    max-width: 1000px;
    width: calc(100% - 60px);
    margin: 0 auto;
}
@media (max-width: 767px) {
    .p-inner {
        width: calc(100% - 40px);
    }
}

/* タイトル */
.post_content h1:first-child {
    margin-top: 0 !important;
}
.sec_title {
    margin-bottom: 1.2em !important;
	text-align: left !important;
}
.sec_title .enttl {
    display: inline-block;
    position: relative;
    font-weight: 400;
    font-size: 24px;
    color: rgba(var(--tcd-accent-color), 1);
    margin-bottom: 5px;
}
.sec_title .jpttl {
    display: block;
	letter-spacing: 0.1em;
}
h4.sec_title2 {
    position: relative;
    line-height: 1.5;
	font-size: 150%;
}
h4.sec_title2:after {
    content: "";
    display: block;
    height: 1px;
    width: 50px;
    background-color: #9f9f9f;
    position: absolute;
    left: -60px;
    bottom: 17px;
}
h4.sec_title2 span {
    display: block;
    font-size: 20px;
	font-weight: 400;
    color: rgba(var(--tcd-accent-color), 1);
}

/* 区切り▼ 
<!--<div class="section-vector bg-wh"></div>-->

.section-vector {
    width: 12vw;
    height: 6em;
    clip-path: polygon(50% 60%, 0 0, 100% 0);
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
	.section-vector {
		width: 45vw;
	}
}*/

/* ウェーブ区切り */
.t-wave {
    background-color: rgba(var(--tcd-bg-color), 1);
    background-image: url(./images/bg-wave-top.png);
    background-size: 120rem;
    background-position: top 0 center;
    background-repeat: no-repeat;
    position: relative;
}

/* Pタグフォントサイズ */
.page .post_content p {
	line-height: 2;
    font-size: 110%;
}


/* ひなちゃんカードとは ----------------------------------------------*/
/* ヒーローエリアタイトル */
.hero_contents {
    display: grid;
    grid-template-columns: auto 336px;
	align-items: center;
    gap: 20px;
    margin-bottom: 70px;
    position: relative;
    z-index: 2;
}
/*.hero-txt p {
    line-height: 2;
	font-size: 110%;
}*/
@media screen and (max-width: 767px) {
	.hero_contents {
		grid-template-columns: 1fr;
	}
	.hero_contents .card-img {
		text-align: center;
	}
	.hero-txt h1 {
		font-size: 25px;
		text-align: center;
	}
}

/* メニュー */
.menu_contents {
    padding: 200px 0 170px;
    margin-top: -200px;
}
.menu-btn-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
	max-width: 850px !important;
}
.menu-box {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    z-index: 1;
	box-shadow: 5px 2px 10px 2px rgba(0, 0, 0, 0.1);
}
.menu-box a {
    display: block;
    text-align: center;
    /*background-color: #fac724;*/
	background-image: linear-gradient(320deg, #ffd863, #ffa300);
	color: #fff !important;
    height: 100%;
    position: relative;
    transition: .3s ease;
	padding: 35px 4% 26px;
}
.menu-box a:hover {
	background-image: unset;
	background-color: #fff;
	color: #fac724 !important;
	text-decoration: none !important;
}
.menu-box-img i {
    font-size: 45px;
}
.menu-box-txt {
    height: 75px;
	margin-top: 35px;
}
.menu-box-txt p {
	font-size: 1.5rem !important;
    font-weight: bold;
    line-height: 1.5 !important;
}
.menu-box a .arrow {
	display: inline-block;
    border-radius: 40px;
    margin-top: 15px;
    background: #fff;
	color: #fac724 !important;
    padding: 20px 18px;
}
.menu-box a:hover .arrow {
	background: #fac724;
	color: #fff !important;
}
@media screen and (max-width: 767px) {
	.menu_contents {
		padding: 200px 0 100px;
	}
	.menu-btn-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.menu-box {
		border-radius: 10px;
		box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.1);
	}
	.menu-box a {
		display: flex;
        justify-content: space-between;
        align-items: center;
		padding: 20px 4% 16px;
	}
	.menu-box-img i {
		font-size: 30px;
	}
	.menu-box-txt {
		height: auto;
		margin-top: 0;
	}
	.menu-box-txt p {
		font-size: 1.1rem !important;
	}
	.menu-box a .arrow {
		padding: 10px 8px;
		margin-top: 0;
	}
}

/* ひなちゃんカードとは */
.about-card_contents {
    padding-bottom: 100px;
}
.about-card-list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 1.5em;
    margin: 0 auto;
	max-width: 960px;
}
.about-card-item {
    display: flex;
    flex-basis: calc((100% - 1.5em) / 2);
    overflow: hidden;
    background-color: #fff;
	border-radius: 1.5em;
	padding: 0;
    flex-direction: column;
}
.about-card-item .title {
    text-align: center;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: clamp(6px, 1vw, 0.84em);
    font-size: 160%;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.078rem;
	background-color: #fbd855;
}
.about-card-item .content {
    padding-left: clamp(0.84em, 1.8vw, 1.2em);
    padding-right: clamp(0.84em, 1.8vw, 1.2em);
    padding-top: clamp(1.5em, 3.3vw, 2em);
    padding-bottom: clamp(1.5em, 3.3vw, 2em);
    text-align: center;
    font-size: 135%;
    font-weight: 700;
    line-height: 2;
}
.about-card-item .content .txt-block {
	display: block;
}
span.num {
    font-size: clamp(1.5rem, 1.2534696859rem + 1.0956902849vw, 2.4375rem);
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: 0.1rem;
    padding: 0 0.15rem;
}
@media screen and (max-width: 767px) {
.about-card-list {
		flex-direction: column;
	}
}

/* うれしいポイント */
.points_contents {
    padding-bottom: 100px;
}
.points-list, .points-list_item, .points-list_item__num, .points-list_item__icon, .points-list_item__summary {
    position: relative;
    box-sizing: border-box;
}
.points-list {
    max-width: 960px;
    margin: 0 auto;
}
.points-list_item {
    margin: auto;
    background-color: white;
	border-radius: 20px;
}
.points-list_item__num::before {
    content: "POINTS";
    position: absolute;
    font-size: 18px;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #8d8d8d;
}
.points-list_item__num p {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: bold;
    text-indent: 0.13em;
    background-color: #ffeed1;
    color: #d56223;
}
.points-list_item__icon {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.points-list_item__summary {
    margin-bottom: 0 !important;
}
.points-list_item__summary dt {
    font-weight: 700;
    letter-spacing: 0.03em;
	line-height: 1.5 !important;
	color: rgba(var(--tcd-accent-color), 1);
}
.points-list_item__summary dd {
    text-align: justify;
    line-height: 2;
    letter-spacing: 0.07em;
    margin-bottom: 0;
	color: #434343;
}
.points-list_item__summary dd strong {
    font-weight: 700;
    color: #F44336;
}
.points-list_item__summary dd .come {
    line-height: 1.5;
	font-size: 90%;
	margin-top: 10px;
	letter-spacing: 0.03em;
}
@media print, screen and (min-width: 769px) {
    .points-list_item {
        display:-webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        margin-bottom: 2rem;
        padding: 3rem 0;
    }
    .points-list_item::before {
        content: "";
        position: absolute;
        top: 4rem;
        left: 13rem;
        width: 1px;
        height: calc(100% - 8rem);
        background-color: #d9d9d9;
    }
    .points-list_item__num {
        display: -webkit-flex;
        display: flex;
        margin: 0 4rem;
    }
    .points-list_item__num p {
		width: 6rem;
		height: 6rem;
		font-size: 2rem !important;
    }
    .points-list_item__icon {
        width: 20rem;
    }
    .points-list_item__icon img {
        width: 7.5rem;
    }
    .points-list_item__summary {
        width: 100%;
		padding-right: 2.5rem;
    }
    .points-list_item__summary dt {
        margin-bottom: 0.8rem;
        font-size: 22px;
    }
}
@media print, screen and (max-width: 768px) {
    .points-list {
        padding-top:5.6vw;
        margin: auto;
    }
    .points-list_item {
        padding-top: 1px;
        margin-bottom: 14.666vw;
    }
    .points-list_item__num {
        display: -webkit-flex;
        display: flex;
        top: -1.5rem;
    }
    .points-list_item__num p {
        width: 15vw;
        height: 15vw;
        margin: auto;
        font-size: 6vw !important;
    }
    .points-list_item__icon {
        margin-bottom: 3.5vw;
		margin-top: -10px;
    }
    .points-list_item__icon img {
        width: 20vw;
    }
    .points-list_item__summary {
        padding: 0 7vw 8vw;
    }
    .points-list_item__summary dt {
        margin-bottom: 4vw;
        font-size: 4.3vw;
        line-height: 1.35 !important;
        text-align: center;
    }
    .points-list_item__summary dd {
        font-size: 1rem;
    }
}
.points-list_item:last-child {
    margin-bottom: 0;
}


/* FAQ */
.faq_contents {
    padding-bottom: 150px;
}
/* アコーディオン */
.modern-accordion {
  max-width: 960px;
  margin: 0 auto;
  --primary-color: #2563eb;
  --text-color: #1f2937;
  --border-color: #e5e7eb;
}
.accordion-item {
  border: 1px solid #ffd3b4;
  border-radius: 12px;
  margin-bottom: 16px;
  overflow: hidden;
  background: white;
}
.accordion-item .accordion-header {
  width: 100%;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}
.accordion-item .accordion-header:hover {
  background-color: #ffe9c8;
}
.accordion-item .header-content {
	display: flex;
    align-items: flex-start;
    justify-content: left;
	width: calc(100% - 35px);
}
.accordion-item .qa {
    font-size: 24px;
    font-weight: 700;
    color: rgba(var(--tcd-link-color), 1);
	line-height: 1.3;
}
.accordion-item .qa.a {
    color: #a5a5a5;
}
.accordion-item .title {
    margin: 0;
    font-weight: 600;
    line-height: 1.8 !important;
    text-align: left;
}
.accordion-item .icon-wrap {
  position: relative;
  width: 24px;
  height: 24px;
}
.accordion-item .line {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #434343;
  transition: transform 0.3s ease;
}
.accordion-item .line:first-child {
  transform: translateY(-50%);
}
.accordion-item .line:last-child {
  transform: translateY(-50%) rotate(90deg);
}
.accordion-header.active .line:last-child {
  transform: translateY(-50%) rotate(0);
}
.accordion-item .accordion-body {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
}
.accordion-item .body-content {
    padding: 20px 25px;
    display: flex;
    align-items: flex-start;
}
.accordion-item .accordion-body.entering {
  height: var(--content-height);
}
.accordion-item .accordion-body.leaving {
  height: 0;
}

@media screen and (max-width: 524px) {
    .accordion-item .accordion-header, .accordion-item .body-content {
		padding: 15px;
	}
	.accordion-item .qa {
		font-size: 22px;
		line-height: 1.4;
	}
}

/* お問い合わせ */
.hina-card.cta.pcta {
    padding: 70px 0;
}
.hina-card.cta.pcta .cta_card p.txt {
    margin-bottom: 30px;
	border-top: none;
	padding-top: 10px;
}


/* 奉仕会概要 ----------------------------------------------*/
/* ヒーローエリアタイトル */
@media screen and (min-width: 768px) {
	.sec_title.h-about  {
		font-size: 27px !important;
	}
}
span.h-about-2 {
    font-size: 21px;
    margin-top: 10px;
}
.h-about-3 {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 20px;
}
.h-about-3 p.hero_prmovie {
    text-align: center !important;
    font-size: 90% !important;
    line-height: 1.5 !important;
    margin: 15px 0 0 0 !important;
}
.h-about-3 a:hover img.thum {
    opacity: 0.6;
}

/* アンカーメニュー */
.menu-btn-grid.h-about {
    grid-template-columns: repeat(5, 1fr);
	gap: 20px;
    max-width: 1000px !important;
}
.menu-btn-grid.h-about .menu-box-txt p {
    font-size: 1.3rem !important;
}
@media screen and (max-width: 767px) {
    .menu-btn-grid.h-about {
        /*grid-template-columns: repeat(3, 1fr);*/
        grid-template-columns: 1fr;
		gap: 15px;
    }
	.menu-btn-grid.h-about .menu-box-txt p {
		font-size: 1.1rem !important;
		/*min-height: 48px;*/
	}
}

/* 奉仕会でできること */
.benefits_contents {
	padding-bottom: 100px;
}
.benefits_container {
    max-width: 960px;
    margin: 0 auto;
}
.benefit-grid {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
}
.benefit-box {
	position: relative;
    background: rgb(255 255 255 / 50%);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
    text-align: center;
    padding: 30px 20px;
    border-radius: 20px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    border: 1px solid #434343;
}
.benefit-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}
.benefit-box .icon {
  font-size: 3rem;
  color: rgba(var(--tcd-accent-color), 1);
  margin-bottom: 20px;
}
.benefit-title {
	font-size: 1rem !important;
    margin-bottom: 12px !important;
    margin-top: 0 !important;
    color: rgba(var(--tcd-accent-color), 1);
}
.benefit-title .jp-title {
    display: block;
    font-size: 1.3rem;
    color: #555;
}
.benefit-text {
	font-size: 1rem !important;
    color: #666;
    text-align: left;
	margin: 0 !important;
}
.benefit-text strong {
    font-weight: 700;
    color: #F44336;
}
/* 番号バッジ */
.benefit-num {
  position: absolute;
  top: -8px;
  left: -8px;
  font-weight: 600;
  color: #fff;
  background: #434343;
  font-size: 1.8rem;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* 横2枠分 */
.benefit-box.wide {
  grid-column: span 2;
}
.benefit-box.wide .icon {
  font-size: 3rem;
  margin-bottom: 15px;
}
@media (max-width: 1024px) {
  .benefit-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .benefit-box.wide {
    grid-column: span 2;
  }
}
@media (max-width: 768px) {
    .benefits_container {
		/*width: auto;*/
	}
	.benefit-grid {
		grid-template-columns: 1fr;
    }
    .benefit-box.wide {
        grid-column: unset;
    }
}

/* 導入の流れ */
.flow_contents {
  padding-bottom: 100px;
}
.flow_contents .steps {
    max-width: 960px;
    margin: 0 auto;
	list-style: none;
}
.flow_contents .steps .steps__item {
    position: relative;
}
.flow_contents .steps .steps__item+.steps__item {
    margin-top: 27.5px;
}
.flow_contents .steps .steps__item+.steps__item::after {
    display: block;
    position: absolute;
    top: -18px;
    left: 50%;
    width: 27px;
    height: 8px;
    background-image: url(./images/flow_arrow_down.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    -webkit-transform: translate3d(-50%,0,0);
    transform: translate3d(-50%,0,0);
}
.flow_contents .steps .step {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #d8dbde;
	border-radius: 20px;
}
.flow_contents .steps .step .step__number {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 80px;
    padding-right: 4px;
    background-color: rgba(var(--tcd-accent-color), 1);
	color: #fff;
    font-size: 1.5rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
	border-radius: 20px 0 0 20px;
}
.flow_contents .steps .step .step__body {
    width: 100%;
    background-color: #fff;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-shrink: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
	border-radius: 0 20px 20px 0;
}
.flow_contents .steps .step .body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    padding: 25.5px 26px;
}
.flow_contents .steps .step .body .body__term {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    color: rgba(var(--tcd-accent-color), 1);
    font-size: 20px;
    font-weight: 600;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-basis: 235px;
    -ms-flex-preferred-size: 235px;
    flex-basis: 235px;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-shrink: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
}
.flow_contents .steps .step .body .body__description {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-shrink: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
	margin: 0;
}

.flow_contents .steps .step .body .body__description.cta {
	flex-direction: column;
	align-items: flex-start;	
}
.flow_contents .steps .step .body .body__description span.txt {
    font-size: smaller;
    padding: 0 3px;
    display: contents;
}
@media only screen and (max-width: 767px) {
    .flow_contents .steps {
        width:auto;
    }
    .flow_contents .steps .steps__item+.steps__item {
        margin-top: 30px;
    }
    .flow_contents .steps .steps__item+.steps__item::after {
        top: -19px;
        width: 40px;
        height: 10px;
        background-image: url(./images/flow_arrow_down_sp.png);
    }
    .flow_contents .steps .step {
        border-bottom:0;
    }
    .flow_contents .steps .step .step__number {
        width: 40px;
        padding-right: 0;
    }
    .flow_contents .steps .step .number {
        width: auto;
        height: 14px;
    }
	.flow_contents .steps .step .body {
        padding:13px 17px;
        flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
    }
    .flow_contents .steps .step .body .body__term {
        font-size: 18px;
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    .flow_contents .steps .step .body .body__description {
        margin-top: 2px;
        line-height: 1.7;
    }
}
/* CTA */
.cta_ct_sec.flow_ct_d {
    width: 100%;
    min-width: 500px;
    background: #ededed;
    border-radius: 10px;
    padding: 15px 20px;
	margin-top: 10px;
}
.cta_ct_sec .flex_in {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
	justify-content: center;
    align-items: center;
}
.cta_ct_sec.flow_ct_d .tel_block {
	position: relative;
	line-height: 1;
    font-weight: 600;
    margin-right: 15px;
    padding-right: 25px;
    border-right: 1px solid #ddd;
}
.cta_ct_sec.flow_ct_d .tel_block .tel_num {
    font-size: 22px;
    letter-spacing: 0.5px;
}
.cta_ct_sec.flow_ct_d .tel_block .tel_num span {
    position: relative;
    top: -2px;
    left: -1px;
	font-size: 13px;
    letter-spacing: 1px;
}
.cta_ct_sec.flow_ct_d .tel_block .tel_sub {
    line-height: 1;
    font-weight: 500;
    color: #555;
    margin-top: 5px;
    font-size: 0.8rem;
    letter-spacing: 1.6px;
}
.cta_ct_sec.flow_ct_d .frm_block {
    min-width: 200px;
}
.cta_ct_sec.flow_ct_d .btn_contact {
    width: 100%;
    border-radius: 40px;
    display: inline-block;
    text-align: center;
    padding: 1px 5px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    background-color: rgba(var(--tcd-link-color), 1);
	border: 1px solid rgba(var(--tcd-link-color), 1);
    letter-spacing: 1.5px;
    transition: color 0.3s ease, background-color 0.3s ease;
}
.cta_ct_sec.flow_ct_d .btn_contact:hover {
	background-color: #fff;
    color: rgba(var(--tcd-link-color), 1);
    border: 1px solid rgba(var(--tcd-link-color), 1);
}
.cta_ct_sec.flow_ct_d .btn_contact .txt {
    position: relative;
    top: -2px;
	font-size: 90%;
}
@media screen and (max-width: 880px) {
    .cta_ct_sec.flow_ct_d {
        padding: 15px 10px;
		min-width: 200px;
        max-width: 320px;
    }
    .cta_ct_sec.flow_ct_d .tel_block, .cta_ct_sec.flow_ct_d .frm_block {
        display: block;
        width: 100%;
        margin: 0 auto 0;
        padding: 0;
        text-align: center;
        border-right: 0;
    }
	.cta_ct_sec.flow_ct_d .btn_contact {
		width: 180px;
		margin-top: 10px;
	}
}

/* 費用とシステムのしくみ */
.works_contents {
  padding-bottom: 100px;
}
/* PCテーブル */
.cost-table-wrap { width:100%; margin: 0 auto; }
.cost-table-wrap .s_table {
    overflow: unset;
    white-space: unset;
	margin-bottom: 1em;
}
.cost-table {
    border-collapse: separate;
    border-spacing: 0 10px;
}
.cost-table tbody tr {
    box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.03);
	border-radius: 10px;
}
.cost-table tbody th, .cost-table tbody td {
	border: none;
    padding: 18px 20px;
    vertical-align: middle;
    border-bottom: 1px solid #f1f1f1;
    color: #444;
	border-radius: 0 10px 10px 0;
}
.cost-table tbody th { width: 220px; font-weight:700; color:rgba(var(--tcd-accent-color),1); background: #fafafa; font-size: 1.1rem; border-radius: 10px 0 0 10px; }
.cost-table .emph { color:#c62828; font-weight:700; font-size: 110%; }
/* SPカード（非表示：PC） */
.cost-cards { display:none; }
@media (max-width: 1024px) {
  .cost-table tbody th { width: 180px; }
}
@media (max-width: 767px) {
  .cost-table { display:none; }
  .cost-cards { display:block; }
  .cost-cards { display:grid; gap:16px; grid-template-columns: 1fr; margin-bottom: 20px; }
  .cost-card {
    background:#fff;
    border-radius:12px;
    padding:16px;
    box-shadow:0 4px 10px rgba(0,0,0,0.04);
  }
  .card-head { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
  .card-head .fa-solid { font-size:1.6rem; color: rgba(var(--tcd-accent-color),1); }
  .card-head h3 { margin:0; font-size:1.1rem; color:#333; }
  .card-body p { margin:0; color:#555; line-height:1.7 !important;;font-size: 1rem !important; }
  .emph { color:#c62828; font-weight:700; font-size: 110%; }
}


/* 奉仕会概要 */
.overview_contents {
	padding: 70px 0 100px;
}
.overview_contents .overview_grid {
    display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4rem;	
}
.overview_contents .overview_grid dl.flex {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #ddd;
    padding: 0px 0 15px;
    margin-bottom: 15px;
}
.overview_contents .overview_grid dl.flex dt, .overview_contents .overview_grid dl.flex dd {
    padding: 0 10px;
}
.overview_contents .overview_grid dl.flex dd {
    margin-bottom: 0;
	line-height: 1.5;
}
.overview_contents .pdf-list {
    list-style: none;
    margin-left: 0;
    margin-bottom: 0;
	color: rgba(var(--tcd-link-color), 1);
}
@media (max-width: 767px) {
	.overview_contents .overview_grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.overview_contents .overview_grid dl.flex dt, .overview_contents .overview_grid dl.flex dd {
		padding: 0 5px;
	}
}



/* お問い合わせフォーム */
.mailform_contents {
    padding: 70px 0 100px;
}

/*--------------------------------------
 Contact Form 7
--------------------------------------*/
/* 背景色・余白 */
.wpcf7 {
    background: #fff;
	border: none;
	border-radius: 20px !important;
    padding: 30px;
}
.cf7__list {
  display: flex;
  flex-wrap: wrap;
  /*align-items:stretch;*/
  margin-bottom: 60px !important;
}
.cf7__list dt, .cf7__list dd {
	padding: 2em 0;
    border-bottom: 1px solid #ccc;
    transition: all .3s;
}
.cf7__list dt {
	width: 35%;
    padding: 3em 0;
}
/* 確認画面(id:500)では余白・フォントリセット */
.page-id-500 .wpcf7 p {
    margin-bottom: 1em;
    font-size: 16px;
    font-family: "Noto Sans JP", sans-serif;
}
.page-id-500 .cf7__list dt {
	width: 35%;
    padding: 2em 0;
}
.cf7__list dd {
  width: 65%;
  margin-bottom: 0;
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 6px 14px;
  color: #fff;
  font-size: 12px;
  vertical-align: 1px;
}

.cf7__required {
  background: #BE1D1D;
}

.cf7__optional {
  background: #878D8E;
}

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
	width: 100%;
    padding: 19px 20px;
    background: #f7f7f7;
    border-radius: 5px;
    border: 1px solid #ebebeb;
	font-family: "Noto Sans JP", sans-serif !important;
}

/* ドロップダウンメニュー */
.cf7__select {
  position: relative;
}
.cf7__select:before {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid #000;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  pointer-events: none;
  content: '';
}
.cf7__select select {
  width: 100%;
  padding: 19px 20px;
  background: #F4F4F4;
  /*color: #a5a5a5;*/
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 16px;
}

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
  display: block;
}

/* 縦並び（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item {
  display: inline-block;
  margin: 0;
}
.cf7__list dd .wpcf7-list-item:not(:last-child) {
    margin-right: 10px;
}

/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
  cursor: pointer;
}

/* チェックボックス・ラジオボタン */
.wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"] {
  position: relative;
  width: 18px;
  height: 18px;
  margin-right: 3px;
  border: 1px solid #bcbcbc;
  vertical-align: -5px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* チェックボックス */
.wpcf7 input[type="checkbox"]:checked {
  border: 1px solid #000;
  background: #000;
}

.wpcf7 input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
}

/* ラジオボタン */
.wpcf7 input[type="radio"] {
  border-radius: 50%;
  vertical-align: -4px;
}
.wpcf7 input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #000;
  content: '';
}

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
  color: #a5a5a5;
}

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
  color: #a5a5a5;
}

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
  color: #a5a5a5;
}

/* 送信ボタン */
.cf7__button {
  text-align: center;
}

.wpcf7 input[type="submit"] {
  width: 260px !important;
  height: 60px !important;
  background: #000;
}

.wpcf7 input[type="submit"]:hover {
  opacity: .6;
}

/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle;
}

/* ドロップダウンメニュー幅 */
.wpcf7 select {
    max-width: 100%;
}
/* 楕円の入力枠 */
.wpcf7 select, .wpcf7 input[type="file"] {
    border-radius: 5px;
}
/* 郵便番号枠 */
.cf7__list dd input[type="tel"].zip7 {
    width: 40%;
}
.wpcf7 .wpcf7-list-item-label {
    font-size: 16px;
}
/* テキストエリア */
.cf7__list dd textarea {
  line-height: 1.8;
}
/* エラーメッセージ・青枠削除 */
.wpcf7 form .wpcf7-response-output {
    border: 2px solid #fff;
	padding: 20px;
    font-size: 1.1em !important;
}
/* 送信後メッセージ */
.wpcf7 form.sent .wpcf7-response-output {
    font-size: 120%;
    padding: 20px;
    font-weight: 700;
    line-height: 1.5;
}
/*reCAPTCHAのロゴを非表示
.grecaptcha-badge {
	visibility: hidden; 
}*/
@media screen and (max-width: 767px) {
  .cf7__list dt, .cf7__list dd, .page-id-500 .cf7__list dt {
    width: 100%;
    padding: 2em 0 1em;
	border-bottom: none;
  }
  .cf7__list dd {
	padding: 0;
  }
  
  /* 外余白 */
  .wpcf7 {
		padding: 5px 0px 40px;
	}
  /* 送信ボタン */
.wpcf7 input[type="submit"] {
    width: 180px !important;
    height: 56px !important;
  }

}



