@charset "utf-8";/* -- form#mail_form, dl, dt, dd -------------------------------------------------------------------------------- */form#mail_form * {	margin: 0;	padding: 0;	box-sizing: content-box;}form#mail_form {	width: 1000px;	margin: 50px auto;	background: #ffffff;	border: 1px solid #cccccc;	border-radius: 7px;	box-shadow: 0 0 7px rgba( 0, 0, 0, 0.2 );	line-height: 1.8;}form#mail_form dl {	width: 90%;	margin: 0 auto;	border-bottom: 1px solid #cccccc;}form#mail_form dl:after,form#mail_form dl dt:after {	content: ".";	display: block;	height: 0;	clear: both;	visibility: hidden;}form#mail_form dl dt {	width: 30%;	float: left;	padding: 35px 0 25px;	text-align: right;}form#mail_form dl dd {	width: 65%;	float: right;	padding: 30px 0 25px 5%;}form#mail_form dl dt i {	float: left;	position: relative;	top: -2px;}/* -- span.required, span.optional -------------------------------------------------------------------------------- */form#mail_form dl dt span.required,form#mail_form dl dt span.optional {	display: inline-block;	font-size: 85%;	color: #ffffff;	padding: 4px 10px;	border-radius: 3px;}form#mail_form dl dt span.required {	background: #d9534f;	border: 1px solid #d43f3a;}form#mail_form dl dt span.optional {	background: #337ab7;	border: 1px solid #2e6da4;}/* -- error message -------------------------------------------------------------------------------- */form#mail_form dl dd span.error_blank,form#mail_form dl dd span.error_format,form#mail_form dl dd span.error_match {	display: block;	color: #ff0000;	margin-top: 5px;}/* -- loading -------------------------------------------------------------------------------- */div.loading-layer {	width: 100vw;	height: 100vh;	background: rgba( 0, 0, 0, 0.7 );	position: fixed;	left: 0px;	top: 0px;	z-index: 10000;}span.loading {	width: 50px;	height: 50px;	border-radius: 50%;	border-top: 5px solid rgba( 255, 255, 255, 0.2 );	border-right: 5px solid rgba( 255, 255, 255, 0.2 );	border-bottom: 5px solid rgba( 255, 255, 255, 0.2 );	border-left: 5px solid #ffffff;	-webkit-transform: translateZ( 0 );	-ms-transform: translateZ( 0 );	transform: translateZ( 0 );	-webkit-animation: load-circle 1.0s linear infinite;	animation: load-circle 1.0s linear infinite;	position: absolute;	top: 50%;	left: 50%;	margin-top: -30px;	margin-left: -30px;}@-webkit-keyframes load-circle {	0% {		-webkit-transform: rotate( 0deg );		transform: rotate( 0deg );	}	100% {		-webkit-transform: rotate( 360deg );		transform: rotate( 360deg );	}}@keyframes load-circle {	0% {		-webkit-transform: rotate( 0deg );		transform: rotate( 0deg );	}	100% {		-webkit-transform: rotate( 360deg );		transform: rotate( 360deg );	}}/* -- input, select, textarea -------------------------------------------------------------------------------- */form#mail_form input[type="text"],form#mail_form input[type="email"],form#mail_form input[type="tel"] {	width: calc( 100% - 4% - 2px );	padding: 7px 2%;	border: 1px solid #cccccc;	border-radius: 3px;	background: #fafafa;	-webkit-appearance: none;	font-size: 16px;	font-family: inherit;	line-height: normal;}form#mail_form input[type="text"]:focus,form#mail_form input[type="email"]:focus,form#mail_form input[type="tel"]:focus,form#mail_form select:focus,form#mail_form textarea:focus {	box-shadow: 0px 0px 5px #55ccff;	border: 1px solid #55ccff;	background: #ffffff;}form#mail_form ul li input[type="radio"],form#mail_form ul li input[type="checkbox"] {	margin: 0 10px 0 0;}form#mail_form select {	padding: 7px 2%;	border: 1px solid #cccccc;	border-radius: 3px;	background: #f0f0f0;	font-size: 16px;	font-family: inherit;	line-height: normal;	color: inherit;}form#mail_form select:hover {	cursor: pointer;}form#mail_form textarea {	display: block;	width: calc( 100% - 4% - 2px );	height: 200px;	padding: 7px 2%;	resize: vertical;	border: 1px solid #cccccc;	border-radius: 3px;	background: #fafafa;	-webkit-appearance: none;	font-size: 16px;	font-family: inherit;	line-height: normal;}/* -- ul, li -------------------------------------------------------------------------------- */form#mail_form ul {	list-style-type: none;}form#mail_form ul li label {	display: block;	margin-top: 10px;	padding: 7px 2%;	border: 1px solid #cccccc;	border-radius: 3px;	background: #f0f0f0;	font-size: 16px;	font-family: inherit;	line-height: normal;}form#mail_form ul li:first-child label {	margin-top: 0px;}form#mail_form ul li label:hover {	cursor: pointer;}/* -- input design ( advanced ) -------------------------------------------------------------------------------- */form#mail_form input[name="company"] {	width: 70%;}form#mail_form input[name="name_1"],form#mail_form input[name="name_2"],form#mail_form input[name="read_1"],form#mail_form input[name="read_2"],form#mail_form input[name="postal"],form#mail_form input[name="phone"],form#mail_form input[name="schedule"] {	width: 30%;}form#mail_form input[name="name_2"],form#mail_form input[name="read_2"] {	margin: 0 0 0 10px;}form#mail_form input[name="mail_address"],form#mail_form input[name="mail_address_confirm"] {	width: 80%;}form#mail_form a.postal_search_button {	display: inline-block;	margin: 0 0 0 10px;	padding: 7px 20px;	border: 1px solid #46b8da;	border-radius: 3px;	background: #5bc0de;	font-size: 16px;	line-height: normal;	color: #ffffff;	text-decoration: none;}form#mail_form a.postal_search_button:hover {	cursor: pointer;	background: #31b0d5;	border: 1px solid #269abc;}/* -- button -------------------------------------------------------------------------------- */form#mail_form p#form_submit {	width: 90%;	margin: 0 auto;	padding: 30px 0;}form#mail_form input[type="button"] {	padding: 7px 20px;	border: 1px solid #4cae4c;	border-radius: 3px;	background: #5cb85c;	font-size: 16px;	line-height: normal;	color: #ffffff;	font-family: inherit;	-webkit-appearance: none;}form#mail_form input[type="button"]:hover {	cursor: pointer;	background: #449d44;	border: 1px solid #398439;}form#mail_form input[type="button"] {	margin-left: 35%;}form#mail_form input[type="button"]:disabled {	background: #999999;	border: 1px solid #999999;}form#mail_form input[type="button"]:disabled:hover {	cursor: not-allowed;}/* -- responsive ( SmartPhone or Tablet ) ----------------------------------------------------------------------------------------------------------------------- *//* 1000pixel start */@media screen and ( max-width: 1000px ) {/* -- form#mail_form, dl, dt, dd -------------------------------------------------------------------------------- */form#mail_form {	width: 95%;	font-size: 100%;}form#mail_form dl dt {	width: auto;	float: none;	padding: 25px 0 10px;	text-align: left;	font-weight: bold;}form#mail_form dl dd {	width: auto;	float: none;	padding: 0px 0 20px 0px;}form#mail_form dl dt i {	float: none;	position: static;	font-weight: normal;}/* -- span.required, span.optional -------------------------------------------------------------------------------- */form#mail_form dl dt span.required,form#mail_form dl dt span.optional {	margin: 0 15px 0 0;}/* -- input design ( advanced ) -------------------------------------------------------------------------------- */form#mail_form input[name="phone"],form#mail_form input[name="schedule"] {	width: 60%;}/* -- button -------------------------------------------------------------------------------- */form#mail_form p#form_submit {	padding: 25px 0;}form#mail_form input[type="button"] {	margin-left: 0;}}/* 1000pixel end *//* option buttons horizontal */form#mail_form ul.horizontal{  display: flex;  flex-wrap: wrap;  gap: 12px;}form#mail_form ul.horizontal li{  flex: 1 1 200px; /* 画面幅に応じて折り返し */}form#mail_form ul.horizontal li label{  margin-top: 0; /* 縦並び用の余白を無効化 */}/* スマホは縦積みに戻す（好みで） */@media screen and ( max-width: 1000px ) {  form#mail_form ul.horizontal{ display:block; }}/* -- form actions (submit + cancel) -------------------------------------------------------------------------------- */form#mail_form p#form_submit.form_actions{	display: flex;	justify-content: center;	align-items: center;	gap: 20px;}/* 既存の margin-left:35% を打ち消す */form#mail_form p#form_submit.form_actions input[type="button"]{	margin-left: 0;}/* cancel button */form#mail_form input.cancel_button{	background: #999999;	border: 1px solid #888888;}form#mail_form input.cancel_button:hover{	background: #777777;	border: 1px solid #666666;}/* スマホ：チェック/ラジオを縦並びにした時の行間（余白）を追加 */@media screen and (max-width: 1000px) {  form#mail_form ul.horizontal {     display: block;   }  /* ここがポイント：1項目ごとに下余白 */  form#mail_form ul.horizontal li {    margin: 0 0 12px 0;   /* ←数値は好みで調整（例：10〜16px） */  }  form#mail_form ul.horizontal li:last-child {    margin-bottom: 0;  }  /* ついでにタップしやすくしたい場合（任意） */  form#mail_form ul.horizontal li label {    padding: 14px 12px;  }}/* 生年月日：はみ出し対策（gridで確実に収める） */.birthday_select_wrap{  display: grid;  grid-template-columns: 1fr auto .75fr auto .75fr auto; /* 年 / 年文字 / 月 / 月文字 / 日 / 日文字 */  align-items: center;  column-gap: 6px;  row-gap: 6px;}/* gridで縮むために重要 */.birthday_select_wrap select{  width: 100%;  min-width: 0;          /* これがないと縮まない端末があります */  box-sizing: border-box;}/* 「年/月/日」側 */.birthday_select_wrap .birthday_unit{  white-space: nowrap;  margin: 0;}/* 端末が小さい時はさらにコンパクトに */@media screen and (max-width: 480px){  .birthday_select_wrap{    column-gap: 4px;  }  .birthday_select_wrap select{    font-size: 14px;    padding: 6px 8px;  }}/* かなり小さい端末は2行に逃がす（確実に崩れない） */@media screen and (max-width: 360px){  .birthday_select_wrap{    grid-template-columns: 1fr auto 1fr auto; /* 年 / 年文字 / 月 / 月文字 を1行目 */  }  /* 日だけ2行目へ */  .birthday_select_wrap #birthday_day{ grid-column: 1 / 2; grid-row: 2; }  .birthday_select_wrap .unit-day{     grid-column: 2 / 3; grid-row: 2; }}/* 生年月日：ネイティブ矢印を消して、select内に矢印を描画 */.birthday_select_wrap select{  -webkit-appearance: none;  -moz-appearance: none;  appearance: none;  /* 右側に矢印分の余白を確保 */  padding-right: 34px;  /* カスタム矢印（上下）を右端に表示 */  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='16' viewBox='0 0 12 16'%3E%3Cpath d='M6 0L10 4H2L6 0z' fill='%23888888'/%3E%3Cpath d='M6 16l-4-4h8l-4 4z' fill='%23888888'/%3E%3C/svg%3E");  background-repeat: no-repeat;  background-position: right 10px center;  background-size: 12px 16px;}/* IE/古いEdgeの▼を消す */.birthday_select_wrap select::-ms-expand{  display:none;}/* 「年/月/日」側の余白（被り対策） */.birthday_select_wrap .birthday_unit{  margin-left: 6px;     /* 必要なら 8px などに */  white-space: nowrap;}