/* form_PC ここから */
/* ページ全体 */
header {
	border-top: 3px solid #58ACFA;
	text-align: left;
	padding: 10px 20px;
}
input::placeholder,
textarea::placeholder {
	color: #ccc;
	font-size: .8rem;
}
input::-webkit-input-placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}
/* 確認ページ用の追記 */
.attention_box {
	display: block;
	width: 100%;
	max-width: 1000px;
	background: #fff;
	border: 2px solid #333333;
	box-sizing: border-box;
	color: #333333;
	font-size: 100%;
	font-weight: bold;
	text-align: left;
	padding: 15px 15px 15px 15px;
	margin: 20px auto 0 auto;
}
/* 同意系ボックス */
.privacy_wrapper {
	width: 100%;
	height: 150px;
	border: 1px solid #ccc;
	padding: 10px;
	font-size: 14px;
	font-weight: normal;
	margin: 0px auto 10px auto;
	padding: 10px;
	overflow-y: scroll;
}
.doui_sel {
	width: 100%;
	background: #c6ebfb;
	border-radius: 4px;
	padding: 10px 10px !important;
}
@media screen and (max-width:639px) {
	.doui_sel {
		width: 100%;
		background: #c6ebfb;
		border-radius: 0px;
		padding: 0px !important;
	}
}
/* 見出し ※色変え対象 */
#SMP_STYLE h1 {
	color: #000000;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 140%;
	text-align: left;
	margin: 0px 0px 50px 0px;
	padding: 20px 10px 20px 15px;
}
.h1_blue{
	background: #58ACFA;
	background: linear-gradient(to bottom, #C2EEFF, #75A9FF);
    border-bottom: 1px solid #005FFF;
}

.h1_yellow{
	background: #58ACFA;
	background: linear-gradient(to bottom, #FFFFE0, #FFF271);
    border-bottom: 1px solid #FFCF21;
}
.h1_green{
	background: #58ACFA;
	background: linear-gradient(to bottom, #EFFFEF, #00B804);
    border-bottom: 1px solid #006428;
}


#SMP_STYLE h2 {
	position: relative;
	width: 100%;
	border-bottom: 2px solid #c6ebfb;
	color: #001248;
	font-size: 20px;
	font-weight: bold;
	text-align: left;
	margin: 30px auto 20px auto;
	padding: 0px 5px 10px 5px;
}

#SMP_STYLE .h2_yellow {
	border-bottom: 2px solid #FFF271;
}

#SMP_STYLE h2::after {
	position: absolute;
	bottom: -2px;
	left: 0;
	z-index: 2;
	content: '';
	width: 20%;
	height: 2px;
	background-color: #58ACFA;
}

#SMP_STYLE .h2_yellow::after {
	background-color: #FFCF21;
}
#SMP_STYLE h3 {
	width: 100%;
	/* border-left: 6px solid #58ACFA; */
	/* color: #001248; */
	/* font-size: 18px; */
	font-size: x-large;
    color: rgb(0, 0, 255);
	font-weight: bold;
	text-align: left;
	margin: 20px auto 10px auto;
	padding: 7px 5px 7px 0;
}
/* 外枠 */
#SMP_STYLE .body_tbl {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
/* 見出し画像 ※変更なし */
#SMP_STYLE .header_img_smartphone { display: none; }
#SMP_STYLE .header_img_tablet { display: none; }
#SMP_STYLE .header_img_pc { display: block; }
/* 見出しの補足説明 */
#SMP_STYLE .header_text {
	width: 90%;
	max-width: 1000px;
	color: #333333;
	font-weight: normal;
	text-align: left;
	margin: 20px auto 0 auto;
	padding: 0;
}
/* 入力時の説明 */
#SMP_STYLE .header_rmesg {
	width: 90%;
	max-width: 1000px;
	color: #333333;
	font-weight: normal;
	text-align: left;
	margin: 20px auto 0 auto;
	padding: 0;
}
/* 入力エラー時の説明 */
#SMP_STYLE .header_emesg {
	width: 90%;
	max-width: 1000px;
	background: #fff;
	border: 2px solid #dd0000;
	color: #dd0000;
	font-weight: bold;
	text-align: left;
	margin: 20px auto 0 auto;
	padding: 10px 20px 10px 20px;
}
/* 入力項目 */
#SMP_STYLE .smp_tmpl {
	width: 95%;
	max-width: 1000px;
	text-align: left;
	margin: 15px auto 0px auto;
	padding: 20px 5px 30px 5px;
}
/* フォーム行 */
#SMP_STYLE dl {
	position: relative;
	width: 100%;
	border-bottom: 1px dotted #ccc;
	margin: 0;
	padding: 5px 0 5px 0;
	white-space: nowrap;

	&.bottom {
		border-bottom: 0;
	}
	&.before-after {
		padding: 0;
		
		dt {
			padding: 0;
		}
		dd {
			padding: 0;
			color: #001248;
            font-weight: bold;
            font-size: 1.2rem;
		}
	}
}
/* #SMP_STYLE dl:first-child {
	border-top: 1px dotted #ccc;
} */
#SMP_STYLE dl.top {
	border-top: 1px dotted #ccc;
}
/* ソース編集時に使用 */
#SMP_STYLE dl.last {
	border-bottom: 0;
}
/* 項目名 */
#SMP_STYLE dt.title {
	display: inline-block;
	width: 33%;
	color: #333;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 140%;
	text-align: left;
	margin: 0;
	padding: 18px 15px 18px 10px;
	vertical-align: top;
	white-space:normal;
}
/* 注意事項 */
#SMP_STYLE dt.title .caution {
	display: block;
	width: 95%;
	color: #333;
	font-size: 87.5%;
	font-weight: normal;
	line-height: 130%;
	text-align:left;
	padding: 10px 0 0 0;
}
#SMP_STYLE td.title {
	display: inline-block;
	width: 100%;
	color: #333;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 140%;
	text-align: left;
	margin: 0;
	padding: 18px 15px 18px 10px;
	vertical-align: top;
	white-space:normal;
}
/* 注意事項 */
#SMP_STYLE td.title .caution {
	display: block;
	width: 95%;
	color: #333;
	font-size: 87.5%;
	font-weight: normal;
	line-height: 130%;
	text-align:left;
	padding: 10px 0 0 0;
}
.materialsTable{
	width: 100%;
	border-bottom: 1px dotted #ccc;
}
/* 項目入力部 */
#SMP_STYLE dd.data {
	display: inline-block;
	width: 67%;
	color: #333;
	font-weight: normal;
	text-align: left;
	margin: 0;
	padding: 18px 0;
	white-space: normal;

	.data-inner-wrapper {
        display: flex;
		gap: 10px;

        &.row {
            flex-flow: column;
        }

        @media screen and (max-width: 639px) {
            flex-flow: column;
        }

        .cols {
            flex: 1;
			white-space: normal;
        }
    }
}
/* inputタグ */
input[type="text"],
input[type="password"],
input[type="email"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    border: none;
    border-radius: 0px;
    outline: 0px;
    padding: 0px; /* reset end */
}
#SMP_STYLE .input {
	width: 90%;
	border: 1px solid #cccccc;
	border-radius: 3px 3px 3px 3px;
	box-sizing: border-box;
	color: #333;
	font-size: 108%;
	text-align: left;
	margin: 0px 5px 10px 5px;
	padding: 10px;
}
/* 入力欄を２つ並べる場合 */
.input_line ul li {
	box-sizing: border-box;
	width: 45%;
	display: inline-block;
	box-sizing: border-box;
	vertical-align: top;
}
.input_line ul li input {
	width: calc(90% - 35px) !important;
}
#SMP_STYLE .input_name {
	width: 48%;
}
/* フィールドごとのデザイン */
#SMP_STYLE .zipcode li.code01 input {
	width: 60px;
}
#SMP_STYLE .zipcode li.code02 input {
	width: 70px;
}
#SMP_STYLE .phone li.num01 input {
	width: 70px;
}
#SMP_STYLE .phone li.num02 input {
	width: 70px;
}
#SMP_STYLE .phone li.num03 input {
	width: 70px;
}
#SMP_STYLE .price input {
	width: 200px;
}
#SMP_STYLE .num input {
	width: 120px;
}
#SMP_STYLE .integer input {
	width: 170px;
}
#SMP_STYLE .real input {
	width: 170px;
}
#SMP_STYLE .pass input {
	width: 180px;
}
#SMP_STYLE .epass input {
	width: 160px;
}
#SMP_STYLE .time input {
	width: 50px;
}
#SMP_STYLE .time .year {
	width: 70px;
}
#SMP_STYLE ul,#SMP_STYLE li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#SMP_STYLE .zipcode ul li,
#SMP_STYLE .phone ul li,
#SMP_STYLE .time ul li {
	float: left;
	width: auto;
	margin: 0 3px 0 0;
	padding: 0;
}
#SMP_STYLE .multi1 ul,
#SMP_STYLE .multi2 ul {
	margin-bottom: 10px;
}
#SMP_STYLE .multi1 label {
	display: block;
	float: left;
	min-width: 135px;
	text-align: left;
	margin: 0 0 7px 0;
	padding: 0 10px;
}
#SMP_STYLE .multi1 label input {
	display: block;
	float: left;
	width: 1em;
	height: 1em;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
	border-radius: 0 0 0 0;
	margin: 0.2em 0 0 0;
	padding: 0;
	overflow: hidden;
}
#SMP_STYLE .multi1 label span {
	display: block;
	font-weight: normal;
	margin: 0 0 0 30px;
}
#SMP_STYLE .multi2 li {
	display: inline;
	float: left;
	min-width: 135px;
	text-align: left;
	margin: 0;
	padding: 0 5px 2px 10px;
	clear: both;
}
#SMP_STYLE .multi2 label input {
	display: block;
	float: left;
	width: 1em;
	height: 1em;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
	border-radius: 0 0 0 0;
	margin: 0.2em 0 0 0;
	padding: 0;
	overflow: hidden;
}
#SMP_STYLE .multi2 label span {
	display: block;
	font-weight: normal;
	margin: 0 0 0 30px;
}
#SMP_STYLE .multi2 .radio input {
	border-radius: 1em;
}
#SMP_STYLE .multi1 .radio input {
	border-radius: 1em;
}
#SMP_STYLE .multi1 ul.radio + br,
#SMP_STYLE .multi2 ul.radio + br {
	display: none;
}
#SMP_STYLE select {
	appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    border: none;
    border-radius: 0px;
    outline: 0px;
    padding: 0px; /* reset end */
	width: 90%;
	max-width: 500px;
	height: 46px;
	font-size: 1rem;
	margin-bottom: 8px;
	padding-left: 10px;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 3px;
}
#SMP_STYLE textarea {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: none;
	border: none;
	border-radius: 0px;
	outline: 0px;
	padding: 0px; /* reset end */
	width: 90%;
	border: 1px solid #cccccc;
	border-radius: 3px 3px 3px 3px;
	box-sizing: border-box;
	color: #333;
	font-size: 100%;
	text-align: left;
	margin: 0px 5px 10px 5px;
	padding: 10px;
}
#SMP_STYLE .image input {
	width: auto;
	margin-bottom: 10px;
}
#SMP_STYLE .file input {
	width: auto;
	margin-bottom: 10px;
}
#SMP_STYLE input.clear {
	width: 55px;
	text-align: center;
}
/* 送信ボタン */
#SMP_STYLE input.submit {
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-box-sizing: border-box;
	-webkit-appearance: button;
	appearance: none;
	/* reset end */
	width: 90%;
	max-width: 300px;
	min-height:  60px;
	border: hidden;
	background: #58ACFA;
	border-bottom: 3px solid #3084d2;
	border-radius: 4px;
	color: #fff;
	font-size: 1.125rem;
	-webkit-font-smoothing: antialiased;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	margin: 0px 5px 30px 5px;
	cursor: pointer;

	&:disabled {
		background-color: #777777 !important;
		cursor: not-allowed !important;
		border-bottom: none !important;
	}
}
#SMP_STYLE input.submit:hover {
	filter: alpha(opacity=90);
	-ms-filter: alpha(opacity=90);
	opacity: 0.9;

	&:disabled {
		opacity: 1 !important;
	}
}
#SMP_STYLE input.image {
	width: auto;
	border: none;
	margin: 40px 0 40px 0;
	padding: 0;
	vertical-align: middle;
}
/* 確認ページの戻るボタン */
#SMP_STYLE input[name="SMPFORM_BACK"] {
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-box-sizing: border-box;
	-webkit-appearance: button;
	appearance: none;
	/* reset end */
	width: 98%;
	max-width: 300px;
	min-height:  60px;
	border: hidden;
	background: #58ACFA;
	border-bottom: 3px solid #3084d2;
	border-radius: 4px;
	color: #fff;
	font-size: 1.125rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	margin: 0px 5px 30px 5px;
	cursor: pointer;
}
#SMP_STYLE input[name="SMPFORM_BACK"]:hover {
	filter: alpha(opacity=90);
	-ms-filter: alpha(opacity=90);
	opacity: 0.9;
}
/* 例文 */
#SMP_STYLE .sample {
	display: inline-block;
	color: #666;
	font-size: 87.5%;
	font-weight: normal;
	text-align: left;
	line-height: 140%;
	margin-bottom: 5px;
}
/* 接頭語・接尾後 */
#SMP_STYLE .suffix {
	height: 40px;
	color: #333333;
	font-weight: normal;
	text-align: left;
	line-height: 40px;
}
/* 入力必須文字 */
#SMP_STYLE .need {
	display: inline-block;
    font-weight: normal;
    background: #dd0000;
    color: #ffffff;
    font-size: 12px;
    padding: 0 5px;
    margin-left: 6px;
    vertical-align: top;
    border-radius: 3px;
}
/* エラーメッセージ(入力チェック時) */
#SMP_STYLE .msg {
	display: block;
	color: #dd0000;
	font-size: 14px;
	font-weight: bold;
	line-height: 140%;
	text-align: left;
	margin: 0px 0px 5px 0px;
}
/* エラーメッセージ　(サンキュー・締め切り・システムエラー) */
#SMP_STYLE .sub_text {
	width: 95%;
	max-width: 1000px;
	color: #333333;
	font-weight: normal;
	text-align: center;
	padding: 0px;
	margin: 0px auto 40px auto;
}
/* 入力エラー時のボックス背景色 */
#SMP_STYLE .error {
	background: #FFE4E4;
}
/* スパイラルシール */
.spiralSeal {
	display: block;
    width: 90%;
    max-width: 1000px;
    overflow: hidden;
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 30px;
    border-radius: 3px;
	text-align: left;
}
.spiralSeal_wrapper table {
	display: block;
    width: 90%;
    max-width: 1000px;
    overflow: hidden;
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 30px;
    border-radius: 3px;
}
.spiralSeal_wrapper tr td:first-child {
	display: table-cell;
	line-height: 140%;
	text-align: left;
	padding: 10px !important;
	overflow: auto;
}
.spiralSeal_wrapper tr td {
	display: table-cell;
	text-align: center;
	padding: 10px !important;
	overflow: auto;
}
.description {
	width: 100%;
}
/* フッタ */
#SMP_STYLE .footer_text {
	width: 90%;
	max-width: 1000px;
	font-weight: normal;
	text-align: left;
	margin: 0 auto 30px auto;
	font-size: 12px;
}
/* clearfix */
#SMP_STYLE .cf:before, #SMP_STYLE .cf:after {content:"";display:table;}
#SMP_STYLE .cf:after {clear:both;}
#SMP_STYLE .cf {*zoom:1;}
/* 回り込み解除 */
.cl { clear: both; }
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

#SMP_STYLE .sp-br{
	display: none;
}

#SMP_STYLE .onmedication,.cancel{
	display: none;
}

#SMP_STYLE .titletxt{
	font-weight: bold;
	font-size: 19px;
}

#SMP_STYLE input[type="text"]:read-only{
	background-color: #e9e9e9;
}
.nameInput{
	width:45% !important;
}

.clearfix { display: inline-block; }
/* clearfixのIE-mac対策 */
* html .clearfix { height: 1%; }
.clearfix { display: block; }

.instruction-wrapper {
	padding: 10px 15px;
	&.narrow {
		padding: 10px 5px;
	}
	@media screen and (max-width: 639px) {
		padding: 5px;
	}
}
/* form_PC ここまで */
