@charset "UTF-8";
/* CSS Document */

html,body {
	margin: 0;
	padding: 0;
	height: 100%;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
}
.pc_br {
	display: block;
}
.sp_br {
	display: inline;
}
.pc_view {
	display: inherit;
}
.sp_view {
	display: none;
}
.container {
	width: auto;
	max-width: 950px;
	overflow: hidden;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	position: relative;
}
::placeholder {
	color: #c0c0c0;
}

#siteend {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}
#siteend div {
	font-size: 40px;
	line-height: 1.8;
	font-weight: bold;
	color: #FFF;
	text-align: center;
}

header {
	/* background-image: url(../img/header_back.jpg); */
	background-color: #000000;
	background-size: 1400px 146px;
	background-position: center;
	background-repeat: repeat-x;
	margin: 0 auto;
	/* height: 146px; */
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
}
header h1 {
	/* width: 481px; */
	width: 550px;
	margin: 0 auto;
	/* font-size: 0; */
	font-size: 35px;
	font-weight: bold; /* 文字を太くする */
	text-align: center;
	color: #FFFFFF;
}
header h1 img {
	/* width: 100%; */
	width: 75%;
	height: auto;
	
}

#language {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	padding: 25px 0px 0px 0px;
}
#language > a {
	width: 33px;
	text-align: center;
	font-size: 18px;
	font-style: normal;
	line-height: 32px;
	color: #000;
	box-sizing: border-box;
	padding: 2px 0 0;
}
#language > i {
	width: 33px;
	text-align: center;
	font-size: 18px;
	font-style: normal;
	line-height: 32px;
	color: #000;
	box-sizing: border-box;
	padding: 0 0 0;
}
#language > a.language,#language > i.language {
	/* width: 235px; */
	/* border: 1px solid #000; */
	border-radius: 6px;
	margin: 0px 0px 0px 0px;
}
#language > a.language.slt {
	/* border: 3px solid #070999; */
	color: #000000;
	font-weight: 700;
	padding: 0 0 0px;
}

#step {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 25px 0;
}
#step_con {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 25px 0 25px 0;
}
#step > div,#step_con > div {
	width: 33px;
	text-align: center;
	font-size: 18px;
	line-height: 32px;
	color: #000;
	box-sizing: border-box;
	padding: 2px 0 0;
}
#step > div.step,#step_con > div.step {
	/* width: 235px; */
	width: 280px;
	border: 1px solid #000;
	border-radius: 6px;
}
#step > div.step.slt,#step_con > div.step.slt {
	border: 3px solid #070999;
	color: #070999;
	font-weight: 700;
	padding: 0 0 2px;
}

h2 {
	text-align: center;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	color: #FFF;
	background-color: #070999;
	padding: 10px 0;
	margin: 0;
}

#info {
	background-image: url(../img/header_back_pt.jpg);
	background-repeat: repeat-y;
	background-position: center top;
	padding: 5px 0 0;
}
#info_fblk {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	color: #d61324;
	line-height: 1.8;
	background-color: #FFF;
}
#info1,#info2,#info3 {
	box-sizing: border-box;
	padding: 5px 0px;
	text-align: center;
}
#info1 {
	width: 50%;
}
#info2 {
	width: 50%;
	border-left: 10px solid #d61324;
}
#info3 {
	width: 100%;
}
#info h4 {
	font-size: 26px;
	font-weight: bold;
	font-feature-settings: "palt";
}
#info p {
	font-size: 18px;
}
#info h3 {
	background-color: #d61523;
	text-align: center;
	margin-top: 10px;
}
#info h3 img {
	width: 670px;
	height: auto;
	margin: 0 auto;
}

#contents_wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}
#contents_base {
	flex: 1;
}

.title {
	padding: 30px 0 10px;
	text-align: center;
}
.title h2 {
	font-size: 28px;
	font-weight: bold;
	color: #000;
}
.title p {
	font-size: 18px;
	line-height: 1.8;
	padding-top: 30px;
}
.title .fblk {
	max-width: 750px;
	margin: 20px auto 15px;
}
.title .fblk .questionnaire_slt {
	display: block;
	color: #b7b7d3;
	text-align: center;
	text-decoration: none;
	font-size: 24px;
	line-height: 55px;
	font-weight: 700;
	width: 360px;
	background-image: url(../img/sltbtn.png);
	background-repeat: no-repeat;
	background-size: cover;
	transition-duration: 0.3s;
}
.title .fblk .questionnaire_slt:hover {
	opacity: 0.7;
}
.title .fblk .questionnaire_slt.slt {
	color: #FFF;
	background-image: url(../img/sltbtn_on.png);
}
.title .fblk .questionnaire_slt.slt:hover {
	opacity: 1;
}
#questionnaire {
	display: none;
}

.req {
	display: inline-block;
	background-color: #e60012;
	color: #FFF;
	font-size: 12px;
	line-height: 1;
	padding: 2px 5px;
	font-weight: 700;
	border-radius: 5px;
	letter-spacing: 0;
	margin: 0 0 0 10px;
}

.tmes {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	padding: 30px 0;
}
.thanks .tmes {
	text-align: center;
}
.tmes .req {
	margin: 0 6px 0 0;
}
.tmes strong {
	display: block;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	padding-bottom: 20px;
}
.tmes div {
	text-align: center;
}
.tmes div a.btn {
	display: inline-block;
	margin: 40px 0;
	/* background-image: url(../img/ar_bb.png); */
	background-image: url(../img/alb.png);
	background-repeat: no-repeat;
	background-size: 12px 20px;
	/* background-position: right 12px center; */
	background-position: left 12px center;
	color: #000088;
	text-align: center;
	text-decoration: none;
	font-size: 20px;
	line-height: 42px;
	font-weight: 700;
	width: 230px;
	border: 3px solid #000088;
	box-sizing: border-box;
	transition-duration: 0.3s;
}
.tmes div a:hover {
	background-color: #c5e8f9;
}


#contents .formtb {
	width: 100%;
}
#contents th,#contents td {
	text-align: left;
	vertical-align: middle;
	font-size: 16px;
	line-height: 1.8;
	border: 1px solid #ccc;
	padding: 15px 20px;
	color: #333;
}
#contents th {
	width: calc(10em + 22px);
	padding: 15px 10px;
	/* background-color: #e5f5ff; */
	background-color: #F2F2F2;
	color: #333;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 2px;
}
#contents th.top {
	vertical-align: top;
	padding-top: 20px;
}
#contents th.l2 {
	line-height: 1.8;
}
#contents th .req {
	float: right;
}
#contents th.l2 .req {
	float: none;
}
#contents td {
	background-color: #FFF;
	box-sizing: border-box;
	width: calc(100% - 10em);
}
#contents td > .item {
	margin-bottom: 30px;
}
#contents td > .item:last-child {
	margin-bottom: 0;
}
#contents .confirm td strong {
	display: block;
	padding: 0 0 10px;
}
#contents .confirm td strong:last-child {
	padding: 0;
}

.fblk {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.fblk_st {
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.fblk_st > * {
	margin-right: 24px;
}
.fblk_st > *:last-child {
	margin-right: 0;
}
.fblk_st.telblk > * {
	margin-right: 0;
}
.fblk_st.telblk .sp {
	padding: 10px 8px 0 0;
}
strong + .fblk_st > label {
	margin-top: 10px;
	white-space: nowrap;
}

.fblk_vert {
	flex-flow: column;
	justify-content: flex-start;
	align-items: flex-start;
}

.flex-interest {
  display: flex;
  gap: 3px;
  align-items: baseline;
}

.--start {
  align-items: flex-start;
}

.--center {
  align-items: center;
}

.radiobutton-input {
  flex-direction: row-reverse;
}


.fblk_age {
	flex-flow: column;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.fblk_age_st {
	justify-content: flex-start;
	align-items:  flex-start;
	flex-wrap: wrap;
}
.fblk_age_st > * {
	margin-right: 0;
}
.fblk_age_st > *:last-child {
	margin-right: 0;
}

.item strong {
	display: block;
	font-weight: normal;
	line-height: 1;
}
.item.emp strong,.item.mgr strong,.item strong.qt {
	font-weight: 700;
}
.qa strong.qt {
	display: block;
	font-weight: 700;
}
.item strong + strong {
	padding-top: 20px;
}
.item .err_mes {
	color: #FC1C00;
	padding-top: 10px;
}
.item .err_mes:empty {
	font-size: 0;
	line-height: 0;
	padding: 0;
}
.item input[type=text], .item input[type=tel], .item input[type=email] {
	font-family: 'Arial', sans-serif;
	background: #F3F3F3;
	border: 1px solid #D6D6D6;
	border-radius: 3px;
	font-size: 18px;
	line-height: 40px;
	padding: 0 12px;
	margin-top: 10px;
	box-sizing: border-box;
	width: 340px;
}
.item.err input[type=text], .item.err input[type=tel] {
	border-color: #FC1C00;
}
.item input[type=text]:focus, .item input[type=tel]:focus, .item input[type=email]:focus {
    outline: 2px solid #80472c;
}
.item input[type=text].i_s, .item input[type=tel].i_s, .item input[type=email].i_s {
	width: 120px;
	margin-right: 8px;
}
.item input[type=text].i_l, .item input[type=tel].i_l, .item input[type=email].i_l {
	width: 100%;
}
.item input[type=checkbox],.item input[type=radio] {
	margin-right: 5px;
}
.item.err label {
	color: #FC1C00;
}
.item .mes {
	font-size: 14px;
	line-height: 1.8;
	color: #666;
	padding: 10px 0 0;
}
.item .mes.ind {
	text-indent: -1em;
	padding-left: 1em;
}
.item .mes + label {
	display: inline-block;
	margin-top: 10px;
}
.selectbox {
	display: inline-block;
	position: relative;
	margin-top: 10px;
	margin-right: 8px;
	font-size: 0;
	line-height: 0;
}
.selectbox::after {
    position: absolute;
    content: '';
    pointer-events: none;
}
.selectbox::after {
    position: absolute;
    top: 45%;
    right: 20px;
    transform: translate(50%, -50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
}
.selectbox select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
	width: auto;
    height: 42px;
    padding: .4em 3.6em .4em .8em;
    border: 1px solid #D6D6D6;
	background-color: #F3F3F3;
	background-image: url(../img/gbase.png);
	background-repeat: no-repeat;
	background-position: right center;
    border-radius: 3px;
    color: #333;
    font-size: 16px;
	line-height: 1;
    cursor: pointer;
}
.item.err .selectbox select {
	border-color: #FC1C00;
}
.selectbox select:focus {
    outline: 2px solid #80472c;
}

.item textarea {
	font-family: 'Arial', sans-serif;
	background: #F3F3F3;
	border: 1px solid #D6D6D6;
	border-radius: 3px;
	font-size: 18px;
	line-height: 2;
	padding: 10px 12px;
	margin-top: 10px;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	max-height: 250px;
}
.item.err textarea {
	border-color: #FC1C00;
}
.item .count {
	text-align: right;
}
.item .count > div {
	float: left;
}

.item .terms_of_entry {
	border: 1px solid #ccc;
	border-radius: 3px;
	height: 188px;
	box-sizing: border-box;
	overflow: scroll;
	padding: 10px 12px;
	font-size: 14px;
	line-height: 2;
	color: #666;
	word-break: break-all;
}
.item .terms_of_entry a {
	text-decoration: underline;
	color: #000;
}
.item .terms_of_entry + div {
	text-align: center;
	padding: 20px 0;
}

.submit {
	text-align: center;
	padding: 30px 0;
	position: relative;
}
.submit > div {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-end;
	width: 720px;
	margin: 0 auto;
}
.submit input {
	display: block;
	margin: 0 auto;
	background-color: #FFF;
	/* background-image: url(../img/ar_rb.png); */
	background-image: url(../img/ar_bb.png);
	background-repeat: no-repeat;
	background-size: 12px 20px;
	background-position: right 12px center;
	/* color: #cc0033; */
	color: #00A7E9;
	text-align: center;
	font-size: 20px;
	line-height: 48px;
	font-weight: 700;
	width: 312px;
	/* border: 3px solid #cc0033; */
	border: 3px solid #00A7E9;
	box-sizing: border-box;
	cursor: pointer;
	transition-duration: 0.3s;
}
.submit > div input {
	line-height: 42px;
}
.submit input:hover {
	background-color: #fddbdb;
}
.submit a,.submit #backBtn  {
	display: block;
	margin: 26px auto 0;
	background-color: #FFF;
	/* background-image: url(../img/ar_bb.png); */
	background-image: url(../img/alb.png);
	background-repeat: no-repeat;
	background-size: 12px 20px;
	/* background-position: right 12px center; */
	background-position: left 12px center;
	color: #000088;
	text-align: center;
	text-decoration: none;
	font-size: 20px;
	line-height: 42px;
	font-weight: 700;
	width: 230px;
	border: 3px solid #000088;
	box-sizing: border-box;
	transition-duration: 0.3s;
}
.submit > div a,.submit > div #backBtn {
	width: 312px;
}
.submit a,.submit #backBtn {
	padding-right: 24px;
}
.submit a:hover,.submit #backBtn:hover {
	background-color: #c5e8f9;
}

footer {
	/* background-image: url(../img/footer_back.jpg); */
	background-color: #000000;
	background-size: 1400px 20px;
	background-position: center;
	background-repeat: repeat-x;
	height: 20px;
	font-size: 0;
	line-height: 0;
}

.input-file{
	position:relative;
	display:block;
}
.input-file .input-file-view{
	padding:0;
	font-size:13px;
}
.mes + .input-file-view {
	padding-top: 10px;
}
.input-file .button{
	background:#e8e8e8;
	border:1px solid #aaa;
	border-radius:3px;
	padding:3px 8px;
}
.input-file .filename{
	margin-left:8px;
}
.input-file .del{
	display: none;
	background:#e8e8e8;
	border:1px solid #aaa;
	border-radius:3px;
	padding:3px 8px;
	cursor: default;
	position: absolute;
	top: -4px;
	left: 0;
	z-index: 999;
}
.input-file .preview{
	width:100%;
	height:300px;
	margin-top:10px;
	border:2px solid #999;
	background-image: url(../img/ddimg.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
}
.imgsv .input-file .preview {
	display: none;
}
.input-file input[type="file"]{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	opacity:0;
	z-index: 0;
}
.vimg {
	width: 400px;
}
.vimg img {
	width: 100%;
	height: auto;
}

.cbox {
	border: 1px solid #aaa;
	margin: 40px 0 0;
}
/* 2024.10.08 修正
.cbox h4 {
	background-color: #aaa;
	color: #FFF;
	text-align: center;
	font-size: 16px;
	line-height: 1;
	padding: 5px 0;
}
*/
.cbox h4 {
	background-color: #e5f5ff;
	color: #333;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	padding: 5px 0;
}
.cbox strong {
	/* font-size: 18px; */
	font-size: 18px;
	padding: 20px 0;
}
.cbox .fblk {
	padding: 0 20px 20px;
	justify-content: flex-start;
	flex-direction: column;
}
.cbox .fblk > div {
	font-size: 14px;
	color: #000;
	text-align: justify;
}
.cbox .fblk > div:first-child {
	white-space: nowrap;
	font-size: 18px;
	width: auto;
}
.cbox .fblk > div:first-child i {
	margin-right: 10px;
	font-size: 20px;
	vertical-align: middle;
}
.cbox .fblk > div:first-child a {
	text-decoration: none;
	color: #000;
}
.cbox .fblk > div:last-child {
	text-align: justify;
	padding: 5px 0 0 0;
	width: auto;
}

@media screen and (max-width: 999px) {
	header h1 {
		font-size: 23px;
		font-weight: bold; /* 文字を太くする */
		text-align: center;
	}
	.pc_view {
		display: none;
	}
	.sp_view {
		display: inherit;
	}
	.pc_br {
		display: inline;
	}
	.sp_br {
		display: block;
	}
	.pc_tel-colon::after {
		content: none ;
	}
	.container {
		width: auto;
		margin: 0 25px;
	}
	.fblk {
		flex-direction: column;
	}
	.fblk_st {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.fblk_st > * {
		margin-right: 20px;
	}
	.fblk_st > *:last-child {
		margin-right: 0;
	}
	.fblk_st label {
		width: 100%;
		padding-top: 10px;
	}
	.fblk > .item {
		margin-bottom: 20px;
	}
	.fblk > .item:last-child {
		margin-bottom: 0;
	}
	.submit input {
		width: 300px;
	}
}
@media screen and (max-width: 790px) {
	#siteend div {
		font-size: 20px;
	}
	header div {
		text-align: center;
	}
	header div img {
		width: 115px;
		height: auto;
		margin: 5px auto 0;
	}
	header h1 {
		width: 90%;
		max-width: 481px;
		font-size: 22px;
		font-weight: bold; /* 文字を太くする */
		text-align: center;
	}
	
	#info {
		background-image: url(../img/header_back_pt_sp.jpg);
		background-size: 100% auto;
		background-repeat: repeat-y;
		background-position: center top;
		padding: 10px 15px 0;
	}
	#info p {
		font-size: 12px;
	}
	#info_fblk {
		margin: 0 -35px;
	}
	#info1, #info2, #info3 {
		padding: 5px;
	}
	#info1,#info2 {
		width: 100%;
	}
	#info2 {
		border-left: none;
		border-top: 10px solid #d61324;
	}
	#info h4 {
		font-size: 15px;
	}
	#info .container {
		overflow: visible;
	}
	#info h3 {
		font-size: 18px;
		margin: 0 -35px;
	}
	#info h3 img {
		width: 100%;
	}
	.container {
		margin: 0 20px;
	}
	.title {
		padding: 30px 0 0;
	}
	.title p {
		text-align: justify;
		padding-top: 0;
	}
	.title p .req {
		margin: 0;
	}
	.title .fblk {
		align-items: center;
		margin: 15px auto;
	}
	.title .fblk .questionnaire_slt {
		box-sizing: border-box;
		margin: 0 0 15px;
		width: 312px;
		font-size: 20px;
		line-height: 48px;
	}
	#contents th, #contents td {
		display: block;
		font-size: 14px;
	}
	#contents th {
		border-top: none;
		border-bottom: none;
		width: auto;
	}
	#contents th br {
		display: none;
	}
	#contents tr:first-child th {
		border-top: 1px solid #ccc;
	}
	#contents td {
		padding-bottom: 30px;
		width: 100%;
	}
	.item strong {
		line-height: 1.5;
	}
	.item input[type=text], .item input[type=tel], .item input[type=email] {
		width: 100%;
		font-size: 16px;
	}
	.item input[type=text].i_s, .item input[type=tel].i_s, .item input[type=email].i_s {
		width: 90px;
	}
	.item .telblk input[type=text].i_s, .item .telblk input[type=tel].i_s {
		width: 65px;
		margin-right: 5px;
	}
	.item .telblk input[type=text].i_s:last-child, .item .telblk input[type=tel].i_s:last-child {
		margin-right: 0;
	}
	.fblk_st.telblk .sp {
		padding-right: 5px;
	}
	.submit > div {
		flex-direction: column;
		width: auto;
	}
	.submit > div a,.submit > div input,.submit > div #backBtn  {
		/* width: 230px; */
		width: 90%;
	}
	.submit > div input {
		margin-top: 26px;
	}
	.submit input {
		width: 100%;
	}
	.confirm + .submit a {
		width: 90px;
		padding-left: 15px;
		background-position: left 5px center;
	}
	.confirm + .submit input {
		width: calc(100% - 115px);
		margin: 0 0 0 auto;
		padding-right: 15px;
		background-position: right 5px center;
	}
	footer {
		font-size: 10px;
	}
	footer img {
		margin-bottom: 5px;
	}
	.input-file .preview {
		width: 100%;
	}
	.vimg {
		width: 100%;
	}
	.cbox {
		margin-top: 30px;
	}
	.cbox strong {
		font-size: 15px;
		padding: 20px 0;
	}
	.cbox .fblk > div:first-child {
		width: 100%;
		padding-bottom: 5px;
	}
	.cbox .fblk > div:last-child {
		width: 100%;
	}
	.thanks .tmes {
		padding-bottom: 0;
	}
	.thanks .tmes div a.btn {
		margin-bottom: 40px;
	}
	#step,#step_con {
		padding: 20px 0;
	}
	#step > div,#step_con > div {
		width: 20px;
		font-size: 12px;
		line-height: 24px;
	}
	#step > div.step,#step_con > div.step {
		width: 100px;
	}
	.cbox .fblk > div:first-child a {
		font-size: 13px;
	}
}