@charset "utf-8";

/* -----------------------------------------------------------
    faq
-------------------------------------------------------------- */
.faq-wrap {
	margin-bottom: 30px;
}

@media screen and (min-width: 769px) {
	/*pcのみ js関連*/
	.faq-wrap {
		position: relative;
	}
}

.faq-accordion {
	margin-top: 50px;
}

.faq-accordion .box {
	border-bottom: 1px solid #ccc;
}
.faq-accordion .box::after {
  content: "";
  display: block;
  width: 1200px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}

.faq-accordion .box::before {
  content: "";
  display: block;
  width: 1200px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}

.faq-accordion .title {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.7;
	width: 100%;
	letter-spacing: .03em;
}

.faq-accordion .quest {
	display: flex;
	position: relative;
	padding: 25px 20px 27px 90px;
	justify-content: space-between;
	width: 100%;
	transition: .5s;
}

.faq-accordion .quest.active {
	background-color: #F8F8F8;
}

.faq-accordion .ttl-txt {
	display: flex;
	position: relative;
	padding-left: 20px;
}

.faq-accordion .ttl-txt::before {
	content: "Q";
	font: 1.6rem 'Roboto', sans-serif;
	font-weight: 700;
	color: #fff;
	display: block;
	position: absolute;
	line-height: 26px;
	left: -20px;
	top: 2px;
	text-align: center;
	width: 26px;
	height: 26px;
	background-color: #000000;
	border-radius: 15px;
}

.faq-accordion .quest:hover {
	cursor: pointer;
}

.faq-accordion .answer {
	display: none;
	background: #F8F8F8;
	padding: 25px 20px 27px 90px;
	position: relative;
}

.faq-accordion .answer-txt {
    position: relative;
	padding-left: 20px;
}

.faq-accordion .answer-txt::before {
	content: "A";
	font: 1.6rem 'Roboto', sans-serif;
	font-weight: 700;
	color: #fff;
	display: block;
	position: absolute;
	line-height: 26px;
	left: -20px;
	top: 0px;
	text-align: center;
	width: 26px;
	height: 26px;
	background-color: #EA3B4B;
	border-radius: 15px;
}

.faq-accordion .answer-txt p {
	line-height: 2;
	color: #2d2c2b;
	letter-spacing: .03em;
}

.faq-accordion-icon {
	height: 20px;
	margin: 0 0 0 20px;
	padding: 12px 0 0 0;
	position: relative;
	width: 20px;
	right: 50px;
}

.faq-accordion .faq-section:first-of-type {
	margin: 20px 0 0 0;
}

.faq-section {
	margin: 50px 0 0 0;
}

.faq-mail {
	position: relative;
	margin: 10px 0 0 0;
	display: inline-block;
}

.faq-mail::before{
	background: url(../img/cmn-arrow-red.png)center center/contain no-repeat;
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 12px;
	height: 14px;
	width: 6px;
	z-index: 1;
}

.faq-mail a {
	background: #fff;
	border: 1px solid #2a2a29;
	color:  #2a2a29!important;
	display: inline-block;
	padding: 12px 30px 14px 30px;
	text-decoration: none!important;
}

.faq-mail i {
	margin: 0 3px 0 0;
}

.faq-info-icon {
	margin: 0 3px 0 0;
}

.faq-accordion-icon::before,
.faq-accordion-icon::after {
	background-color: #034A8F;
	content: "";
	height: 2px;
	position: absolute;
	width: 100%;
	transition: all .3s;
}

.faq-accordion-icon::before {
	transform: rotate(0deg);
}

.faq-accordion-icon::after {
	transform: rotate(90deg);
}

.faq-accordion .quest.active .faq-accordion-icon::after {
	transform: rotate(180deg);
}

/*faq-consultation*/
.faq-consultation-wrap {
	margin: 20px 0 0 0;
	background: #f8eada;
	padding: 15px 20px 20px 25px;
}

.faq-consultation-wrap .ttl {
	color: #767852;
	font-size: 1.7rem;
	font-weight: bold;
}

.faq-consultation-wrap .txt-wrap {
	font-weight: bold;
}

.faq-consultation-wrap .txt-wrap p:not(:first-of-type) {
	margin: 10px 0 0 0;
}

#faq .tel a {
	font-size: 2.5rem;
	font-weight: 600;
	text-decoration: none;
	color: #333;
}
#faq .tel a img {
	position: relative;
	top: -12px;
	margin: 0 5px 0 0;
}

@media screen and (max-width: 768px){
	.faq-wrap {
		margin-bottom: 0px;
	}
	.faq-accordion {
		margin-top: 30px;
	}
	
	.faq-accordion .box::after {
	  width: 90%;
	}

	.faq-accordion .box:first-child::before {
	  width: 90%;
	}
	
	.faq-accordion .quest {
		display: flex;
		position: relative;
		padding: 25px 30px 20px 50px;
		justify-content: space-between;
		width: 100%;
		transition: .5s;
	}
	
	.faq-accordion .ttl-txt::before {
		font: 1.4rem 'Roboto', sans-serif;
		font-weight: 700;
		line-height: 1.8;
	}
	
	.faq-accordion .answer {
		padding: 25px 30px 20px 50px;
	}
	
	.faq-accordion .answer-txt::before {
		font: 1.4rem 'Roboto', sans-serif;
		font-weight: 700;
		line-height: 1.8;
        top: 4px;
	}

	.faq-accordion-icon {
		right: 0;
	}

	.cmn-faq .faq-accordion {
		margin: 30px auto 0 auto;
	}

	.cmn-faq .faq-accordion .box a {
		position: relative;
	}

	.cmn-faq .faq-accordion .box a .title {
		font-size: 1.6rem;
	}
	
		
	.cmn-faq .faq-section {
		margin: 30px 0 0 0;
	}
	
	.cmn-faq .faq-accordion .quest {
		padding: 15px 8px 15px 40px;
	}

	.cmn-faq .faq-accordion .quest::before {
		font-size: 3rem;
		top: 15px;
		height: 28px;
		line-height: 28px;
		left: 4px;
		width: 28px;
	}

	.cmn-faq .faq-accordion .answer {
		padding: 23px 15px 8px 40px;
	}

	.cmn-faq .faq-accordion .answer::before {
		font-size: 3rem;
		top: 30px;
		height: 28px;
		line-height: 28px;
		left: 6px;
		width: 28px;
	}
	
	.cmn-faq .faq-accordion .answer-txt {
		padding: 0 0 20px 0;
		width: 100%;
	}
	
	.cmn-faq .faq-accordion .answer-txt p {
		line-height: 1.8;
		font-size: 1.6rem;
	}
	
	.cmn-faq .faq-accordion-icon {
		height: 18px;
		margin: 2px 0 0;
		width: 18px;
	}
	
	/*faq-consultation-wrap*/
	.cmn-faq .faq-consultation-wrap .txt-wrap {
		margin: 0;
	}
	
	.cmn-faq .faq-consultation-wrap {
		padding: 15px 10px 15px 20px;
		margin: 15px 0 0 0;
	}
	
	.cmn-faq .faq-consultation-wrap .ttl {
		line-height: 1.7!important;
	}
	
	.cmn-faq .faq-consultation-wrap .elements {
		display: block;
	}
	
	.cmn-faq .faq-consultation-wrap .elements .cmn-btn {
		max-width: 100%;
		margin: 0 auto 0 0;
	}
	
	#faq .tel a img {
		width: auto;
	}

}

/* -----------------------------------------------------------
    faqページ
-------------------------------------------------------------- */
#faq .faq-wrap{
    overflow: hidden;
}
#faq .faq-subttl{
    font-size: 3rem;
    font-weight: 700;
}
#faq .faq-accordion{
    margin-top: 25px;
    margin-bottom: 100px;
}
#faq .faq-accordion .box {
    width: 100%;
}
#faq .faq-accordion .box::after {
    width: 840px;
    right: auto;
}
#faq .faq-accordion .box:before {
  width: 840px;
  right: auto;
}
#faq .faq-accordion .box .answer-txt{
    width: 100%;
}
#faq .contents-right{
    margin: -250px 0 0;
    width: 280px;
}
#faq .contents-right .faq-nav-wrap {
    margin: 250px 0 100px;
}
#faq .faq-nav {
    padding: 10px 15px 5px 15px;
    background: #EFF9FF;
    border-radius: 5px;
}
#faq .faq-nav .faq-nav-ttl {
    border: none;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .1em;
    padding: 10px 0 10px 0;
}
#faq .faq-nav li {
  border-top: 1px solid #d5d8dc;
}
#faq .faq-nav a {
    display: block;
    padding: 20px 0 20px 35px;
    position: relative;
    line-height: 1.2;
}
#faq .faq-nav a::before {
    content: "\f105";
    font-family: FontAwesome;
    color: #034A8F;
    position: absolute;
    top: 49%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 15px;
    height: 14px;
    width: 6px;
    z-index: 1;
}

@media screen and (max-width: 768px){
    #recruit_menu_sp {
		width: auto;
		z-index: 1;
		border: 1px #3286ca solid;
		margin: 20px 20px;
	}
	
	#recruit_menu_sp .sp_more_area02 {
		display: none;
		position: relative;
		z-index: 1;
		background: #fff;
	}
	
	#recruit_menu_sp .more_btn02 {
		padding: 15px;
		position: relative;
		background: #EFF9FF;
		font-weight: 500;
		font-size: 1.6rem;
	}
	
	#recruit_menu_sp .more_btn02::before {
		content: "\f04b";
        font-family: FontAwesome;
        color: #034A8F;
		position: absolute;
		right: 20px;
        top: 15px;
        rotate: 90deg;
        letter-spacing: .1rem;
        font-size: 1.5rem;
	}
	
	#recruit_menu_sp .more_btn02.open {
		box-shadow: none;
	}
    #recruit_menu_sp .sp_more_area02 .list {
		background: #EFF9FF
	}
	
	#recruit_menu_sp .sp_more_area02 .list .item {
        border-top: 1px solid #d5d8dc;
	}
	
	#recruit_menu_sp .sp_more_area02 .list .item .link {
		padding: 15px 0 15px 23px;
		display: block;
		position: relative;
	}
	
	#recruit_menu_sp .sp_more_area02 .list .item .link::before {
		content: "\f105";
        font-family: FontAwesome;
        color: #3286ca;
        position: absolute;
        top: 49%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
		left: 4px;
		width: 6px;
		z-index: 1;
	}
	
	#recruit_menu_sp .sp_more_area02 .list .item:last-child .link {
		padding-bottom: 25px;
	}
	
	#recruit_menu_sp .sp_more_area02 .list .item:last-child .link::before {
		top: 43%;
	}
    #faq .faq-accordion .box::after {
        width: 90%;
        left: 0;
        right: 0
    }
    #faq .faq-accordion .box::before {
        width: 90%;
        left: 0;
        right: 0
    }
}

@media screen and (max-width: 768px) {
	.faq-anchor {
		padding-top: 55px;
		margin-top: -55px;
	}
	
	.cmn-faq .sp-gnav-btn {
		position: absolute;
	}

	#faq .faq-wrap {
		flex-direction: column;
		margin-bottom: 0;
		display: block;
	}

	#faq .faq-main {
		width: 100%;
		padding: 0;
		position: static;
		margin-top: 90px;
	}
	
	#faq .faq-subttl {
		font-size: 2.2rem;
		line-height: 1.3;
		margin-top: 0;
        padding: 0 0 0 20px;
	}
	#faq a.anchor {
		padding-top: 0;
		margin-top: -60px;
	}
	
	.page-faq .header.is-active #sp_head .sp_head-bg {
		display: none;
	}

}