@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
}
a,
a:link {
	text-decoration: none;
}
a:visited {
	color: #000;
}
a:hover {
	color: #000;
}
a:active {
	color: #000;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #000;
    font-size: 1.7rem;
    font-weight: 500;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
    background-color: #FFF;
}
#container {
	text-align: left;
}
#main {
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
        font-size: 1.25rem;
        line-height: 1;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
    margin: 68px 0 23px;
    text-align: center;
}
#gHeader h1 {
    font-size: 2.6rem;
    line-height: 1.37;
}
.shade #gHeader {
    margin-bottom: 38px;
}
@media all and (max-width: 896px) {
    #gHeader {
        margin: 30px 10px 21px;
    }
    #gHeader h1 {
        font-size: 1.7rem;
        line-height: 1.25;
    }
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
    padding: 68px 0 67px;
    text-align: center;
}
#gFooter .copyright {
    font-size: 1.2rem;
}
@media all and (max-width: 896px) {
    #gFooter {
        padding: 30px 0 42px;
    }
    #gFooter .copyright {
        font-size: 0.9rem;
    }
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
* html .clearfix {zoom: 1;}
*+html .clearfix {zoom: 1;}
.clearfix:after {height: 0;visibility: hidden;content: ".";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	form
------------------------------------------------------------*/
#main .topText {
    margin-bottom: 33px;
    font-size: 1.6rem;
    line-height: 1.59;
    text-align: center;
}
#main .mailForm {
    margin: 0 auto;
    width: 600px;
}
#main .mailForm .formDl {
    margin-bottom: 46px;
}
.shade #main .mailForm .formDl {
    margin-bottom: 59px;
}
#main .mailForm dt {
    margin-bottom: 1px;
    font-size: 1.9rem;
    font-weight: bold;
}
#main .mailForm dd:not(:last-child) {
    margin-bottom: 42px;
}
#main .mailForm dd select,
#main .mailForm dd textarea,
#main .mailForm dd input[type="text"],
#main .mailForm dd input[type="email"],
#main .mailForm dd input[type="number"],
#main .mailForm dd input[type="tel"] {
	padding: 8px 17px;
	width: 100%;
    height: 48px;
    font-size: 1.7rem;
	border-radius: 4px;
    border: 1px solid #949494;
    background: #FFF;
	box-sizing: border-box;
	-webkit-appearance: none;
}
#main .mailForm dd select {
    padding-right: 38px;
    width: 214px;
    background: #FFF url(img/form/select_icon01.png) no-repeat right 13px center / 16px auto;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none; 
}
#main .mailForm dd select::-ms-expand { 
    display: none;
}
#main .mailForm dd input[type="number"] {
    width: 214px;
    appearance: none;
	-webkit-appearance: none;
	-moz-appearance: textfield;
}
#main .mailForm dd .wid01 {
	width: 363px !important;
}
#main .mailForm dd textarea {
    margin-top: 30px;
    height: 190px;
}
#main .mailForm dd span {
    margin: 3px 0 -6px;
    display: block;
    font-size: 1.4rem;
    line-height: 1.82;
}
#main .mailForm dd .sml01 {
    margin-bottom: -11px;
}
#main .mailForm .subDl {
    margin: 18px 0 0 30px;
    padding-bottom: 7px;
}
#main .mailForm .subDl dt {
    margin-bottom: 4px;
}
#main .mailForm .subDl dd:not(:last-child) {
    margin-bottom: 25px;
}
#main .mailForm .subDl dd span {
    margin-bottom: -13px;
}
#main .mailForm .area {
    margin-bottom: 56px;
}
#main .mailForm .area .title {
    margin-top: 30px;
    padding: 25px 70px 18px 32px;
    font-size: 1.9rem;
    font-weight: bold;
    border-bottom: 2px solid #949494;
    background: #F4F4F4 url(img/form/select_icon01.png) no-repeat right 30px center / 17px auto;
    cursor: pointer;
}
#main .mailForm .area .title:hover {
    opacity: 0.7;
}
#main .mailForm .area .fmBox {
    display: none;
    padding: 31px 30px;
    background: #F4F4F4;
}
#main .mailForm .area .fmBox:first-of-type {
    display: block;
}
#main .mailForm .area .fmBox dt {
    margin-bottom: 4px;
}
#main .mailForm .area .fmBox dd:not(:last-child) {
    margin-bottom: 26px;
}
#main .mailForm .area .fmBox dd select {
    width: 274px;
}
#main .mailForm .area .fmBox dd li select {
    margin: 0 12px;
    width: 80px;
}
#main .mailForm .area .fmBox dd li select:last-child {
    margin-right: 0;
    width: 170px;
}
#main .mailForm .area .fmBox dd .countsUl li select {
    margin: 0 8px 0 0;
    width: 93px;
}
#main .mailForm .submit {
	text-align: center;
}
#main .mailForm .submit li:not(:last-child) {
    margin-bottom: 15px;
}
#main .mailForm .submit li input {
    padding: 5px 10px;
    width: 400px;
    height: 48px;
	cursor: pointer;
	color: #FFF;
	font-size: 1.9rem;
	font-weight: bold;
	border-radius: 0;
	border: none;
    background-color: #000;
    box-sizing: border-box;
	-webkit-appearance: none;
}
#main .mailForm .submit li input:hover {
    opacity: 0.7;
}
#main .mailForm .submit li:not(:last-child) input {
    background-color: #999;
}
@media all and (max-width: 896px) {
    #main .topText {
        margin-bottom: 38px;
        font-size: 1.2rem;
        line-height: 1.4;
    }
    #main .mailForm {
        margin: 0;
        width: auto;
    }
    #main .mailForm .formDl {
        margin-bottom: 33px;
    }
    #main .mailForm dt {
        margin-bottom: 2px;
        font-size: 1.3rem;
    }
    #main .mailForm dd:not(:last-child) {
        margin-bottom: 30px;
    }
    #main .mailForm dd select,
    #main .mailForm dd textarea,
    #main .mailForm dd input[type="text"],
    #main .mailForm dd input[type="email"],
    #main .mailForm dd input[type="number"],
    #main .mailForm dd input[type="tel"] {
        padding: 8px;
        height: 38px;
        font-size: 1.25rem;
        border-radius: 2px;
    }
    #main .mailForm dd select {
        padding-right: 38px;
        width: 58.5%;
        background-size: 9px auto;
        background-position: right 6px center;
    }
    #main .mailForm dd input[type="number"] {
        width: 58.5%;
    }
    #main .mailForm dd .wid01 {
        width: 71% !important;
    }
    #main .mailForm dd textarea {
        margin-top: 25px;
        height: 114px;
    }
    #main .mailForm dd span {
        margin: 5px 0 -5px;
        font-size: 1rem;
        line-height: 1.275;
    }
    #main .mailForm dd .sml01 {
        margin-bottom: -8px;
    }
    #main .mailForm .subDl {
        margin: 20px 0 0 15px;
        padding-bottom: 3px;
    }
    #main .mailForm .subDl dd:not(:last-child) {
        margin-bottom: 25px;
    }
    #main .mailForm .subDl dd span {
        margin-bottom: -10px;
    }
    #main .mailForm .area {
        margin: -35px 0 56px;
    }
    #main .mailForm .area .title {
        margin-top: 15px;
        padding: 21px 40px 20px 15px;
        font-size: 1.3rem;
        background-position: right 15px center;
        background-size: 9px auto;
    }
    #main .mailForm .area .title:hover {
        opacity: 1;
    }
    #main .mailForm .area .fmBox {
        padding: 25px 15px;
    }
    #main .mailForm .area .fmBox dt {
        margin-bottom: 4px;
    }
    #main .mailForm .area .fmBox dd:not(:last-child) {
        margin-bottom: 26px;
    }
    #main .mailForm .area .fmBox dd select {
        width: 71%;
    }
    #main .mailForm .area .fmBox dd ul {
        margin-top: -10px;
    }
    #main .mailForm .area .fmBox dd li {
        margin-top: 10px;
        width: 54%;
    }
    #main .mailForm .area .fmBox dd li:nth-child(2) {
        width: 46%;
    }
    #main .mailForm .area .fmBox dd li select {
        margin: 0 3%;
        width: 37%;
    }
    #main .mailForm .area .fmBox dd li:nth-child(2) select {
        margin: 0;
        width: 43%;
    }
    #main .mailForm .area .fmBox dd li select:last-child {
        margin-right: 0;
        width: 85%;
    }
    #main .mailForm .area .fmBox dd .countsUl li select {
        margin: 0 5px 0 0;
        width: 35%;
    }
    #main .mailForm .submit li:not(:last-child) {
        margin-bottom: 15px;
    }
    #main .mailForm .submit li input {
        padding: 5px 10px;
        width: 75%;
        height: 44px;
        font-size: 1.3rem;
    }
    #main .mailForm .submit li input:hover {
        opacity: 1;
    }
}
.errorMsg {
    margin-bottom: 50px;
    color: #CA0000;
    font-size: 1.8rem;
    text-align: center;
}
.errorTxt {
    color: #CA0000;
    font-size: 1.6rem;
}
.thanks .link {
    margin: 0 auto;
    width: 400px;
}
.thanks .link a {
    padding: 15px 5px 12px;
    display: block;
    font-size: 1.6rem;
    text-align: center;
    border-radius: 5px;
    border: 1px solid #949494;
    background-color: #e9e9e9;
}
@media all and (min-width: 897px) {
    .thanks .link a:hover {
        opacity: 0.7;
    }
}
@media all and (max-width: 896px) {
    .errorTxt {
        font-size: 1.5rem;
    }
    .errorTxt {
        font-size: 1.34rem;
    }
    #main.thanks .topText {
        margin-bottom: 20px;
    }
    .thanks .link {
        margin: 40px 20px 245px;
        width: auto;
    }
    .thanks .link a {
        padding: 16px 5px 15px;
        font-size: 1.34rem;
    }
}
.shade-thanks {
    margin-top: 80px;
}
.shade-thanks p {
    margin: 0 auto;
    max-width: 640px;
}
.shade-thanks .linkList {
    margin: 41px auto 0;
    width: 500px;
    text-align: center;
}
.shade-thanks .linkList li {
    margin-bottom: 22px;
}
.shade-thanks .linkList li:last-of-type {
    margin-bottom: 0;
}
.shade-thanks .linkList li a {
    padding: 17px 5px 15px;
    display: block;
    font-size: 1.6rem;
    border: 1px solid #949494;
    border-radius: 35px;
    background-color: #e9e9e9;
}
@media all and (min-width: 897px) {
    .shade-thanks .linkList li a:hover {
        opacity: 0.7;
    }
}
    
@media all and (max-width: 896px) {
    .shade-thanks {
        margin-top: 0;
    }
    .shade-thanks p {
        margin: 0 15px;
        max-width: inherit;
    }
    .shade-thanks .linkList {
        margin: 49px 20px 142px;
        width: auto;
    }
    .shade-thanks .linkList li {
        margin-bottom: 25px;
    }
    .shade-thanks .linkList li a {
        padding: 14px 5px 12px;
        font-size: 1.34rem;
        border-radius: 5px;
        line-height: 1.7;
    }
}

@media all and (-ms-high-contrast:none){
    #main .mailForm dd select {
        padding-top: 12px;
        padding-bottom: 4px;
    }
    #main .mailForm .submit li input {
        padding-top: 8px;
        padding-bottom: 2px;
    }
}
#main .mailForm .confirmArea .fmBox {
    display: block !important;
}

/* >>> wc-sample-ui start >>> */
/* 生地検索UI (sample_demo.php で使用 / 窓カフェ配色)
   ※定稿時はこの start〜end ブロックごと本番 form.css へ反映すること */
.wc-sample-app{
  --hdr-green:#667654; --hdr-orange:#e8731f; --hdr-text:#404040; --hdr-bg-light:#f8f7f5;
  margin-top:14px; width:100%;
}
.wc-sample-app *{ box-sizing:border-box; }
/* form.css の #main .mailForm dd span(display:block・負margin・font-size強制)の影響を打ち消す */
.wc-sample-app span{ margin:0 !important; line-height:1.5 !important; }
.wc-sample-bar{ background:var(--hdr-bg-light); border:1px solid #d8ddd2; border-radius:8px; padding:10px 12px; }
.wc-sample-bar.is-full{ border-color:var(--hdr-orange); }
.wc-sample-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }
.wc-sample-ttl{ font-size:1.4rem; color:var(--hdr-green); font-weight:bold; }
.wc-sample-count{ font-size:1.4rem; color:var(--hdr-text); }
.wc-sample-count b{ font-size:2rem; color:var(--hdr-green); }
.wc-sample-bar.is-full .wc-sample-count b{ color:var(--hdr-orange); }
.wc-sample-chips{ display:flex; flex-wrap:wrap; gap:6px; max-height:132px; overflow-y:auto; }
.wc-sample-chips-empty{ font-size:1.3rem; color:#9a9a90; }
.wc-sample-chip{ display:inline-flex !important; align-items:center; background:#fff; border:1px solid var(--hdr-green); border-radius:16px; padding:4px 4px 4px 12px; font-size:1.35rem; color:var(--hdr-text); max-width:100%; }
.wc-sample-chip-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wc-sample-chip-x{ flex:none; margin-left:6px; width:22px; height:22px; border:none; border-radius:50%; background:var(--hdr-green); color:#fff; font-size:1.1rem; line-height:22px; cursor:pointer; padding:0; }
.wc-sample-chip-x:hover{ background:var(--hdr-orange); }
.wc-sample-search{ margin-top:12px; }
.wc-sample-search input{ width:100%; height:48px; padding:8px 14px; font-size:1.6rem; border:1px solid #b7bdb0; border-radius:8px; background:#fff; -webkit-appearance:none; appearance:none; }
.wc-sample-search input:focus{ outline:none; border-color:var(--hdr-green); box-shadow:0 0 0 2px rgba(102,118,84,.15); }
/* 2倍ヒダ(末尾W)で検索したときの案内 */
.wc-sample-wnote{ margin-top:10px; padding:0 6px; font-size:1.3rem; line-height:1.7; color:var(--hdr-orange); }
.wc-sample-nav{ display:flex; flex-wrap:nowrap; gap:4px; margin-top:10px; }
.wc-sample-navbtn{ flex:1 1 0; min-width:0; height:38px; border:1px solid var(--hdr-green); border-radius:6px; background:#fff; font-size:1.5rem; color:var(--hdr-green); cursor:pointer; padding:0; }
.wc-sample-navbtn:hover:not(:disabled){ background:var(--hdr-green); color:#fff; }
.wc-sample-navbtn:disabled{ opacity:.3; cursor:default; }
.wc-sample-list{ position:relative; margin-top:10px; max-height:320px; overflow-y:auto; border:1px solid #b7bdb0; border-radius:8px; -webkit-overflow-scrolling:touch; }
.wc-sample-item{ display:flex; align-items:center; min-height:46px; padding:8px 12px; border-bottom:1px solid #ececec; font-size:1.55rem; color:var(--hdr-text); cursor:pointer; }
.wc-sample-item:last-child{ border-bottom:none; }
.wc-sample-item:hover{ background:var(--hdr-bg-light); }
.wc-sample-item.is-on{ background:#eef2ea; box-shadow:inset 3px 0 0 var(--hdr-green); }
.wc-sample-check{ flex:none; width:22px; color:var(--hdr-green); font-weight:bold; visibility:hidden; }
.wc-sample-item.is-on .wc-sample-check{ visibility:visible; }
.wc-sample-item.is-jump{ background:#fbe9d6; }
.wc-sample-name{ flex:1 1 auto; }
.wc-sample-empty{ margin-top:10px; font-size:1.4rem; color:#9a9a90; text-align:center; }
@keyframes wc-sample-shake{ 0%,100%{transform:translateX(0)} 25%{transform:translateX(-4px)} 75%{transform:translateX(4px)} }
.wc-sample-bar.is-shake{ animation:wc-sample-shake .3s; }
@media screen and (min-width:768px){
  .wc-sample-list{ max-height:360px; }
}
/* <<< wc-sample-ui end <<< */

/* >>> wc-cafe theme start >>> */
/* 窓カフェ全体テーマ (sample_demo.php の body.wc-cafe 配下だけに適用)
   ※CLAUDE.mdのデザイントークン準拠。form.css共用の shade.php 等には波及しない
   ※定稿時はこの start〜end ごと本番 form.css へ、本番 sample.php の body に class="wc-cafe" を付与 */
.wc-cafe{ --hdr-green:#667654; --hdr-orange:#e8731f; --hdr-text:#404040; --hdr-bg-light:#f8f7f5; background:var(--hdr-bg-light); color:var(--hdr-text); }
.wc-cafe, .wc-cafe input, .wc-cafe textarea, .wc-cafe select, .wc-cafe option, .wc-cafe button{ font-family:'Open Sans','ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; }
/* 中央カード */
.wc-cafe #container{ max-width:760px; margin:0 auto; background:#fff; box-shadow:0 1px 24px rgba(0,0,0,.06); }
/* ヘッダー: ロゴ中央 + 副題 */
.wc-cafe #gHeader{ margin:0; padding:22px 16px 20px; background:#fff; border-bottom:3px solid var(--hdr-green); text-align:center; }
.wc-cafe .wc-logo{ display:inline-block; max-width:220px; width:auto; height:auto; }
.wc-cafe #gHeader h1{ margin:26px 0 0; font-size:1.9rem; font-weight:bold; line-height:1.45; letter-spacing:.04em; color:var(--hdr-green); }
/* 本文余白・説明文 */
.wc-cafe #main{ padding:28px 24px 8px; }
.wc-cafe #main .topText{ color:var(--hdr-text); }
/* 項目見出し */
.wc-cafe #main .mailForm dt{ margin:12px 0; color:var(--hdr-green); line-height:1.4; }
/* 大見出し(お名前・メール等)は橙の左縦線 */
.wc-cafe #main .mailForm .formDl > dt{ padding-left:12px; border-left:5px solid var(--hdr-orange); }
/* 住所の子項目(郵便番号・都道府県・ご住所)は四角マーカー */
.wc-cafe #main .mailForm .subDl dt::before{ content:''; display:inline-block; width:8px; height:8px; margin-right:7px; background:var(--hdr-orange); vertical-align:middle; }
/* 入力欄 */
.wc-cafe #main .mailForm dd input[type="text"],
.wc-cafe #main .mailForm dd input[type="email"],
.wc-cafe #main .mailForm dd input[type="number"],
.wc-cafe #main .mailForm dd input[type="tel"],
.wc-cafe #main .mailForm dd select,
.wc-cafe #main .mailForm dd textarea{ border:1px solid #b7bdb0; border-radius:5px; background-color:#fff; font-size:1.5rem; }
/* プルダウンは共通ページの検索欄と同じく、ブラウザ標準の三角に戻す */
.wc-cafe #main .mailForm dd select{ -webkit-appearance:menulist; -moz-appearance:menulist; appearance:menulist; background-image:none; padding-right:8px; }
/* 住所の子項目ラベルを少し小さく(-2px) */
.wc-cafe #main .mailForm .subDl dt{ font-size:1.7rem; }
.wc-cafe #main .mailForm dd input[type="text"]:focus,
.wc-cafe #main .mailForm dd input[type="email"]:focus,
.wc-cafe #main .mailForm dd input[type="number"]:focus,
.wc-cafe #main .mailForm dd input[type="tel"]:focus,
.wc-cafe #main .mailForm dd select:focus,
.wc-cafe #main .mailForm dd textarea:focus{ outline:none; border-color:var(--hdr-green); box-shadow:0 0 0 3px rgba(102,118,84,.15); }
/* 送信ボタン: 橙のピル */
.wc-cafe #main .mailForm .submit li input{ background-color:var(--hdr-orange); border-radius:5px; color:#fff; border:none; font-weight:bold; font-size:1.45rem; }
.wc-cafe #main .mailForm .submit li input:hover{ opacity:1; background-color:#cf6417; }
/* サブボタン(確認/戻る等)は緑 */
.wc-cafe #main .mailForm .submit li:not(:last-child) input{ background-color:var(--hdr-green); }
/* 郵便番号 + 住所反映ボタン */
.wc-cafe #main .mailForm .subDl dd .wc-zip-input{ width:150px; display:inline-block; vertical-align:middle; }
.wc-cafe #main .mailForm .subDl dd .wc-zip-btn{ margin-left:8px; height:48px; padding:0 16px; border:none; border-radius:5px; background:var(--hdr-green); color:#fff; font-size:1.45rem; font-weight:bold; cursor:pointer; vertical-align:middle; }
.wc-cafe .wc-zip-btn:hover{ background:#55634a; }
/* カスタムドロップダウン(本サイト検索欄 hdr-custom-select 準拠) */
.wc-cafe .wc-select{ position:relative; display:inline-block; width:214px; max-width:100%; vertical-align:middle; }
.wc-cafe .wc-select__trigger{ display:flex; align-items:center; gap:8px; width:100%; height:48px; padding:0 14px; background:#fff; border:1px solid #b7bdb0; border-radius:5px; font-size:1.5rem; line-height:1; color:var(--hdr-text); cursor:pointer; text-align:left; box-sizing:border-box; }
.wc-cafe .wc-select__label{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:0 !important; line-height:1 !important; font-size:1.5rem; }
.wc-cafe .wc-select__chevron{ width:12px; height:8px; flex-shrink:0; transition:transform .2s; }
.wc-cafe .wc-select.open .wc-select__chevron{ transform:rotate(180deg); }
.wc-cafe .wc-select__dropdown{ display:none; position:absolute; top:calc(100% + 4px); left:0; min-width:100%; background:#fff; border:1px solid #ddd; border-radius:5px; z-index:300; box-shadow:0 6px 20px rgba(0,0,0,.14); max-height:300px; overflow-y:auto; }
.wc-cafe .wc-select.open .wc-select__dropdown{ display:block; }
.wc-cafe .wc-select__option{ padding:11px 16px; font-size:1.4rem; color:var(--hdr-text); cursor:pointer; border-bottom:1px solid #ebebeb; transition:background .15s; white-space:nowrap; }
.wc-cafe .wc-select__option:last-child{ border-bottom:none; }
.wc-cafe .wc-select__option:hover{ background:var(--hdr-bg-light); }
.wc-cafe .wc-select__option.selected{ color:var(--hdr-green); background:var(--hdr-bg-light); font-weight:600; }
/* ラジオボタン(横並び) */
.wc-cafe #main .mailForm dd .wc-radio{ display:inline-flex; align-items:center; gap:6px; margin-top:14px; margin-right:28px; font-size:1.5rem; color:var(--hdr-text); cursor:pointer; }
.wc-cafe #main .mailForm dd .wc-radio input[type="radio"]{ width:18px; height:18px; margin:0; accent-color:var(--hdr-green); cursor:pointer; }
/* フッター: 緑帯 */
.wc-cafe #gFooter{ margin-top:50px; padding:24px 0; background:var(--hdr-green); }
.wc-cafe #gFooter .copyright{ color:#fff; }
/* 完了ページ「戻る」ボタン: 枠線のグレーだけ薄く(背景は元のまま) */
.wc-cafe #main.thanks .link a{ background-color:#667654; border:none; color:#fff; }
.wc-cafe #main.thanks .link a:hover{ background-color:#556343; opacity:1; }
/* スマホ時の調整 */
@media screen and (max-width:896px){
  /* タイトルを小さく(変な改行防止) */
  .wc-cafe #gHeader h1{ font-size:1.5rem; letter-spacing:0; }
  /* 生地一覧(検索リスト)の生地名 */
  .wc-cafe .wc-sample-app .wc-sample-name{ font-size:1.45rem !important; }
  /* 生地リストの各項目 */
  .wc-sample-item{ font-size:1.5rem; }
  /* 見出しの階層(大見出し>中見出し)と説明文 */
  .wc-cafe #main .mailForm dt{ font-size:1.6rem; margin-top:18px; }
  .wc-cafe #main .mailForm .subDl dt{ font-size:1.5rem; }
  .wc-cafe #main .mailForm dd span{ font-size:1.3rem; }
  /* 各項目の間隔を広げる(隣接するdt上余白とはマージン相殺するため、dd下余白側で確保) */
  .wc-cafe #main .mailForm dd:not(:last-child){ margin-bottom:44px; }
  /* 送信ボタンのフォントを測り方ボタンに合わせる */
  .wc-cafe #main .mailForm .submit li input{ font-size:1.34rem; }
  /* SPはflexで横並び。ボタン1つ(フォーム)なら100%、2つ(確認ページ)なら1:1 */
  .wc-cafe #main .mailForm .submit{ display:flex; gap:12px; }
  .wc-cafe #main .mailForm .submit li{ flex:1 1 0; margin:0; }
  .wc-cafe #main .mailForm .submit li input{ width:100%; }
  /* 「住所を反映」ボタンを入力欄(38px)に合わせる */
  .wc-cafe #main .mailForm .subDl dd .wc-zip-btn{ height:38px; padding:0 14px; font-size:1.34rem; }
  /* プルダウン(都道府県・メジャー)の文字 */
  .wc-cafe .wc-select__trigger,
  .wc-cafe .wc-select__label,
  .wc-cafe .wc-select__option{ font-size:1.5rem; }
  /* 「選択中の生地」バーとチップ */
  .wc-sample-ttl,
  .wc-sample-count{ font-size:1.5rem; }
  .wc-sample-count b{ font-size:1.9rem; }
  .wc-sample-chip{ font-size:1.4rem; }
  /* 検索欄の説明文(placeholder)は少し小さく */
  .wc-sample-search input{ font-size:1.4rem; }
  .wc-sample-empty{ font-size:1.4rem; }
  /* フォーム全体の上余白を少し減らす */
  .wc-iframe #main{ padding-top:16px; padding-left:8px; padding-right:8px; }
  /* 説明文・入力欄の行間を1.5に */
  .wc-cafe #main .topText{ line-height:1.5; }
  .wc-cafe #main .mailForm dd span{ line-height:1.5 !important; }
  .wc-cafe #main .mailForm dd input,
  .wc-cafe #main .mailForm dd textarea{ line-height:1.5; }
}
/* >>> wc-cafe theme end >>> */

/* >>> iframe埋め込み用(body.wc-iframe) >>> */
.wc-iframe{ background:transparent !important; }
.wc-iframe #container{ max-width:100%; background:transparent; box-shadow:none; }
.wc-iframe #main{ padding:32px 12px; }
/* <<< iframe埋め込み用 <<< */

/* >>> f8から移設した説明ブロック >>> */
/* メジャー同梱の案内(カーテン専用メジャーの直前) */
.wc-measure{ margin:4px 0 12px; }
.wc-measure__ttl{ margin:0 0 14px; font-size:1.5rem; line-height:1.7; color:#404040; }
/* 参考画像はグレー枠で囲み、注目が集まりすぎないようにする */
.wc-measure__fig{ margin:0 0 4px; padding:16px; background:#f5f5f3; border-radius:8px; }
.wc-measure__cap{ margin:0 0 12px; text-align:center; font-size:1.3rem; color:#888; }
.wc-measure__imgs{ display:flex; gap:12px; justify-content:center; margin:0; }
.wc-measure__imgs img{ width:calc(50% - 6px); max-width:220px; height:auto; border-radius:4px; }
/* 同梱の希望はカードボタンで選ばせる(選び忘れ防止・タップしやすく) */
.wc-choice{ display:flex; gap:12px; margin:18px 0 0; }
.wc-choice__card{ flex:1 1 0; display:flex; align-items:center; justify-content:center; gap:10px; padding:15px 16px; border:1px solid #cfd4c8; border-radius:8px; background:#fff; cursor:pointer; font-size:1.5rem; color:#404040; transition:border-color .15s, background .15s; }
.wc-choice__card:hover{ border-color:#667654; }
.wc-choice__card input[type="radio"]{ flex:none; width:18px; height:18px; margin:0; accent-color:#667654; cursor:pointer; }
/* 共通の dd span(margin:3px 0 -6px / line-height:1.82)を打ち消して丸と文字を垂直中央に。改行も防ぐ */
.wc-cafe #main .mailForm dd .wc-choice__label{ display:inline-block; margin:0 !important; line-height:1 !important; white-space:nowrap; }
.wc-choice__card:has(input:checked){ border-color:#667654; background:#f2f5ee; box-shadow:inset 0 0 0 1px #667654; }
/* 採寸ガイドは控えめなテキストリンク */
.wc-measure__link{ margin:0; padding-top:40px; text-align:center; }
.wc-measure__link a{ font-size:1.4rem; color:#666; text-decoration:underline; }
.wc-measure__link a:hover{ color:#e8731f; }
/* PCでは参考画像枠を少しゆったりと */
@media all and (min-width:897px){
  .wc-measure__fig{ padding:20px; }
  .wc-measure__imgs{ gap:20px; }
  .wc-measure__imgs img{ max-width:250px; }
}
/* フォーム冒頭の導入文 */
.wc-cafe #main .wc-form-lead{ margin:0 0 38px; text-align:center; color:#404040; font-size:2.2rem; font-weight:bold; line-height:1.7; }
@media all and (max-width:896px){
  .wc-cafe #main .wc-form-lead{ font-size:1.7rem; margin-bottom:38px; }
}
/* 発送に関する注意書き(送信ボタンの前) */
.wc-ship-note{ margin-bottom:50px; padding:14px 16px; background:#f8f7f5; border-radius:8px; font-size:1.3rem; line-height:1.75; color:#404040; }
@media all and (max-width:896px){
  .wc-measure__ttl{ font-size:1.34rem; }
  .wc-measure__cap{ font-size:1.2rem; }
  .wc-choice__card{ padding:12px 8px; gap:6px; font-size:1.4rem; }
  .wc-choice__card input[type="radio"]{ width:16px; height:16px; }
  .wc-measure__link a{ font-size:1.3rem; }
  .wc-ship-note{ font-size:1.2rem; }
}
/* <<< f8から移設した説明ブロック <<< */
