#page-title {
	z-index: -1;
}
#page-title .arrow {
	max-width: 550px;
	width: 35%;
	margin-right: -40px;
}
#page-title .arrow img {
	transform: rotate(-20deg);
}
.entry-nav {
	max-width: 1350px;
	width: 90%;
	margin: 0 auto;
	margin-bottom: 40px;
	display: flex;
	justify-content: space-between;
}
.entry-nav li {
	width: 49.5%;
}
.entry-nav li a {
	display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
	
	height: 100%;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	letter-spacing: 1px;
	padding: 25px 5px 25px 60px;
	background-color: #f8f8f8;
	border-radius: 3px;
	position: relative;
}
.entry-nav li a::before {
    content: "arrow_downward_alt";
    font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translate(0%, -50%);
    color: #aaa;
	background-color: #fff;
	width: 30px;
	height: 30px;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
	border-radius: 50%;
	transition: .3s;
}
.entry-nav li a.active {
	cursor: auto;
}
.entry-nav li a.active,
.entry-nav li a:hover {
	background-color: #28b485;
	color: #fff;
}
.entry-nav li a.active::before,
.entry-nav li a:hover::before {
	color: #28b485;
}
.entry-nav li a strong {
}
@media screen and (max-width: 980px) {
	.entry-nav li a {
		align-items: center;
        text-align: center;
        padding: 20px 5px 60px 5px;
    }
    .entry-nav li a::before {
        top: auto;
        left: 50%;
		bottom: 13px;
        transform: translate(-50%, 0%);
        width: 25px;
        height: 25px;
		letter-spacing: 0;
    }
}
@media screen and (max-width: 680px) {
	#page-title .arrow {
		top: 65%;
        margin-right: -15px;
    }
	.entry-nav {
		display: block;
		margin-bottom: 30px;
	}
	.entry-nav li {
		width: 100%;
		margin-bottom: 10px;
	}
	.entry-nav li a {
		align-items: flex-start;
        text-align: left;
        padding: 15px 5px 15px 30px;
    }
    .entry-nav li a::before {
		content: "keyboard_arrow_down";
        top: 50%;
        left: 0;
		bottom: auto;
        transform: translate(-50%, -50%);
        width: 20px;
        height: 20px;
		font-size: 14px;
		padding-top: 3px;
    }
}
/* --------------------------------------------------- */
#sec01 {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
	margin-bottom: clamp(30px, 7vw, 80px);
}
#sec01 form {
	border: #aaa 3px double;
	padding: 7%;
}
#sec01 .text {
	margin-bottom: 40px;
}
#sec01 .text strong {
	display: block;
	color: #CB1E21;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}
#sec01 .box1,
#sec01 .box3 {
	width: 100%;
	display: table;
	border-bottom: rgba(0,0,0,.1) 1px solid;
	background-color: #fff;
	box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.1);
}
#sec01 .box1.top {
	border-top: rgba(0,0,0,.1) 1px solid;
}
#sec01 .box1 dt,
#sec01 .box1 dd,
#sec01 .box3 dt,
#sec01 .box3 dd {
	display: table-cell;
	vertical-align: middle;
	padding: 30px 0;
}
#sec01 .box1 dt {
	width: 220px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 1px;
	background-color: #f3f3f3;
	padding-left: 20px;
	font-size: 14px;
	border-right: #aaa 1px dashed;
}
#sec01 .box3 dt {
	width: 400px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 1px;
	background-color: #f3f3f3;
	padding-left: 20px;
	font-size: 14px;
	border-right: #aaa 1px dashed;
}
#sec01 .box1 dt span.on,
#sec01 .box2 dt span.on,
#sec01 .box3 dt span.on {
	display: inline-block;
	color: #FF0004;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	margin-left: 5px;
}
#sec01 .box1 dt span.cap,
#sec01 .box2 dt span.cap,
#sec01 .box3 dt span.cap {
	font-size: .9em;
	line-height: 1.4;
	font-weight: 400;
}
#sec01 .box1 dd,
#sec01 .box2 dd,
#sec01 .box3 dd {
	padding: 30px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
}
#sec01 .box2 {
	border-bottom: rgba(0,0,0,.1) 1px solid;
	background-color: #fff;
	box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.1);
}
#sec01 .box2 dt {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 1px;
	background-color: #f3f3f3;
	padding: 20px;
	font-size: 14px;
	border-bottom: #aaa 1px dashed;
}

#sec01 dd textarea,
#sec01 dd input,
#sec01 dd select {
	width: calc(100% + 4px);
	margin: 5px 0;
	margin-left: -2px;
	padding: 13px;
	border-radius:3px;
	background-color: #fafafa;
	box-shadow:2px 2px 6px -6px #333 inset;
}
#sec01 dd input,
#sec01 dd textarea {
	border: 1px solid #ddd;
}
#sec01 dd input.siz-s {
	max-width: 100px;
}
#sec01 dd input:focus,
#sec01 dd textarea:focus {
	border: 1px solid #008A32;
}
#sec01 dd select {
	width: auto;
	padding: 10px 15px;
	border: none;
	border: 1px solid #ddd;
	background: transparent;
	outline: none;
	transition: 0.3s;
}
#sec01 dd select:focus {
	border: 1px solid #28b485;
}
#sec01 dd input::placeholder,
#sec01 dd textarea::placeholder {
	color: #bbb;
}
#sec01 dd label.checkbox,
#sec01 dd label.radio {
	display: flex;
	align-items: center;
	gap: .5em;
	position: relative;
	max-width: 200px;
	margin-bottom: .4em;
	padding: .5em .7em;
	border: 1px solid #ddd;
	border-radius: 3px;
	background-color: #fafafa;
	cursor: pointer;
}
#sec01 dd label.checkbox:has(:checked),
#sec01 dd label.radio:has(:checked) {
	background-color: #28b485;
	color: #fff;
}
#sec01 dd p.set {
	display: flex;
	justify-content: space-between;
	gap: 25px;
}
#sec01 dd p.set label.checkbox {
	width: 300px;
	border: none;
	background-color: transparent;
	padding: 0;
	white-space: nowrap;
}
#sec01 dd p.set input {
	flex: 1;
}

/* .set内のチェックボックスは、選択後も文字色を変えない */
#sec01 dd p.set label.checkbox:has(:checked) {
	background-color: transparent;
	color: inherit;
}
/* padding:0に合わせてチェックマークの位置を調整 */
#sec01 dd p.set label.checkbox:has(:checked)::after {
	left: 7px;
}

/* �演��鐚�綏����＜�獅�� */
#sec01 dd label.checkbox::before,
#sec01 dd label.radio::before {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	box-sizing: border-box;
	border: 1px solid #28b485;
	background-color: #fff;
	content: '';
}
/* ���с�����������鴻���� */
#sec01 dd label.checkbox::before {
	border-radius: 2px;
}
/* ���吾�����帥�潟���� */
#sec01 dd label.radio::before {
	width: 15px;
	height: 15px;
	border-radius: 50%;
}
/* ���с�������� */
#sec01 dd label.checkbox:has(:checked)::after {
	position: absolute;
	top: 50%;
	left: calc(.7em + 7px);
	transform: translate(-50%, -58%) rotate(45deg);
	width: 4px;
	height: 8px;
	border: solid #28b485;
	border-width: 0 2px 2px 0;
	content: '';
}
/* ���吾������ */
#sec01 dd label.radio:has(:checked)::after {
	position: absolute;
	top: 50%;
	left: calc(.7em + 7px);
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #28b485;
	content: '';
}
#sec01 dd label.checkbox input,
#sec01 dd label.radio input {
	display: none;
}
#sec01 dd .link {
	text-decoration: underline;
	display: inline-block;
	margin-bottom: 10px;
	padding-left: 23px;
	position: relative;
}
#sec01 dd .link::before {
    content: "double_arrow";
    font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0%, -50%);
}
#sec01 dd .link:hover {
	color: #28b485;
}

#sec01 dd .privacy {
	border: #28b485 1px solid;
	padding: 15px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 1px;
	line-height: 1.6;
	margin-bottom: 20px;
	height: 200px;
	overflow: auto;
}
#sec01 dd .privacy h5 {
	font-weight: 600;
	font-size: 1.1em;
	margin-bottom: 10px;
}
#sec01 dd .privacy p {
	margin-bottom: 20px;
}
#sec01 dd .privacy > ul {
}
#sec01 dd .privacy > ul > li {
	margin-bottom: 15px;
	padding-left:1em;
	text-indent:-1em;
}
#sec01 dd .privacy > ul > li strong {
	display: block;
	font-weight: 600;
	margin-bottom: 5px;
}
#sec01 dd .privacy ul ul {
	list-style: outside disc;
	margin-left: 20px;
	margin-top: 10px;
}
#sec01 dd .privacy li li {
	line-height: 1.5;
	margin-bottom: 3px;
	padding-left:0;
	text-indent:0;
}

input[type="submit"] {
  -webkit-appearance: none;
}
input.form_btn {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	display: block;
	max-width: 320px;
	width: 90%;
	margin: 30px auto 0;
	background-color: #28b485;
	text-align: center;
	font-size: 1.2em;
	line-height: 1;
	padding: 30px 0 32px;
	letter-spacing: 2px;
	font-weight: 500;
	color: #fff;
	transition: .4s;
}
input.form_btn:hover {
	cursor: pointer;
	background-color: #7ed56f;
	color: #fff;
}
@media screen and (max-width: 980px) {
	
	#sec01 form {
        padding: 5%;
    }
	#sec01 .box1,
    #sec01 .box3 {
		display: block;
    }
    #sec01 .box1 dt,
    #sec01 .box1 dd,
    #sec01 .box3 dt,
    #sec01 .box3 dd {
        display: block;
    }
    #sec01 .box1 dt,
	#sec01 .box3 dt {
        width: 100%;
		padding: 20px;
		border-right: none;
		border-bottom: #aaa 1px dashed;
    }
}
@media screen and (max-width: 680px) {
	
	#sec01 form {
        border: #aaa 3px double;
        padding: 0;
    }
    #sec01 .text {
        margin-bottom: 10px;
		letter-spacing: 1px;
		padding: 15px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 400;
    }
	#sec01 .box1 dt,
	#sec01 .box2 dt,
	#sec01 .box3 dt {
		padding: 10px 15px;
		font-size: 13px;
	}
	#sec01 .box1 dd,
	#sec01 .box2 dd,
	#sec01 .box3 dd {
		padding: 15px 20px;
	}
	#sec01 dd textarea,
    #sec01 dd input,
    #sec01 dd select {
        padding: 10px;
    }
	#sec01 dd input.siz-s {
        max-width: 70px;
    }
	#sec01 dd p.set {
		display: block;
    }
	#sec01 dd p.set:first-child {
		margin-bottom: 10px;
    }
    #sec01 dd p.set label.checkbox {
    }
	#sec01 dd p.set input {
		margin-left: 20px;
		width: 80%;
	}
	
	#sec01 dd p.set label.checkbox {
		width: auto;
		max-width: none;
		margin-bottom: 5px;
	}

	#sec01 dd p.set input[type="text"] {
		width: calc(100% - 20px);
		margin-left: 20px;
	}
	
	input.form_btn {
		width: 80%;
        margin: 30px auto;
        padding: 25px 0 27px;
    }
	#sec01 dd .privacy {
        font-size: 13px;
        margin-bottom: 15px;
    }
}
/* --------------------------------------------------- */
#thanks {
	max-width: 850px;
	width: 90%;
	margin: 0 auto;
	margin-bottom: clamp(50px, 7vw, 80px);
	border: #aaa 3px double;
	padding: 6%;
}
#thanks h6 {
	text-align: center;
	margin-bottom: 30px;
	font-size: 1.4em;
	font-weight: 400;
}
#thanks p {
	margin-bottom: 10px;
}
@media screen and (max-width: 980px) {
}
@media screen and (max-width: 680px) {
}
/* --------------------------------------------------- */