/*////////////////////////////////////////////////////
	kumagera.css / 2021/03/29
////////////////////////////////////////////////////*/

main{
	font-size:1.6rem;
	line-height:1.8;
}
#contents {
	width: 100%;
	min-width: 1100px;
}
section{
	display:block;
	padding:60px 0 60px;
}
section:nth-child(even){
	background: #f0f0ff;
}
section:last-of-type{
	padding:60px 0 100px;
}
section .inner{
	width:1020px;
	margin:0 auto;
	text-align:left;
}
section .inner > .ct_heading h2{
	margin-bottom:45px;
	color:#666666;
	font-size:2rem;
	font-weight:500;
	line-height:1.8;
	text-align:center;
}
section .inner .ct_heading h2 b{
	display:block;
	margin-bottom:5px;
	font-size:3rem;
	font-weight:500;
	line-height:1;
}
section .inner .ct_heading h2 span:after{
	content:"";
	display:block;
	width:220px;
	height:2px;
	margin:10px auto 40px;
	line-height:1;
	font-size:1.2rem;
	background:linear-gradient(to right, #78be52 72.5%, #dc8d0e 27.5%);
}
section .inner article h2{
	margin-bottom:20px;
  padding: 20px 0 25px 80px;
	color:#dc8d0e;
	font-size:2.4rem;
	font-weight:500;
	text-align:left;
	border-bottom:1px solid #dfdfdf;
	background:url("/kumagera/img/symbol.webp");
	background-size:70px;
	background-position:left center;
	background-repeat:no-repeat;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, section .inner article h2 {
		background:url("/kumagera/img/symbol.png");
		background-size:70px;
		background-position:left center;
		background-repeat:no-repeat;
	} /* IE11 */
}
section .inner h3{
	margin:30px 0 10px;
	color:#26AA9B;
	font-size:1.8rem;
}
section .inner h4{
	color:#dc8d0e;
	font-size:1.8rem;
}
section .inner h4:not(:first-of-type){
	margin:30px 0 0;
}
section .inner article:not(:last-of-type){
	margin-bottom:45px;
}
/*--ここからコンテンツ--*/
.slider-pro p.sp-layer {
	top: 50% !important;
	font-size:2.4rem !important;
	line-height:2.4 !important;
	transform: translateY(-50%) !important;
	text-shadow: 1px 1px 4px #333,-1px 1px 4px #333,1px -1px 4px #333,-1px -1px 4px #333;
}
.ct_btn{
	margin:0 auto;
}
section .news dl{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width:800px;
	margin:0 auto;
	text-align:left;
}
section .news dt,
section .news dd{
	margin-bottom:20px;
	padding-bottom:20px;
	border-bottom:1px solid #cdcdcd;
}
section .news dt{
	width:150px;
}
section .news dd{
	width:650px;
}
section .news dt:last-of-type,
section .news dd:last-of-type{
	margin:0;
}
section .about .right_image{
	width:100%;
	padding-right:40%;
	background:url("/kumagera/img/bg_01.webp");
	background-size:27%;
	background-position:top right;
	background-repeat:no-repeat;
}
@media all and (-ms-high-contrast:none){
*::-ms-backdrop, section .about .right_image{
		width:100%;
		padding-right:40%;
		background:url("/kumagera/img/bg_01.png");
		background-size:33%;
		background-position:top right;
		background-repeat:no-repeat;
	}
}
#about > .inner{
	width:100%;
}
#about .inner > div, #about .inner > article{
	width:1020px;
	margin:0 auto;
}
#about .inner > article:not(:last-of-type) {
    margin-bottom: 45px;
}
#about .inner > article.map, #about .inner > article.area{
	width:1280px;
}
section .about aside{
	margin:20px 0 40px;
}
section .about aside h4{
	font-size: 1.8rem;
	margin-bottom: 5px;
}
section .about aside ul li{
	margin-bottom: 5px;
	padding-left:1.4rem;
}
section .company{
	display:flex;
	justify-content: space-between;
	width:100%;
	margin:0 auto 45px;
	text-align:left;
	line-height:1.9;
}
section .company .map_img{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	width:32%;
	margin-left:20px;
}
section .detail{
	width:35%;
	margin-left:20px;
}
section .detail p{
	width:100%;
	margin-bottom:20px;
}
section .detail address{
  width: 100%;
	margin:0 0 10px 0;
	font-style: normal;
}
section .area{
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	width:100%;
	margin:0 auto 45px;
	text-align:left;
	vertical-align: top;
}
section .area .area_map{
	width: auto;
	font-size:1.6rem;
	line-height:2.4;
	background: #d4eac0;
	background: radial-gradient(ellipse at center, #d4eac0 0%, #f0f0ff 74%);
}
section .area .area_map h4{
	width: 100%;
	margin-bottom: 20px;
	color: #666666;
	font-size: 2rem;
}
section .preface .use_trigger ul{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	width: 100%;
	margin: 0 auto 20px;
}
section .preface .use_trigger ul li{
	display: flex;
	align-items: center;
	width:48%;
	height: 145px;
	margin-bottom: 20px;
	padding: 10px;
	text-align: left;
	border-radius: 10px;
	border: 1px solid #C7C7C7;
	background: #ffffff;
}
section .preface .use_trigger ul li img{
	width:123px;
	flex-shrink: 0;
}
section .preface .use_trigger ul li p{
	margin-left:15px;
	width:auto;
}
section .preface strong,
section .qa > strong{
	display:block;
	margin-bottom:40px;
	color:#dc8d0e;
	font-size:1.8rem;
	line-height:2;
	text-align: center;
}
section .flow .chart:not(last-of-type),
section .price .chart{
	width:800px;
	margin:0 auto 40px;
}
section .flow .chart img,
section .price .chart img{
	width:100%;
}
section .relation{
	display:flex;
	flex-wrap:wrap;
}
section .relation h2{
	width:100%;
}
section .relation .step{
	width:800px;
	counter-reset: num 0;
}
section .relation .step h3::before{
	counter-increment: num 1;
	content: "Step" counter(num);
	flex-shrink: 0;
	margin-right:16px;
}
section .relation .step strong{
	display:block;
	margin-bottom:15px;
	color: #dc8d0e;
}
section .relation .step strong:first-of-type{
	margin-top:15px;
}
section .relation .initiatives{
	width:800px;
}
section .relation img{
	width:200px;
	margin-top:auto;
	margin-left:auto;
}
section .relation .document{
	width:100%;
}
section .relation .document ul{
	margin-top:25px;
}
section .relation .document li{
	margin-bottom:10px;
}
section .relation .document li a{
	text-decoration: underline;
}
section .price > p{
	margin-bottom:40px;
}
section .price p:last-of-type{
	margin-bottom:40px;
}
section .price ul{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	width:100%;
	margin-bottom:20px;
}
section .price ul li{
	width:32%;
	padding:15px 10px;
	border-radius: 15px;
	background:#f0f0e0;
}
section .price ul li h4{
	margin-bottom:5px;
	text-align: center;
}
section .price ul li strong{
	display:block;
	margin-bottom:15px;
	text-align: center;
}
section .price ul li p{
	margin-bottom:0 !important;
	padding:10px;
	font-size:1.3rem;
	border-radius:15px;
	background:#fff;
}
section .recreation .ct_column{
	display:flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: row;
}
section .recreation .ct_column:not(:last-of-type){
	margin-bottom:40px;
}
section .recreation .ct_column:nth-of-type(even){
	flex-direction: row-reverse;
}
section .recreation .ct_column .tx_box{
	width:100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-bottom:20px;
}
section .recreation h3:first-of-type{
	margin:0;
}
section .recreation .ct_column .tx_box div{
	width:55%;
}
section .recreation .ct_column .tx_box span{
	display:block;
	width:33%;
	margin-bottom:20px;
	text-align: left;
	line-height:1;
}
section .recreation .ct_column .tx_box h3:not(:first-of-type){
  margin: 20px 0 10px;
}
section .recreation .ct_column span img{
	width:auto;
}
section .inner .qa .qa_wrap{
	width:100%;
	margin-bottom:60px;
}
section .inner .qa .qa_wrap .anser{
	width:calc(100% - 30px);
}
.top_s04 .questionnaire,
.top_s04 .questionnaire h2,
.top_s04 .questionnaire a{
	text-align:center;
}
.top_s04 .questionnaire h2 span{
	font-size:2rem;
}
.top_s04 .anke a{
	display:inline-block;
	margin-bottom:30px;
	text-decoration:underline;
	color:#1CA091;
	font-size: 1.6rem;
}
.top_s04 .anke li:last-of-type a{
	margin-bottom:0;
}
/* +++ 2023/03/07 ++++++++++ */
section .relation .guidelines a{
	text-decoration:underline;
}

/*----------------------------*/
/*-------------mobile---------*/
/*----------------------------*/

@media screen and (max-width: 768px) {
	div.slider-pro .sp-arrows {
		display:none;
		width: 100%;
		left: 0;
		right: 0;
		top: 50%;
		margin: 0 auto;
	}
	div.slider-pro .sp-buttons {
		position: relative;
		width: 100%;
		text-align: center;
		margin: 0 auto;
		padding-top: 0;
		top: 25px;
		right: 0;
	}
	div.slider-pro p.sp-layer {
		font-size: 1.6rem;
		padding:0 10px;
	}
	#contents {
		display: inline-block;
		width: 100%;
		min-width: auto;
		padding:0;
	}
	section{
		margin:0;
		padding:45px 0;
	}
	section h2{
		margin:0 0 45px;
		text-align: justify;
		text-justify: inter-ideograph;
	}
	section h3{
		text-align: left;
	}
	section .ct_heading{
		margin-bottom:45px;
	}
	section .ct_heading h2{
		margin-bottom:0;
	}
	section .inner{
		display: block;
		width:90%;
		margin:0 auto;
	}
	section.inner img {
		display:block;
		width: 100%;
	}
	section .inner article h2 {
		font-size:2rem;
		line-height:1.2;
	}
	section .news dl {
		width: 100%;
		margin: 0 auto;
	}
	section .news dt{
		width:100%;
		margin:0;
		padding:0;
		border-bottom:none;
	}
	section .news dd{
		width:100%;
	}
	section .about .right_image{
		padding:0;
		background:none;
	}
	section .company{
		flex-direction: column;
	}
	section .company .navigate{
		width:100%;
	}
	section .company .navigate iframe{
		width:100%;
	}
	section .company .detail{
		width:100%;
		margin-left:0;
	}
	section article.flow div.chart{
		width:100%;
	}
	section .flow .chart span{
		width:100%;
	}
	section article.price div.chart{
    width: 100%;
		margin-bottom:0;
    overflow-x: scroll;
	  white-space: nowrap;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
	}
	section .price .chart span{
    display: block;
		width:800px;
	}
	section .price .hint{
		display: flex;
		align-items: center;
		justify-content: flex-start;
		margin-bottom:40px;
	}
	section .price .hint::before{
		content:"";
		display:block;
		width:40px;
		height:40px;
		margin-right:10px;
		background:url("/kumagera/img/slide_hint.jpg");
		background-size:cover;
		background-position:center;
		background-repeat: no-repeat;
	}
	section .price ul li {
    width: 100%;
    margin-bottom:25px;
}
	section .preface .use_trigger ul li{
		width:100%;
		height: 145px;
		margin-bottom: 20px;
	}
	section .preface .use_trigger ul li p {
		font-size:1.4rem;
		line-height: 1.6;
		margin-left:9px;
	}
	section .recreation .ct_column{
		flex-direction: column;
		width:100%;
	}
	section .recreation .ct_column .tx_box{
		width:100%;
	}
	section .recreation .ct_column span{
		width:90%;
		margin:20px auto 0;
	}
	#about > .inner {
    width: 94%;
	}
	#about .inner > div, 
	#about .inner > article,
	#about .inner > article.map,
	#about .inner > article.area,
	section .relation .step,
	section .relation .initiatives,
	section .recreation .ct_column .tx_box div {
    width: 100%;
	}
	section .recreation .ct_column .tx_box span {
		display:none;
	}
	section .recreation .ct_column .tx_box div {
		margin-bottom:20px;
	}
	.slider-pro p.sp-layer {
		font-size: 1.8rem !important;
		line-height: 1.6 !important;
	}
}