@charset "UTF-8";



/* ------------------------------------------------------------- */
/* StyleSection _ sec1  CSS                                      */
/* ------------------------------------------------------------- */
.sec1{
	background: #B01229;
	padding: 50px 0 60px;
}
.sec1:before{
	background: #B01229;
}
.sec1 .ttl1{

}
.sec1 .ttl1_en{
	width: 549px;
}
.sec1_blk1{
	position: relative;
	justify-content: center;
}
.sec1_1{
	position: relative;
}
.sec1_blk1 .plus{
	position: absolute;

}
.sec1_blk2{
	margin-top: 42px;
	margin-bottom: 50px;
}
.sec1_lead{
	font-size: 3.2rem;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 1051px) {
	.sec1_1{margin-right: -7px; width:573px!important;}
	.sec1_1+.sec1_1{margin-right: 0; margin-left: -7px; }
	.sec1_1 img.plus{
		top: 50%;
		transform: translateY(-50%);
		margin-left: 0;
		left: -23px;
		width: auto;
	}


}

@media screen and (max-width: 1050px) {
	.sec1{
		padding: 8vw 0 9.3vw;
	}
	.sec1 .wrap{
		width: 100%;
	}
	.sec1 .ttl1_en{
		width: 89.7vw;
	}
	.sec1_1{
		position: relative;
	}
	.sec1_1 img{
		width: 93.6vw;
		margin: 0 auto;
		display: block;
	}
	.sec1_1+.sec1_1{
		margin-top: -2.1vw;
	}
	.sec1_blk1 .plus{
		width: 8.2vw;
		top: -3.2vw;
		left: 50%;
		transform: translateX(-50%);
	}
	.sec1_blk2{
		width: 93.6vw;
		margin: 8vw auto 9.3vw;
	}
	.sec1_lead{
		font-size: 4.5vw;
	}

}

/* ------------------------------------------------------------- */
/* StyleSection _ sec3  CSS                                      */
/* ------------------------------------------------------------- */
.sec3{
	margin-top: 20px;
	padding: 20px 0 20px;
	background: url(../img/frontpage/sec3_bg_pc.webp) bottom center no-repeat;
	background-size: 100%;
}
.sec3:before{
	background: #fff;
	height: 50%;
}
.sec3 .ttl1 img{
	width: 700px;
}
.sec3_blk2_lead {
	margin-top: 60px;
	text-align: center;
}


@media screen and (min-width: 1051px) {

}
@media screen and (max-width: 1050px) {
	.sec3{
		padding: 6.6vw 0 13vw;
		background: url(../img/frontpage/sec3_bg_sp.webp) bottom center no-repeat;
		background-size: 100%;
	}
	.sec3 .ttl1{
		padding-top: 3vw;
	}
	.sec3 .ttl1 .txt1, .sec3 .ttl1 .txt2{
		letter-spacing: normal;
	}
	.sec3 .ttl1 img{
/*		width: 500px;*/
		width: 89.7vw;
	}

	/* 一覧表示 リンク */
	.sec3_blk2_lead {
		margin-top: 6vw;
	}
	
	.sec3 .txt {
		font-size: 1.4em;
		letter-spacing: 0.2em;
	}


}

/* ------------------------------------------------------------- */
/* StyleSection _ sec4  CSS                                      */
/* ------------------------------------------------------------- */
.sec4{
	padding: 100px 0 127px;
}
.sec4 .ttl1 img{
	width: 797px;

}
.sec4_img{
}
.sec4_info{
	margin-top: 1em;
	line-height: 2.16;
	font-size: 1.2rem;
	letter-spacing: 0.03em;
}

.sec4 .flex_box {
	width: 100%;
	display: flex;
	border-bottom: 2px solid #B8929C;
}
.sec4 .flex_box_img {
	width: 50%;
	display: flex;
}
.sec4 .flex_box .txt_box {
	padding: 0 1em 0 1em;
	background-color: #fff;

	border-radius: 14px;
}
.sec4 .txt_box span {
	padding: 2px 10px 2px 0;
}
.sec4 .txt_box h3{
	font-size: 1.2em;
	margin-top: 10px;
	font-style: italic;
	border-bottom: 1px;
	border-bottom: 2px solid #DD6CA5;
}
.sec4 .txt_box p.item1{
width: 100%;
	font-size: 1.3em;
	line-height: 1.6em;

	max-height: 200px;
	overflow: clip;
}

.sec4 .txt_box p.item2{
width: 100%;
	font-size: 1.3em;
	line-height: 1.6em;

	max-height: 200px;
	overflow: clip;	
}




.sec4 .flex_box .img_a, .sec4 .flex_box .img_b{
	width: 50%;
  position: relative;  /*親要素にrelative*/
 	padding: 10px;

}
.sec4 .flex_box .img_a p, .sec4 .flex_box .img_b p{
	position: absolute;/*重ねたい子要素にabsolute*/
	top: 80%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);      /*ベンダープレフィックス*/
	-webkit-transform: translate(-50%,-50%);  /*ベンダープレフィックス*/
	transform: translate(-50%,-50%);          /*センター寄せの修正*/
	color: #fff;
	font-size: 4rem;
}
.sec4 .flex_box img {
	border-radius: 14px;
}

.sec4 .flex_box + .sec4 .flex_box {
	margin-top: 40px;
}

.sec4_lead {
	margin-top: 60px;
	text-align: center;
}


@media screen and (min-width: 1051px) {
	.sec4 .flex_box .txt_box {
		width: 50%;
		margin: 20px 10px 20px 30px;
	}
}

@media screen and (max-width: 1050px) {
	.sec4{
		padding: 20px 0 10px 0;
	}
	.sec4 .wrap{width: 100%;}
	.sec4 .ttl1{
		margin-bottom: 5.3vw;
	}
	.sec4 .ttl1 img{
		width: 54.2vw;
	}
	.sec4_img{
	}
	.sec4_img img + img{
		margin-top: 3.4vw;
	}
	.sec4_info{
		padding: 0 5.5vw;
		margin-top: 4vw;
		line-height: 1.7;
		font-size: 2.1vw;
	}

	.sec4 .flex_box {
		display: initial;
	}
	.sec4 .flex_box_img {
		width: 100%;
	}
	.sec4 .txt_box {
		width: 100%;
		margin: 20px 20px 20px 10px;
	}
	.sec4 .txt_box p {
		font-size:  4.1vw;
		line-height:  4.23vw;
	}

	/* 一覧表示 リンク */
	.sec4_lead {
		margin-top: 6vw;
	}

}

/* ------------------------------
    sec5
------------------------------ */
.sec5{
	padding: 75px 0 100px;
}
.sec5:before{
	background: #fff;
}
.sec5 .ttl1 img{
	width: 646px;

}
.sec5_lead{
	font-size: 2.4rem;
	padding-top: 10px;
	margin-bottom: 20px;
	letter-spacing: 0.07em;
}
.sec5_box{
	position: relative;
	background: #fff;
	border:1px solid #2A2A2A;
	padding: 38px 35px 40px 50px;
	align-items: flex-start;
}
/*
.sec5_box:before{
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;

	background: url(../img/frontpage/sec5_bg.png);
	background-size: 10px;
	z-index: -1;
	top: 10px;
	left: 10px;
}
*/

.sec5_box + .sec5_box{
	margin-top: 50px;
}
.sec5_box .img{
	width: 420px;
	
}
.sec5_box .box{
}
.sec5_box .name{
	background: #2A2A2A;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 175px;
	height: 30px;
	font-size: 1.4rem;
	line-height: 1;
	margin-bottom: 12px;
	letter-spacing: 0.03em;
}
.sec5_box .mid{
	line-height: 1.5;
	font-size: 2rem;
	border-bottom: 2px solid #2a2a2a;
	padding-bottom: 0.6em;
	margin-bottom: 1em;
	letter-spacing: 0.08em;
}
.sec5_box .txt{
	line-height: 1.8;
}
.sec5_info{
	color: #808080;
	line-height: 2.3;
	font-size: 1.2rem;
	margin-top: 40px;
	letter-spacing: 0.03em;
}

@media screen and (min-width: 1051px) {
	.sec5 .wrap2{
		padding-right: 10px;
	}
	.sec5_box .box{
		width: 528px;
	}
	.ie .sec5_box .img{
		margin-right: 38px;
	}
	.ie .sec5_box .box{
		flex: 1;
		width:auto;
	}

}

@media screen and (max-width: 1050px) {
	.sec5{
		padding: 17.3vw 0 13.3vw;
	}
	.sec5 .ttl1 .txt1{
		letter-spacing: normal;
		padding-top: 3vw;
	}
	.sec5 .ttl1 img{
		width: 100%;
	}
	.sec5_lead{
		font-size: 3.7vw;
		padding-top: 2.6vw;
		margin-bottom: 7.3vw;
		line-height: 1.57;
	}
	.sec5_box{
		width: calc(100% - 1.3vw);
		padding: 4vw 4vw 7.3vw;
	}
	.sec5_box:before{
		background-size: 5px;
		top: 1.3vw;
		left: 1.4vw;
	}
	.sec5_box + .sec5_box{
		margin-top: 6.6vw;
	}
	.sec5_box .img{
		width: 100%;
	}
	.sec5_box .box{
		position: relative;
		padding-top: 6vw;
	}
	.sec5_box .name{
		display: inline-block;
		width: auto;
		height: auto;
		font-size: 2.6vw;
		margin-bottom: 0;
		padding: 1vw 5.3vw 1vw 6vw;
		position: absolute;
		transform: translateY(-50%);
		top:0;
		left: -4vw;
	}
	.sec5_box .mid{
		font-size: 3.6vw;
		border-width: 1px;
		padding-bottom: 4.6vw;
		margin-bottom: 4.6vw;
	}
	.sec5_box .txt{
		letter-spacing: 0.05em;
	}
	.sec5_info{
		line-height: 1.7;
		font-size: 2.1vw;
		margin-top: 5.3vw;
	}

}



/* ------------------------------------------------------------- */
/* StyleSection _ sec5A  CSS                                     */
/* ------------------------------------------------------------- */
.sec5A{
	padding: 75px 0 100px;
}
.sec5A:before{

}
/* Title Back IMG */
.sec5A .ttl1 img{
	width: 646px;
}
.sec5A_lead{
	font-size: 2.4rem;
	padding-top: 10px;
	margin-bottom: 20px;
	letter-spacing: 0.07em;
}
.sec5A_box{
	position: relative;
	background: #fff;
	border:1px solid #2A2A2A;
	padding: 38px 35px 40px 50px;
	align-items: flex-start;
}

.sec5A_box + .sec5A_box{
	margin-top: 50px;
}
.sec5A_box .img{
	width: 470px;
}
.sec5A_box .box{
}
.sec5A_box .name{
	background: #2A2A2A;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 175px;
	height: 30px;
	font-size: 1.4rem;
	line-height: 1;
	margin-bottom: 12px;
	letter-spacing: 0.03em;
}
.sec5A_box .mid{
	line-height: 1.5;
	font-size: 3.4rem;
	border-bottom: 2px solid #2a2a2a;
	padding-bottom: 0.6em;
	margin-bottom: 1em;
	letter-spacing: 0.08em;
}
.sec5A_box .txt{
	font-size: 2.8rem;
	line-height: 1.8;
}
.sec5A_info{
	color: #808080;
	line-height: 2.3;
	font-size: 1.2rem;
	margin-top: 40px;
	letter-spacing: 0.03em;
}

@media screen and (min-width: 1051px) {
	.sec5A .wrap2{
		padding-right: 10px;
	}
	.sec5A_box .box{
		width: 500px;
	}
	.ie .sec5A_box .img{
		margin-right: 38px;
	}
	.ie .sec5A_box .box{
		flex: 1;
		width:auto;
	}

}

@media screen and (max-width: 1050px) {
	.sec5A{
		padding: 17.3vw 0 13.3vw;
	}
	.sec5A .ttl1 .txt1{
		font-size: 7.7vw;
		letter-spacing: normal;
		padding-top: 3vw;
	}
	.sec5A .ttl1 img{
		width: 100%;
	}
	.sec5A_lead{
		font-size: 3.7vw;
		padding-top: 2.6vw;
		margin-bottom: 7.3vw;
		line-height: 1.57;
	}
	.sec5A_box{
		width: calc(100% - 1.3vw);
		padding: 4vw 4vw 7.3vw;
	}
	.sec5A_box:before{
		background-size: 5px;
		top: 1.3vw;
		left: 1.4vw;
	}
	.sec5A_box + .sec5A_box{
		margin-top: 6.6vw;
	}
	.sec5A_box .img{
		width: 100%;
	}
	.sec5A_box .box{
		position: relative;
		padding-top: 6vw;
	}
	.sec5A_box .name{
		display: inline-block;
		width: auto;
		height: auto;
		font-size: 2.6vw;
		margin-bottom: 0;
		padding: 1vw 5.3vw 1vw 6vw;
		position: absolute;
		transform: translateY(-50%);
		top:0;
		left: -4vw;
	}
	.sec5A_box .mid{
		font-size: 5.4vw;
		border-width: 1px;
		padding-bottom: 1.2vw;
		margin-bottom: 1.2vw;
	}
	.sec5A_box .txt{
		font-size: 4.4vw;
		letter-spacing: 0.05em;
	}
	.sec5A_info{
		line-height: 1.7;
		font-size: 2.1vw;
		margin-top: 5.3vw;
	}

}




/* ------------------------------------------------------------- */
/* StyleSection _ sec6  CSS                                      */
/* ------------------------------------------------------------- */
.sec6{
	padding-top: 100px;
}
.sec6 .ttl1{
	margin-bottom: 80px;
}
.sec6 .ttl1 img{
	width: 640px;
}
.sec6 .ttl1 .txt2{
	letter-spacing: 0.1em;
}
.sec6 .ttl1 .txt2{
	letter-spacing: 0.1em;
	padding-bottom: 0.2em;
}
/*
.sec6blk .num{
	width: auto;
	height: 65px;
	margin-left: 5px;
	margin-bottom: 14px;
	display: block;
}
*/
.sec6blk .ttl{
	text-align: left;
	font-size: 3.4rem;
	line-height: 1.4;
	border-bottom:2px solid #2a2a2a;
/*	margin-bottom: 20px; */
	letter-spacing: 0.07em;
}
.sec6blk .txt{
	font-size: 2.4rem;
	letter-spacing: 0.03em;
	line-height: 1.9;
}
.sec6blk1{
	padding-bottom: 100px;
}
.sec6blk2{
	padding: 50px 0 80px
}
.sec6blk2:before{
	background: #fff;
}
.sec6blk3{
	padding-top: 52px;
}
.sec6blk4{
	padding-top: 52px;
	padding-bottom: 30px;
}
.sec6blk4:before{
	background: #fff;
}

/* sec6 Servise Title A Link Button  */
.sec6 a{
	display: block;
	width: 100%;

	background-image: url("../img/frontpage/link_back_rt.svg");
	background-position:  right;
	background-repeat: no-repeat;
	
	padding-bottom: 20px;
/*  color:#fff; */
  border:none;
  cursor:pointer;
  transition:800ms ease all;
  outline:none;
	border-radius: 8px 8px 0 0; 
	
}
.sec6 a:hover {
	background-color: #fff;
}
.sec6 a:before, .sec6 a:after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  height:2px;
  width:0;
  background: #1AAB8A;
  transition:400ms ease all;
}
.sec6 a:after{
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
.sec6 a:hover:before,.sec6 a:hover:after{
  width:100%;
  transition:800ms ease all;
}
/* END  sec6 Servise Title A Link Button  */





@media screen and (min-width: 1051px) {
	.sec6blk .box{
		width: 591px;
	}
	.sec6blk2 .box{
	/*	padding-top: 20px;*/
	}
	.sec6blk2 .box .txt{
		padding-right: 2em;
	}
	.sec6blk3 .box{
	/*	padding-top: 20px;*/
	}
	.sec6blk3 .box .txt{
		padding-right: 2em;
	}
	.sec6blk4 .box{
	/*	padding-top: 20px;*/
	}
	.sec6blk4 .box .txt{
		padding-right: 2em;
	}
}

@media screen and (max-width: 1050px) {
	.sec6{
		padding-top: 14.6vw;
	}
	.sec6 .wrap{
		width: 100%;
	}
	.sec6 .ttl1{
		margin-bottom: 13.3vw;
	}
	.sec6 .ttl1 img{
		width: 85.3vw;
	}
	.sec6 .ttl1 .txt1{
		letter-spacing: normal;
		padding-bottom: 1vw;
	}
	.sec6 .ttl1 .txt2{
	}
	.sec6blk .ttl{
		font-size: 5.7vw;
		letter-spacing: 0.05em;
		line-height: 1.7;
		border-width: 1px;

		padding-left: 5.5vw;
		padding-bottom: 4vw;
		margin-bottom: 4vw;
		width: 94.5vw;
	}

	.sec6blk .txt{
		padding: 0 5.5vw;
		letter-spacing: 0.04em;
		line-height: 1.2;
	}
	.sec6blk1{
		padding-bottom: 15vw;/*21*/
	}
	.sec6blk2{
		/*padding: 9.3vw 0 21.3vw;*/
		padding: 9.3vw 0 10vw;
	}
	.sec6blk3{
	/*	padding-top: 10vw; */
		padding: 9.3vw 0 21.3vw;
	}
	.sec6blk4{
		padding: 9.3vw 0 21.3vw;
	}

}


/* ------------------------------------------------------------- */
/* StyleSection _ sec7  CSS                                      */
/* ------------------------------------------------------------- */
.sec7{
	padding-top: 60px;
	padding-bottom: 20px;
	text-align: center;
}
.sec7:before{
	background: #fff;
}
.sec7 .ttl1_en {
	width: 700px;
}
.sec7 .ttl1 .txt1{
	font-size: 1em;
	color: #000;
}
.sec7 .ttl1 .txt1 span {
	font-size: 1.5em;
	color: #DD6CA5;
	font-style: italic;
}

.sec7_blk + .sec7_blk{
	margin-top: 88px;
}
.sec7 .ttl{
	padding: 22px 90px 18px;
	line-height: 1;
	margin-bottom: 20px;
	display: inline-block;
}
.sec7 .ttl .txt1, .sec7 .ttl .txt2{
	display: block;
	line-height: 1;
}
.sec7 .ttl .txt1{
	font-size: 5.66rem;
}
.sec7 .ttl .txt1{
	font-size: 5.66rem;
}
.sec7 .ttl .txt2{
	font-size: 2.3 rem;
	padding-top: 1.2em;
	letter-spacing: 0.05em;
}
.sec7 .ttl .box_waku1, .sec7 .ttl .box_waku3{
	border-color: #D7AB4D;
}

.sec7_blk .img{
	position: relative;
}
.sec7_blk .img .cap{
	position: absolute;
	background: #959090;
	border-radius: 6px;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.4rem;
	letter-spacing: 0.2em;
	height: 58px;
	left: 50%;
	transform: translate(-50%, 50%);
	width: 700px;

}

.sec7 .imgbox{
	flex-wrap: wrap;
}
.sec7_blk .imgbox .img:nth-of-type(n+3){
	margin-top: 58px;
}

.sec7_blk .sec7_blk_txt {
	text-align: center;
	font-size: 1.6em;
	color: #000;
	line-height: 1.6em;
	margin: 60px 0 0;
	width: 100%;
}


.sec7_blk1 .img_txt_box .img, .sec7_blk2 .img_txt_box .img {
  display: block;
  width: 40%;
  padding: 10px 20px 10px 20px;
}
.sec7_blk1 .img_txt_box .txt, .sec7_blk2 .img_txt_box .txt{
	width: 60%;
	font-size: 1.8em;
	line-height: 1.5em;
	text-indent: 1em;
  padding: 10px 20px 10px 20px;
}




@media screen and (min-width: 1051px) {
	.sec7_blk .imgbox .img .cap{
		width: 420px;
		font-weight: 700
	}

	.sec7_blk1.img_txt_box img , 	.sec7_blk2.img_txt_box img{
	  width: 100%;
	}
  .sec7_blk1 .img_txt_box, .sec7_blk2 .img_txt_box{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
  }
 
 	.sec7_blk, .sec7_blk2{
		margin-top: 30px;
	}

}


@media screen and (max-width: 1050px) {
	.sec7{
		padding: 9.3vw 0 28.6vw;
	}
	
	.sec7_blk, .sec7_blk1, .sec7_blk2{
		margin-top: 10vw;
	}
	
	.sec7 .ttl1_en {
		width: 89.7vw;
	}

	.sec7 .ttl1 .txt1{
		font-size: 7.7vw;
		color: #000;
	}
	.sec7 .ttl1 .txt1 span {
		font-size: 9.7vw;
		color: #DD6CA5;
		font-style: italic;
	}
	.sec7 .ttl1 .txt2 {
		font-size: 5.2vw;
	}
	
	.sec7 .ttl{
		padding: 3.4vw 0 2.2vw;
		margin-bottom: 4vw;
		display: block;
	}
	.sec7 .ttl .txt1{
		font-size: 8.7vw;
	}
	.sec7 .ttl .txt2{
		font-size: 8vw;
		padding-top: 1em;
	}

	.sec7_blk .img .cap.narrow{
		letter-spacing: 0.1em;
	}
	.sec7 .imgbox{
	}
	.sec7_blk .imgbox .img{
		width: 100%;
	}
	.sec7_blk .imgbox .img:nth-of-type(n){
		margin-top: 10vw;
	}
	.sec7_blk .imgbox .img:nth-of-type(n+3){
		margin-top: 10vw;
	}
	.sec7_blk .imgbox .img .cap{
		font-size: 5.0vw;
		height: 8.4vw;
		letter-spacing: 0.05em;
		white-space: nowrap;
		width: 70vw;
	}
	.sec7_blk .sec7_blk_txt{
	font-size: 1.4em;
	line-height: 1.5em;
	margin: 30px 0 0;
	text-align: left;
	}


	.sec7_blk1 .img_txt_box .img, .sec7_blk2 .img_txt_box .img{
	  display: block;
	  width: 100%;
	}
	.sec7_blk1 .img_txt_box .txt, .sec7_blk2 .img_txt_box .txt{
		width: 100%;
		font-size: 1.5em;
		line-height: 1.5em;
	}

}


/* ------------------------------------------------------------- */
/* StyleSection _ sec8  CSS                                      */
/* ------------------------------------------------------------- */
.sec8{
	padding: 58px 0 90px;
}
.sec8:before{
	background: #DBE1ED;
}
.sec8 .ttl1{
}
.sec8 .ttl1 img{
	width: 491px;
}
.sec8 .img{
	padding-top: 8px;
	text-align: center;
	margin-bottom: 26px;
}
.sec8_lead1{
	font-size: 4.2rem;
	line-height: 1.4;
}
.sec8_lead2{
	margin-top: 0.15em;
	font-size: 2.4rem;
}

@media screen and (min-width: 1051px) {


}

@media screen and (max-width: 1050px) {
	.sec8{
		padding: 11.3vw 0 12.6vw;
	}
	.sec8 .wrap{
		width: 100%;
	}
	.sec8 .ttl1{
		margin-bottom: 2vw;
	}
	.sec8 .ttl1 img{
		width: 63.4vw;
	}
	.sec8 .img{
		padding-top: 0;
		margin-bottom: 5.6vw;
	}
	.sec8_lead1{
		font-size: 6.1vw;
		line-height: 1.28;
		letter-spacing: 0.08em;
	}
	.sec8_lead2{
		margin-top: 1em;
		font-size: 3.7vw;
		line-height: 1.7;
		letter-spacing: 0.05em;
	}


}


/* ------------------------------------------------------------- */
/* StyleSection _ sec9  CSS                                      */
/* ------------------------------------------------------------- */
.sec9{
	padding: 100px 0;
	background: url(../img/frontpage/sec9_bg.png);
	background-size: 30px;
	z-index: 1;
}
.sec9 .ttl1{
	margin-bottom: 80px;
}
.sec9 .ttl1 img{
	width: 425px;
}
.sec9_blk{
	
}
.sec9_blk + .sec9_blk{
	margin-top: 60px;
	padding-top: 60px;
	border-top: 1px solid #2A2A2A;
}
.sec9_blk .ttl{
	margin-bottom: 55px;
	font-size: 3.2rem;
}
.sec9 .checkli li{
	font-size: 1.8rem;
	font-weight: 700;
	white-space: nowrap;
	letter-spacing: 0.07em;
}
.sec9 .checkli .ico_check{
	width: 37px;
	top: -19px;
}

/*--sec9_blk1--*/
.sec9_blk1{
}
.sec9_1box{
	width: 536px;
	border:2px solid #2A2A2A;
	border-top: none;
	background: #fff;
	margin: 0 auto;
	text-align: center;
}
.sec9_1box .txt1{
	display: block;
	background: #2a2a2a;
	line-height: 1;
	font-size: 1.92rem;
	padding: 0.8em 0;
	letter-spacing: 0.2em;
}
.sec9_1box .txt2{
	padding: 20px 0 16px;
}
.sec9_1box .txt2 span{
	display: block;
	line-height: 1;
	margin-bottom: 10px;
	font-size: 2.24rem;
	letter-spacing: 0.1em;
}
.sec9_1txt{
	font-size: 2.8rem;
	letter-spacing: 0.05em;
}
.sec9_1txt .large{
	font-size: 5.4rem;
	display: block;
	line-height: 1;
}
.sec9_blk1 .ico_tri{
	margin-top: 16px;
	margin-bottom: 16px;
}
/*--sec9_blk2--*/
.sec9_blk2{
	
}
.sec9_2tbl{
	margin-left: auto;
	margin-right: auto;
}
.sec9_2tbl th, .sec9_2tbl td{
	vertical-align: middle;
	text-align: center;
	height: 72px;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
}
.sec9_2tbl th{
	color: #fff;
}
.sec9_2tbl td{
	width: 189px;
	background: #fff;
	border:1px solid #2a2a2a;
}
.sec9_2tbl th.th_red{
	width: 289px;
	background: #B01229;
	border-bottom: 1px solid #B01229;
}
.sec9_2tbl th.th_red.border_w{
	border-color: #fff;
}
.sec9_2tbl th.th_bl{
	width: 189px;
	background: #2a2a2a;
	border:1px solid #2a2a2a;
	position: relative;
}
.sec9_2tbl th.th_bl.br_w{
	border-right-color: #fff;
}
.ie .sec9_2tbl th.th_bl.br_w{
	position: relative;
}
.ie .sec9_2tbl th.th_bl.br_w:before{
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 72px;
	right: 0;
	top: 0;
	background: #fff;
}
.sec9_2tbl th.th_bl+th{
	border-left-color: #fff;
}
.sec9_2tbl th.nobg{
	background: transparent;
	vertical-align: bottom;
	text-align: left;
	color: #2a2a2a;
	font-size: 2rem;
	font-weight: 700;
	white-space: nowrap;
}
.sec9_2lead{
	font-size: 2rem;
	letter-spacing: 0.03em;
	margin-top: 1em;
	margin-bottom: 45px;
}
.sec9_2point{
	margin-left: auto;
	margin-right: auto;
	background: #B01229;
	padding: 27px 0 27px;
}
.sec9_2point p{
	font-size: 2rem;
	line-height: 1.7;
	letter-spacing: 0.07em;
}
.sec9_2point p.mid{
	line-height: 1;
	font-size: 2.6rem;
	line-height: 1;
	letter-spacing: 0.3em;
	margin-bottom: 10px;
	padding-bottom: 0.8em;
	position: relative;
}
.sec9_2point p.mid:before{
	content: "";
	display: block;
	position: absolute;
	width: 4.3em;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	height: 2px;
	background: #fff;
	margin-left: -0.1em;
}
/*--sec9_blk3--*/
.sec9_blk3{
}
.sec9_blk3 .checkli li{
	width: 160px;
	height: 150px;
}
/*--sec9_blk4--*/
.sec9_blk4{
}
.sec9_blk4 .checkli li{
	width: 256px;
	height: 95px;
	line-height: 1;
}
/*--sec9_blk5--*/
.sec9_blk5{
	
}
.sec9_blk5 .payli{
	margin-bottom: 22px;
}
.sec9_blk5 .payli li{
	background: #2a2a2a;
	width: 256px;
	height: 67px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 1.9rem;
	letter-spacing: 0.1em;
}
.sec9_card{
	border:2px solid #2a2a2a;
	background: #fff;
	padding: 20px;
	text-align: center;
}
.sec9_card p{
	font-size: 1.76rem;
	line-height: 1.56;
	margin-bottom: 0.4em;
	letter-spacing: 0.1em;
}

@media screen and (min-width: 1051px) {
	.sec9_1txt{
		padding-left: 1em;
	}
	.sec9_2tbl, .sec9_2point{
		width: 668px;
	}
	.sec9_narrow{
		width: 536px;
		margin-left: auto;
		margin-right: auto;
	}

}

@media screen and (max-width: 1050px) {
	.sec9{
		padding: 14vw 0 12vw;
		background-size: 15px;
	}
	.sec9 .ttl1{
		margin-bottom: 10.6vw;
	}
	.sec9 .ttl1 img{
		width: 56.6vw;
	}
	.sec9_blk{
	}
	.sec9_blk + .sec9_blk{
		margin-top: 8vw;
		padding-top: 8vw;
	}
	.sec9_blk .ttl{
		margin-bottom: 6.6vw;
		font-size: 5.3vw;
	}
	.sec9 .checkli li{
		font-size: 3.14vw;
		letter-spacing: 0.07em;
	}
	.sec9 .checkli .ico_check{
		width: 6.1vw;
		top: -3.05vw;
	}

	/*--sec9_blk1--*/
	.sec9_blk1{
	}
	.sec9_1box{
		width: 100%;
		border-width: 1px;
	}
	.sec9_1box .txt1{
		font-size: 3.4vw;
	}
	.sec9_1box .txt2{
		padding: 3.2vw 0 2.2vw;
	}
	.sec9_1box .txt2 span{
		margin-bottom: 3.7vw;
		font-size: 3.7vw;
		letter-spacing: 0.05em;
	}
	.sec9_1box .txt2 img{
		width: 48.5vw;
	}
	.sec9_1txt{
		font-size: 4.5vw;
		line-height: 1.58;
		letter-spacing: 0.02em;
	}
	.sec9_1txt .large{
		padding-top: 1vw;
		font-size: 9vw;
	}
	.sec9_blk1 .ico_tri{
		width: 15.2vw;
		margin-top: 2.6vw;
		margin-bottom: 1.3vw;
	}
	/*--sec9_blk2--*/
	.sec9_blk2{
	}
	.sec9_2tbl{
	}
	.sec9_2tbl th, .sec9_2tbl td{
		/*height: 9.6vw;*/
		height: auto;
		padding:0.6em 0;
		font-size: 3.2vw;
		letter-spacing: 0.03em;
	}
	.sec9_2tbl td{
		width: 28.2%;
	}
	.sec9_2tbl th.th_red{
		width: 43%;
	}
	.sec9_2tbl th.th_red.border_w{
	}
	.sec9_2tbl th.th_bl{
		width: 28.2%;
	}
	.sec9_2tbl th.nobg{
		padding: 0;
		font-size: 2.6vw;
	}
	.sec9_2lead{
		font-size: 3.7vw;
		letter-spacing: 0.05em;
		margin-top: 2.1vw;
		margin-bottom: 6vw;
		line-height: 1.57;
	}
	.sec9_2point{
		padding: 3.6vw 0 2.6vw;
	}
	.sec9_2point p{
		font-size: 3.2vw;
		line-height: 1.8;
		letter-spacing: 0.05em;
	}
	.sec9_2point p.mid{
		font-size: 3.4vw;
		letter-spacing: 0.2em;
		margin-bottom: 1.4vw;
	}
	.sec9_2point p.mid:before{
		height: 1px;
	}

	/*--sec9_blk3--*/
	.sec9_blk3{
	}
	.sec9_blk3 .checkli li{
		width: 26.6vw;
		height: 25vw;
	}
	/*--sec9_blk4--*/
	.sec9_blk4{
	}
	.sec9_blk4 .checkli li{
		width: 42.6vw;
		height: 15.8vw;
		padding-top: 0;
	}
	/*--sec9_blk5--*/
	.sec9_blk5{
	}
	.sec9_blk5 .payli{
		margin-bottom: 4vw;
	}
	.sec9_blk5 .payli li{
		width: 42.6vw;
		height: 11.2vw;
		font-size: 3.14vw;
		letter-spacing: 0.1em;
	}
	.sec9_card{
		border-width: 1px;
		padding: 2.6vw;
	}
	.sec9_card p{
		font-size: 2.9vw;
		margin-bottom: 1.3vw;
	}
	.sec9_card img{
		width: 69vw;
	}

}

/* ------------------------------
    sec10
------------------------------ */
.sec10{
	padding: 100px 0;
}
.sec10 .ttl1{
	margin-bottom: 84px;
}
.sec10 .ttl1 img{
	width: 580px;
}
.qalist + .qalist{
	margin-top: 40px;
}
.qalist dt ,.qalist dd{
	position: relative;
	letter-spacing: 0.04em;
}
.qalist dt .ico ,.qalist dd .ico{
	width: 40px;
	left: 16px;
	position: absolute;
}
.qalist dt .ico{
	top: 50%;
	transform: translateY(-50%);
}
.qalist dd .ico{
	top: 25px;
}
.qalist dt{
	background: #2a2a2a;
	position: relative;
	padding: 16px 16px 16px 76px;
	font-size: 2rem;
	transition: .3s;
	cursor: pointer;
}
.qalist dt:before ,.qalist dt:after{
	content: "";
	display: block;
	position: absolute;
	background: #fff;
	right: 17px;
	top:50%;
	transform: translateY(-50%);
}
.qalist dt:before{
	width: 31px;
	height: 4px;
}
.qalist dt:after{
	width: 4px;
	height: 31px;
	margin-right: 13px;
}
.qalist dt.active:after{
	display: none;
}
.qalist dd{
	padding: 25px 40px 36px 76px;
	background: #fff;
	border: 2px solid #2a2a2a;
	border-top:none;
	display: none;
}


@media screen and (min-width: 1051px) {
	.sec10 .wrap{
		width: 860px;
	}
	.qalist dt:hover{
		opacity: 0.7;
	}
}

@media screen and (max-width: 1050px) {
	.sec10{
		padding: 13.3vw 0;
	}
	.sec10 .ttl1{
		margin-bottom: 8vw;
	}
	.sec10 .ttl1 .txt1{
		letter-spacing: 0.05em;
	}
	.sec10 .ttl1 img{
		width: 25.7vw;
	}
	.qalist + .qalist{
		margin-top: 5.3vw;
	}
	.qalist dt ,.qalist dd{
		letter-spacing: 0.04em;
	}
	.qalist dt .ico ,.qalist dd .ico{
		width: 6.6vw;
		left: 2vw;
		position: absolute;
	}
	.qalist dd .ico{
		top: 3.4vw;
	}
	.qalist dt{
		padding: 4vw 12vw;
		font-size: 3.6vw;
		line-height: 1.47;
	}
	.qalist dt:before ,.qalist dt:after{
		right: 2.4vw;
	}
	.qalist dt:before{
		width: 5.2vw;
		height: 0.6vw;
	}
	.qalist dt:after{
		width: 0.6vw;
		height: 5.2vw;
		margin-right: 2.4vw;
	}
	.qalist dd{
		padding: 3.4vw 4vw 4.5vw 12.4vw;
		border-width: 1px;
		letter-spacing: -0.01em;
	}

}

/* ------------------------------------------------------------- */
/* StyleSection _ sec11  CSS                                     */
/* ------------------------------------------------------------- */
.sec11{
	padding: 104px 0 171px;
}
.sec11 .ttl1{
	margin-bottom: 92px;
}
.sec11 .ttl1_en{
	width: 700px;
}
.sec11blk{
	position: relative;
}
.sec11blk .num{
	position: absolute;
	top: -12px;
	left: 1px;
	width: auto;
	height: 42px;
}
.sec11blk .ttl{
	line-height: 1;
	letter-spacing: 0.05em;
	font-size: 2.4rem;
	padding-bottom: 1.16em;
	border-bottom: 2px solid #2a2a2a;
	margin-bottom: 1em;
}
.sec11blk .box{

}
.sec11blk .box p{
	flex:1;
	font-size: 1.4em;
	line-height: 1.5em;
}

.sec11blk .box img{
	margin-right: 30px;
	width: 400px;
}

.sec11 .ico_tri{
	width: 90px;
	margin-top: 28px;
	margin-bottom: 42px;
}


@media screen and (min-width: 1051px) {
	.sec11 .wrap{
		width: 860px;
	}
}

@media screen and (max-width: 1050px) {
	.sec11{
		padding: 14.6vw 0 24vw;
	}
	.sec11 .ttl1{
		margin-bottom: 13.3vw;
	}
	.sec11 .ttl1_en {
		width: 89.7vw;
	}
	
	.sec11 .ttl1 .txt1 {
		font-size: 7.7vw;
	
	}
	.sec11blk .num{
		top: -1.3vw;
		left: 0;
		width: auto;
		height: 6.7vw;
	}
	.sec11blk .ttl{
		position: relative;
		font-size: 3.7vw;
		padding-bottom: 4vw;
		border-bottom: none;
		margin-bottom: 4vw;
		letter-spacing: 0.1em;
	}
	.sec11blk .ttl:before{
		content: "";
		display: block;
		position: absolute;
		width: calc(100% + 5.5vw);
		height: 1px;
		background: #2a2a2a;
		left: -5.5vw;
		bottom: 0;
	}
	.sec11blk .ttl .txt{
		font-size: 5vw;
		margin-left: 26px;
	}
	.sec11blk .box p{
		font-size: 5vw;
		line-height: 5.8vw;
		letter-spacing: 0.04em;
	}
	.sec11blk .box img{
		width: 100%;
		margin: -2.6vw 0 2vw 0;
	}

	.sec11 .ico_tri{
		width: 15.2vw;
		margin-top: 6vw;
		margin-bottom: 6vw;
	}
}

/* ------------------------------------------------------------- */
/* StyleSection _ sec12  CSS                                     */
/* ------------------------------------------------------------- */
.sec12{
	padding: 100px 0 50px 0;
}
.sec12 .ttl1 {
}
.sec12 .ttl1 img{
	width: 515px;
}
.sec12_blk1{
	margin-bottom: 80px;
	vertical-align: top;
	font-size: 1.8rem;
	line-height: 1;
}

/* ========= 会社概要  ========== */
.tbl_body {
	width: 100%;
	background-color: #fff;

	border-radius: 10px;
	padding: 20px 30px;
}
.main-tbl {
  width: 100%;
  border-collapse: collapse;
	}
	.m-th {
		width: 20%;
	  padding: 10px;
	  border-bottom: 1px solid black;
	}
	.m-td {
	  border-bottom: 1px solid black;
	  padding: 10px;
	}

.nest-tbl {
  width: 100%;
	}
	.nest-tbl th {
		width: 240px;
	  padding: 10px;
	}
	.nest-tbl td {
	  padding: 10px;
	}



@media screen and (max-width: 1050px) {
		.m-th {
			width: 100px;
		  padding: 6px 0;
		}
		.m-td {
			font-size: 0.9em;
		  padding: 6px 0;
		}

		.nest-tbl th {
			width: 84px;
			padding: 10px 0;

		}
		.nest-tbl td {
			padding: 10px 0;
		}

}






/* ========= MAP  ========== */
.sec12_blk2 {
	margin-top: 40px;
}
.sec12_maps {
	width: 30%;
}
.sec12_maps p{
	font-size: 1.8rem;
	line-height: 1;
	margin-bottom: 12px;
}
.sec12_maps .mid{
	width: 100%;
	text-align: center;
	
	display: inline-block;
	background: #2a2a2a;
	color: #fff;
	font-size: 2.08rem;
	padding: 0.65em 22px 0.8em;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	
	margin-bottom: 12px;
}
.gglmap {
	border-radius: 4px;
	border: 4px solid #fff;
}

.gglmap iframe {
	width: 100%;
	height: 300px;
	border:0;
}


@media screen and (min-width: 1051px) {
	.sec12tbl{
		width: 511px;
		margin-top: -1.3em;
	}
}

@media screen and (max-width: 1050px) {
	.sec12{
		padding: 13.3vw 0;
	}
	.sec12 .ttl1 {
		margin-bottom: 10.6vw;
	}
	.sec12 .ttl1 img{
		width: 68.5vw;
	}
	.sec12_blk1{
		margin-bottom: 13.3vw;
	}
	.sec12_blk1 img{
		margin-bottom: 1.3vw;
	}
	.sec12tbl{
	}
	.sec12_blk2{
	}
	
	.sec12_maps {
		width: 100%;
	}
	.sec12_maps + .sec12_maps{
		margin-top: 11.3vw;
	}
	.sec12_maps .mid{
		font-size: 3.4vw;
		padding: 0.7em 4vw 0.8em;
		margin-bottom: 4vw;
		letter-spacing: 0.2em;
	}
	.sec12_maps p{
		font-size: 3.2vw;
		margin-bottom: 4.6vw;
		letter-spacing: 0.07em;
	}
	.gglmap{
		width: 100%;
		height: 50vw;
		position: relative;
		overflow: hidden;
	}
	.gglmap iframe,
	.gglmap object,
	.gglmap embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

}

/* ------------------------------------------------------------- */
/* StyleSection _sec13   CSS                                     */
/* ------------------------------------------------------------- */
.sec13{
	padding: 90px 0 100px;
	background: url(../img/frontpage/sec13_bg.png);
	background-size:30px;
}
.sec13 .ttl{
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin-bottom: 70px;
}
.sec13 .txt{
	line-height: 2;
}
.sec13 .txt p{
	text-align: center;
	font-size: 1.8rem;
}
.sec13 .txt p+p{
	margin-top: 1em;
}
.sec13_logo{
	margin: 54px auto 0;
	display: block;
	padding-right: 16px;
	text-align: center;
}
.sec13_logo img{
	width: 246px;
}
@media screen and (min-width: 1051px) {


}

@media screen and (max-width: 1050px) {
	.sec13{
		padding: 12vw 0 8.6vw;
		background-size:15px;
	}
	.sec13 .wrap{
		width: 100%;
	}
	.sec13 .ttl{
		font-size: 4.8vw;
		line-height: 1.66;
		letter-spacing: 0.05em;
		margin-bottom: 6vw;
	}
	.sec13 .txt{
		line-height: 2.08;
		letter-spacing: 0.03em;
	}
	.sec13 .txt p{
		font-size: 3.2vw;
	}
	.sec13 .txt p+p{
		margin-top: 2em;
	}
	.sec13_logo{
		margin: 6.6vw auto 0;
		padding-right: 3.3vw;
	}
	.sec13_logo img{
		width: 44.6vw;
	}

}

/* ------------------------------------------------------------- */
/* StyleSection _ sec14  CSS                                     */
/* ------------------------------------------------------------- */
.sec14{
margin-top: 50px;
	padding: 33px 0 60px;
	background: url(../img/frontpage/sec14_bg_pc.webp) bottom center no-repeat;
	background-size: 100%;
}
.sec14:before{
	background: #fff;
	height: 50%;
}
.sec14 .ttl1{
	overflow: hidden;
}
.sec14 .ttl1 .txt1, .sec14 .ttl1 .txt2{
	letter-spacing: 0.05em;
}
.sec14 .ttl1 img{
	width: 220px;
}


.sec14_blk1{
	margin-bottom: 65px;
	position: relative;
}
.sec14li1{
	padding: 9px;
}
.sec14li1 ul{
	padding-left: 60px;
}
.sec14li1 li{
	width: auto;
	position: relative;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	text-indent: 1em;
}
.sec14li1 li:last-child {
	border-bottom:1px solid #1AAB8A;
}


.sec14_blk1 .img img {
	width: 600px;
	border-radius: 16px;
}


.sec14li1 a{
	display:block;
  color:#000;
  border:none;
  position:relative;
  height:50px;
  font-size:1.6em;
}
.sec14li1 a:hover{
  background:#fff;
  color:#1AAB8A;
}

.sec14li1 a:before, .sec14li1 a:after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  height:1px;
  width:0;
  background: #1AAB8A;
  transition:400ms ease all;
}
.sec14li1 a:after{
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
.sec14li1 a:before, .sec14li1 a:hover:after{
  width:100%;
  transition:800ms ease all;
}


@media screen and (min-width: 1051px) {
	.sec14 .ttl1 .txt2{
		padding-top: 1.3em;
	}
	.sec14li1{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 0;
		width: 560px;
	}

}
@media screen and (max-width: 1050px) {
	.sec14{
		padding: 6.6vw 0 13vw;
		background: url(../img/frontpage/sec14_bg_sp.webp) bottom center no-repeat;
		background-size: 100%;
	}
	.sec14 .ttl1 .txt2{
		padding-top: 3vw;
	}
	.sec14 .ttl1 .txt1, .sec14 .ttl1 .txt2{
		letter-spacing: normal;
	}
	.sec14 .ttl1 img{
		width: 36.6vw;
	}
	.sec14_blk1{
		margin-bottom: 13.3vw;
	}
	.sec14li1{
		padding: 1.2vw;
		width: 84vw;
		margin: -4.6vw auto 0;
	}
	.sec14li1 ul{
	padding: 40px 10px 0 0;
	}
	.sec14_blk1 .img img {
		width: 100%;
	}


}






/* ------------------------------------------------------------- */
/* StyleSection _ sec99  CSS                                     */
/* ------------------------------------------------------------- */
.sec99:before{
	background: #fff;
	height: 50%;
}
.sec99 .ttl1{
	overflow: hidden;
}
.sec99 .ttl1 .txt1, .sec99 .ttl1 .txt2{
	letter-spacing: 0.05em;
}
.sec99 .ttl1 img{
	width: 220px;
}


.sec99_blk1{
	margin-bottom: 65px;
	position: relative;
}
.sec99li1{
	padding: 9px;
}
.sec99li1 ul{
	padding-left: 60px;
}
.sec99li1 li{
	width: auto;
	position: relative;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	text-indent: 1em;
}
.sec99li1 li:last-child {
	border-bottom:1px solid #1AAB8A;
}


.sec99_blk1 .img img {
	width: 600px;
	border-radius: 16px;
}


.sec99li1 a{
	display:block;
  color:#000;
  border:none;
  position:relative;
  height:50px;
  font-size:1.6em;
}
.sec99li1 a:hover{
  background:#fff;
  color:#1AAB8A;
}

.sec99li1 a:before, .sec99li1 a:after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  height:1px;
  width:0;
  background: #1AAB8A;
  transition:400ms ease all;
}
.sec99li1 a:after{
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
.sec99li1 a:before, .sec99li1 a:hover:after{
  width:100%;
  transition:800ms ease all;
}



/* top title */
.sec99top .ttl{
	letter-spacing: 0.03em;
	text-align: center;
	white-space: nowrap;
}
.sec99topblk{
	padding-top: 58px;
	height: 280px;
}
.sec99topblk .ttl{
	margin-top: 80px;
	margin-bottom: 40px;
}



@media screen and (min-width: 1051px) {
	.sec99 .ttl1 .txt2{
		padding-top: 1.3em;
	}
	.sec99li1{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 0;
		width: 560px;
	}

}
@media screen and (max-width: 1050px) {
	.sec99 .ttl1 .txt2{
		padding-top: 3vw;
	}
	.sec99 .ttl1 .txt1, .sec99 .ttl1 .txt2{
		letter-spacing: normal;
	}
	.sec99 .ttl1 img{
		width: 36.6vw;
	}
	.sec99_blk1{
		margin-bottom: 13.3vw;
	}
	.sec99li1{
		padding: 1.2vw;
		width: 84vw;
		margin: -4.6vw auto 0;
	}
	.sec99li1 ul{
	padding: 40px 10px 0 0;
	}
	.sec99_blk1 .img img {
		width: 100%;
	}

	.sec99top .ttl{
		line-height: 1.25;
	}
	.sec99topblk{
		padding-top: 4.8vw;
	}
	.sec99topblk .ttl{
		margin-bottom: 4.8vw;
	}

}





/* ------------------------------------------------------------- */
/* StyleSection _ sec15  CSS                                      */
/* ------------------------------------------------------------- */


.sec15_blk1 .img_txt_box .img{
  display: block;
  width: 40%;
  padding: 10px 20px 10px 20px;
}
.sec15_blk1 .img_txt_box .txt{
	width: 60%;
	font-size: 1.8em;
	line-height: 1.5em;
	text-indent: 1em;
  padding: 10px 20px 10px 20px;
}




@media screen and (min-width: 1051px) {

  .sec15_blk1.img_txt_box img {
    width: 100%;
  }
  .sec15_blk1 .img_txt_box{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
  }
 

}


@media screen and (max-width: 1050px) {

	.sec15_blk, .sec15_blk1, .sec15_blk2{
		margin-top: 10vw;
	}
	
	.sec15 .ttl1_en {
		width: 89.7vw;
	}
	
	.sec15 .ttl{
		padding: 3.4vw 0 2.2vw;
		margin-bottom: 4vw;
		display: block;
	}
	.sec15 .ttl .txt1{
		font-size: 8.7vw;
	}
	.sec15 .ttl .txt2{
		font-size: 5vw;
		padding-top: 1em;
	}

	.sec15_blk .img .cap.narrow{
		letter-spacing: 0.1em;
	}
	.sec15 .imgbox{
	}
	.sec15_blk .imgbox .img{
		width: 100%;
	}
	.sec15_blk .imgbox .img:nth-of-type(n){
		margin-top: 10vw;
	}
	.sec15_blk .imgbox .img:nth-of-type(n+3){
		margin-top: 10vw;
	}
	.sec15_blk .imgbox .img .cap{
		font-size: 5.0vw;
		height: 8.4vw;
		letter-spacing: 0.05em;
		white-space: nowrap;
		width: 70vw;
	}
	.sec15_blk .sec15_blk_txt{
	font-size: 1.4em;
	line-height: 1.5em;
	margin: 30px 0 0;
	text-align: left;
	}


	.sec15_blk1 .img_txt_box .img, .sec15_blk2 .img_txt_box .img{
	  display: block;
	  width: 100%;
	}
	.sec15_blk1 .img_txt_box .txt, .sec15_blk2 .img_txt_box .txt{
		width: 100%;
		font-size: 1.5em;
		line-height: 1.5em;
	}

}






.sec99_blk .img_txt_box .img{
  display: block;
  width: 40%;
  padding: 10px 20px 10px 20px;
}
.sec99_blk .img_txt_box .txt{
	width: 60%;
	font-size: 1.8em;
	line-height: 1.5em;
	text-indent: 1em;
  padding: 10px 20px 10px 20px;
}

@media screen and (min-width: 1051px) {

  .sec99_blk.img_txt_box img {
    width: 100%;
  }
  .sec99_blk .img_txt_box{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
  }
 

}


@media screen and (max-width: 1050px) {
	.sec15_blk1 .img_txt_box .img{
	  display: block;
	  width: 100%;
	}
	.sec15_blk1 .img_txt_box .txt{
		width: 100%;
		font-size: 1.5em;
		line-height: 1.5em;
	}

}










/* ------------------------------------------------------------- */
/* StyleSection _ sec99  #policy  CSS                            */
/* ------------------------------------------------------------- */

#policy  .sec99top:before{
	top: 0;
	width: 100%;
	height: 380px;
	background-color: #fff;
	background-image:  url("../img/base/sec99_policy_top_bk_pc.webp");
	opacity: 0.3;
  background-repeat: no-repeat;
  background-size: cover;
	background-position: center;
 
}

#policy .sec99{
	margin-top: 50px;
	padding: 33px 0 60px;
	background: url(../img/base/sec99_policy_bk_pc.webp) bottom center no-repeat; 
	background-size: 100%;
}
#policy .sec99_blk {
padding: 0 100px 0 100px; 
}
#policy .sec99_blk p.txt1{
	font-size: 1.2em;
	padding: 0 20px;
	margin-bottom: 30px;
} 
#policy .sec99_blk p.txt2{
	margin-left: 0.5em;
	font-size: 1.2em;
}

#policy .sec99_blk dl{
	margin-bottom: 20px;
	padding: 0 2em;
}
#policy .sec99_blk dt{
	text-align: center;
	font-size: 1.4em;

}

#policy .sec99_blk dd{
	font-size: 1em;
	padding: 0 1em;
	}

#policy .sec99_blk ol{
	padding: 0 1.4em;
}



.address_box {
  padding: 15px 20px 20px;
  margin-bottom: 20px;
  border-radius: 10px;
  background: #E5E5E5;
}
.address_box p{
  text-align: center;
}
.address_box h3 {
  margin: 10px 0 6px 0;
  font-size: 1.6em;
  text-align: center;
}




@media screen and (max-width: 1050px) {
	#policy .sec99top:before{
		top: 0;
		width: 100%;
		background-image:  url("../img/base/sec99_policy_top_bk_sp.webp");
		opacity: 0.3;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}

	#policy .sec99{
		padding: 6.6vw 0 13vw;
		background: url(../img/base/sec99_policy_bk_sp.webp) bottom center no-repeat;
		background-size: 100%;
	}
	
	#policy .sec99_blk {
	padding: 0; 
	}
	#policy .sec99_blk dl{
		margin-bottom: 20px;
		padding : 0;
	}
	#policy .sec99_blk dt{
		text-align: center;
		font-size: 1.4em;

	}

	#policy .sec99_blk dd{
		font-size: 1em;
		padding-left: 1em;	
	}

	#policy .sec99_blk ol{
		padding-left: 1em;	
	}

	.address_box h3 {
	  margin: 10px 0 6px 0;
	  font-size: 1.2em;
	  text-align: center;
	}


}




/* ------------------------------------------------------------- */
/* StyleSection _ sec99  #complete  CSS                          */
/* ------------------------------------------------------------- */

#complete  .sec99top:before{
	top: 0;
	width: 100%;
	height: 380px;
	background-color: #fff;
	background-image:  url("../img/base/sec99_comp_top_bk_pc.webp");
	opacity: 0.3;
  background-repeat: no-repeat;
  background-size: cover;
	background-position: center;
 
}
#complete  h2.ttl {
	color: #FC5858;
	letter-spacing: 0.5em;
}

#complete .sec99{
	margin-top: 50px;
	padding: 33px 0 60px;
	background: url(../img/base/sec99_policy_bk_pc.webp) bottom center no-repeat; 
	background-size: 100%;
}
#complete .sec99_blk {
padding: 0 100px 0 100px; 
}
#complete .sec99_blk p.txt1{
	width: 100%;
	text-align: center;
	font-size: 1.8em;
	margin-bottom: 30px;
} 
#complete .sec99_blk dl{
	margin-bottom: 20px;
	padding: 0 2em;
}
#complete .sec99_blk dt{
	text-align: center;
	font-size: 1.4em;

}

#complete .sec99_blk dd{
	font-size: 1em;
	padding: 0 10em;
}


.address_box {
  padding: 15px 20px 20px;
  margin-bottom: 20px;
  border-radius: 10px;
  background: #E5E5E5;
}
.address_box p{
  text-align: center;
}
.address_box h3 {
  margin: 10px 0 6px 0;
  font-size: 1.6em;
  text-align: center;
}


@media screen and (max-width: 1050px) {
	#complete .sec99top:before{
		top: 0;
		width: 100%;
		background-image:  url("../img/base/sec99_comp_top_bk_sp.webp");
		opacity: 0.3;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}

	#complete .sec99{
		padding: 6.6vw 0 13vw;
		background: url(../img/base/sec99_policy_bk_sp.webp) bottom center no-repeat;
		background-size: 100%;
	}
#complete .sec99_blk p.txt1{
	line-height: 1em;
} 

	#complete .sec99_blk {
	padding: 0; 
	}
	#complete .sec99_blk dl{
		margin-bottom: 20px;
		padding : 0;
	}
	#complete .sec99_blk dt{
		text-align: center;
		font-size: 1.4em;
	}

	#complete .sec99_blk dd{
		font-size: 1em;
		padding: 0 1em;
	}

	.address_box h3 {
	  margin: 10px 0 6px 0;
	  font-size: 1.2em;
	  text-align: center;
	}
}



/* ------------------------------------------------------------- */
/* StyleSection _ sec99  #newsinfo  CSS                          */
/* ------------------------------------------------------------- */

#newsinfo  .sec99top:before{
	top: 0;
	width: 100%;
	height: 380px;
	background-color: #fff;
	background-image:  url("../img/base/sec99_news_top_bk_pc.webp");
	opacity: 0.3;
  background-repeat: no-repeat;
  background-size: cover;
	background-position: center;
 
}
#newsinfo  h2.ttl1 {
	color: #DD6CA5;
	letter-spacing: 0.5em;
}

#newsinfo .sec99 .ttl1_en{
	width: 549px;
}
#newsinfo .sec99{
	margin-top: 50px;
	padding: 33px 0 60px;
	background: url(../img/base/sec99_news_bk_pc.webp) top center no-repeat; 
	background-size: 100%;
}

/*
#newsinfo .sec99blk {
padding: 0 100px 60px 100px; 
}
*/


#newsinfo .flex_box {
	width: 100%;
	border-bottom: 2px solid #B8929C;
}

#newsinfo .txt_box {
	width: 80%;
	margin: 20px 10px 20px 30px;
	padding: 0 1em 0 1em;
	background-color: #fff;
	  margin: 0 auto;
	border-radius: 14px;
	
	margin-bottom: 40px;
}
#newsinfo .txt_box h3{
	margin-top: 10px;
	border-bottom: 1px;
	border-bottom: 2px solid #DD6CA5;
}
#newsinfo .txt_box span.date {
	font-size: 1.3em;
	font-style: italic;
	display: block;
	padding: 0 14px;
}
#newsinfo .txt_box span.ttl2 {
	font-size: 1.8em;
	padding: 0 14px;
}
#newsinfo .txt_box p{
	font-size: 1.3em;
	line-height: 1.6em;
	margin: 10px 16px 0 10px;
	padding: 0 1em 1em 1em;
	min-height: 200px;
	overflow: clip;	
}


#newsinfo .flex_box_img ul {
	display: flex;
	flex-wrap:wrap;
	width: 100%;
	justify-content: center;
	margin-bottom: 60px;
}
#newsinfo .flex_box_img li {
	padding: 12px;
}

#newsinfo .flex_box_img img {
	border-radius: 10px;
	box-shadow: 7px 10px 5px -2px #aaaaaa,5px 7px 5px 0px #ffffff inset;
}


@media screen and (min-width: 1051px) {

	#newsinfo .flex_box_img {
		min-height: 260px;
	}


}

@media screen and (max-width: 1050px) {
	#newsinfo .sec99top:before{
		top: 0;
		width: 100%;
		background-image:  url("../img/base/sec99_news_top_bk_sp.webp");
		opacity: 0.3;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}

	#newsinfo .sec99{
		padding: 6.6vw 0 13vw;
		background: url(../img/base/sec99_news_bk_sp.webp) top center no-repeat;
		background-size: 100%;
	}
	
	#newsinfo .sec99 .ttl1_en{
		width: 89.7vw;
	}
	
	#newsinfo .txt_box {
		width: 100%;
		padding: 0 1em 0 1em;
		background-color: #fff;
		margin: 0 auto;
		border-radius: 14px;
		
		margin-bottom: 40px;
	}

	#newsinfo .flex_box_img img {
		width: 100%;
	}
	
	
}






/* ------------------------------------------------------------- */
/* StyleSection _ sec99  #const  CSS                          */
/* ------------------------------------------------------------- */

#const  .sec99top:before{
	top: 0;
	width: 100%;
	height: 380px;
	background-color: #fff;
	background-image:  url("../img/base/sec99_news_top_bk_pc.webp");
	opacity: 0.3;
  background-repeat: no-repeat;
  background-size: cover;
	background-position: center;
 
}
#const  h2.ttl1 {
	color: #DD6CA5;
	letter-spacing: 0.5em;
}

#const .sec99 .ttl1_en{
	width: 549px;
}
#const .sec99{
	margin-top: 50px;
	padding: 33px 0 60px;
	background: url(../img/base/sec99_news_bk_pc.webp) top center no-repeat; 
	background-size: 100%;
}

#const .flex_box {
	width: 100%;
	border-bottom: 2px solid #B8929C;
}

#const .txt_box {
	width: 80%;
	margin: 20px 10px 20px 30px;
	padding: 0 1em 0 1em;
	background-color: #fff;
	  margin: 0 auto;
	border-radius: 14px;
	
	margin-bottom: 40px;
}
#const .txt_box h3{
	margin-top: 10px;
	border-bottom: 1px;
	border-bottom: 2px solid #DD6CA5;
}
#const .txt_box span.date {
	font-size: 1.3em;
	font-style: italic;
	display: block;
	padding: 0 14px;
}
#const .txt_box span.ttl2 {
	font-size: 1.8em;
	padding: 0 14px;
}
#const .txt_box p{
	font-size: 1.3em;
	line-height: 1.6em;
	margin: 10px 16px 0 10px;
	padding: 0 1em 1em 1em;
	min-height: 200px;
	overflow: clip;	
}


#const .flex_box_img ul {
	display: flex;
	flex-wrap:wrap;
	width: 100%;
	justify-content: center;
	margin-bottom: 60px;
}
#const .flex_box_img li {
	padding: 12px;
}

#const .flex_box_img img {
	border-radius: 10px;
	box-shadow: 7px 10px 5px -2px #aaaaaa,5px 7px 5px 0px #ffffff inset;
}


@media screen and (min-width: 1051px) {
	#const .flex_box_img {
		min-height: 260px;
	}
}

@media screen and (max-width: 1050px) {
	#const .sec99top:before{
		top: 0;
		width: 100%;
		background-image:  url("../img/base/sec99_news_top_bk_sp.webp");
		opacity: 0.3;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}

	#const .sec99{
		padding: 6.6vw 0 13vw;
		background: url(../img/base/sec99_news_bk_sp.webp) top center no-repeat;
		background-size: 100%;
	}
	
	#const .sec99 .ttl1_en{
		width: 89.7vw;
	}
	
	#const .txt_box {
		width: 100%;
		padding: 0 1em 0 1em;
		background-color: #fff;
		margin: 0 auto;
		border-radius: 14px;
		
		margin-bottom: 40px;
	}

	#const .flex_box_img img {
		width: 100%;
	}
}



/* ------------------------------------------------------------- */
/* StyleSection _ sec99  #estate  CSS                          */
/* ------------------------------------------------------------- */
#estate  h2.ttl1 {
	color: #000;
	letter-spacing: 0.5em;
}

#estate .sec99 .ttl1_en{
	width: 549px;
}
#estate .sec99{
	margin-top: 50px;
	padding: 33px 0 60px;
	background: url(../img/base/sec99_news_bk_pc.webp) top center no-repeat; 
	background-size: 100%;
}


@media screen and (min-width: 1051px) {

}

@media screen and (max-width: 1050px) {
	#estate .sec99{
		padding: 6.6vw 0 13vw;
		background: url(../img/base/sec99_news_bk_sp.webp) top center no-repeat;
		background-size: 100%;
	}
	
	#estate .sec99 .ttl1_en{
		width: 89.7vw;
	}

}


/* ------------------------------------------------------------- */
/* StyleSection _ sec99  #plan CSS                               */
/* ------------------------------------------------------------- */
#plan  h2.ttl1 {
	color: #000;
	letter-spacing: 0.5em;
}

#plan .ttl1 .txt{
	color: #DD6CA5;
	letter-spacing:5em;
}

#plan .sec99 .ttl1_en{
	width: 549px;
}
#plan .sec99{
	margin-top: 50px;
	padding: 33px 0 60px;
	background: url(../img/base/sec99_plan_bk_pc.webp) top center no-repeat; 
	background-size: 100%;
}


@media screen and (min-width: 1051px) {

}

@media screen and (max-width: 1050px) {
	#plan .sec99{
		padding: 6.6vw 0 13vw;
		background: url(../img/base/sec99_plan_bk_sp.webp) top center no-repeat;
		background-size: 100%;
	}
	
	#plan .sec99 .ttl1_en{
		width: 89.7vw;
	}
	#plan .ttl1 .txt{
		letter-spacing: 1.8em;
		font-size: 1.8em;
		font-weight: 700;
	}
	

}





/* ------------------------------------------------------------- */
/* StyleSection _  左画像で右テキスト  CSS  (共通)               */
/* ------------------------------------------------------------- */
.sec20{

	padding: 33px 0 60px;
	background: url(../img/base/sec99_news_bk_pc.webp) top center no-repeat; 
	background-size: 100%;
}

.sec20 .ttl1{
	font-size: 3em;
}
.sec20_blk .img_txt_box .img{
  display: block;
  width: 40%;
  padding: 10px 20px 10px 20px;
}

.sec20_blk .img_txt_box .txt{
	width: 60%;
	font-size: 1.8em;
	line-height: 1.5em;
	text-indent: 1em;
  padding: 100px 20px 10px 20px;
}


.sec20blk .ttl2 {
	display: block;
	color: #fff;
	font-size: 1.8em;
	letter-spacing: 0.3em;
	background-color: #0080FF;
	text-align: center;
	border-radius: 10px 10px 0 0 ;
}

.sec20blk .ttl3 {
	display: block;
	color: #fff;
	margin-top: 30px;
	font-size: 1.8em;
	letter-spacing: 0.3em;
	background-color: #808040;
	text-align: center;
	padding: 6px 4px;
	border-radius: 10px 10px 0 0 ;
}
.sec20blk .ttl4 {
	display: block;
	color: #fff;
	margin-top: 30px;
	font-size: 1.8em;
	letter-spacing: 0.3em;
	background-color: #AC0000;
	text-align: center;
	padding: 6px 4px;
	border-radius: 10px 10px 0 0 ;
}


@media screen and (min-width: 1051px) {
  .sec20_blk .img_txt_box img {
    width: 100%;
  }
  .sec20_blk .img_txt_box{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
  }
}

@media screen and (max-width: 1050px) {
	.sec20 .ttl1{
		font-size: 2.4em;
	}

	.sec20_blk .img_txt_box .img{
	  display: block;
	  width: 100%;
	}
		.sec20_blk .img_txt_box .txt{
		width: 100%;
		font-size: 1.5em;
		line-height: 1.5em;
  	padding: 10px 20px;
	}

}




/* ------------------------------------------------------------- */
/* StyleSection _ sec20  .card CSS                               */
/* ------------------------------------------------------------- */
.card {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-basis: 48%;
    word-wrap: break-word;
    background-color: #efefef;
    background-clip: border-box;
    border: 0;
    border-radius: 0.25rem;
    
    box-shadow: 0 8px 16px #000;

    transition: .5s;
    text-decoration: none;
    color: #333;
}

.card-image {
    width: 100%;
    height: 80px;

    object-fit: cover;
    clip-path: circle(65% at top);
}

.card-body {
	padding: 10px 15px;
    color: #333;
}


.card-title {
    margin-bottom: 0.5rem;
    font-size: 2.5rem;
    font-weight: bold;
}

.card-description {
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

@media screen and (max-width: 1050px) {
	.card {
		box-shadow: 0 4px 12px #000;
	}
	.card-box {
	    padding: 4px;
	}
	.card-image {
	 	height: 60px;
	}
	,card-box {
	}
	.card-title {
	    margin-bottom: 0.2rem;
	    font-size: 2rem;
	    font-weight: bold;
	}

}



/* ------------------------------------------------------------- */
/* StyleSection _ sec20  .col_3 CSS                              */
/* ------------------------------------------------------------- */
*, *:before, *:after {
    box-sizing: border-box;
}
.col_3{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
/* ===== local.css ===== */
/*border: 3px solid #0080FF;
	border-radius: 0 0 10px 10px;
	padding: 30px 10px 0 10px;*/
}
.col_3 > *{
    width: calc( 33.33333% - 8px ) ;
    margin-right: 12px;
    margin-bottom: 12px;
}
.col_3 > *:nth-child(3n){
    margin-right: auto;
}
.col_3 > * > *{
    background: #fff;
    position: relative;
    overflow: hidden
}

/* @media screen and (max-width: 960px) { */
@media screen and (max-width: 1050px) {
	.col_3{
		padding: 4px 4px;
	}
    .col_3 > *{
        width: calc( 50% - 6px ) ;
    }
    .col_3 > *:nth-child(3n){
        margin-right: 12px;
    }
    .col_3 > *:nth-child(2n){
        margin-right: auto;
    }
}
/*
@media screen and (max-width: 580px) {
	.card-body {
		padding: 10px 0;
	}
	.col_3 > *{
		width: 100%;
		margin-right: auto;
	}
	.col_3 > *:nth-child(3n){
		margin-right: auto;
	}
}
*/





/* ------------------------------------------------------------- */
/* StyleSection _ sec20  .col_4 CSS                              */
/* ------------------------------------------------------------- */
.col_4{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
/* ===== local.css ===== */
/*border-radius: 0 0 10px 10px;
	border: 3px solid #808040;
	padding: 12px 10px;
  padding: 0 10px;*/
}


.col_4 > *{
	width: calc( 25% - 9px );
	margin-right: 12px;
/*	margin-bottom: 12px; */
}
.col_4 > *:nth-child(4n){
	margin-right: auto;
}
.col_4 > * > *{
	height: 120px;
	position: relative;
	overflow: hidden
}
/*
@media screen and (max-width: 960px)
	.col_4 > *{
		width: calc( 33.33333% - 8px ) ;
	}
	.col_4 > *:nth-child(4n){
		margin-right: 12px;
	}
	.col_4 > *:nth-child(3n){
		margin-right: auto;
	}
}
*/

/*@media screen and (max-width: 580px) {*/
@media screen and (max-width: 1050px) {
	.col_4 > *{
		width: calc( 50% - 6px ) ;
	}
	.col_4 > *:nth-child(3n){
		margin-right: 12px;
	}
	.col_4 > *:nth-child(2n){
		margin-right: auto;
	}
}




/* ------------------------------------------------------------- */
/* StyleSection _ sec99  #error  CSS                             */
/* ------------------------------------------------------------- */
#errer h2.ttl {
	font-size: 3em;
}

#errer  .sec99top:before{
	top: 0;
	width: 100%;
	height: 380px;
	background-color: #fff;
	background-image:  url("../img/base/sec99_error_top_bk_pc.webp");
	opacity: 0.3;
  background-repeat: no-repeat;
  background-size: cover;
	background-position: center;
 
}

#errer .sec99_blk {
	padding: 0 100px 100px 100px; 
}
#errer .sec99_blk p.txt1{
	font-size: 1.5em;
	padding: 0 60px;
	margin-bottom: 30px;
} 

@media screen and (max-width: 1050px) {
	#errer .sec99top:before{
		top: 0;
		width: 100%;
		background-image:  url("../img/base/sec99_error_top_bk_sp.webp");
		opacity: 0.3;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}
	#errer .sec99_blk p.txt1{
		font-size: 1.5em;
		line-height: 1.2em;
		padding: 0 0;
		margin-bottom: 60px;
	} 
	
	#errer .sec99_blk {
	padding: 0; 
	}

	.txt1 {
		font-size: 1em;
	}
}





/* ------------------------------------------------------------- */
/* StyleSection _ form   CSS                                     */
/* ------------------------------------------------------------- */
#form{
	position: relative;
	padding: 130px 0 82px;
	background: #fff;
}
#form .ttl1{
	letter-spacing: normal;
	margin-bottom: 10px;
}
.form_lead{
	font-size: 1.8rem;
	line-height: 1.7;
	margin-bottom: 35px;
}
.form_tbl{
}
.form_tbl th,.form_tbl td{
	vertical-align: top;
	font-size: 1.8rem;
	border-bottom: 1px solid #C8C9CA;
	letter-spacing: 0.02em;
}
.form_tbl tr:last-child th,.form_tbl tr:last-child td{
	border-bottom: none;
}
.form_tbl th{
	font-weight: bold;
	padding: 26px 0;
}
.form_tbl th .ico{
	font-size: 1.6rem;
	margin-left: 17px;
	line-height: 1;
	padding: 0px 11px 2px;
	color: #fff;
}
.form_tbl th .req{
	background:#00A58F;
}
.form_tbl th .noreq{
	background:#999999;
}

.form_tbl td{
	vertical-align: middle;
	padding: 19px 0;
}
.form_tbl input, .form_tbl textarea{
	width: 100%;
	padding: 6px 11px;
	border: 1px solid #C8C9CA;
}
.form_tbl textarea{
	height: 210px;
}
.form_tbl td{
}


input[type="radio"]{
	/*visibility:hidden;*/
	width:1px;
	padding: 0;
	position: absolute;
}
input[type="radio"] + label{
  padding-left: 31px;
  position:relative;
  padding-right: 40px;
  cursor: pointer;
  line-height: 1;
}
input[type="radio"] + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform:translateY(-50%);
  margin-top: 2px;
  left: 0;
  width: 19px;
  height: 19px;
  background: #F2F2F2;
  border: 1px solid #B3B3B3;
  border-radius: 50%;
  top:50%;
}
input[type="radio"]:checked + label{
}
input[type="radio"]:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform:translateY(-50%);
  margin-top: 2px;
  left: 6px;
  width: 7px;
  height: 7px;
  background: #00A58F;
  border-radius: 50%;
}
.form_tbl input::placeholder, .form_tbl textarea::placeholder {
  color: #C8C9CA;
}
/* IE */
.form_tbl input:-ms-input-placeholder, .form_tbl textarea:-ms-input-placeholder {
  color: #C8C9CA;
}
/* Edge */
.form_tbl input::-ms-input-placeholder, .form_tbl textarea::-ms-input-placeholder{
  color: #C8C9CA;
}
.form_tbl textarea{
	resize: vertical;
    overflow: auto;
}

.selectwrap{
	position: relative;
	width: 160px;
	height: 40px;
	border: 1px solid #C8C9CA;
	z-index: 1;
}
.selectwrap:before,.selectwrap:after{
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
}
.selectwrap:before{
	width: 40px;
	height: 100%;
	background: #C8C9CA;
	top: 0;
	right: 0;
}
.selectwrap:after{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 21px 13px 0 13px;
	border-color: #fff transparent transparent transparent;
	top: 11px;
	right: 6px;
}
select{
	width: 100%;
	height: 100%;
	background:none;
	padding: 0 11px;
}



/*--privacy--*/
.privacy{
	padding-top: 20px;
}
.privacy .ttls{
	line-height: 1;
	font-size: 1.8rem;
	letter-spacing: 0.02em;
	margin-bottom: 16px;
}
.privacy .txt{
	border:1px solid #333;
	padding: 15px 20px;
}
.privacy .txt p{
	font-size: 1.8rem;
	line-height: 1.66;
}


/*--btn--*/
.form_send{
	font-weight: bold;
	color: #073180;
	line-height: 1;
	margin-bottom: 30px;
}

.form_btn{
	margin-top: 40px;
	text-align: center;
}
.form_btn .btn{
	display: inline-block;
	text-align: center;
	width: 572px;
	line-height: 80px;
	color: #fff;
	background: #00A58F;
	border-radius: 40px;
	cursor: pointer;
	transition: .4s;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 0.02em;
	position: relative;
}
.form_btn .btn .ico{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 11px;
	right: 28px;
}
.form_btn .btn.btn_back{
	background: #ddd;
	width: 200px;
	color: #888;
	font-size: 2rem;
}




@media screen and (min-width: 1051px) {
	.form_tbl th{
		width: 315px;
	}
	.form_btn .btn:hover{
		opacity: 0.6;
	}
	.form_btn .btn.btn_back{
		margin-right: 30px;
	}
}


@media screen and (max-width: 1050px) {
	#form{
		padding: 8vw 0 8vw;
	}
	#form .ttl1{
		margin-bottom: 1.3vw;
	}
	.form_lead{
		font-size: 3.4vw;
		margin-bottom: 4.2vw;
	}
	.form_tbl{
	}
	.form_tbl th,.form_tbl td{
		display: block;
		width: 100%;
	}
	.form_tbl tr:last-child th,.form_tbl tr:last-child td{
		border-bottom: none;
	}
	.form_tbl th{
		font-size: 3.7vw;
		font-weight: bold;
		padding: 2.6vw 0 0;
		border-bottom: none;
	}
	.form_tbl th .ico{
		font-size: 2.6vw;
		margin-left: 3vw;
		padding: 0.3em 1em;
		display: inline-block;
		vertical-align: middle;
	}

	.form_tbl td{
		vertical-align: middle;
		padding: 1.5vw 0 3vw;
		font-size: 3.2vw;
	}
	.form_tbl input, .form_tbl textarea{
		padding: 1.3vw 2vw;
	}
	.form_tbl textarea{
		height: 6em;
	}
	.form_radio{
		padding-top: 2vw;
	}
	input[type="radio"] + label{
	  padding-left: 6.8vw;
	  padding-right: 5vw;
	}
	input[type="radio"] + label::before{
	  margin-top:1px;
	  width: 4.8vw;
	  height: 4.8vw;
	}

	input[type="radio"]:checked + label{
	}
	input[type="radio"]:checked + label::after{
	  margin-top: 1px;
	  left: 1.4vw;
	  width: 2vw;
	  height: 2vw;
	}
	.selectwrap{
		width: 50%;
		height: 8vw;
	}
	.selectwrap:before{
		width: 8vw;
	}
	.selectwrap:after{
		border-width: 3.4vw 2vw 0 2vw;
		top: 2.8vw;
		right: 2vw;
	}
	select{
		padding: 0 2vw;
	}
	/*--privacy--*/
	.privacy{
		padding-top: 6vw;
	}
	.privacy .ttls{
		font-size: 3.7vw;
		margin-bottom: 2.6vw;
	}
	.privacy .txt{
		border:1px solid #333;
		padding: 3vw 4vw;
	}
	.privacy .txt p{
		font-size: 3.2vw;
	}

	/*--btn--*/
	.form_send{
	}

	.form_btn{
		margin-top: 6vw;
		text-align: center;
	}
	.form_btn .btn{
		width: 100%;
		line-height: 11vw;
		font-size: 4vw;
	}
	.form_btn .btn .ico{
		width: 2vw;
		right: 4vw;
	}
	.form_btn .btn.btn_back{
		width: 100%;
		font-size: 4vw;
		margin-bottom: 2vw;
	}

}


/*20210624 for aos*/
.sec5_box {
	margin-bottom: 50px;
}
@media screen and (max-width: 1050px) {
	.fv_txt2 {
    left: 0;
    width: 994.9vw;
    /* 画像位置調整 SP  */
    bottom: 12vw;
		top: auto;
	}
}



/* ------------------------------------------------------------- */
/* StyleSection _ cp_card02 CSS  ( NEWS ･ お知らせ )             */
/* ------------------------------------------------------------- */
.cp_card02 {
/*	font-size: 1em;
	line-height: 1.45em;
	
	width: 800px;
	height: 240px;
*/

	position: relative;
	overflow: hidden;
	margin: 0 auto 1.6%;
	
	-webkit-transition: height 0.3s ease;
	        transition: height 0.3s ease;
	        
	border-radius: 3px;
	
	background: #ffffff;
	-webkit-box-shadow: 0 3px 7px -3px rgba(0, 0, 0, 0.3);
	        box-shadow: 0 3px 7px -3px rgba(0, 0, 0, 0.3);
}


.cp_card02 .photo {
	position: relative;
	float: left;
	width: 40%;
	height: 100%;
	-webkit-transition: all 0.5s ease;
	        transition: all 0.5s ease;
}
.cp_card02:hover .photo {
/*
	-webkit-transform: rotate(5deg) scale(1.3);
	        transform: rotate(5deg) scale(1.3);
*/
}
.cp_card02 .photo.photo1 {
	background: url('../img/frontpage/newsinfo_photo_bk.webp') center no-repeat;
	background-size: cover;
}


.cp_card02 .description {
	position: relative;
	z-index: 0;
	float: left;
	width: 60%;
	padding: 10px;
}
.cp_card02 .description::before {
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: -15px;
	width: 100%;
	content: '';
	-webkit-transform: skewX(-8deg);
	        transform: skewX(-8deg);
	background: #ffffff;
}
.cp_card02 .description h1 {
/*	margin: 0 0 10px 0;*/
	
	font-size: 1em;
	line-height: 0.8em;
	margin-bottom: 4px;
	
	height: 2em;
	overflow: clip;
}
.cp_card02 .description h2 {
	font-size: 1em;
	line-height: 1.2em;
/*	margin: 1.2% 0;*/
	color: #9b9b9b;
}
.cp_card02 .description p {
	position: relative;
	margin: 0;
	padding-top: 20px;
/*	height: 100px;*/

	display: block;
	overflow: clip;

	height: 6.6em;
	font-size: 1.1em;
	line-height: 1.1em;

}
.cp_card02 .description p::after {
	position: absolute;
	top: 6px;
	left: 0;
	width: 20%;
	height: 6px;
	content: '';
	background: #ff5722;
}
.cp_card02 .description a {
	float: right;
	margin-bottom: 10px;
	text-decoration: none;
	color: #ff5722;
	font-size: 1.3em;
}
.cp_card02 .description a::after {

	margin-left: -10px;
	content: url(../img/icon/arrow_r.svg);
	
	-webkit-transition: all 0.3s ease;
	        transition: all 0.3s ease;
	vertical-align: middle;
	opacity: 0;
}
.cp_card02 .description a:hover::after {
	margin-left: 5px;
	opacity: 1;
}


@media screen and (min-width: 1051px) {
	.cp_card02 {
		width: 800px;
		height: 240px;
	}

	.cp_card02 .description {
		min-height: 200px;
	}
	.cp_card02 .description h1 {
		font-size: 1.4em;
		line-height: 1em;
	}

}


@media screen and (max-width: 1050px) {
	.cp_card02 {
		width: 100%;
		height: 200px;
	}

	.cp_card02 .description {
		height: 200px;
	}

	.cp_card02 .description h1 {
		font-size: 0.8em;
		line-height: 1em;
		height: 2em;
		
		margin-bottom: 4px;
		font-size: 1em;
		max-height: 2em;
		overflow: clip;
	}
	
	.cp_card02 .description h2 {
		font-size: 0.9em;
		line-height: 1em;
	}

	.cp_card02 .description p {
		padding-top: 12px;
		
	/*	height: 90px;*/
		
		height: 5.6em;
		font-size: 1em;
		line-height: 1.2em;
	}

	.cp_card02 .description a {
		margin-top: 8px;
		font-size: 1.2em;
	}

}



/* ------------------------------------------------------------- */
/* StyleSection _ link_btn1 CSS  ( a リンク button )             */
/* ------------------------------------------------------------- */
.link_btn1 a{
  background:#1AAB8A;
  color:#fff;
  border:none;
  position:relative;
  height:0px;
  transition:800ms ease all;
  outline:none;

  padding: 0.2em 3em 0.3em 3em;
  font-size: 2.4em;  

}
.link_btn1 a:hover{
  background:#fff;
  color:#1AAB8A;
}
.link_btn1 a:before, .link_btn1 a:after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  height:2px;
  width:0;
  background: #1AAB8A;
  transition:400ms ease all;
}
.link_btn1 a:after{
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
.link_btn1 a:hover:before, .link_btn1 a:hover:after{
  width:100%;
  transition:800ms ease all;
}


@media screen and (min-width: 1051px) {
}
@media screen and (max-width: 1050px) {
	.link_btn1 a{
	  font-size: 1.5em;  
	  padding: 0.5em 2em 0.5em 2em;
	}
}







