﻿@charset "UTF-8";

@import url("fmail_table.css");
@import url("fmail_dl.css");
@import url("fmail_label.css");

div#mailfrom_hidden_object {
	width: 1px;
	height: 1px;
	overflow: hidden;
}
div#twex {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	overflow: hidden;
	margin: 0px;
	background-color: #000000;
	text-align: center;
	filter: alpha(opacity=60);
	-moz-opacity: 0.60;
	-khtml-opacity: 0.60;
	opacity: 0.60;
}
img#loading_proccess_image {
	position: absolute;
	z-index: 1000;
}

/* tableパターン */
table div.fmail_must {
	float: right;
	width: 30px;
	height: 16px;
	overflow: hidden;
	margin: 0px 5px 0px 5px;
	background-image: url(../images/mfp_must.gif);
	text-indent: -50000px;
}

/* レスポンシブの設定 */
@media screen and (max-width: 768px) {
	table div.fmail_must {	display: inline-block;	float: none;}
}


table div.fmail_or {
	float: right;
	width: 60px;
	height: 16px;
	overflow: hidden;
	margin: 0px 0px 0px 5px;
	background-image: url(../images/mfp_or.gif);
	text-indent: -50000px;
}
/* dlパターン */
dl dt span.name  {
	display: inline-block;
	overflow: hidden;
	height: 22px;
}
dl div.fmail_must {
	display: inline-block;
	overflow: hidden;
	margin: 0 0 0 5px;
	padding: 0;
	width: 30px;
	height: 22px;
	background: url(../images/mfp_must.gif) no-repeat;
	background-position: center center;
	text-indent: -50000px;
}
dl div.fmail_or {
	display: inline-block;
	overflow: hidden;
	margin: 0 0 0 5px;
	padding: 0;
	width: 60px;
	height: 22px;
	background: url(../images/mfp_or.gif) no-repeat;
	background-position: center center;
	text-indent: -50000px;
}

/* テーブル分割 */
#fmail tr.fmail_separate th {	padding: 0;	width: 150px;	height: 100px;	text-indent: -9999px;}
#fmail tr.fmail_separate td {	padding: 0;	width: 430px;	height: 100px;	vertical-align: top;}
#fmail tr.fmail_separate td div.fmail_position {
	position: relative;
}
#fmail tr.fmail_separate td div.fmail_position .elements {
	position: absolute;
	top: 0;
	left: -170px;
	margin: 10px;
	padding: 5px;
	width: 580px;
	background: #EEF;
	z-index: 99;
}

/* レスポンシブの設定 */
@media screen and (max-width: 768px) {
	#fmail tr.fmail_separate th {	display: none;}
	#fmail tr.fmail_separate td {	width: 100%;	height: 220px;}
	#fmail tr.fmail_separate td div.fmail_position .elements {		left: -10px;		width: 100%;	}
}


/* テーブル分割　タイトル */
#fmail tr.fmail_separate_title th {	padding: 0;	width: 150px;	height: 40px;	text-indent: -9999px;} /* タイトル枠の横幅と高さ */
#fmail tr.fmail_separate_title td {	padding: 0;	width: 430px;	height: 40px;	vertical-align: top;} /* タイトル枠の横幅と高さ */
#fmail tr.fmail_separate_title td div.fmail_position {
	position: relative;
}
#fmail tr.fmail_separate_title td div.fmail_position .elements {
	position: absolute;
	top: 0;
	left: -170px;
	margin: 10px;
	padding: 5px;
	width: 570px;
	height: 20px;
	background: #66AAEE; /* タイトル背景色 */
	z-index: 99;
}
#fmail tr.fmail_separate_title td div.fmail_position .elements p {
	line-height: 20px; /* タイトル文字の高さ */
	font-weight: bold; /* タイトル文字の太さ */
	font-size: 16px; /* タイトル文字の大きさ */
}

/* レスポンシブの設定 */
@media screen and (max-width: 768px) {
	#fmail tr.fmail_separate_title th {	display: none;}
	#fmail tr.fmail_separate_title td {	width: 100%;	height: 70px;}
	#fmail tr.fmail_separate_title td div.fmail_position .elements {		left: -10px;		padding: 5px;		width: 100%;	}
	#fmail tr.fmail_separate_title td div.fmail_position .elements {		height: 40px;}
}

/* 必須項目チェック */
#fmail tr.fmail_separate_mustchecker th {	padding: 0;	width: 150px;	height: 0;	text-indent: -9999px;	border-bottom-width: 0;}
#fmail tr.fmail_separate_mustchecker td {	padding: 0;	width: 430px;	height: 0;	vertical-align: top;	border-bottom-width: 0;}
#fmail tr.fmail_separate_mustchecker td div.fmail_position_mustchecker .elements_mustchecker {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 99;
	
	margin: 0;
	padding: 10px;
	width: 150px;
	height: 50px;
	background: #CCC;
	border: 1px solid #333;
	border-radius: 10px;
	
	line-height: 26px;
	text-align: center;
	font-size: 14px;
}
#fmail tr.fmail_separate_mustchecker td div.fmail_position_mustchecker .elements_mustchecker .caution_mustchecker {
	display: inline-block;
	margin-left: 5px;
	
	font-weight: bold;
	font-size: 18px;
	color: #FF3333;
}

/* レスポンシブの設定 */
@media screen and (max-width: 768px) {
	#fmail tr.fmail_separate_mustchecker th {	display: none;}
	#fmail tr.fmail_separate_mustchecker td {	width: 95%;}
}


/* ------------------------------------------ */


div#fmail_thankspage {
	padding: 15px;
	line-height: 1.5em;
	font-size: 12px;
}
span#fmail_title_default,span#fmail_title_confirm,span#fmail_title_error,span#fmail_title_thanks {
	display: block;
	margin: 0 auto;
	width: 580px;
	height: 44px;
	overflow: hidden;
	text-indent: -50000px;
}
span#fmail_title_default {
	background: url(../images/title_default.png) no-repeat;
}
span#fmail_title_confirm {
	background: url(../images/title_confirm.png) no-repeat;
}
span#fmail_title_error {
	background: url(../images/title_error.png) no-repeat;
}
span#fmail_title_thanks {
	background: url(../images/title_thanks.png) no-repeat;
}

/* レスポンシブの設定 */
@media screen and (max-width: 768px) {
	span#fmail_title_default {		display: none;	}
	span#fmail_title_confirm {		display: none;	}
	span#fmail_title_error {		display: none;	}
	span#fmail_title_thanks {		display: none;	}
}

form.fmail_submit,form.fmail_cancel {
	float: left;
	padding: 5px;
}

form#fmail {
	margin: 0px auto 0px auto;
	padding: 0px;
}

span.fmail_error {
	display: block;
	padding: 2px 0px 5px 17px;
	background-image: url(../images/mfp_error.gif);
	background-repeat: no-repeat;
	font-size: 12px;
}
span.fmail_example {
	font-size: 12px;
	color: #666666;
}
p.fmail_note {
	padding: 5px 0px 0px 0px;
	font-size: 12px;
	color: #666666;
}
ol.fmail_checkbox_list {
	width:90%;
}
ol.fmail_radio_list li,ol.fmail_checkbox_list li {
	float: left;
	padding: 5px;
	list-style: none;
}

div.fmail_error_message {
	margin: 10px;
	padding: 5px;
	border: solid 1px #FF0000;
	background-color: #FFEEEE;
	text-align: center;
	color: #FF0000;
	font-size: 12px;
}

#fmail input.fmail {
	margin: 1px 0;
	padding: 2px;
	width: 170px;
}

/* レスポンシブの設定 */
@media screen and (max-width: 768px) {
	#fmail input.fmail {		font-size: 18px;	}
	#fmail input.fmail[type="text"],
	#fmail input.fmail[type="email"],
	#fmail input.fmail[type="number"],
	#fmail input.fmail[type="url"],
	#fmail input.fmail[type="tel"] {
		width: 80% !important;
		background: #ffffff;
		border: 1px solid #999999;
	}
	#fmail .zipcode input.fmail {
		width: 150px !important;
	}
	#fmail select.fmail {		font-size: 16px;	}
	#fmail textarea.fmail {		font-size: 16px;	}
	#fmail .reserve select {		font-size: 16px;	}
}

#fmail li input.fmail {
	width: auto;
}

#fmail select.fmail {	padding: 2px;}

#fmail textarea.fmail {
	padding: 2px;
	width: 300px;
}
/* レスポンシブ */
@media screen and (max-width: 768px) {	#fmail textarea.fmail {		width: 90% !important;	}}

#fmail input.fmail_file {
	margin: 0 !important;
	height: auto;
	line-height: 20px;
}
#fmail input.ffcancel {
	margin-top: 2px;
	margin-left: 3px;
	padding: 2px;
	height: 23.5px;
}


/*-------------------------------------------------------*/
/*送信ボタンを画像化したい場合は下記を変更ください       */
/* 確認画面へ進む ./fmail/fmail.lib/submit.confirm.js    */
/* 送信           ./fmail/fmail.lib/submit.send.js       */
/* 前のページへ   ./fmail/fmail.lib/submit.cancel.js     */
/* 上記ファイル内のコメントアウト切り替えを行う          */
/*-------------------------------------------------------*/
/*ボタンの位置*/
.button {
	width: 100%;
	margin-top: auto;
	text-align: center;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {	.button {		margin-top: 10px;	}}


/*素ボタンの高さ*/
.button input.default_button {
	height:40px;
	padding:10px;
}
.button form.fmail_cancel {
	width:48%;
	text-align:right;
}
.button form.fmail_submit {
	width:48%;
	text-align:left;
}
.clearfix:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
.clearfix {display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */




/*確認ボタン*/
.submit_confirm_button {
	width:160px;
	height:35px;
	border-width:0;
	border-style:none;
	background:url(../images/submit_button.jpg);
}
.submit_confirm_button:hover {
	background-position: right bottom;
}

/*送信ボタン*/
.submit_send_button {
	width:160px;
	height:35px;
	border-width:0;
	border-style:none;
	background:url(../images/send_button.jpg);
}
.submit_send_button:hover {
	background-position: right bottom;
}

/*戻るボタン*/
.submit_cancel_button {
	width:160px;
	height:35px;
	border-width:0;
	border-style:none;
	background:url(../images/back_button.jpg);
}
.submit_cancel_button:hover {
	background-position: right bottom;
}

/*送信完了画面*/
.site_top a{
	display:block;
	width:160px;
	height:35px;
	margin: 1em auto;
	border-width:0;
	border-style:none;
	background:url(../images/top_button.jpg);
	text-align:center;
	text-indent:-9999px;
}
.site_top a:hover{
	background-position: right bottom;
}

/*郵便番号のボタン*/
form#fmail input.postcode {
	width: 70px;
	padding: 2px;
}


/*-------------------------------------------------------*/
/*
/*  個別指定
/*
/*-------------------------------------------------------*/
#fmail .caution { color: #ff0000;}
#fmail .info { color: #009900;}
#fmail .strong { font-weight: bold;}
.fmail_caution { color: #ff0000;}

/* 送信完了画面 */
#fmail_thankspage .caution { color: #ff0000;}
#fmail_thankspage .info { color: #009900;}
#fmail_thankspage .strong { font-weight: bold;}

#fmail .remail { margin-top: 5px;}/*メール再入力部分*/
#fmail li { display: block; float: left; padding-left: 2px;}
* html #fmail li { white-space: nowrap;}
*:first-child+html #fmail li { white-space: nowrap;}

/* ZIPCODE */
#fmail .zipcode input.fmail {
	width: 100px;
}

/* URL */
#fmail .url input {
	width: 300px;
}

/* カレンダーアイコン */
#fmail .datedata input {
	float: left;
}
.ui-datepicker-trigger {
	float: left;
	margin: 0 0 0 5px;
	padding: 0;
	background: none;
}
.ui-datepicker-trigger,
.ui-datepicker-trigger img {
	width: 24px;
	height: 24px;
	border: 0;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {	#fmail .datedata td {		height: 24px;	}}



/*-------------------------------------------------------*/
/*
/*  カート用項目
/*  ※お問い合わせ入力画面で表示させたくない場合に指定
/*-------------------------------------------------------*/
/*
tr#r_en1339056176 {
	display: none;
}
*/

/* ===================================================== */
/* ai-box サイト用カスタマイズ                             */
/* Contact セクションのデザイン（Tailwind mockup）に        */
/* 合わせて自動生成フォームの見た目を上書き                  */
/* ===================================================== */
#fmail {
	width: 100%;
	margin: 0;
	padding: 0;
}
#fmail dl.mailform {
	clear: none;
	width: 100%;
	margin: 0 0 3rem 0;
	padding: 0;
}
#fmail dl.mailform dt {
	display: flex;
	align-items: center;
	height: auto;
	margin: 0 0 1rem 0;
	padding: 0;
	border-bottom: none;
	line-height: normal;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6b7280;
}
#fmail dl dt span.name {
	display: inline-block;
	height: auto;
	overflow: visible;
}
#fmail dl div.fmail_must {
	display: inline-flex;
	align-items: center;
	overflow: visible;
	width: auto;
	height: auto;
	margin: 0 0 0 0.5rem;
	padding: 0;
	background: none;
	text-indent: 0;
	font-size: 0.7rem;
	font-weight: 700;
	color: #dc2626;
}
#fmail dl.mailform dd {
	padding: 0;
	font-size: inherit;
}
#fmail input.fmail[type="text"],
#fmail input.fmail[type="email"],
#fmail input.fmail[type="tel"] {
	display: block;
	width: 100%;
	margin: 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid #d1d5db;
	border-radius: 0;
	padding: 0.75rem 0;
	font-size: 1.25rem;
	font-weight: 700;
	font-family: inherit;
	color: #111111;
	outline: none;
	transition: border-color 0.2s ease;
}
#fmail input.fmail[type="text"]:focus,
#fmail input.fmail[type="email"]:focus,
#fmail input.fmail[type="tel"]:focus {
	border-bottom-color: #000000;
}
/* ブラウザのオートフィル時の水色/黄色背景を打ち消す（Chrome/Edge対策） */
#fmail input.fmail[type="text"]:-webkit-autofill,
#fmail input.fmail[type="email"]:-webkit-autofill,
#fmail input.fmail[type="tel"]:-webkit-autofill,
#fmail input.fmail[type="text"]:-webkit-autofill:hover,
#fmail input.fmail[type="email"]:-webkit-autofill:hover,
#fmail input.fmail[type="tel"]:-webkit-autofill:hover,
#fmail input.fmail[type="text"]:-webkit-autofill:focus,
#fmail input.fmail[type="email"]:-webkit-autofill:focus,
#fmail input.fmail[type="tel"]:-webkit-autofill:focus {
	-webkit-text-fill-color: #111111;
	-webkit-box-shadow: 0 0 0 1000px #ffffff inset;
	box-shadow: 0 0 0 1000px #ffffff inset;
	transition: background-color 9999s ease-in-out 0s;
}
#fmail textarea.fmail {
	display: block;
	width: 100%;
	margin: 0;
	background: transparent;
	border: 1px solid #d1d5db;
	border-radius: 0;
	padding: 1rem;
	font-size: 1.125rem;
	font-weight: 500;
	font-family: inherit;
	color: #111111;
	outline: none;
	min-height: 6rem;
	transition: border-color 0.2s ease;
}
#fmail textarea.fmail:focus {
	border-color: #000000;
}

/* 郵便番号 + 住所反映ボタン */
#fmail dl.zipcode dd {
	display: flex;
	align-items: stretch;
	gap: 0.75rem;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
#fmail dl.zipcode input.fmail[type="text"],
#fmail dl.zipcode input.fmail[type="tel"] {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
}
form#fmail input.postcode {
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
	margin: 0;
	padding: 0 1.5rem;
	border: 1px solid #000000;
	background: #000000;
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
form#fmail input.postcode:hover {
	background: #1f2937;
}

/* 送信ボタン行（入力画面） */
#fmail dl.mailform:last-of-type {
	margin-bottom: 0;
	padding-top: 2rem;
	text-align: center;
}
#fmail dl.mailform:last-of-type dt {
	display: none;
}

/* 確認画面の進行状況バナー（画像）は新デザインと合わないため非表示 */
span#fmail_title_default,
span#fmail_title_confirm,
span#fmail_title_error,
span#fmail_title_thanks {
	display: none !important;
}

/* 確認画面：入力値のテキスト表示（inputを使わず値を直接出力する場合） */
#fmail dl.mailform dd {
	font-size: 1.25rem;
	font-weight: 700;
	color: #111111;
}

/* 確認・送信・戻るボタン（画像ボタンをやめてテキストボタン化した上でスタイリング） */
/* 入力画面(#fmail入り)・確認画面(#fmailなし、fmail_cancel/fmail_submitフォーム)どちらにも効くよう無scope */
input.default_button,
input[type="submit"] {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	height: auto;
	width: 240px;
	margin: 0;
	padding: 1.25rem 3.5rem 1.25rem 3rem;
	text-align: center;
	border: 1px solid #000000;
	border-radius: 0;
	background-color: #000000;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.5rem center;
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}
input.default_button:hover,
input[type="submit"]:hover {
	background-color: #1f2937;
}
input#submit_cancel.default_button {
	padding: 1.25rem 3rem;
	background-color: transparent;
	background-image: none;
	color: #111111;
	border: 1px solid #d1d5db;
}
input#submit_cancel.default_button:hover {
	background-color: #000000;
	border-color: #000000;
	color: #ffffff;
}

/* 確認画面：戻る／送信ボタンの行 */
/* .button input.default_button { height:40px; padding:10px; }（旧・画像ボタン用の高さ指定）を打ち消す */
.button input.default_button,
.button input[type="submit"] {
	height: auto;
	padding: 1.25rem 3.5rem 1.25rem 3rem;
}
.button input#submit_cancel.default_button {
	padding: 1.25rem 3rem;
}
.button {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	width: 100%;
	margin-top: 2rem;
	text-align: center;
}
.button form.fmail_cancel,
.button form.fmail_submit {
	float: none;
	width: auto;
	padding: 0;
	text-align: center;
}
.button .hiddenObj {
	display: inline-block;
}

/* 確認画面：入力内容テーブル（tableパターン） */
table.mailform {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 0;
	border-collapse: collapse;
	border: none;
}
table.mailform tr th,
table.mailform tr td {
	border: none;
	border-bottom: 1px solid #e5e5e5;
	background: none;
}
table.mailform tr:first-child th,
table.mailform tr:first-child td {
	border-top: 4px solid #111111;
}
table.mailform tr th {
	width: 30%;
	padding: 1.5rem 1rem 1.5rem 0;
	text-align: left;
	vertical-align: top;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #6b7280;
}
table.mailform tr td {
	padding: 1.5rem 0;
	font-size: 1.125rem;
	font-weight: 700;
	color: #111111;
	word-break: break-word;
}

@media screen and (max-width: 768px) {
	table.mailform tr th,
	table.mailform tr td {
		display: block;
		width: 100%;
		border-width: 0;
	}
	table.mailform tr th {
		padding: 1.25rem 0 0.25rem 0;
		border: none;
	}
	table.mailform tr td {
		padding: 10px 0;
		border-bottom: 1px solid #e5e5e5;
	}
	table.mailform tr:first-child th {
		border-top: 4px solid #111111;
	}
	table.mailform tr:first-child td {
		border-top: none;
	}
	.button {
		flex-direction: column;
	}
	.button form.fmail_cancel,
	.button form.fmail_submit,
	.button .hiddenObj,
	.button input.default_button,
	.button input[type="submit"] {
		width: 100%;
	}
}

/* エラー表示（ページ上部のエラーサマリー） */
.fmail_error_message {
	margin: 0 0 2rem 0;
	padding: 1rem;
	border: 1px solid #dc2626;
	background-color: #fef2f2;
	color: #dc2626;
	font-size: 0.875rem;
	text-align: left;
}

/* エラー表示（項目ごとの未入力・不正入力メッセージ） */
#fmail dt.fmail_error_line,
#fmail dd.fmail_error_line {
	background-color: transparent;
	color: inherit;
}
#fmail dt.fmail_error_line {
	color: #6b7280;
}
/* span(エラー文言)がinput/textareaより後ろに出力される場合（入力画面でJSがリアルタイムに挿入する順序）は
   見た目の順序を反転させ、常に「エラー吹き出しが上・input/textareaが下」になるよう統一する */
#fmail dd.fmail_error_line:has(input.fmail + span.fmail_error),
#fmail dd.fmail_error_line:has(textarea.fmail + span.fmail_error) {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
}
#fmail span.fmail_error {
	position: relative;
	display: inline-block;
	margin: 0 0 0.625rem 0;
	padding: 0.25rem 0.625rem;
	background-image: none;
	background-color: #dc2626;
	border-radius: 3px;
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.4;
	color: #ffffff;
	animation: fmail_error_bounce 1s ease-in-out infinite;
}
/* エラー吹き出しの矢印は常に下向き（直下のinput/textareaを指す） */
#fmail span.fmail_error::after {
	content: "";
	position: absolute;
	left: 1rem;
	top: 100%;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid #dc2626;
	border-bottom: none;
}
@keyframes fmail_error_bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}
#fmail dd.fmail_error_line input.fmail[type="text"],
#fmail dd.fmail_error_line input.fmail[type="email"],
#fmail dd.fmail_error_line input.fmail[type="tel"] {
	border-bottom-color: #dc2626;
}
#fmail dd.fmail_error_line textarea.fmail {
	border-color: #dc2626;
}

@media screen and (max-width: 768px) {
	#fmail input.fmail[type="text"],
	#fmail input.fmail[type="email"],
	#fmail input.fmail[type="tel"] {
		width: 100% !important;
		background: transparent !important;
		border: none !important;
		border-bottom: 1px solid #d1d5db !important;
	}
	#fmail .zipcode input.fmail {
		width: auto !important;
	}
	#fmail textarea.fmail {
		width: 100% !important;
	}
}

/* 420px以下：住所反映ボタンは右端に固定、郵便番号入力欄は残り幅いっぱいに広がる
   (min-width:0 により、はみ出す(横スクロール)場合は入力欄側が縮む) */
@media screen and (max-width: 420px) {
	#fmail .zipcode input.fmail {
		width: auto !important;
		min-width: 0 !important;
		flex: 1 1 auto !important;
	}
	form#fmail input.postcode {
		flex: 0 0 auto !important;
		margin-left: auto !important;
	}
}

/* 確認画面：送信完了(?mode=thanks)画面 */
div#fmail_thankspage {
	max-width: 800px;
	margin: 0 auto;
	padding: 3rem 0 1rem 0;
	border-top: 4px solid #111111;
	text-align: center;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.9;
	color: #111111;
}
#fmail_thankspage .strong {
	display: inline-block;
	margin-top: 1.5rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #6b7280;
}
#fmail_thankspage .caution {
	color: #dc2626;
}
#fmail_thankspage .info {
	color: #111111;
}

/* トップページへ戻るボタン（画像ボタンをやめてテキストボタン化） */
p.site_top {
	text-align: center;
	margin: 2rem 0 0 0;
}
.site_top a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	margin: 0;
	padding: 1.25rem 3rem;
	border: 1px solid #000000;
	background: #000000;
	background-image: none;
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	text-indent: 0;
	text-decoration: none;
	transition: background-color 0.2s ease;
}
.site_top a:hover {
	background: #1f2937;
	background-position: 0 0;
}

@media screen and (max-width: 768px) {
	div#fmail_thankspage {
		padding: 2rem 0 1rem 0;
		font-size: 0.9375rem;
	}
	.site_top a {
		width: 100%;
	}
}
