/* ///////////////////////////////////////////////////////////

import

/////////////////////////////////////////////////////////////*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,700,900&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap');
@import url(https://use.fontawesome.com/releases/v5.3.1/css/all.css);



/* ///////////////////////////////////////////////////////////s

html

/////////////////////////////////////////////////////////////*/

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html {
	background-color: #ffffff;
  	max-width: 100%;
  	-webkit-text-size-adjust: 100%;
  	-ms-text-size-adjust: 100%;
  	text-size-adjust: 100%;
  	font-size: 62.5%;
  	overflow-x: hidden;
}
@media screen and (max-width:767px) {

	html {
		overflow: auto;
	}}


/* ///////////////////////////////////////////////////////////

body

/////////////////////////////////////////////////////////////*/
body {
	position: relative;
	color: #333;
  	font-size: 1.3rem;
	line-height: 1.7;
	font-weight: 400;
}

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

	body {
		overflow: hidden;
		min-width: 100%;
	}}


/* ///////////////////////////////////////////////////////////

*

/////////////////////////////////////////////////////////////*/	
* {
margin: 0px;
padding: 0px;
}
		


/* ///////////////////////////////////////////////////////////

inner

/////////////////////////////////////////////////////////////*/
.inner{
	width: 1080px;
	margin-right: auto;
	margin-left: auto;
  position: relative;
}

@media screen and (max-width:1200px){
	.inner{
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	  position: relative;
	}
}
@media screen and (max-width:767px) {

	.inner{
		width: 85%;
	}}
/* ///////////////////////////////////////////////////////////

clearfix

/////////////////////////////////////////////////////////////*/
.clearfix:after {
	clear: both;
	content:".";
	display:block;
	height:0;
	visibility:hidden;
}
.clearfix { display:inline-block; }
* html .clearfix { height:1%; }
.clearfix { display:block; }



/* ///////////////////////////////////////////////////////////

display_switch

/////////////////////////////////////////////////////////////*/
.pc_on{
	display: inline;
}
.sp_on{
	display: none;
}
@media screen and (max-width:767px) {
	.pc_on{
		display: none;
	}
	.sp_on{
		display:inline;
	}
}
/* ///////////////////////////////////////////////////////////

text

/////////////////////////////////////////////////////////////*/
h1, h2, h3, h4, h5, h6, p, td, th {
	line-height: 130%;
  }

h1 {
	font-family: 'Noto Sans JP', sans-serif;
  	font-size: 7rem;
	font-weight: 400;
	line-height: 1.3;
	color: #000000;
}

h2 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
  	font-size: 3rem;
	font-weight: 700;
	line-height: 1.3;
	color: #6a421e;
	
}


h3 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
  	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.3;
	color: #e84c29;
}

p {
	font-family: 'Noto Sans JP', sans-serif;
  	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.2;
	color: #000000;
	letter-spacing: 0.1em;
}

a {
	text-decoration: none;
  }
  
  a:hover, a:active, a:focus {
	text-decoration: none;
  }


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

h1 {
  	font-size: 5rem;
}
	
	
h2 {
  	font-size: 2.6rem;
}
	


h3 {
  	font-size: 2.2rem;
}
	

	
}

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

h1 {
  	font-size: 3rem;
}
h2 {
  	font-size: 2.4rem;
}
h3 {
  	font-size: 2rem;
}


	
}

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

	h1 {
		  font-size: 2.2rem;
	}
	h2 {
		font-size: 2rem;
  }
	h3 {
		  font-size: 1.5rem;
	}
	
	
		
	}
	




/* ///////////////////////////////////////////////////////////

section

/////////////////////////////////////////////////////////////*/


.ts-back01{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-color: #ffffff;
	text-align: center;
}

.ts-back02{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-image: url(../img/bg01.jpg);
	background-repeat: repeat;
	text-align: center;
}



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

	.ts-back01{
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}
	
	.ts-back02{
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}	
	}


/* ///////////////////////////////////////////////////////////

footer

/////////////////////////////////////////////////////////////*/

footer {
	width: 100%;
	background-color: #fff;
	padding-top: 40px !important;
	padding-bottom: 25px !important;
	text-align: center;
}

.foo-logo img{
	width: 160px;
	height: auto;
margin: 0 auto;
}

.foo-add {
	margin-top: 5px;
	font-size: 1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.05em;
}
@media screen and (max-width:992px) {

footer {
	padding-top: 30px !important;
	padding-bottom: 20px !important;
}
	
.foo-logo img{
	width: 120px;
	height: auto;
margin: 0 auto;
}
	
.foo-add {
	margin-top: 5px;
	font-size: 1.2rem;
}
	
}




/* ///////////////////////////////////////////////////////////

copyright

/////////////////////////////////////////////////////////////*/
.foo2 {
	width: 100%;
	background-color: #E50038;
	color: #fff;
	text-align: center;
	font-size: 1.4rem;
	padding: 5px;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
	.foo2 {
		font-size: 1.2rem;
	}
}
/* ///////////////////////////////////////////////////////////

btn

/////////////////////////////////////////////////////////////*/


.item_btn{
	font-family: 'Noto Sans JP', sans-serif;
	display: inline-block;
	color: #ffffff;
	text-decoration: none;
	font-size: 1.6rem;
	position: relative;
	padding: 20px 5px 22px 5px;
	text-align: center;
	border-radius: 35px;
	font-weight: 700;
	width: 300px;
	letter-spacing: 0.05em;
}
@media screen and (max-width:1025px) {
	.item_btn{
		width: 250px;
		padding: 20px 5px 22px 35px;
	}
	}
	@media screen and (max-width:900px) {
		.item_btn{
			width: 220px;
			padding: 20px 5px 22px 40px;
		}
		}
@media screen and (max-width:767px) {
	.item_btn{
		width: 350px;
		padding: 20px 5px 22px 5px;
	}
	}
@media screen and (max-width:568px) {	
	.item_btn{
		width: 280px;
	}
}
@media screen and (max-width:300px) {	
	.item_btn{
		width: 250px;
	}
}


.item_btn::after{
	position: absolute;
    content: "\f138";
	position: absolute;
display: inline-block;
top: 25%;
right: 10%;
font-family: "Font Awesome 5 Free";
font-weight: 700;
font-size: 2rem;
color: #ffffff;
transition: transform 0.3s ease-out;
}

.btn_cen::after{
	position: absolute;
    content: "\f13a";
	position: absolute;
display: inline-block;
top: 25%;
right: 10%;
font-family: "Font Awesome 5 Free";
font-weight: 700;
font-size: 2rem;
color: #ffffff;
transition: transform 0.3s ease-out;
}



.item_btn:hover.item_btn::after{
	transform: rotateX(360deg);
}

.item_btn::before{
	position: absolute;
	bottom: 14px;
	left: 50%;
	content: '';
	width: 0;
	height: 1.8px;
	background-color: #fff;
	transition: .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);}
	
	.item_btn:hover::before{
		transition: 0.5s ;
		width: 65%;
	}


.btn01{
	background-color:#E84C29;

}
.btn_cen{
	text-align: center;
}
@media screen and (max-width:1025px) {	
.btn_cen{
	padding: 20px 25px 22px 5px;
}

}

@media screen and (max-width:568px) {	
	.btn_cen{
		padding: 20px 25px 22px 5px;
	}
	}






/* ///////////////////////////////////////////////////////////

page-top

/////////////////////////////////////////////////////////////*/
	#page-top {
		position: fixed;
		bottom: 50px;
		right: 50px;
		width: 35px;
		height: 35px;
		  z-index: 10000;
	  }
	  
	  .arrow{
		position: relative;
		display: inline-block;
		color: #fff;
		vertical-align: middle;
		text-decoration: none;
		width: 35px;
		height: 35px;
	  }
	  
	  .arrow::before{
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
		box-sizing: border-box;
		width: 35px;
		height: 35px;
		background: #000;
	  }
	  
	  .arrow::after{
		content: '';
		width: 15px;
		height: 15px;
		border: 0px;
		border-top: solid 1px #fff;
		border-left: solid 1px #fff;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		left: 10px;
		margin-top: -4px;
	  }
	  
	  .arrow a{
		  position:absolute;
		  top:0;
		  left:0;
		  width: 100%;
		  height: 100%;
		  text-indent:-999px;
	  }
	  
	  .arrow:hover::before{
		  background-color: #222222;
	  }
	  
	  .arrow:hover::after{
		border-top: solid 1px #B4B4B4;
		border-left: solid 1px #B4B4B4;
	  }
	  
	  .arrow a:hover{
	  
	  }
	  
	  @media screen and (max-width:767px) {
		  
	  #page-top {
		right: 10px;
		bottom: 70px;
	  }
		  
	  }

	  
/* ///////////////////////////////////////////////////////////

header

/////////////////////////////////////////////////////////////*/
header{
	width:1080px;
	margin: 0 auto;
padding: 20px 0;
}
header img{
	width:129px;
	height: 38px;
	margin: 0 auto;
}
@media screen and (max-width:1200px) {
	header{
		width:100%;
		margin: 0 auto;
	padding: 20px;
	}	
}

/* ///////////////////////////////////////////////////////////

top-img

/////////////////////////////////////////////////////////////*/

#top_main img {
    width: 100%;
    padding: 0;
    margin: 0;
}

/* ///////////////////////////////////////////////////////////

section共通

/////////////////////////////////////////////////////////////*/


.boxwrapper{
	margin-top: 80px;
}
@media screen and (max-width:767px) {
	.boxwrapper{
		margin-top: 30px;
	}
}

.triple_wrapper{
display: flex;
flex-basis: 100%;
justify-content: space-between;
flex-wrap: nowrap;
}

@media screen and (max-width:767px) {
	.triple_wrapper{
		flex-wrap: wrap;
		}
}
/* ///////////////////////////////////////////////////////////

section02

/////////////////////////////////////////////////////////////*/
.item_text01{
	margin-bottom: 80px;
	}

	@media screen and (max-width:767px) {
		.item_text01{
			margin-bottom: 50px;
			}
	}
/* ///////////////////////////////////////////////////////////

section03

/////////////////////////////////////////////////////////////*/


.sec03{
display: flex;
flex-basis: 100%;
flex-wrap: nowrap;
justify-content: space-between;
}
.sec03_box01{
	width: 48%;
	display: inline;
}
.sec03_box01 img{
	width: 100%;
	height: auto;
}
.sec03_box01 p{
text-align: left;
}

h3 + p{
	padding-top: 30px;
}

@media screen and (max-width:1025px) {
	h3 + p{
		padding-top: 10px;
	}
}
@media screen and (max-width:767px) {
	.sec03{
		flex-wrap: wrap;
		justify-content: space-between;
		}
		.sec03_box01{
			width: 100%;
		}
		.item_img{
			margin-top: 30px;
		}
		.sec03_box01 h3{
			margin-bottom: 10px;

		}
}

/* ///////////////////////////////////////////////////////////

section04

/////////////////////////////////////////////////////////////*/
.triple_item01{
	width: 30%;
	text-align: left;

}
.triple_item01 img{
	width: 100%;
	
}
p.text{
	padding-top: 20px;
}
.point{
	width: 100%;
	margin: 0 auto;
padding: 2px;
text-align: center;
}
.point p{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 400;
	font-size: 1.8rem;
color: #7DC800;

}
.point_sub{
	width: 100%;
	color: #E84C29;
	font-weight: 800;
	text-align: center;
	margin-bottom: 30px;
	font-size: 2.2rem;
	font-family: 'M PLUS Rounded 1c', sans-serif;
background-color: #fff;
padding: 10px;
border-radius: 35px;
text-align: center;
border: 3px solid #E84C29;
}

@media screen and (max-width:1200px) {
	.point_sub{
		font-weight: 700;
		font-size: 1.8rem;
	}}

@media screen and (max-width:767px) {
.triple_item01{
	width: 100%;
	margin: 0 auto 65px auto;

}
.point_sub{

	font-size: 2rem;
}}
/* ///////////////////////////////////////////////////////////

section05

/////////////////////////////////////////////////////////////*/

.triple_item02{
	background-color: #fff;
	border-radius:50%;
	padding:50px;
	width: 22em;
	height: 22em;
	position: relative;
}
@media screen and (max-width:1200px) {

	.triple_item02{
		padding:40px;
		width: 20em;
		height: 20em;
	}

}

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

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

	.triple_item02{
		padding:20px;
		width: 17.5em;
		height: 17.5em;
	}
}

@media screen and (max-width:768px) {
	.triple_item02{
		width: 16.5em;
		height: 16.5em;

	}
}
	@media screen and (max-width:767px) {
		.triple_item02{
			padding: 100px 20px;
			width: 26em;
			height: 26em;
			margin: 0 auto 60px auto;
		}}

		@media screen and (max-width:560px) {
			.triple_item02{
				padding:30px;
			width: 18em;
			height: 18em;
			margin: 0 auto 40px auto;
			}}

.triple_item02::after{
position: absolute;
display: inline-block;
top: 45%;
right: -23%;
font-family: "Font Awesome 5 Free";
content:'\f101';
font-weight: 700;
font-size: 3rem;
color: #46BCCF;
}


.triple_item02:last-child::after{
	display: none;
	}

	@media screen and (max-width:1200px) {
		.triple_item02::after{
			top: 45%;
			right: -20%;
			font-size: 2.5rem;

			}
		
		}
	
			@media screen and (max-width:860px) {
				.triple_item02::after{
					right: -10%;
					font-size: 1.8rem;
		
					}
				
				}
				@media screen and (max-width:769px) {
					.triple_item02::after{
						right: -10%;
						font-size: 1.8rem;
			
						}
					
					}
	@media screen and (max-width:767px) {
		.triple_item02::after{
			top: 100%;
			right: 48%;
			font-family: "Font Awesome 5 Free";
			content:'\f103';
			font-size: 2.5rem;

			}
		
		}

		@media screen and (max-width:560px) {
			.triple_item02::after{
				top: 101%;
				right: 48%;
				font-size: 2rem;
				}
			
			}
p.theme-orange{
font-family: 'Roboto', sans-serif;
color: #E84C29;
font-size: 2.4rem;
font-weight: 600;
letter-spacing: 0em;
}
p.text-bold{
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 150%;
	}
	span.text-min{
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1.5;
		padding-top: 10px;
		letter-spacing: 0em;
		}
		@media screen and (max-width:1025px) {
			p.text-min{
				font-size: 1.5rem;
				}
				p.text-bold{
					font-size: 2rem;
					font-weight: 600;
					line-height: 150%;
					}
		}
		@media screen and (max-width:767px) {

				
		}
/* ///////////////////////////////////////////////////////////

section06

/////////////////////////////////////////////////////////////*/

/* table */

.table01 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.table01 table {
	width: 100%;
	margin-bottom: 0px;
	border-collapse: collapse; /* 枠線(ボーダー)を重ねて表示 */
}

.table01 table tr {
	width: 100%;
}

.table01 table th{
	width: 30%;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 120%;
	padding-top: 40px;
	padding-right: 10px;
	padding-bottom: 40px;
	padding-left: 0px;
	text-align: left;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #E5E5E5;
}

.table01 table td{
	width: 70%;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 220%;
	text-align: left;
	padding-top: 40px;
	padding-right: 10px;
	padding-bottom: 40px;
	padding-left: 10px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #E5E5E5;
}


@media screen and (max-width:767px) {
	
.table01 table {
	width: 100%;
	margin-bottom: 0px;
}
	
.table01 table th{
	width: 25%;
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 0px;
	
}

.table01 table td{	
	width: 75%;
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 0px;

}
	
	
}







/* ///////////////////////////////////////////////////////////

section07

/////////////////////////////////////////////////////////////*/

.item_text02{
	margin-bottom: 40px;
	}
	.item_text02 p + p{
padding: 20px 0 0 0 ;
		}

/* map*/

.g-map {
	position: relative;
	width: 100%;
	height: 500px;
	margin-top: 30px;
}
.g-map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

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

	.g-map {
		height: 500px;
		margin: 0 auto;
	}
		
	}
	@media screen and (max-width:1025px) {

		.g-map {
			height: 350px;

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

.g-map {
	height: 300px;
	margin-top: 30px;
}
	
}



/* ///////////////////////////////////////////////////////////

section08

/////////////////////////////////////////////////////////////*/
.btn_wrapper{
	display: flex;
	flex-basis: 100%;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex_triple{
	font-size: 1.6rem;
	padding: 20px 25px 22px 55px;
	text-align: left;

	}	

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

	.flex_triple{
		font-size: 1.2rem;
		padding: 20px 25px 22px 40px;
		text-align: left;

		}	
	.flex_triple::after{
	top: 30%;
	right: 10%;
	font-size: 1.4rem;

	}
}

@media screen and (max-width:767px) {
	.btn_wrapper{
		justify-content: center;
	}
	.flex_triple{
		margin: 0 auto 15px auto;
		font-size: 1.4rem;
		padding: 20px 25px 22px 35px;
		text-align: left;}

}


/* tel*/

.tel{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	width: 100%;
	margin: 80px auto 0 auto;
}

span.theme-blue{
	color: #1D2087;
	font-size: 4rem;
	font-weight: 800;
}
.theme-blue i{
	font-size: 3rem;
}

@media screen and (max-width:767px) {
	.tel{
		margin: 40px auto 0 auto;
	}
	span.theme-blue{
		font-size: 2.6rem;
	}
	.theme-blue i{
		font-size: 2rem;
	}
	
	
}


/* ///////////////////////////////////////////////////////////

section09

/////////////////////////////////////////////////////////////*/

.btn03{
	background-color:#7DC800;
	margin-bottom: 50px;
	text-align: left;
	padding: 20px 5px 22px 40px;
}
.m_b{
	margin-bottom: 0;
}
.cancel::after{
display: none;
}
.cancel::before{
	display: none;
	}

	


@media screen and (max-width:1025px) {
.btn03{
	padding: 20px 5px 22px 28px;

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

	.btn03{
		padding: 20px 25px 22px 35px;
		margin-bottom: 15px;
	}
}
@media screen and (max-width:300px) {

	.btn03{
		padding: 20px 25px 22px 25px;
	}
}
/* 20220602 */
/* 疑似要素追加 */
.btn_w02::after {
    content: "";
    display: block;
    width: 300px;
    height: 0;
}
@media screen and (max-width:1025px) {
	.btn_w02::after {
		width: 250px;
	}
}
@media screen and (max-width:900px) {
	.btn_w02::after {
		width: 220px;
	}
}
	@media screen and (max-width:767px) {
		.btn_w02::after {
			width: 350px;
		}
	}