/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
* {
	box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
	overflow: auto;
	margin: 0;
	padding: 0;
	
	-ms-overflow-style: none;
	scrollbar-width: none;
}
/*
.page {
	overflow-x: hidden;
	overflow-y: auto;
	height: 100%;
}
*/
.page {
	overflow-x: hidden;
	overflow-y: auto;
	height: auto;
	-ms-overflow-style: none; /* Edge */
	scrollbar-width: none; /* Firefox */
}
.page::-webkit-scrollbar {
	display: none; /* Chrome,Safari */
}


.slide {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	background-size: cover;
	background-position: center;
}
section {
	width: 100%;
}

.pc_br {
	display: block;
	display: unset;
}
.sp_br {
	display: none;
}

img.pc {
	display: block;
}
img.sp {
	display: none;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* メインビジュアル */
.top-section{
	position: relative;
	height: 302px;
	overflow: hidden;
}

.top-section .top-bg{
	position: absolute;
	inset: 0;              /* 上下左右すべて0で全面 */
	width: 100%;
	height: auto;
	object-fit: cover;     /* 画像をトリミングしてフィット */
	z-index: 0;
	border: none;

	top: 0;
	left: 0;
}

.top-section-inner {
	position: relative;
	padding: 130px 118px 40px 118px;
	z-index: 2;
}


.top-title {
	font-family: Noto Sans JP;
	font-weight: 500;
	font-style: Medium;
	font-size: 40px;
	leading-trim: NONE;
	line-height: 160%;
	letter-spacing: 0%;

	color: #151515;
	margin-bottom: 0;
}
.top-title-sub {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 160%;
	letter-spacing: 0%;

	color: #151515;
	margin-bottom: 0;
}

.pankuzu-list {
	display: flex;
	width: auto;
	margin-bottom: 24px;
	align-items: center;
}

.pankuzu-unit {
	color: #151515;
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 12px;
	leading-trim: NONE;
	line-height: 150%;
	letter-spacing: 0%;
}

.pankuzu-separator {
	position: relative;
	width: 24px;
	height: 18px;
}
.pankuzu-separator img{	
	margin: 0 auto;
	margin-top: 0px;
	display: block;
	margin-top: 1px;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
.form-section {
	background-color: #F3F8FC;
}

.form-section-inner {
	padding: 80px 202px 80px 202px;
}

.form-section-body {
	border-radius: 4px;
	background-color: #fff;
	/*padding: 40px 40px 40px 40px;*//*入力確認画面*/
	padding: 80px 40px 80px 40px;/*完了画面*/
}

form {
	margin: 0;
}

.form-table {
	width: 100%;
	position: relative;
	margin-bottom: 32px;
	border-collapse: collapse;
	border-spacing: 0;
}

.form-table th {
	width: 300px;
	vertical-align: middle;
	display: table-cell;
	text-align: left;
	line-height: 100%;
	position: relative;
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 18px;
	leading-trim: NONE;
	line-height: 140%;
	letter-spacing: 0%;
	padding: 8px 0;
	position: relative;
	min-height: 78px;
	height: 78px;
}

.input-title {
	display: flex;
	align-items: center;
}

.title-tips {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 140%;
	letter-spacing: 0%;
}

.input-line {
	display: flex;
	align-items: center;
}

th .required {
	color: #fff;
	padding: 4px 8px 4px 8px;
	display: inline-block;
	background-color: #F14346;
	position: absolute;
	right: 0;
	border-radius: 4px;
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 140%;
	letter-spacing: 0%;
	margin-right: 0;
	margin-left: auto;
}

.form-table td {
	text-align: left;
	/*padding: 8px 0 8px 32px;*//* 入力画面 */
	padding: 8px 0 8px 48px;/* 確認画面 */
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 180%;
	letter-spacing: 0%;
}

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	height: 45px;
}

input[type="text"].small_textinput,
input[type="email"].small_textinput,
input[type="password"].small_textinput,
input[type="tel"].small_textinput {
	width: 100%;
}

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	border: 1px solid #AAAAAA;
	box-shadow: none;
	width: 100%;
	border-radius: 4px;
	color: #151515;

	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 180%;
	letter-spacing: 0%;
	padding: 8px 16px;
}

.input-textarea {
	min-height: 170px;
}

.xsmall-textinput {
	width: 295px;
}

.paddingsideleft {
	width: 56px;
	display: inline-block;
	flex: 0 0 56px;
}

.paddingsideright {
	display: inline-block;
	width: 56px;
	margin-left: 32px;
	flex: 0 0 56px;
}

.input-title-zip {
	height: 62px;
	position: absolute;
	top: 0;
	width: 100%;
	margin-top: 8px;
}

#zipcode {
	width: 295px;
}

.btn-get-address {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 180%;
	letter-spacing: 0%;
	color: #fff;
	width: 96px;
	height: 45px;
	background-color: #9C9C9C;
	border: none;
	margin-left: 8px;
}

.small {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 180%;
	letter-spacing: 0%;
	margin-top: 8px;
	height: 29px;
	display: block;
}

.form-table select {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 18px;
	leading-trim: NONE;
	line-height: 180%;
	letter-spacing: 0.02em;

	padding: auto;
	height: 48px;
	color: #151515;
	width: 100%;
	border-radius: 4px;
	border: 1px solid #AAA;
	appearance: none;
	margin-bottom: 0;
	background-color: #fff;
	padding: 8px 16px;

	-webkit-appearance: none;
	-moz-appearance: none;
}
.form-table select::-ms-expand {
	display: none;
}
.form-table select {
		background: url("/common/asset/select_down_arrow.svg") no-repeat right 20px center / 14px auto;
}

.input-title-textarea {
	height: 68px;
	top: 0;
	margin-top: 0;
	position: absolute;
	display: flex;
	width: 100%;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
#regist_large_btn {
	display: block;
	width: auto;
	margin: 0 auto;
	text-align: center;
}

.submit-btn-area-text {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 180%;
	letter-spacing: 0%;
	color: #151515;
	margin-bottom: 16px;
	text-align: center;
}

.submit-btn-area-check.checkbox {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 140%;
	letter-spacing: 0%;
	color: #151515;
	padding: 0;
	display: flex;
	margin-bottom: 16px;
	text-align: center;
	align-items: center;
	justify-content: center;
}

.submit-btn-area-check label {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 140%;
	letter-spacing: 0%;
	color: #151515;
	padding: 0;
	display: flex;
	text-align: center;
	align-items: center;
	margin-bottom: 0;
}

.checkbox input[type="checkbox"] {
	width: 22px;
	height: 22px;
	border-radius: 2px;
	border: 1px solid #151515;
	margin: 0;
	margin-right: 5px;
}

#regist_large_btn {
	text-align: center;
}

.rcp-area {
	margin-bottom: 16px;
	text-align: center;
}

.submit-btn-area {
	text-align: center;
}

.btn-confirm {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: capitalize;
	width: 260px;
	height: 56px;
	border-radius: 64px;
	background-color: #005EAD;
	border-color: #005EAD;
	background-image: none;
	color: #ffffff;
}

.btn-confirm:disabled {
	background-color: #9C9C9C;
	border-color: #9C9C9C;
	color: #ffffff;
	box-shadow: none;
	border: none;
}
.btn-confirm:hover,
.btn-confirm:active, 
.btn-confirm:focus {
	border-color: #005EAD;
}

.btn-primary {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: capitalize;
	width: 260px;
	height: 56px;
	border-radius: 64px;
	background-color: #005EAD;
	border-color: #005EAD;
	background-image: none;
	color: #ffffff;
}

.btn-back {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: capitalize;
	width: 260px;
	height: 56px;
	border-radius: 64px;
	background-color: #ffffff;
	border: 1px solid #005EAD;
	background-image: none;
	color: #005EAD;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
.form-message {
	text-align: center;
	margin-bottom: 32px;
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 180%;
	letter-spacing: 0%;
}
.form-table th {
	border-bottom: 1px solid #D7D7D7;
	border-top: 1px solid #D7D7D7;
}
.form-table td {
	border-bottom: 1px solid #D7D7D7;
	border-top: 1px solid #D7D7D7;
}

.submit-btn-area {
	text-align: center;
	display: flex;
	gap: 40px;
	align-items: center;
	justify-content: center;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
.completion_msg {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 140%;
	letter-spacing: 0%;
	color: #151515;
	text-align: center;
	margin-bottom: 32px;
}
.btn-primary {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	text-decoration: none;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
	background-color: #005EAD;
	border-color: #005EAD;
	background-image: none;
	color: #ffffff;
	text-decoration: none;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* ====== レスポンシブ ====== */
@media (max-width: 1024px){
	.top-section {
		height: 310px;
	}

	.top-section-inner {
		padding: 104px 24px 40px 24px;
	}

	.top-title {
		font-family: Noto Sans JP;
		font-weight: 500;
		font-style: Medium;
		font-size: 32px;
		leading-trim: NONE;
		line-height: 160%;
		letter-spacing: 0%;
	}

	.form-section-inner {
		padding: 32px 24px;
	}

	.form-section-body {
		padding: 32px 8px;
	}

	.form-table {
		display: flex;
		flex-wrap: wrap;
		gap: 32px;
	}

	.form-table tbody {
		display: flex;
		flex-wrap: wrap;
		gap: 32px;
	}

	.form-table tr {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		width: 100%;
	}

	.form-table th {
		display: block;
		width: 100%;
		padding: 4px 0;
		height: auto;
		min-height: auto;
	}
	.form-table td {
		display: block;
		width: 100%;
		padding: 4px 0;
		height: auto;
		min-height: auto;
	}

	.submit-btn-area-text {
		text-align: left;
	}

	.input-title.input-title-textarea {
		height: auto;
		top: 0;
		position: relative;
	}

	.form-message {
		text-align: left;
	}
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
