@charset "utf-8";

#keyVisual{
	background: url("../img/keyvisual_pc.jpg") no-repeat right center / cover;
}

@media screen and (max-width: 1600px){
	#keyVisual{
		background-position: 50% center;
	}
}
@media screen and (max-width: 1024px){
	#keyVisual{
		background-position: 82% center;
	}
}
@media screen and (max-width: 768px){
	#keyVisual{
		background: url("../img/keyvisual_sp.jpg") no-repeat right center / cover;
	}
}


/* ------------------------------------------------------------------------ */

/* 共通

/* ------------------------------------------------------------------------ */
#contentsBlock section{
    margin-top: 100px;
}

.contents,
.contents > section {
    text-align: left;
}

.contents > section {
    margin: 0 0 100px;
}

.contents > section > div{
    margin-bottom: 60px;
}

.contents > section > div > p,
.contents > p,
.contents > section > p{
    font-size: 1.6rem;
    line-height: 2.0;
}

.contents > section > div > p > span{
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}

.hd01 span{
    color: #2fa77f;
}
.ulStyle01 {
	margin	: 0 15px 10px;
    font-size: 1.6rem;
}

	.ulStyle01 li {
		list-style	: disc;
		margin		: 0 15px 3px;
		padding		: 0;
		text-align	: left;
	}

/* ------------------------------------------------------------------------ */

/* 事前相談

/* ------------------------------------------------------------------------ */
.sec_priorconsultation{
    
}

.sec_priorconsultation .lead{
    font-size: 2.4rem;
    font-weight: bold;
	font-family: "Shippori Mincho", serif;
    color: #001655;
    margin-bottom: 40px;
}
.sec_priorconsultation p{
	font-family: "Shippori Mincho", serif;
}

.sec_priorconsultation .flex{
    justify-content: center;
    margin-top: 40px;
}
.sec_priorconsultation .flex li{
    margin: 0 10px;
}
.sec_priorconsultation a.com-btn{
   text-align: center;
}


/* ------------------------------------------------------------------------ */

/* 事事前に準備できること

/* ------------------------------------------------------------------------ */
.sec_advancepreparation .contents{
    margin-bottom: 100px;
}
.sec_advancepreparation .flex{
    align-items: baseline;
    font-size: 1.6rem;
}
.sec_advancepreparation .flex .details{
    width: 65%;
    margin-right: 5%;
}
.sec_advancepreparation .flex .details p{
    line-height: 2.0;
}
.sec_advancepreparation .flex .details a.txt{
    color: #4c4398;
    text-decoration: underline;
}
.sec_advancepreparation .flex .details a.txt:hover{
    text-decoration: none;
}
.sec_advancepreparation .flex .details a.com-btn{
    text-align: center;
    margin: 20px 0 0;
}
.sec_advancepreparation .flex figure{
    width: 30%;
}
.sec_advancepreparation .flex figure figcaption{
    padding: 0 0 0 1em;
    text-indent: -1em;
}


/* ------------------------------------------------------------------------ */

/* 相談センター

/* ------------------------------------------------------------------------ */
.sec_consultationcenter .lead{
    font-size: 1.8rem;
	font-family: "Shippori Mincho", serif;
    margin-bottom: 40px;
}
.sec_consultationcenter p{
    font-size: 1.8rem;
	font-family: "Shippori Mincho", serif;
}
.sec_consultationcenter p > span{
	font-family: "Noto Sans JP", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 2.4rem;
    font-weight: bold;
}

.sec_consultationcenter .flex{
    align-items: flex-start;
}
.sec_consultationcenter .flex figure{
    max-width: 400px;
    width: 35%;
    margin-right: 2%;
}
.sec_consultationcenter .flex .map{
    max-width: 776px;
    width: 66%;
}

.sec_noshiro .hd02::before{
    background: #f26da7;
}
.sec_noshiro .hd02 img{
    max-width: 294px;
    display: inline-block;
    margin-bottom: -3px;
    vertical-align: baseline;
}

.sec_hutatui .hd02::before{
    background: #39bfa9;
}
.sec_hutatui .hd02 img{
    max-width: 263px;
    display: inline-block;
    margin-bottom: -3px;
    vertical-align: baseline;
}

.sec_mitane .hd02::before{
    background: #f29018;
}
.sec_mitane .hd02 img{
    max-width: 294px;
    display: inline-block;
    margin-bottom: -3px;
    vertical-align: baseline;
}



/* ------------------------------------------------------------------------ */

/* よくあるご質問

/* ------------------------------------------------------------------------ */
.ankerContainer{
	background: #efedfa;
}
.ankerContainer ul{
    display: flex;
    justify-content: center;
    padding: 20px;
    margin-top: 60px;
}
.ankerContainer ul li.simulation-1{
	max-width: 400px;
	width: 50%;
    margin: 0 10px;
}
.ankerContainer ul li.simulation-2{
	max-width: 360px;
	width: 50%;
    margin: 0 10px;
}

.ankerContainer ul li a:hover{
    opacity: 0.8;
}

.sec_faq{
    padding-bottom: 100px;
    margin-top: 40px !important;
}

.sec_faq section{
    margin-top: 40px !important;
}

.sec_faq .hd02{
	margin-top: 120px;
}

.sec_faq .hd03{
    font-family: "Shippori Mincho", serif;
    font-size: 2.0rem;
    font-weight: bold;
    color: #001655;
    border-bottom: 1px solid #001655;
    padding-bottom: 5px;
    margin-bottom: 20px;
}

.sec_faq .lead{
    text-align: center;
    font-size: 2.0rem;
}

.sec_faq .telbtn{
    margin: 20px auto 0;
    text-align: center;
    max-width: 400px;
    width: 100%;
}

.sec_faq .telbtn a{
    background: #e44728;
    color: #fff;
    border: 1px solid #e44728;
    border-radius: 5px;
    padding: 0 10px;
    text-align: center;
    font-size: 3.2rem;
    font-weight: bold;
    display: block;
}
.sec_faq .telbtn a:hover{
    background: #fff;
    color: #e44728;
}
.sec_faq .telbtn a::before {
  content: "\f095";
  font-family: 'FontAwesome';
  font-size: 0.941177em;
  margin-right: 10px;
}

.sec_faq .txt.step1 p{
    margin-bottom: 20px;
}
.sec_faq .simulation-tag{
    display: inline-block;
    background: #e44728;
    border-radius: 5px;
    color: #fff;
    font-size: 1.8rem;
    padding: 0 5px;
    margin-bottom: 20px;
}

.tab-content{
    display:none;
}

.tab-content.active{
    display:block;
}


/*アコーディオン*/
.accordion dl{
	background: #fff;
	border: solid 2px #efedfa;
	border-radius: 4px;
    position: relative;
    margin-bottom: 40px;
}
.accordion dl:after{
    content: "";
    height: calc(60px / 2);
    width: 60px;
    clip-path: polygon(0 0, 100% 0, 50% 70%);
    background: #4d4497;
    position: absolute;
    left: 50%;
    bottom: -32px;
    transform: translateX(-50%);
}

.accordion dl:last-child:after{
    display: none;
}

.accordion dl + dl{
	margin-top: 16px;
}

.accordion dl dt,
.accordion dl dd{
	font-size: 2rem;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
	.accordion dl dt::before,
	.accordion dl dd .flex::before{
		display: flex;
		justify-content: center;
		align-items: center;
		font-family: "Roboto", sans-serif;
		font-size: 2.6rem;
		font-weight: 600;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		margin-right: 24px;
		flex-shrink: 0;
	}

.accordion dl dt{
	/*cursor: pointer;*/
	text-align: left;
	padding: 30px 70px 30px 32px;
}
	.accordion dl dt .txt{
		padding: 5px 0;
        display: flex;
        align-items: center;
        width: 100%;
	}
	.accordion dl dt .txt .step{
        min-width: 70px;
        font-size: 1.6rem;
        display: block;
        line-height: 1.0;
		font-family: "Roboto", sans-serif;
        color: #4d4497;
        border-right: 1px solid #d9d9d9;
        text-align: center;
        padding: 0 20px 0 0;
        margin-right: 20px;
	}
	.accordion dl dt .txt .step > span{
        font-size: 4.0rem;
        display: block;
	}
	.accordion dl dt .txt .ttl{
        font-size: 2.4rem;
        color: #001655;
        margin-right: 20px;
	}

.accordion dl dd{
	display: none;
	line-height: 2;
	text-align: left;
	font-weight: 400;
	padding: 0 32px 24px 90px;
}
.accordion dl dd .flex{
	align-items: flex-start;
	justify-content: flex-start;
}
.accordion dl dd .flex .txt{
    font-size: 1.6rem;
    width: 100%;
}

.dli-plus{
	/*position: absolute;*/
	text-align: center;
	top: 34px;
	right: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
}
	.dli-plus::before{
		content: "\2b";
		font-size: 1.714em;
		font-family: "FontAwesome";
		font-weight: 400;
		color: #4c4398;
	}
	.active .dli-plus::before{
		content: "\f068";
	}

@media screen and (max-width: 767px){
	.sec_faq{
		padding-top: 0;
	}
	.sec_faq .hd02{
		margin-top: 80px;
		font-size: clamp(2rem,5vw,2.5rem);
	}
	.accordion dl dt,
	.accordion dl dd{
		font-size: 1.6rem;
	}
	.accordion dl dt{
		padding: 15px 15px 15px 12px;
	}
	.accordion dl dd{
		padding: 0 12px 15px;
	}
	.accordion dl dt::before,
	.accordion dl dd .flex::before{
		font-size: 2rem;
		margin-right: 10px;
		width: 30px;
		height: 30px;
	}
	.dli-plus{
		top: 17px;
		right: 12px;
	}
	.accordion dl dt .txt{
		padding: 3px 0;
	}
    
    .sec_priorconsultation .flex{
        flex-wrap: wrap;
    }
    .sec_priorconsultation .flex li{
        width: 37%;
        margin: 0 10px 20px;
    }
    .sec_advancepreparation .flex{
        flex-direction: column-reverse;
    }
    .sec_advancepreparation .flex .details{
        width: 100%;
        margin-right: 0;
    }
    .sec_advancepreparation .flex figure{
        width: 100%;
        margin-bottom: 10px;
    }
    .sec_advancepreparation .flex .details a.com-btn{
        margin: 20px auto 0;
    }
    
    .sec_consultationcenter .flex{
        flex-direction: column;
    }
    .sec_consultationcenter .flex figure{
        width: 100%;
        margin: 0 0 5% 0;
    }
    .sec_consultationcenter .flex figure figcaption{
        font-size: 1.4rem;
    }
    .sec_consultationcenter .flex .map{
        width: 100%;
    }
}

@media screen and (max-width: 635px){
    #contentsBlock section{
        margin-top: 60px; 
    }
    
    #contentsBlock p,
    .sec_advancepreparation .flex figure figcaption{
        font-size: 1.4rem;
    }
    
    .hd01{
        margin-bottom: 40px;
    }
    
    .sec_priorconsultation .lead{
        font-size: 1.8rem;
    }
    
    .sec_priorconsultation .flex li{
        width: 44%;
    }
    .sec_priorconsultation a.com-btn{
        margin-top: 30px;
    }
    .sec_advancepreparation .contents{
        margin-bottom: 60px;
    }
    .sec_consultationcenter .lead + p span{
        display: block;
    }
    
    .sec_noshiro .hd02 img,
    .sec_hutatui .hd02 img,
    .sec_mitane .hd02 img{
        max-width: 200px;
    }
    
    .accordion dl dt .txt .ttl{
        font-size: 4vw; 
    }
    
    .accordion dl dt .txt img{
        width: 86px;
    }
    
    .sec_faq section{
        margin-top: 20px !important;
    }
    .sec_faq .lead{
        font-size: 1.6rem;
    }
    .sec_faq .telbtn a{
        font-size: 2.2rem;
        padding: 10px;
    }
    .sec_faq .simulation-tag{
        font-size: 1.6rem;
    }
    .ankerContainer ul{
        margin: 60px 0 20px;
    }   
}

@media screen and (max-width: 478px){
    .accordion dl{
        margin-bottom: 32px;
    }
    
    .accordion dl:after{
        content: "";
        height: calc(60px / 2);
        width: 46px;
        clip-path: polygon(0 0, 100% 0, 50% 70%);
        background: #4d4497;
        position: absolute;
        left: 50%;
        bottom: -32px;
        transform: translateX(-50%);
    }
    
    .accordion dl dt .txt .step{
        font-size: 1.4rem;
    }
    
    .accordion dl dt .txt .step > span{
        font-size: 2.4rem;
    }
}
