@charset "UTF-8";

/* -----------------------------------------
 Reset
----------------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,
small,strong,sub,sup,var,b,u,i,dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,input,textarea,table,caption,tbody,thead,tfoot,tr,th,td,
main,article,aside,canvas,details,embed,figure,figcaption,footer,header,
menu,nav,output,ruby,section,summary,time,mark,audio,video,hr {
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6,th {
	font-family: inherit;
	font-size: 100%;
	font-weight: 400;
}
table {
	border-spacing: 0;
	border-collapse: collapse;
}
table,th,td {
	text-align: left;
	border: none;
}
ol,ul,li {
	list-style: none;
}
img {
	border: none;
	vertical-align: top;
	max-width: 100%;
}
*,*:before,*:after {
	box-sizing: border-box;
}
sup {
	font-size: 0.7em;
	margin-top: -0.3em;
	display: inline-block;
}
sub {
	font-size: 0.5em;
	vertical-align: 0;
	display: inline-block;
}
body {
	font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Quicksand", "游ゴシック体", "Yu Gothic", "YuGothic", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	min-width: 320px;
}
.header_bg {
	position: sticky;
	top: 0;
	z-index: 5000;
}
.ft_line {
	display: block !important;
}

/* -----------------------------------------
 Contents
----------------------------------------- */
main, .questionnaire {
	font-size: 16px;
	font-weight: 400;
	font-feature-settings: "palt";
	letter-spacing: 0.075em;
	line-height: 1.6;
	color: #1A1A1A;
	-webkit-text-size-adjust: 100%;
	text-align: justify;
	overflow-x: hidden;
}
main img {
	max-width: 100%;
	height: auto;
}
main .mainvisual {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
main .mainvisual:after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	background: #fff;
	transform: skewX(-20deg);
	width: 27%;
}
main .mainvisual .mainvisual_pic {
	width: 83.11688312%;
}
main .mainvisual .mainvisual_line {
	position: absolute;
	right: -10%;
	top: -10px;
	bottom: 0;
	width: auto;
	height: calc(100% + 10px);
	z-index: 10;
}
main .inr {
	max-width: 1080px;
	padding: 0 40px;
	margin: 0 auto;
}
main .iblock, .questionnaire .iblock {
	display: inline-block;
}
main .btn {
	margin-top: 20px;
}
main .btn a {
	display: inline-block;
	line-height: 1;
	padding: 12px 30px 14px;
	background-color: #1A1A1A;
	border-radius: 4px;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
main a {
	transition: all .3s;
}
main a:hover {
	opacity: 0.75;
}
main .textline {
	letter-spacing: -0.08em;
	display: inline-block;
	margin: 0 0.2em;
}
main .supplement {
	font-size: 0.75em;
	margin-top: 6.25em;
	margin-bottom: 6.25em;
	padding: 30px;
	background: #F5F5F5;
}
main h1.title {
	font-size: 3.125em;
	font-weight: 600;
	margin-top: 0.8em;
	margin-bottom: 0.8em;
}
main h2.title {
	font-size: 1.875em;
	font-weight: 600;
	margin-top: 3.66666667em;
	margin-bottom: 1.16666667em;
	text-align: left;
}
main .title .title-sub {
	display: block;
	font-size: 0.53333333em;
	color: #568393;
	margin-bottom: 0.5em;
}
main .lead .lead_info {
	margin-top: 30px;
	border-top: solid 1px #D9D9D9;
	padding-top: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}
main .lead .lead_info > li {
	display: flex;
	gap: 10px;
	line-height: 1;
	align-items: center;
}
main .lead .lead_info.lead_info__col1 > li {
	width: 100%;
	flex-wrap: wrap;
}
main .lead .lead_info_label {
	padding: 8px 14px;
	font-size: 0.75em;
	background: #F5F5F5;
	border-radius: 4px;
}
main .lead strong.lead_info_name {
	font-size: 1.25em;
}
main .col2 {
	display: flex;
	gap: 50px;
	flex-direction: row-reverse;
	margin-top: 3.125em;
	margin-bottom: 3.125em;
}
main .col2.col2__reverse {
	flex-direction: row;
}
main .col2 .col2_txt {
	width: calc(100% - 56% - 50px);
}
main .col2 .col2_img {
	width: 56%;
}
main .col2 .col2_img img {
	border-radius: 16px;
}
main .interview {
	display: table;
}
main .interview .interview_block {
	display: table-row;
}
main .interview .interview_block > * {
	display: table-cell;
}
main .interview .interview_block > *:first-child {
	width: 1%;
	white-space: nowrap;
	text-align: right;
	font-weight: 600;
}
main .interview .interview_block + .interview_block > * {
	padding-top: 1.25em;
}
main .imglink li + li {
	margin-top: 1.25em;
	border-top: solid 1px #D9D9D9;
	padding-top: 1.25em;
}
main img.noradius {
	border-radius: 0 !important;
}
main .info {
	background: #F5F5F5;
	padding: 80px 0;
	margin-top: 120px;
}
main .contact > a {
	display: flex;
	gap: 30px;
	padding: 30px 90px 30px 30px;
	background: #fff;
	border-radius: 16px;
	align-items: center;
	transition: all .3s;
	color: inherit;
	text-decoration: none;
	position: relative;
	margin-top: 1em;
}
main .contact > a:hover {
	opacity: 0.75;
}
main .contact > a:after {
	content: "";
	background: url("img_contact.svg") 0 0 no-repeat;
	background-size: cover;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 30px;
}
main .contact .contact_logo {
	width: 120px;
}
main .contact .contact_txt {
	flex-grow: 1;
}
main .contact .contact_txt {
	flex-grow: 1;
}
main .contact .contact_txt_main {
	font-size: 1.5em;
	font-weight: 600;
}
main .contact .contact_txt_info {
	display: flex;
	margin-top: 1.25em;
}
main .contact .contact_txt_info dl + dl {
	padding-left: 30px;
	border-left: solid 1px #D9D9D9;
	margin-left: 30px;
}
main .contact .contact_txt_info dl dt {
	margin-bottom: 0.75em;
	font-weight: 600;
	line-height: 1;
}
main .contact .contact_txt_info dl dd {
	font-size: 0.75em;
}
main .contact .contact_txt_info dl dd.contact_txt_tel {
	font-family: Arial, Helvetica, sans-serif;
	letter-spacing: 0;
	font-size: 2.5em;
	font-weight: bold;
	line-height: 0.8em;
	white-space: nowrap;
}
main .contact .contact_txt_info dl dd.contact_txt_tel span {
	font-weight: normal;
	display: inline-block;
	vertical-align: 0.1em;
}
main .line {
	background: #D9D9D9;
	height: 1px;
	margin: 50px 0;
	border: none;
}
main .member > a {
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: left;
	padding: 30px 90px 30px 30px;
	background: #fff;
	border-radius: 16px;
	position: relative;
	text-decoration: none;
	color: inherit;
}
main .member > a:hover {
	opacity: 0.75;
}
main .member > a:after {
	content: "";
	background: url("img_contact.svg") 0 0 no-repeat;
	background-size: cover;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 30px;
}
main .member .member_logo {
	width: 60px;
	border-radius: 50%;
	background: #f5f5f5;
}
main .member .member_txt {
	font-size: 1.25em;
	font-weight: 600;
	text-align: left;
}
main .member .member_btn {
	margin-top: 0;
}
main .notes {
	font-size: 0.75em;
}
main .notes > * + * {
	margin-top: 0.9em;
}
main .notes li + li {
	margin-top: 0.25em;
}
main .notes strong {
	font-size: 1.5em;
	font-weight: 400;
}
main .notes li span {
	display: table-cell;
}
main .notes li span:first-child {
	width: 1%;
	white-space: nowrap;
}
.questionnaire {
	position: sticky;
	bottom: 0;
	z-index: 20;
}
.questionnaire a {
	display: block;
	color: inherit;
	text-decoration: none;
	padding: 20px;
	color: #fff;
	background: #1A1A1A;
	transition: all .3s;
	position: relative;
}
.questionnaire a:after {
	content: "";
	background: url("img_link.svg") 0 0 no-repeat;
	background-size: cover;
	width: 24px;
	height: 24px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.questionnaire a:hover {
	background: #535353;
}
.questionnaire a > * {
	display: block;
	text-align: center;
	font-weight: 600;
}
.questionnaire .questionnaire_sub {
	font-size: 0.75em;
}
.questionnaire .questionnaire_sub strong {
	color: #fd7370;
}
.questionnaire .questionnaire_txt {
	margin-top: 0.5em;
}
.caption {
	display: block;
	margin-top: 1em;
	font-size: 0.75em;
	text-align: right;
	line-height: 1;
}
@media screen and (max-width: 859px) {
	main {
		font-size: 13px;
	}
}
@media screen and (max-width: 767px) {
	main .supplement {
		margin-top: 3em;
		margin-bottom: 3em;
		padding: 15px;
	}
	main h1.title {
		font-size: 1.7em;
	}
	main .inr {
		padding: 0 25px;
	}
	main .lead .lead_info {
		margin-top: 20px;
		padding-top: 20px;
	}
	main .lead .lead_info > li {
		flex-wrap: wrap;
	}
	main h2.title {
		font-size: 1.5em;
		margin-top: 2em;
		margin-bottom: 1em;
	}
	main .col2 {
		display: block;
		margin-top: 1em;
		margin-bottom: 1em;
	}
	main .col2 .col2_img,
	main .col2 .col2_txt {
		width: 100%;
	}
	main .col2 .col2_txt {
		margin-top: 1.25em;
		margin-bottom: 1.25em;
	}
	main .info {
		padding: 40px 0;
		margin-top: 60px;
	}
	main .contact > a {
		display: block;
		padding: 25px;
		border-radius: 16px;
	}
	main .contact > a:after {
		width: 20px;
		height: 20px;
		right: 20px;
	}
	main .contact .contact_txt {
		margin-top: 15px;
	}
	main .contact .contact_logo {
		width: 80px;
		margin: 0 auto;
	}
	main .contact .contact_txt_main {
		font-size: 1.5em;
		text-align: center;
		padding: 0 20px;
	}
	main .contact .contact_txt_info {
		margin-top: 1.25em;
		justify-content: center;
	}
	main .contact .contact_txt_info dl + dl {
		padding-left: 15px;
		margin-left: 15px;
	}
	main .contact .contact_txt_info dl dd.contact_txt_tel {
		font-size: 2.0em;
	}
	main .line {
		margin: 30px 0;
	}
	main .member > a {
		gap: 10px;
		padding: 25px 40px 25px 25px;
	}
	main .member > a:after {
		width: 20px;
		height: 20px;
		right: 20px;
	}
	main .member .member_logo {
		width: 60px;
	}
	main .member .member_txt {
		font-size: 1.2em;
	}
	.questionnaire a {
		padding: 15px 15px;
	}
	.questionnaire a:after {
		width: 16px;
		height: 16px;
		right: 10px;
	}
	.questionnaire .questionnaire_sub {
		font-size: 0.58em;
	}
	.questionnaire .questionnaire_txt {
		font-size: 0.75em;
		margin-top: 0.3em;
		padding: 0 15px;
	}
}
@media screen and (max-width: 499px) {
	main .contact .contact_txt_info {
		display: block;
	}
	main .contact .contact_txt_info dl + dl {
		padding-left: 0;
		border-left: none;
		margin-left: 0;
		padding-top: 15px;
		border-top: solid 1px #D9D9D9;
		margin-top: 15px;
	}
}
