@charset "UTF-8";
/* CSS Document */


body {
	padding:0;
	margin:0;
}

.Sofiapro {
	font-family: "sofia-pro", sans-serif;
	font-weight: 700;
}

.Sofiapro_b {
	font-family: "sofia-pro", sans-serif;
	font-weight: 700;
	font-size: 140%;
}

.Poppins {
	font-family: "poppins", sans-serif;
	font-weight: 500;
	font-size: 110%;
	margin-left: 3px;
	margin-right: 3px;
}

.Poppins_b {
	font-family: "poppins", sans-serif;
	font-weight: 600;
	font-size: 110%;
	margin-left: 3px;
	margin-right: 3px;
}

.fsize110 {
	font-size: 110%;
}

.fsize140 {
	font-size: 140%;
}

#st_header {
	margin: 0;
	padding: 3% 0;
	text-align: center;
	background-color: #fff;
}

.logo {
	width: 40%;
	max-width: 240px;
	margin: 2% auto;
}

.st_wrap {
	clear: both;
	width:100%;
    text-align: center;
	padding: 0 0 5%;
	margin:0 auto;
	font-family: "Noto Sans JP", sans-serif;
}

.st_wrap h1 {
    font-weight: 600;
	font-size: 34px;
	text-align: center;
	margin: 6% auto 4%;
	line-height: 1.5em;
    padding: 0;
}

.st_wrap h2 {
    font-weight: 500;
	font-size: 28px;
	text-align: center;
	margin: 10% auto 4%;
    padding: 0;
}

.st_wrap h2 strong {
	font-size: 120%;
	font-weight: 600;
}

.st_wrap h3 {
    font-weight: 500;
	font-size: 20px;
	line-height: 1.4em;
	margin: 4% auto 1%;
	text-align: center;
}

.st_wrap h4 {
    font-weight: 500;
	font-size: 17px;
	line-height: 1.4em;
	margin: 2% auto 1%;
	text-align: center;
}

.st_wrap p {
	margin: 4% auto;
    font-size: 16px;    
    line-height: 1.6em;
	font-weight: 400;
}

.st_wrap p strong {
	font-size: 120%;
	font-weight: 400;
}

.Main {
	width: 100%;
	position: relative;
	background: url("../images/top.jpg") no-repeat top center;
	background-size: cover;
	min-height: 940px;
	margin: 0;
	padding: 3% 0;
}

.t_P {
	font-size: 18px;
	font-weight: 800;
	margin: 1% auto;
	letter-spacing: 0.035em;
}


.size150 {
	font-size: 150%;
	line-height: 1.8em;
	font-weight: 600;
}

.size200 {
	font-size: 200%;
	padding-right: 3px;
}
.size300 {
	font-size: 300%;
	padding-left: 3px;
}

.innner {
	padding: 5%;
	position: relative;
}


.st_wrap img {
	width: 100%;
	vertical-align: bottom;
}

.st_wrap hr {
	color: #000;
	margin: 4% 5%;
}

.co01 {
    color: #009ce6;
}

.sp {
	display:none;
}



.col_box {
	background-color: #5f7bff;
	margin: 0;
	padding: 10% 8% 8%;
	color: #fff;
}

.col_box2 {
	background-color: #5f7bff;
	margin: 0;
	padding: 2% 8% 8%;
	color: #fff;
}

.col_box_blue {
	width: 80%;
	max-width: 480px;
	background-color: #5f7bff;
	margin: 3% auto;
	padding: 2% 0;
	color: #fff;
	font-size: 25px;
	position: relative;
	text-align: center;
}

.col_box_gray {
	background-color: #d6d6d6;
	margin: 0;
	padding: 4% 8% 10%;
	color: #000;
}

.Lead {
	text-align: center;
	font-weight: 500;
	font-size: 23px;
	margin: 1% auto;
	line-height: 1.6em;
}

.red {
	font-weight: 600;
	color: #d00f31;
}

.wht {
	color: #fff;
}

.lft {
	text-align: left;
}

.attention {
	font-size: 15px;
	line-height: 1em;
	text-align: center;
	color: #ffff00;
	margin: 5% auto;
}

.attention span {
	border: solid 1px #ffff00;
	padding: 7px 15px;
}

.bloc {
	width: 90%;
	max-width: 800px;
	margin: 4% auto;
}

.flx {
	width: 80%;
	margin: 6% auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.flx_L {
	width: 100%;
	margin: 6% auto 2%;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.w_33 {
	width: 31%;
	margin: 1%;
	padding: 0 0 2%;
	background-color: #fff;
	text-align: center;
}

.w_45 {
	width: 43%;
	margin: 0 auto 3%;
	text-align: center;
}

.w_50 {
	width: 47%;
	margin: 0 auto 3%;
	text-align: center;
}

.w_50 p {
	margin: 6% auto 2%;
}

.w_55 {
	width: 55%;
	margin: 0 auto 3%;
	text-align: center;
}


.w_80 {
	width: 84%;
	margin: 3% auto;
}

.w_95 {
	width: 97%;
	margin: 0 auto; 
}


.bk_white {
	background-color: #fff;
	padding: 0 0 2%;
}
.link {
	width: 45%;
}

.txt {
	font-size: 16px;
	line-height: 1.6em;
	margin: 5% auto;
	text-align: center;
}

.t_white {
	font-family: "poppins", sans-serif;
	font-weight: 500;
	font-size: 20px;
	margin: 8% auto 3%;
}

.t_white span{
	background-color: #fff;
	padding: 3px 15px;
}

.t_black {
	font-family: "poppins", sans-serif;
	font-weight: 500;
	font-size: 20px;
	margin: 8% auto 3%;
	color: #fff;
}

.t_black span{
	background-color: #000;
	padding: 3px 15px;
}

.info_box {
	width: 90%;
	margin: 0 auto 5%;
	padding: 0 0 3%;
	border: solid 1px #333;
	box-sizing: border-box;
	text-align: left;
	height: 600px;
	overflow-y: scroll;
}

.info_box_normal {
	width: 90%;
	margin: 5% auto;
	padding: 0 0 3%;
	border: solid 1px #ccc;
	box-sizing: border-box;
	text-align: left;
}

.info_box p, .info_box_normal p  {
	font-size: 13px;
	text-align: left;
	margin: 3%;	
	font-weight: 400;
}

.info_box_ttl {
	width: 90%;
	background-color: #333;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	line-height: 2.3em;
	color: #fff;
	margin: 12% auto 0;
}

.Sml {
	font-size: 13px;
	line-height: 1.6em;
	margin: 3% auto;
	font-weight: 400;
	text-align: left;
}

.clear {
	clear:both;
}

.position_b0_l0 {
	width: 100%;
	position: absolute;
	bottom: 2%;
	left: 0;
}

.btn-1 {
    display: block;
    font-size: 16px;
    margin: 6% auto 8%;
	font-weight: 400;
    color: #fff;
	text-decoration: underline;
}

.btn-2 {
    display: block;
    width: 80%;
    max-width: 500px;
	font-weight: 600;
    font-size: 20px;
    margin: 3% auto;
    padding: 30px 0;
    color: #fff;
    background-color: #333;
}

a.btn-2 {
    text-decoration: none;
}


.btn-arrow-right {
  position: relative;
  display: block;
}

a.btn-arrow-right::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 15px;
  height: 15px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}


#ターゲット要素 {
    padding-top: 110px;
    margin-top: -50px;
}


.accordion_box {
	width: 90%;
	margin: 2% auto 3%;
	padding: 0;
	border: solid 1px #333;
	box-sizing: border-box;
	text-align: left;
}


.accordion-003 .Sofiapro_b {
	display: inline-block;
	white-space: nowrap;
	font-size: 35px;
	padding-right: 10px;
}

/*アコーディオン*/

.accordion-003 {
    margin-bottom: 0;
    border-bottom: 1px solid #333333;
	background-color: #d6d6d6;
}

.accordion-003:last-child {
    border-bottom: none;
}

.accordion-003 .inner {
    padding: .5em 1.5em 1em;
}

.accordion-003 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: .5em 1.5em 1em;
    color: #333333;
    font-weight: 500;
	font-size: 16px;
    cursor: pointer;
	text-align: left;
	background-color: #eee;
}

.accordion-003 summary::-webkit-details-marker {
    display: none;
}

.accordion-003 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 13px;
    height: 13px;
    margin-left: 10px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    content: '';
    transition: transform .3s;
}

.accordion-003[open] summary::after {
    transform: rotate(225deg);
}

.accordion-003 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    color: #000000;
	font-size: 14px;
	text-align: left;
	font-weight: 400;
    transition: transform .5s, opacity .5s;
}

.accordion-003[open] p {
    transform: none;
    opacity: 1;
}

@media only screen and (max-width: 750px) {

	.pc {
		display:none;
	}
	.sp {
		display:block;
	}
	.st_wrap {
		width: 100%;
		margin: 0 auto;
	}

    .st_wrap p {
        font-size: 12px;
		line-height: 1.6em;
    }
    
	.st_wrap h1 {
		font-size: 20px;
		margin: 2% auto;
	}	
    
    .st_wrap h2 {
        font-size: 18px;
		line-height: 1.6em;
		margin: 4% auto;
    }
    
    .st_wrap h3 {
        font-size: 15px;
    }
    
    .st_wrap h4 {
        font-size: 15px;
    }
    
	.col_box {
		padding: 7% 5%;
	}
	
	.col_box_gray {
		padding: 4% 5% 10%;
	}
	
	.col_box_blue {
		padding: 1px;
		margin: 1% auto;
	}

	.Main {
		min-height: 80vh;
	}
	
	.Lead {
		font-size:14px;
		margin: 4% auto;
	}
	

	
	.attention {
		font-size: 12px;
		line-height: 1.5em;
		border: solid 1px #ffff00;
		padding: 8px;
	}
	
	.attention span {
		border: solid 1px #ffff00;
		border: none;
	}
	
	.t_P {
		font-size: 15px;
		font-weight: 900;
	}
	
	.t_white, .t_black {
		font-size: 14px;
	}
	
	.txt {
		font-size: 13px;
	}
	
	.sub {
		font-size: 35px;
	}
	
	.sub2 {
		font-size: 26px;
	}
	
	.icon_box {
		width: 100%;
	}
	
	.innner {
		padding: 3%;
	}
	
	.inner_txt {
		width: 48%;
	}

	.triangle {
	    border-bottom: 70px solid transparent;
    	border-left: 70px solid #999999;
	}
	
	.label {
      top: 13px;
      left: 4px;
      font-size: 14px;
    }

	.speechBubble {
		font-size: 22px;
	}
	
	.speechBubble::after {
		border-width: 20px 15px 0 15px;
	}
	
	.flx {
		width: 96%;
	}
	
	.w_55 {
		width: 50%;
	}
	
	.w_80 {
		width: 90%;
	}
	
	.bkimg {
		padding: 0 0 5%;
	}
		
	.bkimg2 {
		padding: 0 0 15%;
	}
	
	.ylw_box {
		font-size: 17px;
	}
	
	.ylw_box span {
		padding: 5px 20px;
	}
	
	.copy_btn_box {
		font-size: 20px;
	}
	
	.info_box {
		height: 460px;
	}
	
    .btn-1 {
        font-size: 12px;
        margin: 4% auto 8%;
    }
	
	.btn-2 {
		font-size: 14px;
		padding: 20px 0;
		margin: 8% auto 5%; 
	}
	
	a.btn-arrow-right::after {
  	right: 15px;
 	width: 12px;
 	height: 12px;
	}
	
	.info_box_ttl {
		font-size: 14px;
	}
	
	.Sml {
		font-size: 11px;
	}
	
	.info_box p {
		font-size: 12px;
		margin: 3%;
	}
	
	.accordion-003 summary {
		font-size: 15px;
		padding: .5em .8em .5em;
	}
	
	.accordion-003 .Sofiapro_b {
	    font-size: 22px;
	}
	
	.accordion-003 .inner {
    	padding: .2em .8em .5em;
	}
	
}


