@charset "utf-8";

/* CSS Document */
* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	word-break: normal;
	word-wrap: break-word;

}

body {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro W6", "メイリオ", "Meiryo", Arial, sans-serif;
	/*font-family: "Yu Mincho", "游明朝", "游明朝体", "	Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro", "MS Mincho", "ＭＳ 明朝", "	MS PMincho", "ＭＳ Ｐ明朝", "Sawarabi Mincho";*/
	/*font-family: 'Roboto', sans-serif;*/
	background-color: #fff;
	color: #333;
	font-size: 16px;
	line-height: 1.6;
}

img {
	vertical-align: bottom;
	margin: 0;
	padding: 0;
	border: 0;
	max-width: 100%;
}

.cf7-form {
	display: none;
}

.clearfix:before,
.clearfix:after {
	display: table;
	content: " ";
}

.clearfix:after {
	clear: both;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

td,
th {
	padding: 0;
}

table {
	background-color: transparent;
}

table col[class*="col-"] {
	position: static;
	display: table-column;
	float: none;
}

table td[class*="col-"],
table th[class*="col-"] {
	position: static;
	display: table-cell;
	float: none;
}

ul li {
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0px;
}

.os-animation {
	opacity: 0;
}

.os-animation.animated {
	opacity: 1;
}

a {
	color: inherit;
}

a:visited,
a:link,
a:hover,
a:active,
a:focus {
	outline: none;
	text-decoration: none;
}

a:hover {
	opacity: 0.8;
	transition: opacity 0.5s ease;
}

.main {
	max-width: 768px;
	margin: 0 auto !important;
	position: relative;
	padding: 0 !important;
}

#page2,
#page3,
#page4,
#page5,
#page6,
#page7 {
	display: none;
}

.header {
	max-width: 768px;
	margin: 0 auto;
	background-color: #fff;
	color: #333;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 10px;
}

.logo {
	padding: 5px 0;
}

.fv {
	background: url(../img/fv-back.png);
	background-size: cover;
	background-position: center;
	padding: 30px 0 60px;
}

.main_content {
	background-color: #f2f2f2;
	padding: 50px 0;
}

.content {
	margin-top: 0 !important;
}

.content_in {
	background-color: #fff;
	padding: 30px;
	margin-bottom: 10px;
}

.title {
	font-size: 20px;
	margin-bottom: 15px;
}

.required {
	background-color: #f15a24;
	color: #fff;
	font-size: 12px;
	padding: 3px 10px;
	border-radius: 20px;
	font-weight: normal;
	margin-right: 10px;
}

.radio_list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.radio {
	width: calc(50% - 5px);
}

.radio input {
	display: none;
}

.radio p {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	text-align: center;
	background-color: #fff;
	border-radius: 5px;
	border: 1px solid #ccc;
	cursor: pointer;
	font-weight: bold;
	gap: 10px;
}

.radio p img {
	height: 40px;
}

.radio input:checked+p {
	background-color: #fddaa3;
}

.check_list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.checkbox {
	width: calc(50% - 10px);
}

.checkbox input {
	display: none;
}

.checkbox p {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	text-align: center;
	background-color: #fff;
	border-radius: 5px;
	border: 1px solid #ccc;
	cursor: pointer;
	font-weight: bold;
	gap: 10px;
}

.checkbox p img {
	height: 40px;
}

.checkbox input:checked+p {
	background-color: #fddaa3;
}

.btn_wrap {
	text-align: center;
	position: relative;
}

.prev_btn {
	position: absolute;
	left: 0;
	top: 0;
}

.btn {
	display: inline-block;
	border: none;
	outline: none;
	padding: 16px;
	overflow: hidden;
	text-align: center;
	border-radius: 5px;
	font-weight: bold;
	font-size: 16px;
	color: #fff;
	background-color: #ccc;
}

.btn.active {
	background-color: #f7931e;
}

.next_btn {
	width: 240px;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.prev_btn {
	width: 112px;
}

.footer {
	max-width: 768px;
	margin: 0 auto;
	background: url(../img/footer-back.png);
	background-size: cover;
	background-position: center;
	padding: 50px 0;
	font-size: 14px;
	color: #fff;
}

.footer_txt {
	text-align: center;
	margin-bottom: 40px;
}

.copyright {
	margin-bottom: 40px;
	text-align: center;
}

.footer_links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}

.fixedcontainer {
	max-width: 680px;
	width: 90%;
	margin: 0 auto;
}

.step {
	text-align: center;
	margin-bottom: 10px;
}

.step img {
	width: 80%;
}

.main_content {
	padding: 30px 0;
}

.form_field {
	margin-bottom: 30px;
}

.form_field:last-child {
	margin-bottom: 0;
}

.input_wrap input,
.input_wrap select {
	width: 100%;
	padding: 10px;
	height: 60px;
	font-weight: bold;
	border: 1px solid #ccc;
	border-radius: 5px;
	outline: none;
}

.input_wrap input[type='number'] {
	-webkit-appearance: none;
	-moz-appearance: textfield;
}

.input_wrap input[type='number']::-webkit-outer-spin-button,
.input_wrap input[type='number']::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.footer_links a {
	cursor: pointer;
}

#exitModal {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1000;
	background: white;
	max-width: 90%;
	min-width: 280px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index: 999;
}

.modal_txt {
	background: #c69c6d;
	color: #fff;
	font-size: 18px;
	text-align: center;
	padding: 10px;
	font-weight: bold;
}

.modal_btns {
	display: flex;
	justify-content: center;
}

.modal_btns button {
	border: none;
	outline: none;
	width: 100%;
	text-align: center;
	padding: 10px;
	color: #fff;
}

.close_btn {
	background: #999;
}

.back_btn {
	background: #01c756;
}

.thanks_ttl {
	text-align: center;
	color: #f7931e;
	font-size: 20px;
	margin-bottom: 20px;
}

.thanks_in {
	margin-top: 40px;
}

.thanks_subttl {
	text-align: center;
	font-size: 20px;
	margin-bottom: 20px;
}

.thanks_box {
	border-radius: 20px;
	overflow: hidden;
	background-color: #fff;
}

.thanks_box_ttl {
	padding: 12px 0;
	background-color: #01c756;
	color: #fff;
	text-align: center;
}

.thanks_box_ttl span {
	color: #ffff00;
}

.thanks_box_ttl img {
	vertical-align: sub;
}

.thanks_box_in {
	padding: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
}

.next_btn.active:before {
	content: "";
	z-index: -1;
	position: absolute;
	left: -30%;
	top: -50%;
	display: block;
	width: 40px;
	height: 140px;
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
	background-image: -webkit-gradient(linear, right top, left top, from(hsla(0, 0%, 100%, 0)), color-stop(50%, #fff), to(hsla(0, 0%, 100%, 0)));
	background-image: linear-gradient(270deg, hsla(0, 0%, 100%, 0) 0, #fff 50%, hsla(0, 0%, 100%, 0));
	-webkit-animation: shiny-data-v-2ae6b904 3s linear infinite;
	animation: shiny-data 3s linear infinite;
}

@keyframes shiny-data {
	0% {
		left: -30%;
	}

	20% {
		left: 120%;
	}

	100% {
		left: 120%;
	}
}

.tel_alert,
.email_alert {
	display: none;
	color: #f15a24;
	font-size: 12px;
	margin-top: 5px;
}

.salary_field {
	display: flex;
	align-items: center;
	gap: 10px;
}

.salary_field input {
	width: calc(100% - 50px);
}

.other_field {
	display: none;
}

.error {
	display: none;
	color: red;
	font-size: 12px;
}

/* Jicooカレンダー設定 */
#jicoo-embed-container {
	margin-top: 40px;
	/* 上のコンテンツとの余白 */
	margin-bottom: 40px;
	/* 下のコンテンツとの余白 */
	padding: 10px;
	/* 内側のちょっとした空気感 */
	background-color: #ffffff;
	/* 背景を白にしてJicooを際立たせる */
	border-radius: 8px;
	/* 角を少し丸くして馴染ませる */
}

/* 画面幅が767px以下のとき（スマホ・タブレット） */
@media screen and (max-width: 767px) {
	#jicoo-embed-container {
		margin-top: 20px;
		margin-bottom: 20px;
		padding: 0;
		/* スマホでは横幅をいっぱいまで使って操作しやすくする */
		height: 800px;
		/* スマホは縦長になりやすいため高さを少し多めに確保 */
	}
}

/* Jicooの予約ページヘッダーにある担当者名とアイコンを非表示にする */
.css-d0g7nu {
	display: none !important;
}

/* form5 */
.form5 .fv {
	height: 282px;
}

@media screen and (max-width: 640px) {
	.form5 .fv {
		padding: 20px 0 30px;
		height: 140px;
	}
}

.jicoo-widget {
	height: 1150px !important;
	overflow: hidden;
}

.css-1w1yrd9.e2q7nzb0 {
	display: none;
}