@charset "utf-8";

#contents{float:right;width:725px;margin-right:0;
background-image:url(../request/img_new/request_back.jpg);
font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.pc_contents_imgmain{
	width: 100%;
}
.pc_contents_imglist{
	width: 85%;
}
#title_req {
	width: 100%;
		text-align:center;position:relative;padding:10px 0 0;
	}
.req_num{position:absolute;top:60px;right:375px}
.req_num img{
	height: 45px;	
}
.pri_num{position:absolute;top:100px;right:375px}
.pri_num img{
	height: 45px;
}

#form-box .form-container{
	width: 88%;
	padding: 20px;
	margin: 20px;
	background-color: #FFF;
}
#form-box .form-container .form-description {
	text-align: center;
	color: #73A4A4;
	margin-bottom: 20px;
}
#form-box .form-container label {
	display: block;
	font-weight: bold;
	font-size: 16px;
	/*color: #73A4A4;*/
	color: #666666;
	text-align: left;
	margin-left: 10%;
	margin-top: 10px;
	margin-bottom: 5px;
}

#form-box .name-group {
	width: 80%; /* 親要素全体に広げる */
	margin-left: 10%;
    display: flex;
    justify-content: space-between;
    gap: 10px; /* フィールド間のスペース */
}

#form-box .name-group .first_name,
#form-box .name-group .second_name {
    width: calc(50% - 10px) !important; /* 50%の幅からgapを引いた値に調整 */
    box-sizing: border-box !important; /* パディングとボーダーを幅に含める */
}

#form-box .form-container input[type="text"], 
#form-box .form-container input[type="email"], 
#form-box .form-container checkbox{
    width: 80%; /* 全体の入力フィールドは幅100% */
    height: 50px;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}
#form-box .form-container textarea{
    width: 80%; /* 全体の入力フィールドは幅100% */
    height: 125px;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}
#form-box .form-container dl dd {
	margin-left: 20px;
}
.form-group-select{
	position: relative;
}
.form-group-select::after{
	content: "";
    position: absolute;
    top: 45px;
    right: 80px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
}
#form-box .form-container select{
    width: 80%; /* 全体の入力フィールドは幅100% */
    height: 50px;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
	-webkit-appearance: none;
    appearance: none;
}


#form-box .form-container .required {
	color: #EF8C7C;
	/*margin-right: 5px;
	background-color: #DA7070;
	color: #FFFFFF;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 12px;
	display: inline-block;*/
}

#form-box .submit-btn {
	background: url('../request/img_new/send_btn.png') no-repeat center center;
	background-size: contain;
	width: 100%;
	height: 50px;
	border: none;
	cursor: pointer;
	font-size: 16px;
	color: white;
	text-align: center;
	line-height: 50px;
}

#form-box .submit-btn:hover {
	opacity: 0.8;
}

#form-box .form-container .privacy-agreement {
	text-align: left;
	font-size: 12px;
	margin-bottom: 20px;
	width:500px;
	height:80px;
	border:#999 solid 1px;
	overflow:auto;
	margin:10px 65px;
	font-style:normal;
}

ul.hopecheck {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  gap: 8px 16px;                         /* 行間・列間 */
}

/* ラベルを横並びに */
ul.hopecheck label.checklist {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 1.5em;
  color: #666666;
}

/* ネイティブのラジオは隠す */
ul.hopecheck li input[type="checkbox"] {
  display: none;
}

/* テキスト部分に余白を確保しつつ、マーカー用の ::before を使う */
ul.hopecheck li span {
  position: relative;
  padding-left: 1.5em;
	font-size: 1.1em;
	color: #666666;
}

/* デフォルト（未選択）は外枠だけ */
ul.hopecheck li span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border: 2px solid #B2B2B2;  /* 枠の色 */
  border-radius: 50%;
  background: transparent;
  box-sizing: border-box;
}

/* 選択時は中を塗りつぶし、白フチを追加 */
ul.hopecheck li input[type="checkbox"]:checked + span::before {
  background: #EF8C7C;        /* 中の色 */
  border-color: #fff;         /* フチを白に */
	box-shadow: 0 0 0 2px #B2B2B2;
}

/* テキスト位置を微調整 */
ul.hopecheck li span {
  line-height: 1;
}



ul.sikakucheck {
	width: 80%;
  list-style: none;
  /*margin: 0;*/
   margin-left: 30px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列 */
  gap: 4px 16px;                         /* 行間・列間 */
}

/* ラベルを横並びに */
ul.sikakucheck li label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 1.5em;
  color: #666666;
}

/* ネイティブのラジオは隠す */
ul.sikakucheck li input[type="checkbox"] {
  display: none;
}

/* テキスト部分に余白を確保しつつ、マーカー用の ::before を使う */
ul.sikakucheck li span {
  position: relative;
  padding-left: 1.5em;
	font-size: 1.1em;
	color: #666666;
}

/* デフォルト（未選択）は外枠だけ */
ul.sikakucheck li span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border: 2px solid #B2B2B2;  /* 枠の色 */
  border-radius: 50%;
  background: transparent;
  box-sizing: border-box;
}

/* 選択時は中を塗りつぶし、白フチを追加 */
ul.sikakucheck li input[type="checkbox"]:checked + span::before {
  background: #EF8C7C;        /* 中の色 */
  border-color: #fff;         /* フチを白に */
	box-shadow: 0 0 0 2px #B2B2B2;
}

/* テキスト位置を微調整 */
ul.sikakucheck li span {
  line-height: 1;
}


.form{
	margin-left:auto;
	margin-right:auto;
	text-align:left;
	width:640px
}
table.select{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:700}
.select th{border-color:#086EB2;padding:10px 0 5px;width:230px}
.select td{width:410px;text-align:left}
table.check{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:700;text-align:left}
.check th{border-color:#086EB2;padding:5px 0;width:280px;font-size:15px}
.check td{padding:5px 0;width:360px;font-size:15px}
table.text{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:700;text-align:left}
.text th{border-color:#086EB2;width:230px;padding:5px 0;border:0;border-bottom:1px dashed #086EB2;background:#FFF;font-size:10px}
.text td{width:410px;padding:10px 0;border-bottom:1px dashed #086EB2;background:#FFF;font-size:15px}
#title{text-align:center;position:relative;padding:10px 0 0}
.line-setteing{border-color:#086EB2}
.setumei{padding:2em 4.68%}
.april_setumei{padding:2em 4.68%; font-size:0.9em;}
#button{text-align:center;border-bottom:none;padding:40px 0 45px}
hr{border:0;border-bottom:1px dashed #086EB2;background:#FFF}

.sp_privacyscroll{width:320px;height:80px;border:#999 solid 1px;overflow:auto;margin:0;font-style:normal}
.name{padding:1px}
.request_button{width:62.5%}
#title2{text-align:center;position:relative;padding:40px 0 0}
table.select1{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:700; margin-bottom:0; padding-bottom:0;}
.select1 th{border-color:#086EB2;padding:10px 5px 0 0;width:230px}
.select1 td{width:410px;text-align:left}

table.jyouken{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:700; margin-top:0;}
.jyouken th.list{border-color:#086EB2;padding:15px 0 15px 5px;width:330px;border-bottom:1px dashed #086EB2;border-right:1px dashed #086EB2;}
.jyouken td.list{
	width:343px;
	text-align:left;
	padding:15px 0 15px 15px;
	border-bottom:1px dashed #086EB2;
}
.jyouken th.last{border-color:#086EB2;padding:15px 0 15px 5px;width:330px;border-right:1px dashed #086EB2;}
.jyouken td.last{width:343px;text-align:left; padding:15px 0 15px 15px;}
.jyouken tr{
	border-left:3px solid #fbd5dd;
	border-right:3px solid #fbd5dd;
	
	}
table.check2{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:400;text-align:left}
.check2 th{border-color:#086EB2;padding:5px 0;width:347px;font-size:15px;}
.check2 td{padding:7px 0 7px 20px;width:327px;font-size:15px;}
.check2 tr{
	border-left:3px solid #fbd5dd;
	border-right:3px solid #fbd5dd;
	}

table.select2{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:700; margin-bottom:0; padding-bottom:0;}
.select2 th{border-color:#086EB2;padding:0 5px 0 0;width:230px}
.select2 td{width:410px;text-align:left}

table.select3{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:700}
.select3 th.list{border-color:#086EB2;padding:12px 0 12px 5px;width:250px;border-bottom:1px dashed #086EB2;border-right:1px dashed #086EB2;}
.select3 td.list{width:422px;text-align:left;border-bottom:1px dashed #086EB2; padding:12px 0 12px 15px;}
.select3 th.last{border-color:#086EB2;padding:12px 0 12px 5px;width:250px;border-right:1px dashed #086EB2;}
.select3 td.last{width:422px;text-align:left;padding:12px 0 12px 15px;}
.select3 tr{
	border-left:3px solid #fbd5dd;
	border-right:3px solid #fbd5dd;
	}
table.text2{border-collapse:collapse;border-spacing:1px;color:#03004C;font-weight:400;text-align:left;border-top:1px dashed #086EB2;border-bottom:5px solid #fbd5dd;}
.text2 th.list{border-color:#086EB2;padding:10px 0 10px 5px;width:230px;border-bottom:1px dashed #086EB2;border-right:1px dashed #086EB2;}
.text2 td.list{width:442px;text-align:left;border-bottom:1px dashed #086EB2; padding:10px 0 10px 15px;}
.text2 th.last{border-color:#086EB2;padding:10px 0 10px 5px;width:230px;}
.text2 td.last{width:442px;text-align:left;padding:10px 0 10px 15px;}
/*.text2 th{border-color:#086EB2;padding:5px 4px;border:0;border-bottom:1px dashed #086EB2;background:#FFF;font-size:10px;width:230px;}
.text2 td{width:456px;padding:10px 0;border-bottom:1px dashed #086EB2;background:#FFF;font-size:15px}*/
.text2 tr{
	border-left:3px solid #fbd5dd;
	border-right:3px solid #fbd5dd;
	}

.privacy_font{
	font-weight:100;
	font-size:0.8em;
	}
.mail_form_content th {
	color: #086eb2;
	font-size: 16px;
	height: 15px;
	text-align:left;
}
/*==================================

フォーム

==================================*/
.setumei {
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.text th {
	color: #086eb2;
	font-size: 16px;
	height: 15px;
	text-align:left;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

.text th span {
	color: #ff4500;
}
.text th .setumei {
	color: #0c3090;
	font-size: 12px;
	font-weight: 600;
	margin-top: 3px;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.kiyaku {
	color: #666666;
	font-weight: 500;
	}	

.sp_item {
	text-align: left;
	margin-bottom:-3px;
	color: #086eb2;
	font-weight: 600;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}
.sp_item span {
	color: #ff4500;
	font-weight: 600;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}

.sp_conditions{
	text-align: left;
	color: #086eb2;
	font-size: 17px;
	font-weight: 600;
	margin: -15px 0 0 10px;
	letter-spacing: 2px;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.frame{
	border: 1px solid #086eb2;
	height: 40px;
	font-size: 16px;
}
.emphasis{
border: 1px solid #086eb2;
	width: 96%;
	height: 40px;
	font-size: 16px;
	margin-bottom: 20px;
}
.frame2{
	border: 1px solid #086eb2;
	width: 92%;
	margin-bottom: 20px;
}
.frame3{
	border: 1px solid #086eb2;
	width: 92%;
	height: 25px;
	font-size: 16px;
}

/*応募ボタン*/
/*PC*/
.send_btn{
	width:401px;
	height:99px;
	margin:0 auto 0 auto;
	padding:0;
	background:none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor:pointer;
}
/*SP*/
.send_btn_sp{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0;
	background:none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor:pointer;
	text-align:center;
	max-width:328px;
	margin-bottom: 30px;
}
.send_btn_sp img{
	height: auto;
	width: 100%;	
}
/*label{
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}*/
.setumei_sp{
	width: 100%;
	margin: 0 0 20px;
}
.setumei_text_sp{
	font-size: 14px;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.kiyaku_sp{
	/*font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;*/
	/*border: #086eb2 1px solid;*/
	width: 30%;
	text-align: center;
	margin: auto;
	margin-top: 20px;
	margin-bottom: 10px;
	/*background: #EAF7FF;*/
}
.setumei_sp{
	position: relative;
}


#sp_contents{
	/*position:  relative;*/
	width: 100%;
	/*position:  relative;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-image:url(../event/voice/img/sp/sp_main.png);
	height: 837px;*/
	background-image:url(../request/img_new/request_back.jpg);
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.sp_contents_imglist{
	width: 100%;
	margin-bottom: 20px;
}

#sp_title_req {
	width: 100%;
		text-align:center;position:relative;padding:10px 0 0;
	}
.sp_req_num{position:absolute;top:16.5%;left:35%;}
.sp_req_num img{
	height: 22px;	
}
.sp_pri_num{position:absolute;top:25%;left:35%;}
.sp_pri_num img{
	height: 22px;
}

#form-box-sp{
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	width: 100%;
}
#form-box-sp .form-container{
	width: 80%;
	padding: 20px;
	margin: 20px 10%;
	background-color: #FFF;
}
#form-box-sp .form-container .form-title{
	width: 100%;
}
#form-box-sp .form-container .form-description {
	text-align: center;
	color: #73A4A4;
	margin-bottom: 20px;
	font-size: 12px;
}
#form-box-sp .form-container label {
	display: block;
	font-size: 16px;
	/*color: #73A4A4;*/
	color: #666666;
	text-align: left;
	margin-bottom: 8px;
}
.present_txt_sp{
	width: 100%;
	color: #73A4A4;
	font-size: 12px;
	margin: 0 auto;
	text-align: left;
}
#form-box-sp .form-container .name-group {
	width: 100%; /* 親要素全体に広げる */
    display: flex;
    justify-content: space-between;
    gap: 5px; /* フィールド間のスペース */
}

#form-box-sp .form-container .name-group .first_name,
#form-box-sp .form-container .name-group .second_name {
    width: calc(50% - 5px) !important; /* 50%の幅からgapを引いた値に調整 */
    box-sizing: border-box !important; /* パディングとボーダーを幅に含める */
}

#form-box-sp .form-container input[type="text"], 
#form-box-sp .form-container input[type="email"], 
#form-box-sp .form-container checkbox{
    width: 100%; /* 全体の入力フィールドは幅100% */
    height: 40px;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}

#form-box-sp .form-container dl dd {
	margin-left: 0;
}

.spform-group-select{
	position: relative;
}
.spform-group-select::after{
	content: "";
    position: absolute;
    top: 40px;
    right: 20px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
}
#form-box-sp .form-container select{
    width: 100%; /* 全体の入力フィールドは幅100% */
    height: 40px;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
	
	-webkit-appearance: none;
    appearance: none;
}

#form-box-sp .form-container textarea{
    width: 100%; /* 全体の入力フィールドは幅100% */
    height: 80px;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}

#form-box-sp .form-container .required {
	color: #EF8C7C;
	/*margin-right: 5px;
	background-color: #DA7070;
	color: #FFFFFF;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 12px;
	display: inline-block;*/
}

#form-box-sp .submit-btn {
	background: url('../request/img_new/send_btn.png') no-repeat center center;
	background-size: contain;
	width: 80%;
	height: 50px;
	margin-left: 10%;
	margin-bottom: 15px;
	border: none;
	cursor: pointer;
	font-size: 16px;
	color: white;
	text-align: center;
	line-height: 50px;
}

#form-box-sp .submit-btn:hover {
	opacity: 0.8;
}

#form-box-sp .form-container .privacy-agreement {
	text-align: center;
	font-size: 12px;
	margin-bottom: 20px;
}

#form-box-sp ul.hopecheck {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  gap: 10px 5px;                         /* 行間・列間 */
}

/* ラベルを横並びに */
#form-box-sp ul.hopecheck li label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 0.9em;
  color: #6692cf;
}

/* ネイティブのラジオは隠す */
#form-box-sp ul.hopecheck li input[type="checkbox"] {
  display: none;
}

/* テキスト部分に余白を確保しつつ、マーカー用の ::before を使う */
#form-box-sp ul.hopecheck li span {
  position: relative;
  padding-left: 1.5em;
}

/* デフォルト（未選択）は外枠だけ */
#form-box-sp ul.hopecheck li span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border: 2px solid #B2B2B2;  /* 枠の色 */
  border-radius: 50%;
  background: transparent;
  box-sizing: border-box;
}

/* 選択時は中を塗りつぶし、白フチを追加 */
#form-box-sp ul.hopecheck li input[type="checkbox"]:checked + span::before {
  background: #EF8C7C;        /* 中の色 */
  border-color: #fff;         /* フチを白に */
	box-shadow: 0 0 0 2px #B2B2B2;
}

/* テキスト位置を微調整 */
#form-box-sp ul.hopecheck li span {
  line-height: 1.5;
}
