@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;
}

#index_wrap {
	padding-bottom: 60px;
}

.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;
}

.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(400px, 1fr));
	gap: 20px;
}

.company_img img {
	width: 100%;
	height: 350px;
	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;
}

.hirose_pic {
	object-position: top;
}

/* --- questionnaire ---*/
.questionnaire_area {
	max-width: 1440px;
	margin: 60px auto 0;
	padding: 40px 4%;
	font-weight: bold;
}

.questionnaire_title {
	width: 80%;
}

.questionnaire_wrap {
	text-align: center;
}

.txt-blue {
	color: #0490b4;
	font-size: 2.2rem;
}

.questionnaire_wrap {
	text-align: center;
	position: relative;
}

#questionnaire {
	background-color: #fff8cf;
}

.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: 50%;
}

.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: 50%;
}

.questionnaire_img {
	position: absolute;
    top: 50px;
    right: 10%;
    width: 10%;
}

.questionnaire_img img {
	width: 100%;
}

/*--- 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');
}

/*--- 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%;
	}
}

@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%;
	}
}