@charset "utf-8";

/*--- 共通 ---*/

/* .index_h2 {
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	padding: 0 0 20px;
	margin: 90px 0 60px;
	position: relative;
	color: #0490b4;
} */

/* .index_h2::after {
	position: absolute;
	content: "";
	width: 200px;
	height: 4px;
	bottom: 0;
	left: 0;
	right: 0;
	background: #0490b4;
	margin: auto;
} */

.gradient-border-box {
	display: inline-block;
	background-color: #fff;
	font-weight: bold;
	border: 4px solid transparent;
	border-image: linear-gradient(to right, #0490b4, #FBE204) 1;
	font-family: 'Noto Sans JP', sans-serif;
	color: #00a6cb;
	font-size: 2rem;
	font-size: 3rem;
	padding: .2em 1.5em;
	margin-bottom: 40px;
	width: 50%;
	text-align: center;
}

.question_h2 {
	display: flex;
	align-items: center;
	text-align: center;
	background-color: #FBE204;
	border: 3px solid #000000;
	border-radius: 50px;
	padding: 12px 20px;
	font-weight: bold;
	font-size: 3rem;
	margin: 80px auto 40px;
}

.question_icon {
	color: #333;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
	flex-shrink: 0;
	font-family: "Cabin", sans-serif;
	font-weight: 900;
	font-size: 60px;
}

.question_text {
	flex: 1;
	line-height: 1.4;
}

.index_h3 {
	font-size: 2rem;
	font-weight: bold;
	color: #08aacc;
	margin-bottom: 1rem;
}

.flex {
	display: flex;
	align-items: center;
}

.sp-only {
	display: none;
}

.index_image {
	width: 80%;
}

.index_image img {
	margin: 0 auto;
	width: 60%;
}

.illust {
	display: flex;
	align-items: center;
}


/*--- header ---*/
#header_wrap {
	padding: 20px;
	display: flex;
	justify-content: center;
}

.logo_img {
	width: 150px;
}


/*--- MV ---*/
.mv_wrap {
	position: relative;
}

.mv {
	width: 100%;
}

.catch_img {
	width: 100%;
}

h1.title {
	display: none;
}

.lead_txt {
	max-width: 1440px;
	margin: 90px auto 0;
	padding: 0 4%;
}

.lead_txt p {
	font-size: 1.8rem;
	text-align: center;
	font-weight: 700;
}

.marker {
	background: linear-gradient(transparent 60%, #fff6c4 60%);
}

.index_article_area {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 4%;
}

.index_article_txt {
	text-align: left;
}

/*---howto---*/
.howto_area {
	max-width: 1440px;
	margin: 0 auto;
	padding: 60px 4%;
}

.sample_company_info_item {
	width: 50%;
	height: fit-content;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .25);
}

.sample_company_info_item ul li p {
	font-weight: bold;
	margin-top: 10px;
}

.howto_txt {
	margin-left: 30px;
}

.howto_txt span {
	font-size: 1.2rem;
}

.howto_h3 {
	font-size: 2rem;
	font-weight: bold;
	color: #0490b4;
}

.howto_inner {
	position: relative;
}

.howto_first {
	position: absolute;
	top: 28%;
	right: 10%;
	width: 30%;
	background: #fff9b0;
	padding: 16px;
}

.howto_second {
	position: absolute;
	top: 55%;
	right: 10%;
	width: 30%;
	background: #fff9b0;
	padding: 16px;
}

.howto_h3 {
	position: relative;
	padding-left: 0.5rem;
}

.howto_h3::before {
	content: '';
	display: inline-block;
	width: 50%;
	height: 2px;
	border-bottom: 1.5px solid #333;
	position: absolute;
	top: 50%;
	right: 100%;

}

/*---company_info---*/
.company_info_area {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 4%;
}

.company_info_item {
	height: fit-content;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .25);
}

.company_info_list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(394px, 1fr));
	gap: 20px;
}

.company_img img {
	width: 100%;
	height: 250px;
	object-fit: cover;
}

.company_img.mobius img {
	object-fit: contain;
	object-position: top;
}

.company_img {
	position: relative;
}

.company_name {
	position: absolute;
	bottom: 0;
	background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
	width: 100%;
	padding: 3em 13px 13px;
	color: #FFF;
}

.company_name h3 {
	font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: 0.3em;
}

.company_name.name_long h3 {
	letter-spacing: 0.1em;
}

.catchcopy {
	font-size: 1.25rem;
}

.footnote {
	padding: 13px 13px 0 13px;
	font-size: 1.25rem;
}

.company_info_item ul li p {
	font-weight: bold;
	margin-top: 10px;
}

.contact_info ul li:last-child {
	margin-left: 30px;
}

.recruit_info,
.contact_info {
	padding: 20px;
}

.company_detail {
	padding: 15px;
}

.intern_info,
.pr_info {
	background-color: #fff8cf;
	padding: 20px;
	margin-top: 50px;
}

.company_detail h4 {
	text-align: left;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 1em;
}

.company_detail h4::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 2px;
	bottom: 0;
	left: 0;
	right: 0;
	background: #0081CC;
	margin: auto;
}

.intern_info h4,
.pr_info h4 {
	align-items: center;
	text-align: center;
	background-color: #FBE204;
	border: 2px solid #000000;
	border-radius: 50px;
	padding: 5px 20px;
	font-weight: bold;
	font-size: 1.8rem;
	width: 80%;
	margin: -50px auto 20px;
}

.intern_info h4::after,
.pr_info h4::after {
	display: none;
}

.intern_info p::before {
	content: "●";
	font-size: 0.9rem;
	margin-right: 5px;
	color: #0490b4;
}

.pic_contain {
	object-fit: contain !important;
}

/* --- questionnaire ---*/
.questionnaire_area {
	max-width: 1440px;
	padding: 40px 4%;
	font-weight: bold;
	margin: 0 auto;
}

.questionnaire_title {
	width: 65%;
}

.questionnaire_wrap {
	text-align: center;
}

.txt-blue {
	color: #0490b4;
	font-size: 2.2rem;
}

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

#questionnaire {
	background-color: #daf0f9;
}

.questionnaire_wrap p {
	margin: 0 auto;
}

.questionnaire_wrap a {
	background: #0081CC;
	color: #FFF;
	display: block;
	text-align: center;
	padding: 15px 10px;
	margin: 20px auto 20px;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	text-decoration: none;
	width: 35%;
}

.questionnaire_wrap a:hover {
	opacity: .8;
}

.questionnaire_wrap a::after {
	content: url('../img/new_tab.svg');
}

.deadline {
	font-size: 2rem;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 1rem 0;
	margin-top: 20px;
	width: 35%;
}

.questionnaire_img {
	position: absolute;
	top: 50px;
	right: 12%;
	width: 10%;
}

.questionnaire_img img {
	width: 100%;
}

#koho_shien .questionnaire_wrap a {
	background: #31896a;
	color: #fff;
	font-size: 2rem;
	width: 65%;
	margin: 0 auto;
	letter-spacing: 0.1em;
}

#koho_shien .questionnaire_wrap a:hover {
	opacity: .85;
}

#koho_shien .questionnaire_wrap a::after {
	content: url('../img/new_tab.svg');
}

/*--- link ---*/
.index_paper {
	text-align: center;
	margin: 2em 0;
}

.index_paper a {
	color: inherit;
}

.link_txt a::after {
	content: url(../img/new_tab_b.svg);
	width: 32px;
	display: inline-block;
	padding: 0 0.5em;
}



/*--- btn ---*/
.btn_area {
	margin: 10px 0 10px;
}

.company_detail_btn {
	background: #0081CC;
	color: #FFF;
	display: block;
	text-align: center;
	padding: 15px 10px;
	margin: 0 auto;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	text-decoration: none;
}

.company_detail_btn:hover {
	opacity: .8;
}

.company_detail_btn::after {
	content: url('../img/new_tab.svg');
}

/* --- 実績表記：小さく右寄せ --- */
.jisseki {
	display: block;
	font-size: 0.85em;
	text-align: right;
	color: #555;
	margin-top: 2px;
}

/*--- footer ---*/
#return {
	position: relative;
	z-index: 50;
}

.return_btn {
	display: block;
	position: fixed;
	right: 20px;
	bottom: 90px;
	width: 60px;
	height: 60px;
	border: 1px solid #FFF;
	background: #FFF url(../img/arrow_t.svg) no-repeat center;
	border-radius: 10px;
	text-decoration: none;
	transition: all 0.3s;
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.16);
	background-size: 60% auto;
}

.return_btn:hover {
	box-shadow: 0 5px 13px 0 rgba(0, 0, 0, 0.26);
}

.return_txt {
	display: none;
}

#footer_wrap {
	padding: 15px 20px;
	background: #000000;
	color: #FFF;
	text-align: center;
}

@media screen and (max-width:912px) {
	body {
		-webkit-text-size-adjust: 100%;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		background: #fff;
		width: auto;
	}

	input,
	textarea,
	select {
		font-size: 16px;
	}

	p {
		font-size: 1.3rem;
		line-height: 1.7;
	}

	[href^="tel:"] {
		pointer-events: auto;
	}

	/*----- 共通 -----*/
	.question_h2 {
		font-size: 2.3rem;
	}

	.index_h3 {
		font-size: 2rem;
	}

	/*--- header ---*/
	#header_wrap {
		padding: 15px;
	}

	/*--- header ---*/
	h1.title {
		font-size: 3.3rem;
	}

	/*--- footer ---*/
	.return_btn {
		right: 10px;
		bottom: 60px;
		width: 46px;
		height: 46px;
		background-size: 45% auto;
	}

	/*--- how to ---*/
	.gradient-border-box {
		font-size: 2rem;
	}

	/*--- company_info ---*/
	.company_info_item ul li span {
		font-size: 1.3rem;
	}

	.sample_company_info_item ul li span {
		font-size: 1.3rem;
	}

	.txt-blue {
		font-size: 1.8rem;
	}

	.questionnaire_wrap a,
	.deadline {
		width: 80%;
	}

	#koho_shien .questionnaire_wrap a {
		width: 90%;
		font-size: 1.7rem;
	}
}

@media screen and (max-width:767px) {

	/*--- 共通 ---*/
	.question_h2 {
		font-size: 1.8rem;
		text-align: left;
	}

	.index_h3 {
		font-size: 1.5rem;
	}

	.illust {
		flex-direction: column;
	}

	.sp-only {
		display: block;
	}

	/*--- header ---*/
	.logo_img {
		width: 106px;
	}

	/*--- mv ---*/
	h1.title {
		font-size: 2.2rem;
	}

	.lead_txt {
		margin-top: 40px;
	}

	.lead_txt p {
		font-size: 1.3rem;
	}

	.index_image img {
		margin-top: 40px;
		width: 100%;
	}

	/*---howto---*/
	.gradient-border-box {
		font-size: 1.8rem;
		width: 100%;
		text-align: center;
	}

	.sample_company_info_item {
		width: 100%;
	}

	.howto_h3 {
		font-size: 1.6rem;
		margin-bottom: 0.5rem;
	}

	.howto_h3::before {
		transform: rotate(55deg);
		top: -53%;
		right: 98%;
		width: 28%;
	}

	.howto_first {
		width: 60%;
		top: 36%;
		right: 7%;
	}

	.howto_second {
		width: 60%;
		top: 63%;
		right: 7%;
	}

	/*--- company_info ---*/
	.company_name h3 {
		font-size: 2rem;
		letter-spacing: 0.2em;
	}

	.company_detail h4,
	.company_detail_btn {
		font-size: 1.6rem;
	}

	.company_info_list {
		grid-template-columns: 1fr;
	}

	.questionnaire_wrap p {
		font-size: 1.3rem;
	}

	.questionnaire_title {
		margin-bottom: 80px;
	}

	.txt-blue {
		font-size: 1.5rem;
	}

	.questionnaire_wrap a,
	.deadline {
		width: 100%;
		font-size: 1.5rem;
	}

	.questionnaire_img {
		top: 35px;
		right: 0;
		width: 25%;
	}

	.link_txt a::after {
		width: 23px;
		padding: 0 0.3em;
	}

	#koho_shien .questionnaire_wrap a {
		width: 100%;
		font-size: 1.5rem;
	}
}