@charset "utf-8";

@font-face {
	font-family: 'MidashiGoPro';
	src: url('../../fonts/A-OTF-MidashiGoPro-MB31.otf') format('opentype');
	font-display: swap;
}

@font-face {
	font-family: 'DINPro';
	src: url('../../fonts/DINPro-Medium_tr.ttf') format('truetype');
	font-display: swap;
}


.ico_category{
	border: solid 1px;
	border-radius: 30px;
	padding: 0px 20px;
}

.page_endlink{
	border-top: solid 1px #000;
	padding: 50px 0;
}

.btn-back {
	display: inline-block;
	overflow: hidden;
	position: relative;
	text-align: right;
	cursor: pointer;
	padding: 0 0 0 50px;
}

.btn-back:before {
	top: 17px;
	left: 0px;
	height: 2px;
	width: 35px;
}

.btn-back:before, .btn-back:after {
	content: '';
	position: absolute;
	background: #000;
}

.btn-back:after {
	top: 13px;
	left: 0px;
	height: 2px;
	width: 10px;
	transform: rotate(-45deg);
}

.key_common{
	position: relative;
	width: 100%;
	height: 800px;
}

.key_common h1 {
	padding-left: 60px;
	position: absolute;
	bottom: 20px;
	width: 100%;
	line-height: 1;
	font-size: 10vw;
	font-weight: bold;
	color: #fff;
	letter-spacing: 10px;
	font-family: 'DINPro';
}

.key_common h1 span{
	font-size: 1.5vw;
	display: block;
	margin-left: 10px;
}

/* flow */
.key_flow{
	background: url(../img/key_flow.png) center / cover;
}

.flow{
	margin: 80px 0;
}
.step{
	text-align: center;
	font-size: 30px;
	line-height: 1;
	margin-bottom: 20px;
}

.step span{
	color: #eae3dc;
	font-size: 30px;
	display: block;
}

.flow_box{
	display: flex;
}

.flow_box h2{
	font-size: 25px;
	font-weight: bold;
	margin-bottom: 10px;
}

.flow_box a{
	color: #8a8a8a;
}

.flow_box .left{
	width: 51%;
	text-align: right;
	padding-right: 70px;
}

.flow_box .right{
	width: 49%;
	position: relative;
	padding-left:60px;
	padding-bottom: 40px;
}

.flow_box .right::before{
	position: absolute; /*--positionを追加--*/
	top: 0;
	right: 100%;
	margin: 0 1rem;
	content: "";
	width: 1px; /*--縦線の太さ(幅)--*/
	height: 100%;
	background-color: #333; /*--縦線の色--*/
}

.flow_box .right::after{
	position: absolute;
	top: 0;
	left: -3.9%;
	content: "・";
	font-size: 26px;
}

.flow_img1{
	background:url(../img/img_flow1.png) no-repeat;
	background-position: left top;
	background-size: 43%;
}

.flow_img2{
	background:url(../img/img_flow2.png) no-repeat;
	background-position: left top;
	background-size: 43%;
}

.flow_img{
	display: none;
}

/* contact */
.key_contact{
	background: url(../img/key_contact.png) center / cover;
}

.contact_tel{
	margin: 60px 0;
	text-align: center;
}

.contact_tel p:nth-child(1){
	font-size: 18px;
	font-weight: bold;
}

.contact_tel p:nth-child(2){
	font-size: 40px;
	font-weight: bold;
	line-height: 1.4;
}

.contact_web{
	text-align: center;
	margin-bottom: 40px;
}

.contact_web p:first-child{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}

.contact{
	width: 1000px;
	margin: 0 auto 80px;
}

.contact_form_box{
	margin-bottom: 40px;
}

.radio_box .mwform-radio-field{
	display: inline-block;
	margin-right: 40px;
}

input[type=text],
input[type=email]{
	background-color: #f3eeec;
}

.form_title{
	margin-bottom: 10px;
}

.input_type1{
	width: 400px;
}

.input_type2{
	width: 150px!important;
}

.input_type3{
	width: 100%;
}

textarea{
	width: 100%;
	height: 150px;
	background-color: #f3eeec;
}

.policy {
	height: 200px;
	padding: 10px;
	border: 1px solid #dddddd;
	border-radius: 5px;
	background: #fff;
	overflow: scroll;
	margin-bottom: 20px;
}

.policy div{
	margin-bottom: 20px;
}

.policy div:first-of-type{
	margin-top: 20px;
}

.policy p:first-child{
	font-weight: bold;
	margin-bottom: 0;
}

.policy p:last-child{
	margin-left: 1em;
}

.btn_submit {
	position: relative;
	width: 400px;
	margin: 80px auto 0;
}

.btn_submit::after {
	content: '';
	border: 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	display: inline-block;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(45deg);
}

.btn_submit input{
	background: #000;
	color: #fff;
	border: none;
	cursor: pointer;
	display: block;
	width: 100%;
	padding: 10px;
	border-radius: 50px;
	text-align: center;
}

.error_msg span{
	display: block;
	color: #CE4560;
	font-size: 14px;
}

.open-area2{display: none;}

/* info */
.key_info{
	background: url(../img/key_info.png) center / cover;
}

.info_cate{
	border: solid 1px;
	border-radius: 30px;
	padding: 0px 20px;
	display: inline-block;
	margin: 20px 20px 0;
}

/* company */
.key_company{
	background: url(../img/key_company.png) center / cover;
}

.company_table{
	margin: 50px auto;
	width: 800px;
}

.company_table tr{
	border-bottom: solid 1px #000;
}

.company_table th,
.company_table td{
	padding: 10px 0;
}

.company_table th{
	width: 150px;
}

.map{
	margin-bottom: 80px;
}

/* case */
.key_case{
	background: url(../img/key_case.png) center / cover;
}

.tag_list{
	border-bottom: solid 1px #000;
}

.tag_list ul{
	display: flex;
	justify-content: space-around;
}

.tag_list li{
	width: 15%;
}

.tag_list a{
	padding: 30px 0;
	display: block;
	text-align: center;
}

.tag_list a:hover{
	background: #000;
	color: #fff;
	opacity: unset;
}

.hash_tag_t{
	margin: 40px 0 0 0;
	font-size: 25px;
	font-weight: bold;
	border-bottom: solid 1px;
	border-left: solid 4px;
	padding: 0 20px 10px;
	line-height: 1.2;
}

.case_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: start;
}

.case_list section{
	width:48%;
}

.case_list.case-items section{
	margin: 0 0 40px 0;
}

.pankz{
	text-align: center;
	margin-bottom: 80px;
}

.pankz a,
.pankz span{
	padding: 5px 10px;
	border: solid 1px #000;
	display: block;
	display: inline-block;
	margin: 0 5px;
}

.pankz span{
	background-color: #000;
	color: #fff;
}

.article_title{
	text-align: center;
	border-bottom: solid 1px #000;
	padding: 30px 0;
}

.article_title h2{
	font-size: 25px;
}

.article_title li{
	display: inline-block;
	margin: 0 10px;
}

.article_title li a{
	color: #8a8a8a;
}

.article_box .container{
	margin: 40px auto 80px;
}

.article_box .container p{
	margin-bottom: 30px;
	text-align: center;
}

.article_top_img{
	text-align: center;
	margin-top: 50px;
}

.article_top_img img {
	height: auto!important;
}

.btn_orng {
	background: #F6932E;
	color: #fff;
	font-size: 25px;
	border-radius: 5px;
	text-align: center;
	padding: 20px;
	margin: 70px auto;
	display: block;
	width: 55%;
}

/********************1200px以下*******************/
@media (max-width: 1200px) {
	.flow_box{
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.flow_box .left,
	.flow_box .right{
		width: 100%;
	}

	.flow_box .right::before{
		left: 0;
	}

	.flow_box .right::after {
		left: -2.5px;
	}

	.flow_box .left{
		text-align: left;
		position: relative;
		padding-left: 60px;
	}

	.flow_box .left::before {
		position: absolute;
		top: 0;
		left: 0;
		margin: 0 1rem;
		content: "";
		width: 1px;
		height: 100%;
		background-color: #333;
	}

	.flow_box .left::after {
		position: absolute;
		top: 0;
		left: -2.5px;
		content: "・";
		font-size: 26px;
	}

	.flow_box .left.pc-view{
		display: none!important;
	}

	.flow_img1,
	.flow_img2{
		background: none;
	}

	.flow_img{
		display: block;
		margin-top: 20px;
		text-align: center;
	}
}

/********************991px以下*******************/
@media (max-width: 991px) {
}

/********************767px以下*******************/
@media (max-width: 767px) {
	.contact{
		width: 95%;
	}

	.input_type2{
		width: 100px!important;
	}
	.key_common{
		height: 300px;
	}

	.key_common h1{
		padding-left: 20px;
		letter-spacing: 8px;
		font-size: 8vw;
	}

	.key_common h1 span{
		margin-left: 0;
		margin-bottom: 10px;
	}

	.case_list.case-items section{
		margin-bottom: 20px;
		width: 100%;
	}

	.tag_list .container{
		width: 100%;
	}

	.tag_list ul{
		flex-wrap: wrap;
	}

	.tag_list li{
		width: 25%;
	}

	.tag_list a{
		padding: 20px 0;
	}

	.page_endlink{
		padding: 20px 0;
	}

	.company_table{
		width: 100%;
	}

	.company_table th,
	.company_table td{
		display: block;
		width: 100%;
	}

	.btn_orng{
		font-size: 16px;
		width: 100%;
	}
}

/********************575px以下*******************/
@media (max-width: 575px) {
}