@charset "utf-8";
/* CSS Document */
/*よくある質問*/
.faq-content{
	padding:50px 0;
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	color: #373737;
    margin-bottom: 10px;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
	font-weight: bold;
    font-size: 18px;
	line-height: 1.6;
	position: relative;
	display: block;
	margin: 0;
	padding: 0.5em 2em 0.5em 1em;
	cursor: pointer;
	border: 2px solid #01255E;
    border-radius:10px;
}
.cp_qa .cp_actab label:hover {
	color: #01255E;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease;
    transition: max-height 0.5s ease;
	/*color: #01255E;*/
}
.cp_qa .cp_actab .cp_actab-content p {
	margin: 0.8em;
}
.cp_qa .cp_actab .cp_actab-content p a{
	font-weight:bold;
	color:#01255E;
}
.cp_qa .cp_actab .cp_actab-content p a:hover{
	opacity:0.8;
}
/* 質問を開いた時の仕様 */
/* --アイコン */
.cp_qa .cp_actab input:checked ~ label {
	color: #01255E;
}
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab label i{
    margin-right: 3px;
    color: #01255E;
}
.cp_qa .cp_actab label::after {
	line-height: 1.6;
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 3em;
	margin-top: -12.5px;
	-webkit-transition: all 0.5s ease;
	        transition: all 0.5s ease;
	text-align: center;
}

.cp_qa .cp_actab input[type=checkbox] + label::after {
	content: '\f107'; /* Unicode code point for the angle-down icon */
    font-family: 'Font Awesome 6 Free', sans-serif; 
    color: #01255E;
}
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
    color: #01255E;
}
@media screen and (max-width: 520px) {
    .cp_qa .cp_actab label{
        font-size: 15px;
        padding: 0.5em 2em 0.5em 0.8em;
    }
}

.faq-content2{
	width: 90%;
	max-width: 960px;
	margin: auto;
}
.faq-content {
	background-color: #FFFFFF;
}
section{
	padding: 10px 0;
}
/*section h3{
  padding: 1rem;
  border-top: 3px dotted #01255E;
  border-bottom: 3px dotted #01255E;
}*/

section h3 {
  position: relative;
  padding: 1rem 0;
  border-bottom: 6px solid #2E74A1;
}
section h3:before {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 20%;
  height: 6px;
  content: '';
  background: #02275F;
}

/*.list {
  border: 2px solid #02275F;
  border-radius: 10px;
  list-style: none;
  padding: 0 .8em .5em;
  position: relative;
}
 .list li {
  border-bottom: 1px dashed #b9b9b9;
  margin-top: 10px;
  padding: .5em 0 .5em 2em;
}
.list li:before {
  color: #02275F;
  content: "\f138";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  left : 1em;
  margin: 3px 0;
  position: absolute;
}
.list li:last-of-type {
  border-bottom: none;
}*/



.faq-btn {
  border: 2px solid #02275F;
  border-radius: 10px;
  list-style: none;
  padding: 0 .8em .5em;
  position: relative;
  display:flex;
  justify-content: space-between;
}
.faq-btn ul{
  width:49%;
  padding-left:0px;
}
.list li {
  border-bottom: 1px dashed #b9b9b9;
  margin-top: 10px;
  padding: .5em 0 .5em 1em;
}
.list li:before {
  color: #02275F;
  content: "\f138";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right:10px;
  /*position: absolute;*/
}
.list li:last-of-type {
  border-bottom: none;
}
.link-arrow{
  display:block;
  font-size:15px;
}
.arrow {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 2px;
  margin-top: 29px;
  margin-right:7px;
  border-radius: 9999px;
  background-color: #01255e;
}

.arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 10px;
  height: 2px;
  border-radius: 9999px;
  background-color: #01255e;
  transform: rotate(45deg);
  transform-origin: calc(100% - 2px) 50%;
}
@media(max-width:640px){
.faq-btn {
  border: 2px solid #02275F;
  border-radius: 10px;
  list-style: none;
  padding: 0 .5em .5em;
  position: relative;
  display:flex;
  justify-content: space-between;
}
.list li {
  border-bottom: 1px dashed #b9b9b9;
  margin-top: 10px;
  padding: .5em 0 .5em 0.0em;
}
}
@media(max-width:520px){
.faq-btn {
  border: 2px solid #02275F;
  border-radius: 10px;
  list-style: none;
  padding: 0 .8em .8em;
  position: relative;
  display:flex;
  justify-content: space-between;
  flex-wrap:wrap;
}
.faq-btn ul{
  width:100%;
  padding-left:0px;
}
.list li {
  font-size:15px;
}
.list li:last-of-type {
  border-bottom:1px dashed #b9b9b9;
}
}