@charset "UTF-8";

@font-face {
	font-family: Meiryo-low-height;
	src: local(Meiryo), local('メイリオ');
	ascent-override: 90%;
	descent-override: 10%;
}

body {
	min-width: auto;
}

.header__body__middle,
.tab .tab__body,
.contents__Body,
.category__wrap,
#ft_sns_Area,
h2,
.form h2 {
	width: auto;
	max-width: 960px;
}

.tab.kifu .tab__head__body {
	width: auto;
	max-width: 942px;
}

.tab.kifu .tab__head__item {
	width: calc((100% - 9px) / 2);
}

.tab.kifu .tab__head__item a {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
}

.contents__Body .contents__Body {
	margin-right: 0;
	margin-left: 0;
}

@media only screen and (max-width: 1020px) and (min-width: 721px) {
	.header__body__middle,
	.tab .tab__body,
	.contents__Body,
	.category__wrap,
	#ft_sns_Area {
		margin-right: 30px;
		margin-left: 30px;
	}
}

@media only screen and (max-width: 1002px) and (min-width: 721px) {
	.tab.kifu .tab__head__body {
		margin-right: 30px;
		margin-left: 30px;
	}
}

@media only screen and (max-width: 720px) {
	.tab.kifu .tab__head__item {
		width: 49%;
	}
	
	.formBox__item,
	#policy,
	#commonFooter {
		font-size: 114.3%;
	}
}

@media only screen and (max-width: 960px) and (min-width: 721px) {
	.stepNavList {
		width: auto;
	}
}

body,
input,
.preModule,
.formBox__select,
.formBox__textarea,
.formBox__button {
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Meiryo-low-height, "メイリオ", "Meiryo", sans-serif;
}

pre {
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Meiryo-low-height, "メイリオ", "Meiryo", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
}

@media only screen and (max-width: 720px) {
	.f-infoList .f-infoList__item {
		vertical-align: baseline;
	}
}

.contents {
	overflow-x: hidden;
}

.column__item img {
	max-width: 100%;
	height: auto;
}

.leadBox, .msgBox {
	padding: 0;
}

.formBox__item {
	border: 1px solid #d9d9d6;
}

dl.formBox__item {
	display: flex;
	background: none;
}

.formBox__item dt, .formBox__item dd {
	display: block;
}

.formBox__item dt {
	width: 33.3%;
	padding: 20px 72px 24px 24px;
	box-sizing: border-box;
	background: #f2f2f1;
	font-weight: bold;
	letter-spacing: .04em;
}

.formBox__item dt .require {
	top: 24px;
	bottom: auto;
	right: 24px;
	left: auto;
	height: auto;
	margin: auto;
}

.formBox__item dd {
	width: 66.7%;
	padding: 24px;
	box-sizing: border-box;
	letter-spacing: .04em;
}

@media only screen and (max-width: 720px) {
	dl.formBox__item {
		display: block;
	}
	
	dl.formBox__item:not(:first-of-type) {
		border-top: 0;
	}
	
	.formBox__item dt {
		width: 100%;
		padding: 14px 16px;
		border-top: 0;
		border-bottom: 0;
		font-size: 100%;
		line-height: 1.7;
	}
	
	.formBox__item dt .require {
		position: absolute;
		top: 14px;
		right: 16px;
		font-size: 75%;
	}
	
	.formBox__item dd {
		width: 100%;
		padding: 24px 16px;
		font-size: 100%;
	}
}

.formBox__textBox {
	max-width: 100%;
	padding: 11px 16px;
	border: 1px solid #676767;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
	line-height: 170%;
}

@media only screen and (max-width: 720px) {
	.formBox__textBox.size-s {
		max-width: calc(50% - 2em);
	}
	
	.formBox__textBox.size-s[id^='supporter_name_kana'] {
		max-width: calc(50% - 3em);
	}
}

.radioBtnList {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	column-gap: 24px;
	margin-bottom: -12px;
}

.radioBtnList li {
	margin: 0 0 12px 0;
	width: calc((100% - 48px) / 3);
}

@media only screen and (max-width: 720px) {
	.radioBtnList li {
		width: 100%;
	}
}

.formBox__radioLabel {
	width: 100%;
	padding: 11px 15px 11px 45px;
	border: 1px solid #676767;
	border-radius: 8px;
	box-sizing: border-box;
	background-color: #fff;
	transition: all .2s ease-out;
	line-height: 1.7;
	vertical-align: unset;
	font-weight: normal;
}
.formBox__radioLabel:before {
	top: calc(50% - 10px);
	left: 16px;
	border: 1px solid #243c4b;
	box-sizing: border-box;
	background-color: #fff;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

.formBox__radioBtn:checked + .formBox__radioLabel {
	border-color: #243c4b;
	background-color: #243c4b;
	color: #fff;
	font-weight: bold;
}
.formBox__radioBtn:checked + .formBox__radioLabel:after {
	top: calc(50% - 4px);
	left: 22px;
	width: 8px;
	height: 8px;
	border: 4px solid #243c4b;
	box-sizing: border-box;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

.formBox__checkboxLabel:before {
	top: calc(.75em - 10px);
	width: 20px;
	height: 20px;
	border: 1px solid #243c4b;
	border-radius: 4px;
	box-sizing: border-box;
	background-color: #fff;
}

.formBox__checkbox:checked + .formBox__checkboxLabel:after {
	top: calc(.75em - 5px);
	left: 4.5px;
	width: 11px;
	height: 7px;
	border: 3px solid #243c4b;
	border-top: 0;
	border-right: 0;
	box-sizing: border-box;
	transform: rotate(-45deg);
	background: none;
}

.formBox__select {
	max-width: 100%;
	height: auto;
	padding: 11px 42px 11px 16px;
	border: 1px solid #676767;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
	line-height: 170%;
	background: url(/special/lp/img/icon_select.svg) no-repeat calc(100% - 16px) 50%;
}

.formBox__select[disabled] {
	background: #f8f7f7 url(/special/lp/img/icon_select.svg) no-repeat calc(100% - 16px) 50%;
}

@media only screen and (max-width: 720px) {
	.prev-question select {
		margin-top: 12px;
	}
}

.formBox__textarea {
	width: 100%;
	padding: 11px 16px;
	border: 1px solid #676767;
	border-radius: 8px;
}

.formBox__textBox.textbox_error,
.formBox__textBox.textbox_error[disabled] {
	background: #fbe7e8;
	border-color: #d40d15;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
}

.formBox__select.textbox_error,
.formBox__select.textbox_error[disabled] {
	background: #fbe7e8 url(/special/lp/img/icon_select.svg) no-repeat calc(100% - 16px) 50%;
	border-color: #d40d15;
}

.is-disabled {
	background: #dfdfdf;
}

.formTable tr + tr th {
	padding-top: 16px;
}

.formTable th,
.formTable td {
	display: block;
	width: auto;
	padding: 0;
}

.formTable th {
	padding-bottom: 8px;
}

.formBox__note {
	display: inline-block;
}

@media only screen and (max-width: 720px) {
	.formBox__submit.for-inline {
		margin-right: 19px;
		margin-left: 19px;
	}
}

#ft_sns_Area .sns-icon .sns-icon__item + .sns-icon__item {
	margin-left: 10%;
}


.formBox__button span {
	box-shadow: none;
	border-radius: 999px;
}

.formBox__button.btn-red span {
	background-color: #ebebeb;
	color: #676767;
}

.formBox__button.btn-yellow span {
	background: #0072ce;
	color: #fff;
}

.formBox__button.btn-yellow span:hover {
	background: #005ba5;
}

.formBox__button span:hover {
	box-shadow: none;
}

.formBox__button span:hover::before {
	content: none;
}

.formBox__button span:active {
	top: 0;
}


/* policy
-------------------------------------------------- */
#policy h2 {
	color: #1b1b1b;
	font-size: 200%;
	line-height: 1.7;
	margin: 88px 0 32px;
	padding: 0;
	background: none;
}

#policy .box {
	padding: 5px;
	border: 1px solid #d9d9d6;
	letter-spacing: .04em;
}

#policy .box .scrollInner {
	padding: 11px;
	height: 240px;
	overflow: auto;
	scrollbar-color: #0072ce #f2f2f1;
	box-sizing: border-box;
	line-height: 1.5;
}

#policy .box .scrollInner::-webkit-scrollbar {
	width: 10px;
	border-radius: 10px;
	background-color: #f2f2f1;
}

#policy .box .scrollInner::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background-color: #0072ce;
}

#policy a {
	color: #0072ce;
}

#policy .index {
	margin-left: 0;
	list-style: none;
	display: flex;
}

#policy .index li + li {
	margin-top: 0;
}

#policy .index li:not(:first-child) {
	margin-left: 20px;
	padding-left: 20px;
	position: relative;
}

#policy .index li:not(:first-child)::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-0.5em);
	height: 1em;
	border-right: 1px solid #d9d9d6;
}

#policy .index li a {
	padding-right: 24px;
	text-decoration: none;
	position: relative;
}

#policy .index li a:hover,
#policy .index li a:active {
	text-decoration: underline;
}

#policy .index li a::after {
	content: '';
	position: absolute;
	top: calc(50% - 8px);
	right: 0;
	width: 16px;
	height: 16px;
	background: url(/shared/images/ico_1.svg) no-repeat 0 0 / 100%;
	transform: rotate(90deg);
}

#policy h3 {
	color: #1b1b1b;
	margin: 1.25em 0;
	padding: 1.25em 0 0;
	border-top: 1px solid #676767;
	font-size: 100%;
	background: none;
}

#policy p {
	margin: 0 0 .75em;
	line-height: 1.7;
}

@media screen and (max-width: 720px) {
	#policy {
		margin: 0 20px 64px;
	}
	
	.contents__Body #policy {
		margin-right: 0;
		margin-left: 0;
	}
	
	#policy h2 {
		margin: 58px 0 26px;
		font-size: 150%;
	}
	
	#policy .index {
		display: block;
	}
	
	#policy .index li:last-child {
		margin: 11px 0 0;
		padding: 11px 0 0;
		border-top: 1px solid #d9d9d6;
	}
	
	#policy .index li:last-child::before {
		content: none;
	}
}


/* footer
-------------------------------------------------- */
#commonFooter {
	border-top: 1px solid #d9d9d6;
	letter-spacing: .04em;
}

#commonFooter p,
#commonFooter ul {
	margin: 0;
	line-height: 1.5;
}

#commonFooter a {
	color: #0072ce;
	text-decoration: none;
}

#commonFooter a:hover {
	text-decoration: underline;
}

#commonFooter .footNav2 {
	list-style: none;
	padding: 24px 20px calc(24px - 1.5em);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 87.5%;
	line-height: 1;
}

#commonFooter .footNav2 li {
	padding: 0 32px;
	margin: 0 -1px 1.5em 0;
	border-right: 1px solid #d9d9d6;
	border-left: 1px solid #d9d9d6;
}

#commonFooter .copyright {
	padding: 19px 20px 20px;
	border-top: 1px solid #243c4b;
	background-color: #243c4b;
	color: #fff;
	font-size: 75%;
	text-align: center;
}


@media screen and (max-width: 720px) {
	#commonFooter .footNav2 {
		padding: 12px 20px;
		justify-content: space-between;
	}
	
	#commonFooter .footNav2 li {
		width: calc((100% - 16px) / 2);
		line-height: 1.5;
		margin: 0;
		padding: 0;
		border-right: 0;
		border-left: 0;
	}
	
	#commonFooter .footNav2 li:not(:nth-last-child(-n+2)),
	#commonFooter .footNav2 li:nth-child(2n):not(:last-child) {
		border-bottom: 1px solid #d9d9d6;
	}
	
	#commonFooter .footNav2 li a {
		display: flex;
		height: 100%;
		align-items: center;
		padding: 12px 0;
		box-sizing: border-box;
	}
	
	#commonFooter .copyright {
		padding: 12px 20px;
	}
}

