/* header
------------------------------------------------------------*/
.header {
	width: 100%;
	height: auto;
}

.header__logo a {
	box-sizing: border-box;
	display: inline-block;
	width: 100%;
}

.header__logo img {
	object-fit: cover;
	aspect-ratio: auto;
}

/* 全体
------------------------------------------------------------*/
#wrapper {
	width: 100%;
}

#form {
	width: 100%;
}

/* 見出し
------------------------------------------------------------*/
#form h3 {
	border-bottom: 4px solid #4f8bc2;
	width: 100%;
	height: 66px;
	display: block;
	text-indent: -9999px;
}
#contact #form h3 {
	background: #fff url("../images/h3_contact.png") center center no-repeat;
}
#feedback #form h3 {
	background: #fff url("../images/h3_feedback.png") center center no-repeat;
}
#quiz01 #form h3,
#quiz02 #form h3 {
	background: #fff url("../images/h3_quiz.png") center center no-repeat;
	position: relative;
}

/* ピースター配置 */
#quiz01 #form h3::before,
#quiz02 #form h3::before {
	content: "";
	position: absolute;
	top: 5px;
	right: calc(50% - 410px);
	z-index: 100;
	pointer-events: none;
}
#quiz01 #form h3::before {
	background: url("../images/h3_quiz01_p_star.png") no-repeat center center / 70% auto;
	width: 235px;
	height: 249px;
}
#quiz02 #form h3::before {
	background: url("../images/h3_quiz02_p_star.png") no-repeat center center / 70% auto;
	width: 269px;
	height: 244px;
}

/* 応募フォーム見出し */
#quiz01 #form h3::after,
#quiz02 #form h3::after {
	content: "";
	background: #09425E url("../images/h3_quiz_form.png") center center no-repeat;
	width: 100%;
	height: 100px;
	display: block;
	position: absolute;
	top: 66px;
}

/* 「ありがとうございました。」
------------------------------------------------------------*/
#form #form_ok {
	width: 480px;
	height: 244px;
	padding-top: 230px;
	background: url("../images/yoso_non.png") no-repeat center center;
    margin: 60px auto;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
	line-height: 36px;
    font-weight: 700;
    text-align: center;
    color: #000;
}
#quiz01 #form #form_ok,
#quiz02 #form #form_ok {
	background: none;
	padding-top: 175px;
}

/* リード文
------------------------------------------------------------*/
#form .read{
	color: #000;
	width: 100%;
	margin: 30px auto;
	text-align: center;
}

#form .read a {
	color: #2F8ADC;
	font-weight: 600;
	text-decoration: underline;
	margin-left: 4px;
	margin-right: 4px;
}

/* wrap
------------------------------------------------------------*/
.form_wrap{
	width: 750px;
	margin: 0 auto;
}

/* 注意事項テキスト
------------------------------------------------------------*/
#attention {
	color: #000;
    font-size: 14px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 24px;
    line-height: 21px;
}
#quiz01 #attention,
#quiz02 #attention {
	margin-top: 132px;
}

#attention li {
	font-family: 'Noto Sans JP', sans-serif;
	text-indent: -1em;
	margin-left: 1em;
}
#feedback #attention li {
	text-indent: 0em;
	margin-left: 0em;
}

#attention li a {
	color: #2F8ADC;
	font-weight: 600;
	text-decoration: underline;
	margin-left: 4px;
	margin-right: 4px;
}

/* フォームスタイル
------------------------------------------------------------*/
.box {
	width: 100%;
}

.box li {
	display: flex;
}

.box .item,
.box .ans {
	height: auto;
	min-height: 83px;
	margin-bottom: 2px;
	display: flex;
	align-items: center;
}

/* 個別スタイル */
#contact .box ul:last-child .item,
#contact .box ul:last-child .ans {
	height: 165px;
}
#contact .check .box ul:last-child .item,
#contact .check .box ul:last-child .ans {
	height: auto;
}
#feedback .box ul:first-child .item,
#feedback .box ul:first-child .ans {
	height: 165px;
}

/* 項目欄 */
.box .item {
	background: #39A1DD;
	color: #fff;
	font-size: 16px;
	width: 330px;
	padding: 20px;
}
#quiz01 .box .item,
#quiz02 .box .item {
	background: #666;
}
#quiz01 .box ul:first-child .item,
#quiz02 .box ul:first-child .item {
	background: #39A1DD;
	font-weight: 700;
}

/* 回答欄 */
.box .ans {
	width: 95%;
	background: #fff;
	color: #000;
	padding: 20px;
	line-height: 1.6em;
}

/* inputスタイル */
form input[type="text"],
form input[type="email"],
form input[type="tel"] {
	background-color: #f5f5f5;
	border: 1px #CCC solid;
	border-radius: 4px;
	width: 100%;
	padding: 8px;
	font-size: 16px;
    text-indent: 4px;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}

/* 個別スタイル */
form .box_racer {
	font-weight: 700;
}
form .box_name {
	width: 35% !important;
}
form .box_zip, .box_tel {
	width: 20% !important;
}

/* 氏名・郵便番号・電話番号 padding */
form .box_name, .box_zip, .box_tel {
	margin: 0px 8px;
}
form .box_name:first-child {
	margin-right: 16px;
}
form .box_tel:first-child {
	margin-left: 0px;
}
form .box_tel:last-child {
	margin-right: 0px;
}

/* セレクトボックス */
form .box_select {
	background-color: #f5f5f5;
	border: 1px #CCC solid;
	border-radius: 4px;
	width: 60% !important;
	padding: 8px;
	font-size: 16px;
    text-indent: 4px;
}

/* ラジオボタン */
form label {
	width: 20%;
}
form label input[type="radio"] {
	opacity: 0;
	appearance: none;
	position: absolute;
}
form label .text {
	padding-left: 32px;
	display: block;
	position: relative;
}
form label .text::before,
form label .text::after {
	content: "";
	position: absolute;
}
form label .text::before {
	content: "";
	background-color: #f5f5f5;
	border: 1px #CCC solid;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	top: 1px;
	left: 0;
	cursor: pointer;
}
form label .text::after {
	content: "";
	border-left: 3px solid #000;
	border-bottom: 3px solid #000;
	width: 12px;
	height: 6px;
	top: 8px;
	left: 6px;
	transform: rotate(-45deg);
	opacity: 0;
}
form label input:checked + span::after {
	opacity: 1;
}

/* テキストエリア */
form textarea {
	background-color: #f5f5f5;
	font-family: 'Noto Sans JP', sans-serif;
	border: 1px #CCC solid;
	border-radius: 4px;
	width: 100%;
	padding: 8px;
	font-size: 14px;
	line-height: 150%;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}

/* フォーカス */
form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="tel"]:focus,
form textarea:focus {
	background: #E7F5FB;
	border: 1px solid #0A96DC;
}

/* ボタン
------------------------------------------------------------*/
#area_bt {
    width: 750px;
    overflow: hidden;
    margin: 20px auto;
    padding: 10px 95px;
	clear: both;
}

#area_bt .bt_check input[type="submit"],
#area_bt .bt_apply input[type="submit"],
#area_bt .bt_return [type="button"] {
	background-color: #DE5656;
	color: #fff;
	font-weight: bold;
	border: none;
	border-radius: 25px;
	box-shadow: 0px 2px 2px #CCCCCC;
	-webkit-box-shadow: 0px 2px 2px #CCCCCC;
	width: 240px;
	height: 48px;
	padding-top: 2px;
	margin: 0 auto;
	margin-bottom: 56px;
	display: block;
	font-size: 20px;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

/* 確認画面へ・送信ボタン */
#area_bt .bt_check input[type="submit"],
#area_bt .bt_apply input[type="submit"] {
	background-color: #DE5656;
	color: #fff;
	float: right;
}
#area_bt .bt_check input[type="submit"]:hover,
#area_bt .bt_apply input[type="submit"]:hover {
	background-color: #000;
	color: #fff;
	box-shadow: 0px 1px 1px #CCCCCC;
	-webkit-box-shadow: 0px 1px 1px #CCCCCC;
}
#area_bt .bt_check.center input[type="submit"] {
	/* ボタンが1つの時はセンターに */
    float: none;
}

/* 修正ボタン */
#area_bt .bt_return [type="button"] {
	background-color: #CCC;
	color: #333;
	float: left;
}
#area_bt .bt_return [type="button"]:hover {
	background-color: #BBB;
}

/* 記入エラー
------------------------------------------------------------*/
.error {
	/*	display: none;*/ /*システム渡し時にはエラーが表示されている状態に*/
	background: #00A499;
	color: #fff;
	margin: 0 auto 20px;
	padding: 10px 20px;
	font-size: 16px;
}

.error span {
	color: #ffff00;
}

/* セキュリティーマーク
------------------------------------------------------------*/
#security {
	border-top: 1px dotted #CCCCCC;
	border-bottom: 1px dotted #CCCCCC;
	width: 750px;
	margin: 0 auto;
	margin-bottom: 60px;
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
}

#security p {
	color: #999;
	padding-top: 10px;
	font-size: 13px;
}

/* その他
------------------------------------------------------------*/
/* サービスセンター */
#service {
	color: #000;
	width: 100%;
	margin: 0 auto;
	font-size: 14px;
	text-align: center;
}

#service .support {
	margin-bottom: 0.5em;
}

#service .caption {
	display: flex;
	justify-content: center;
}
#service .caption .service-tel {
	margin-right: 24px;
}

/* ボタンを一度だけ～ */
.recommend {
	color: #000;
	width: 100%;
	margin: 30px auto;
	text-align: center;
}

/* footer
------------------------------------------------------------*/
.footer {
	width: 100%;
}

.copyright {
	background-color: #073A73;
	width: 100%;
	display: block;
	color: #fff;
	text-align: center;
	font-size: 14px;
	line-height: 1.86;
	margin-top: 30px;
}

/* レスポンシブ
------------------------------------------------------------*/
.pc_no {
	display: none;
}

.sp_no {
	display: block;
}


/***********************************************************************
「★タブレット版 CSS★」ブラウザの幅が750px以上1240px以下ならここの記述が有効になる
**********************************************************************/
@media only all and (min-width:851px) and ( max-width:1240px) {

/* header
------------------------------------------------------------*/
.header__logo {
	text-align: center;
}

.header__logo a {
	padding: 9px;
}

}

/* 小さめタブレット */
@media only all and (min-width:751px) and ( max-width:850px) {
/* header
------------------------------------------------------------*/
.header {
	background-color: var(--blue);
}

.header__logo {
	text-align: center;
}

.header__logo a {
	background-image: none;
	padding: 9px;
}

}


/***********************************************************************
「★SP版 CSS★」ブラウザの幅が750px以下ならここの記述が有効になる
**********************************************************************/
@media only all and (max-width: 750px) {

#wrapper{
	width: 100%;
	min-height: auto;
}

/* header
------------------------------------------------------------*/
.header {
	background-color: var(--blue);
	width: 100%;
	height: auto;
	position: relative;
}

.header__logo {
	text-align: center;
}

.header__logo a {
	background-image: none;
	display: inline-block;
	width: 100%;
	padding: 9px;
	max-width: 246px;
}

.header__logo img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: auto;
}

/* 全体
------------------------------------------------------------*/
#form {
	min-height: calc(100vh - 45px - 25px - 30px);
	position: relative;
	background: #E1F1FF;
	padding-bottom: 130px;
}
#quiz01 #form,
#quiz02 #form {
	/* ピースターはみだし防止 */
	overflow: hidden;
}

/* 見出し
------------------------------------------------------------*/
#form h3 {
	height: 46px;
}
#contact #form h3 {
	background: #fff url("../images/h3_contact_sp.png") center center no-repeat;
}
#feedback #form h3 {
	background: #fff url("../images/h3_feedback_sp.png") center center no-repeat;
}
#quiz01 #form h3,
#quiz02 #form h3 {
	background: #fff url("../images/h3_quiz_sp.png") center center no-repeat;
}

/* ピースター配置 */
#quiz01 #form h3::before,
#quiz02 #form h3::before {
	content: "";
	position: absolute;
}
#quiz01 #form h3::before {
	background: url("../images/h3_quiz01_p_star.png") no-repeat center center / 50% auto;
	top: -10px;
	right: calc(50% - 265px);
}
#quiz02 #form h3::before {
	background: url("../images/h3_quiz02_p_star.png") no-repeat center center / 50% auto;
	top: -5px;
	right: calc(50% - 283px);
}

/* 応募フォーム見出し */
#quiz01 #form h3::after,
#quiz02 #form h3::after {
	background: #09425E url("../images/h3_quiz_form_sp.png") center center no-repeat;
	top: 46px;
}

/* 「ありがとうございました。」
------------------------------------------------------------*/
#form #form_ok {
	background: url("../images/yoso_non_sp.png") no-repeat center center;
	width: 400px;
	padding-top: 200px;
	margin: 0px auto 80px;
}
#quiz01 #form #form_ok,
#quiz02 #form #form_ok {
	/* ピースターがいない分の調整 */
	padding-top: 200px;
}

/* リード文
------------------------------------------------------------*/
#form .read{
	width: 90%;
	margin: 20px auto;
	text-align: left;
}

/* wrap
------------------------------------------------------------*/
.form_wrap{
	width: 100%;
}

/* 注意事項テキスト
------------------------------------------------------------*/
#attention {
	font-size: 16px;
	padding: 0 20px;
}
#quiz01 #attention,
#quiz02 #attention {
	margin-top: 124px;
}

#attention li {
	margin-bottom: 10px;
}

/* フォームスタイル
------------------------------------------------------------*/
.box li {
	flex-direction: column;
}

.box .item,
.box .ans {
	min-height: 40px;
	margin-bottom: 0px;
}

/* 個別スタイル */
#contact .box ul:last-child .item {
	height: auto;
}
#feedback .box ul:first-child .item {
	height: auto;
}

/* 項目欄 */
.box .item {
	width: 100%;
	padding: 0 20px;
}

/* 回答欄 */
.box .ans {
	width: 100%;
}

/* ラジオボタン */
form label {
	width: 30%;
}
form label .text {
	top: 3px;
}
form label .text::before {
	top: -2px;
}
form label .text::after {
	top: 5px;
}

/* ボタン
------------------------------------------------------------*/
#area_bt {
	width: 100%;
	padding: 10px 0px;
}

#area_bt .bt_check input[type="submit"],
#area_bt .bt_apply input[type="submit"],
#area_bt .bt_return [type="button"] {
	margin-bottom: 40px;
	float: none;
}

/* セキュリティーマーク
------------------------------------------------------------*/
#security {
	width: calc(100% - 40px);
	margin: auto 20px 60px;
}

/* その他
------------------------------------------------------------*/
/* サービスセンター */
#service .caption {
	flex-direction: column;
}
#service .caption .service-tel {
	margin-right: 0px;
}

/* ボタンを一度だけ～ */
.recommend {
	width: auto;
	margin: 20px;
	text-align: left;
}

/* footer
------------------------------------------------------------*/
.footer{
	width: 100%;
}
.copyright{
	background-color: #073A73;
	display: block;
	color: #fff;
	font-size: 10px;
	line-height: 1.5;
	text-align: center;
	padding: 5px 0;
}

/* レスポンシブ
------------------------------------------------------------*/
.pc_no {
	display: block;
}

.sp_no {
	display: none;
}

}