@charset "utf-8";

/* -----------------------------------------------------------
    都道府県・市区町村　共通
-------------------------------------------------------------- */
.logo-txt .area{
	font-size: 2.5rem;
	font-weight: bold;
	white-space: nowrap;
	color: #F39800;
	margin: 0 0 0 5px;
}
.detail2 .logo-txt .area.todoufuken{
	display: none;
}
.detail1 .logo-txt .area.shikuchouson{
	display: none;
}

#com-contact.detail2 .todoufuken{
	display: none;
}
#com-contact.detail1 .shikuchouson{
	display: none;
}
@media screen and (max-width: 768px){
	.logo-txt .area{
		font-size: 1.6rem;
		margin: 0;
	}
	
	#header{
		position: fixed;
    top: 0;
    width: 100%;
    z-index: 30;
	}
}

/* -----------------------------
	limitedTimeNews-area
-------------------------------- */
.limitedTimeNews-area .inner {
	margin: 80px auto 0;
	padding: 40px;
	text-align: center;
	border: solid 1px #ccc;
	border-radius: 20px;
}

.limitedTimeNews-area .ttl {
	font-size: 2.4rem;
	line-height: 1.5;
}

.limitedTimeNews-area .txt {
	margin: 20px 0 0 ;
	line-height: 2.18;
}

.limitedTimeNews-area .mark {
	color: #f39800;
	font-weight: 600;
}
@media screen and (max-width: 768px) {

	.limitedTimeNews-area {
		padding: 20px 20px 0;

	}

	.limitedTimeNews-area .inner {
		padding: 30px 20px;
		width: 100%;
	margin: 0 auto 0;

	}

	.limitedTimeNews-area .txt {
		font-size: 1.5rem;
		text-align: left;
		line-height: 2;
	}

} 

/* -----------------------------
	mv-area
-------------------------------- */
.breadcrumbs p a{
	position: relative;
	z-index: 10;
}
.mv-area{
	height: 644px;
	min-height: 644px;
	position: relative;
	background: url("../img/top-mv-bg.jpg") no-repeat top center / cover;
	margin: 0 0 0;
}
.mv-area::before{
	content: '';
	position: absolute;
	width: 850px;
	height: 650px;
	top: 0;
	right: 0;
	background: url("../img/mv.jpg") no-repeat top center / cover;
	border-radius: 0 0 0 50px;
}

.mv-area .txt-area{
	width: 930px;
	padding: 70px 0 0 70px;
    z-index: 1;
	position: relative;
}

.mv-area .txt-area .mv-title{
	display: flex;
	position: relative;
    z-index: 1;
}

.mv-area .txt-area .mv-title .blue-bg{
	color: #fff;
	background: linear-gradient(90deg, rgba(0,119,198,1) 0%, rgba(1,155,255,1) 100%);
	font-size: 3rem;
	font-weight: bold;
	display: inline-block;
	padding: 8px 10px 8px 20px;
	position: relative;
	margin: 0 0 4px -20px;
	line-height: 1.2;
}
.mv-area .txt-area .mv-title .small{
	font-size: 2.4rem;
}
.mv-area .txt-area .mv-title .area{
	position: relative;
	left: 0;
	font-size: 4.2rem;
	letter-spacing: .1em;
	color: #0077C6;
	  transform:rotate(-5deg);  
	text-shadow: 4px 4px 4px #fff, -4px -4px 4px #fff,
  -4px 4px 4px #fff,  4px -4px 4px #fff,
  4px 0 4px #fff, -4px  0 4px #fff,
  0 4px 4px #fff,  0 -4px 4px #fff;
	font-weight: bold;
	white-space: nowrap;
	z-index: 1;
}
.mv-area img{
	margin: 0 0 0;
}

@media screen and (max-width: 768px){
	.mv-area{
		margin: 70px 0 0;
		height: auto;
        min-height: inherit;
	}
	.mv-area::before{
		height: 354px;
		width: calc(100% - 50px);
		border-radius: 15px 0 0 15px;
		top: 70px;
		background: url("../img/top-mv-sp.jpg") no-repeat top bottom / cover;
	}

	.mv-area .txt-area{
		width: 100%;
		margin: 0 ;
		padding: 30px 0 20px 10px;
		height: 100%;
	}
	.mv-area .txt-area::before{
		width: 136px;
		height: 108px;
		top: -20px;
		left: auto;
		right: 20px;
	}
	.mv-area .txt-area .mv-title {
		flex-direction: column;
	}
	.mv-area .txt-area .mv-title .blue-bg{
		font-size: 2rem;
		margin: 0;
		display: block;
		padding: 8px 10px 8px 10px;
		line-height: 1.3;
		margin: 0 0 0 auto;
	}
	.mv-area .txt-area .mv-title .area{
		font-size: 2.4rem;
		left: 0;
	}
	.mv-area .mv-catch{
		font-size: 2.4rem;
		padding: 0 0 0 20px;
	}
	.mv-area .basic-txt{
		display: none;
	}
	.mv-area img.first{
		width: 100%;
		margin: 0 0 0;
	}
	.mv-area img.second{
		width: 100%;
		/*position: absolute;*/
		top: auto;
		bottom: 50px;
		padding: 120px 20px 0 0;
	}
}

/* -----------------------------
	top-feature-area
-------------------------------- */
.top-feature-area{
	margin: -70px 0 0;
	position: relative;
}
.top-feature-area ul{
	display: flex;
	justify-content: space-between;
}
.top-feature-area ul.sp-block{
	display: none;
}

@media screen and (max-width: 768px){
	.top-feature-area{
		margin: 40px 0 0;
		position: relative;
	}
	.top-feature-area ul.sp-block{
		display: block;
	}
	.top-feature-area ul.pc-block{
		display: none;
	}
	.top-feature-area ul li{
		margin: 10px 0 0;
	}
	.top-feature-area ul img{
		width: 100%;
	}
}

/* pagelink-area
--------------------------------------------------------------*/
.pagelink-area{
	margin: 80px 0 0;
}
.pagelink-area ul{
	display: flex;
	justify-content: space-between;
}
.pagelink-area li{
	width: calc((100% / 6) - 5px);
	height: 60px;
}
.pagelink-area li a{
	    background: #FEE75F;
    font-weight: 600;
    font-size: 2rem;
    width: 100%;
    height: 60px;
    border-radius: 10px;
    display: block;
    text-align: center;
    position: relative;
    top: 0;
    transition: all .2s;
    box-shadow: 0 4px 0 0 #ECD54E;
}
.pagelink-area li a::before{
	content: '\f107';
	position: absolute;
	font-size: 1.8rem;
	bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.pagelink-area li a:hover{
	box-shadow: 0 0 0 0 #ECD54E;
		top: 4px;
}
.pagelink-area li a{
	font-size: 1.8rem;
	font-weight: bold;
    display: block;
    width: 100%;
    height: 100%;
	padding: 10px 0 0;
		transition: .2s all;
}

@media screen and (max-width: 768px){
	.pagelink-area{
		margin: 40px 0 0;
		padding: 20px 0 23px;
		background: #FFF5E3;
	}
	.pagelink-area ul{
		flex-wrap: wrap;
	}
	.pagelink-area li{
		width: calc((100% / 3) - 5px);
		height: 50px;

	}
	.pagelink-area li:nth-child(n + 4){
		margin: 10px 0 0;
	}
	.pagelink-area li a{
		font-size: 1.4rem;
		border-radius: 5px;
	}
	.pagelink-area li a::before{
		bottom: 5px;
	}
	.pagelink-area li a:hover{

	}
	.pagelink-area li a{

	}
}

@media screen and (max-width: 375px){
	.pagelink-area li:last-of-type a{
		font-size: 1.2rem;
	}
}

/* -----------------------------
	problem-area
-------------------------------- */
.problem-area{
	margin: 80px 0 0;

}
.problem-area .inner{
	background: url("../img/problem-bg.jpg") no-repeat top center / cover;
	width: 1300px;
	padding: 60px 100px 50px;
	border-radius: 30px;
}

.problem-area .txt-area{
	position: relative;
	width: 1100px;
	margin: 0 auto;
}
.problem-area .txt-area::before{
	content: '';
	position: absolute;
	width: 252px;
	height: 118px;
	background: url("../img/area-problem-ill.png") no-repeat top center / contain;
	top: 110px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.problem-area .txt-area >div{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 30px 0 0;
}
.problem-area .txt-area >div p{
	font-size: 2.2rem;
	font-weight: bold;
	background: #fff;
	position: relative;
	text-align: center;
	padding: 20px 30px;
	border-radius: 100px;
	display: inline-block;
	order: 0;
	color: #216592;
	height: fit-content;
}
.problem-area .txt-area >div p:nth-child(1){
	top: 15px;
    left: 20px;
}
.problem-area .txt-area >div p:nth-child(2){
    margin: 0 0 0 180px;
}
.problem-area .txt-area >div p:nth-child(3){
   left: 80px;
    top: 20px;
}
.problem-area .txt-area >div p:nth-child(4){
   right: 150px;
}
.problem-area .txt-area >div p:nth-child(n + 3){
    order: 1;
	margin: 30px 0 0;
}
.problem-area .txt-area >div p::before{
	content: '';
	position: absolute;
	width: 53px;
	height: 38px;
	top: 10px;
    right: -60px;
	background: url("../img/problem-top-left.png") no-repeat top center / contain;
}
.problem-area .txt-area >div p.top-right::before{
	background: url("../img/problem-top-right.png") no-repeat top center / contain;
	top: 30px;
    left: -70px;
}
.problem-area .txt-area >div p.bottom-left::before{
	background: url("../img/problem-bottom-left.png") no-repeat top center / contain;
	top: 35px;
    right: -65px;
}
.problem-area .txt-area >div p.bottom-right::before{
	background: url("../img/problem-bottom-right.png") no-repeat top center / contain;
	top: 60px;
    left: -60px;
}
.problem-area .txt-area >div .top-left{
	
}
.problem-title{
	font-size: 3rem;
	letter-spacing: .05em;
	font-weight: bold;
	text-align: center;
	color: #fff;
}
.problem-title span{
	font-size: 4.7rem;
	color: #FFF700;
	padding: 0 5px;
	position: relative;
}
.problem-title span::before{
	content: '';
	position: absolute;
	width: 29px;
	height: 35px;
	top: -16px;
	right: -17px;
	background: url("../img/problem-title-deco-w.png") no-repeat top center / contain;
}

@media screen and (max-width: 768px){
	.problem-area{
		padding: 0 20px;
		margin: 40px 0 0;
	}
	.problem-area .inner{
		width: 100%;
		padding: 20px 15px 15px;
		border-radius: 15px;
	}

	.problem-area .txt-area{
		width: 100%;
	}
	.problem-area .txt-area::before{
		content: '';
		position: absolute;
		background: url("../img/problem-title-icon01.png") no-repeat top center / contain;
		width: 65px;
        height: 65px;
        left: 30px;
		top: -10px;
	}
	.problem-area .txt-area::after{
		content: '';
		position: absolute;
		background: url("../img/problem-title-icon02.png") no-repeat top center / contain;
		width: 65px;
		height: 65px;
		right: 0;
		top: -10px;
	}
	.problem-area .txt-area >div{
		margin: 0;
	}
	.problem-area .txt-area >div p{
		font-size: 1.8rem;
		position: inherit;
		padding: 10px 5px;
		border-radius: 6px;
		display: grid;
		margin: 10px 0 0;
		line-height: 1.4;
		width: calc((100% / 2) - 3px);
	}
	.problem-area .txt-area >div p:nth-child(1){

	}
	.problem-area .txt-area >div p:nth-child(2){
		margin: 10px 0 0;
	}
	.problem-area .txt-area >div p:nth-child(3){
		margin: 5px 0 0;
		
	}
	.problem-area .txt-area >div p:nth-child(4){
		margin: 5px 0 0;
		height: auto;
	}
	.problem-area .txt-area >div p:nth-child(4) .red{
		display: contents;
	}
	.problem-area .txt-area >div p:nth-child(n + 3){

	}
	.problem-area .txt-area >div p::before{

	}
	.problem-area .txt-area >div p.top-right::before,
	.problem-area .txt-area >div p.bottom-left::before,
	.problem-area .txt-area >div p.bottom-right::before,
	.problem-area .txt-area >div .top-left::before{
		display: none;
	}
	.problem-title{
		font-size: 1.8rem;
		line-height: 1.3;
	}
	.problem-title span{
		font-size: 2.2rem;
	}
	.problem-title span::before{
		width: 22px;
		height: 26px;
	}
}

/* -----------------------------
	solution-area
-------------------------------- */
.solution-area{
	margin: 150px 0 0;
	background: url("../img/solution-bg.jpg") no-repeat top center / cover;
	border-radius: 50px 50px 0 0;
	padding: 0 0 90px;
}
.solution-title{
	font-size: 4rem;
	font-weight: bold;
	width: 1120px;
	margin: 0 auto;
	text-align: center;
	position: relative;
	top: -60px;
	line-height: .8;
}
.solution-title .txt{
	display: block;
	line-height: 1;
}
.solution-title .area{
position: relative;
    top: -30px;
    font-size: 5rem;
    color: #fa4032;
}
.solution-title::before{
		content: '';
	position: absolute;
	width: 101px;
	height: 128px;
	top: 40px;
	left: -20px;
	background: url("../img/solution-title-deco-l.png") no-repeat top center / contain;
}
.solution-title::after{
		content: '';
	position: absolute;
	width: 101px;
	height: 128px;
	top: 40px;
    right: -20px;
	background: url("../img/solution-title-deco-r.png") no-repeat top center / contain;
}

.solution-area .txt-area{
	background: #fff;
	border: solid 2px #F39800;
	border-radius: 30px;
	padding: 20px 50px 40px;
	position: relative;
}
.solution-area .txt-area::before{
	content: '';
	position: absolute;
	width: 148px;
	height: 156px;
	background: url("../img/solution-ill.png") no-repeat top center / contain;
	top: 60px;
	left: 160px;
}
.solution-area h4{
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 2;
}
.solution-area h4 img{
	position: relative;
	top: 16px;
	left: -10px;
}
.solution-area h4 .red{
	color: #FA4032;
}
.solution-area h4 .bg{
 background-image: linear-gradient(90deg, rgba(255, 160, 0, 1), rgba(255, 101, 33, 1) 100%, rgba(255, 181, 33, 1) 50%);
	color: #fff;
	padding: 0 10px 2px;
}
.solution-area .txt-area > div{
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0;
	flex-direction: row-reverse;
}
.solution-area .txt-area .basic-txt{
	width: 610px;
}
.solution-area .txt-area > div img{
	border-radius: 15px;
	margin: 0 0 0 20px;
}

@media screen and (max-width: 768px){
	.solution-area{
		margin: 50px 0 0;
		background: url("../img/solution-bg-sp.jpg") no-repeat top center / cover;
		border-radius: 15px 15px 0 0;
		padding: 0 0 40px;
	}
	.solution-title{
		width: 100%;
		font-size: 2rem;
		top: -26px;
	}
	.solution-title img{
		width: 100%;
	}
	.solution-title span{
	}
	.solution-title::before{
		width: 30px;
		height: 38px;
		top: 10px;
		left: -20px;
	}
	.solution-title::after{
		width: 30px;
		height: 38px;
		top: 10px;
		right: -20px;
	}
	.solution-title .area{
		top: 0;
		font-size: 2.4rem;
	}
	.solution-title .txt{
		display: inline;
	}
	.solution-area .txt-area{
		padding: 5px 15px 20px;
		border-radius: 15px;
	}
	.solution-area .txt-area::before{
		width: 88px;
		height: 86px;
		left: 0;
		top: 170px;
	}
	.solution-area h4{
		font-size: 2.2rem;
		line-height: 1.7;
	}
	.solution-area h4 img{
		width: 210px;
	}
	.solution-area h4 .red{
	}
	.solution-area h4 .bg{
	}
	.solution-area .txt-area > div{
		display: block;
		margin: 10px 0 0;
	}
	.solution-area .txt-area .basic-txt{
		width: 100%;
		margin: 10px 0 0;
	}
	.solution-area .txt-area > div img{
		width: 100%;
		margin: 0;
		border-radius: 5px;
	}	
}

.slider2{
	position: relative;
}
.slider2 img{
	height: 450px;
	object-fit: cover;
}
.slider2::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 70px;
	bottom: 0;
	right: 0;
	background: #f8f8f8;
	border-radius: 70px 70px 0 0;
	z-index: 1;
}

@media screen and (max-width: 768px){
	.slider2 img{
		height: 180px;
	}
	
	.slider2::before{
		border-radius: 15px 15px 0 0;
		height: 13px;
	}
	
}

/* -----------------------------
	about-area
-------------------------------- */
.about-area{
	margin: 0 0 0;
	background: #F7F7F7;
	padding: 0 0 100px;
}

.about-area .txt-area{
	text-align: center;
	padding: 40px 0 0;
}
.about-area .section-title .jp{
	font-size: 4rem;
}
.about-area .txt-area .catch{
	margin: 50px 0 0;
}
.about-area .txt-area .basic-txt{
	padding: 20px 0 0;
	width: 820px;
	margin: 0 auto;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.9;
}

.feature-list{
	position: relative;
	margin: 50px 0 0;
}
.feature-list::before{
	content: '';
	position: absolute;
	width: 146px;
	height: 162px;
	top: -162px;
	right: 0;
	background: url("../img/survey-free-ill.png") no-repeat top center / contain;
	z-index: 1;
}

.feature-list li{
	background: #fff;
	border: solid 3px #F39800;
	margin: 30px 0 0;
	border-radius: 15px;
	padding: 20px;
	position: relative;
	min-height: 395px;
}
.feature-list li::before{
	content: '';
	position: absolute;
	width: 500px;
	height: 350px;
	top: 20px;
	left: 20px;
	background: url("../img/feature01.jpg") no-repeat top center / contain;
	border-radius: 15px;
}
.feature-list li:first-of-type{
	margin: 0;
}
.feature-list li.r-img::before{
	right: 20px;
	left: auto;
}
.feature-list li:nth-child(2)::before{
	background: url("../img/feature02.jpg") no-repeat top center / contain;
}
.feature-list li:nth-child(3)::before{
	background: url("../img/feature03.jpg") no-repeat top center / contain;
}

.feature-list .txt-block{
	width: 600px;
	padding: 20px 0 0;
}
.feature-list li.l-img .txt-block{
	margin: 0 0 0 auto;
}
.feature-list li.r-img .txt-block{
	padding: 20px 0 0 10px;
}

.feature-list .list-title{
	font-size: 4.5rem;
	font-weight: bold;
	margin: 20px 0 20px;
	letter-spacing: .02em;
}
.feature-list .feature01 .list-title span{
	font-size: 9rem;
	color: #F39800;
}
.feature-list .feature02 .list-title{
	line-height: 1.4;
	margin: 20px 0 20px;
}
.feature-list .feature02 .list-title .l{
	font-size: 6rem;
}
.feature-list .feature03 .list-title{
	line-height: 1.3;

}
.feature-list .feature03 .list-title span{
	font-size: 6rem;
	color: #F39800;
}

.feature-list .sub-catch{
	background: #0092F1;
	color: #fff;
	font-size: 2.3rem;
	letter-spacing: .05em;
	font-weight: bold;
	display: inline-block;
	padding: 0 10px;
	font-feature-settings: "palt";
}

.feature-list .basic-txt{
	padding: 10px 0 0;
}
.feature-list .num{
	position: absolute;
	width: 110px;
	height: 95px;

	background-image: linear-gradient(90deg, rgba(250, 160, 0, 0.9), rgba(255, 193, 88, 0.9));
	border-radius: 15px 0 15px 0;
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	text-align: center;
	padding: 15px 0 0;
}
.feature-list .num span{
	display: block;
	font-size: 5rem;
	font-family: var(--opensans);
	padding: 0 0 0;
}
.feature-list li.r-img .num{
	right: 410px;	
}
.about-area .btn-more{
	margin: 50px auto 0;
	display: block;
}

@media screen and (max-width: 768px){
	.about-area{
		padding: 0 0 40px;
	}

	.about-area .txt-area{
	}
	.about-area .section-title .jp{
		font-size: 2.5rem;
	}
	.about-area .section-title .jp .name{
		font-size: 2.4rem;
	}
	.about-area .txt-area .catch{
		margin: 20px 0 0;
	}
	.about-area .txt-area .catch img{
		width: 100%;
	}
	.about-area .txt-area .basic-txt{
		padding: 10px 0 0;
		width: 100%;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1.75;
		text-align: left;
	}

	.feature-list{
		margin: 30px 0 0;
	}
	.feature-list::before{
		display: none;
	}

	.feature-list li{
		padding: 15px ;
	}
	.feature-list li::before{
		display: none;
	}
	.feature-list li:first-of-type{
	}
	.feature-list li.r-img::before{
	}
	.feature-list li:nth-child(2)::before{
		display: none;
	}
	.feature-list li:nth-child(3)::before{
		display: none;
	}
	.feature-list li img{
		width: 100%;
		height: 180px;
		object-fit: cover;
		border-radius: 5px;
		object-position: top;
	}

	.feature-list .txt-block{
		width: 100%;
		padding: 10px 0 0;
	}
	.feature-list li.l-img .txt-block{
	}
	.feature-list li.r-img .txt-block{
		padding: 10px 0 0;
	}

	.feature-list .list-title{
		font-size: 3rem;
		margin: 10px 0;
	}
	.feature-list .feature01 .list-title span{
		font-size: 6rem;
	}
	.feature-list .feature02 .list-title{
		margin: 10px 0;
	}
	.feature-list .feature02 .list-title .l{
		font-size: 3.5rem;
	}
	.feature-list .feature03 .list-title{

	}
	.feature-list .feature03 .list-title span{
		font-size: 3.5rem;
	}

	.feature-list .sub-catch{
		font-size: 2rem;
		line-height: 1.4;
		padding: 5px 10px;
		display: block;
	}

	.feature-list .basic-txt{
		padding: 0;
	}
	.feature-list .num{
		font-size: 1.6rem;
		width: 65px;
		height: 55px;
		padding: 8px 0 0;
		border-radius: 5px 0 5px 0;
	}
	.feature-list .num span{
		font-size: 2.5rem;
		padding: 2px 0 0;
		
	}
	.feature-list li.r-img .num{
		right: auto;	
	}
	.about-area .btn-more{
		margin: 30px auto 0;
	}
}


/* service-area
--------------------------------------------------------------*/
.service-area{
	margin: 100px 0 0;
}
.service-area .txt-area{
	text-align: center;
}
.service-area .section-catch{

}
.service-area .section-catch .catch{
	background: #FFA000;
	font-size: 3.5rem;
	color: #fff;
	font-weight: bold;
	padding: 0 20px;
	display: table;
	margin: 0 auto;
}

.service-area .txt-area .basic-txt{
	padding: 15px 0 0;
}

.service-block{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 50px 0 0;
}
.service-block > div{
	width: calc((100% / 4) - 10px);
}
.service-block > div:nth-child(n + 5){
	margin: 25px 0 0;
}
.service-block img{
	border-radius: 15px;
}
.service-block > div .service-title{
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	padding: 6px 0;
	color: #F39800;
}
.service-block > div .basic-txt{
	color: #7B7B7B;
}

/*service-other-block*/
.service-other-block{
	background:#FFFDD7;
	border-radius: 15px;
	border: solid 3px #F39800;
	margin: 80px 0 0;
	position: relative;
	padding: 20px 60px 35px;
}
.service-other-block .other-title{
	font-size: 2.3rem;
	font-weight: 600;
	background: #fff;
	border-radius: 50px;
	padding: 5px 15px;
	border: solid 3px #F39800;
	display: inline-block;
	position: absolute;
	top: -30px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: max-content;
	min-width: 860px;
    text-align: center;
}
.service-other-block .other-title span{
	color: #019BFF;
}
.service-other-block ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.service-other-block ul li{
	font-size: 2.2rem;
	font-weight: 500;
	border-bottom: dashed 2px #F39800; 
	padding: 0 0 5px;
	margin: 35px 10px 0;
}
.service-other-block ul li::before{
	content: '\f00c';
    color: #F39800;
    z-index: 1;
    position: relative;
    font-weight: 900;
    margin: 0 10px 0 0;
}

.order-sguard-area{
	margin: 120px 0 140px;
}

.toggle {
		display: none;
	}

@media screen and (max-width: 768px){
	.service-area{
		margin: 40px 0 0;
	}
	.service-area .txt-area{
	}
	.service-area .section-catch .catch{
		font-size: 2rem;
	}
	.service-area .section-catch img{
		width: 100%;
	}
	.service-area .txt-area .basic-txt{
		text-align: left;
	}

	.service-block{
		display: block;
		margin: 20px 0 0;
	}
	.service-block > div{
		width: 100%;
	}
	.service-block > div:nth-child(n + 5){
		margin: 0;
	}
	.service-block img{
		width: 60px;
		height: 60px;
		border-radius: 5px;
		margin: 0 10px 0 0;
	}
	.service-block .Label{
		display: flex;
		align-items: center;
		padding: 0 0 10px;
	}
	.service-block > div .service-title{
		font-size: 1.8rem;
		color: #333;
	}
	.service-block > div .basic-txt{
		background: #f8f8f8;
		color: #333;
		padding: 10px;
	}

	/*service-other-block*/
	.service-other-block{
		padding: 5px 15px 20px;
		margin: 30px 0 0;
	}
	.service-other-block .other-title{
		font-size: 1.7rem;
		position: inherit;
		top: auto;
		left: auto;
		    transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
		width: 100%;
		border-radius: 5px;
		border: none;
		background: none;
		padding: 10px 0 0;
		min-width: 100%;
	}
	.service-other-block .other-title span{
	}
	.service-other-block ul{
		justify-content: flex-start;
	}
	.service-other-block ul li{
		font-size: 1.5rem;
		margin: 20px 5px 0 0;
	}
	.service-other-block ul li::before{
	}
	
	/* アコーディオン */
	.toggle {
		display: none;
	}
	.Label {		/*タイトル*/
		padding: 1em;
		display: block;
		border-bottom: solid 1px #C5C5C5;
	}
	.Label::before{		/*タイトル横の矢印*/
		content:"";
		width: 6px;
		height: 6px;
		border-top: 2px solid #F39800;
		border-right: 2px solid #F39800;
		-webkit-transform: rotate(45deg);
		position: absolute;
		top:calc( 50% - 3px );
		right: 20px;
		transform: rotate(135deg);
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {		/*本文*/
		height: 0;
		margin-bottom:10px;
		padding:0 20px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {	/*開閉時*/
		height: auto;
		padding:0 ;
		transition: all .3s;
		width: 100%;
	}
	.toggle:checked + .Label::before {
		transform: rotate(-45deg) !important;
	}
	
	.order-sguard-area{
		margin: 120px 0 50px;
	}
}

/* works-area
--------------------------------------------------------------*/
.works-area{
	margin: 50px 0 0;
	background: #FFF3DE;
	border-radius: 50px 50px 0 0;
	padding: 140px 0 70px;
}
.detail2 .works-area{
	padding: 100px 0 70px;
}
.works-area > .inner{
	position: relative;
}
.works-area > .inner::after{
	content: '';
	position: absolute;
	width: 720px;
	height: 450px;
	top: -75px;
	right: -120px;
	border-radius: 30px;
	background: url("../img/top-works-img.jpg") no-repeat top center / cover;}

.detail2 .works-area > .inner::after{
	top: -25px;
}

.works-area .txt-area{
	width: 560px;
}
.works-area .txt-area .section-catch{
	padding: 20px 0 0;
}
.works-area .txt-area .basic-txt{
	padding: 20px 0 0;
}
.works-area .works-list{
	margin: 60px 0 0;
}

.works-area .btn-more{
	margin: 50px auto 0;
}

@media screen and (max-width: 768px){
	.works-area{
		border-radius: 15px 15px 0 0;
		padding: 45px 0;
		margin: 0;
	}
	.detail2 .works-area{
		padding: 45px 0;
	}

	.works-area > .inner{
	}
	.works-area > .inner::after{
		width: 187px;
		height: 144px;
		right: 20px;
		border-radius: 10px;
		top: 0;
	}
	.detail2 .works-area > .inner::after{
		top: 0;
	}
	.works-area .txt-area{
		width: 100%;
		position: relative;
		z-index: 1;
        padding: 30px 0 0;
	}
    .works-area .txt-area img {
        width: 250px;
    }
	.works-area .txt-area .basic-txt{
	}
	.works-area .works-list{
		margin: 20px 0 0;
	}

	.works-area .btn-more{
		margin: 30px auto 0;
	}
	
}

/* logo-area
--------------------------------------------------------------*/
.logo-area{
	padding: 30px 0;
	background: #F8F8F8;
}
.logo-area ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo-area ul li{
}

.logo-area .basic-txt{
	text-align: center;
	margin: 0 0 10px;
}

@media screen and (max-width: 768px){
	.logo-area{
	}
	.logo-area ul{
		display: none;
	}
	.maker-logo-sp{
		width: 100%;
	}
}

/* survey-area
--------------------------------------------------------------*/
.survey-area{
	margin: 100px 0 0;
}
.survey-area .inner1100{
	display: flex;
	justify-content: space-between;
}
.survey-title{
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.survey-title span{
	color: #FA4032;
}
.survey-area img{
	border-radius: 30px;
}
.survey-area .block{
	width: 560px;
}
.survey-area .txt-area{
	padding: 0 0 0 150px;
	position: relative;
}
.survey-area .txt-area::before{
	content: '';
	position: absolute;
	width: 141px;
	height: 156px;
	top: 0;
	left: 0;
	background: url("../img/area-survey-img.png") no-repeat top center / contain;
}
.survey-area .basic-txt{
	padding: 10px 0 0;
}
.survey-area ul{
	margin: 50px 0 0;
}
.survey-area ul li{
	font-size: 2.3rem;
	font-weight: bold;
	border-bottom: dashed 2px #F39800;
	padding: 0 0 10px;
	margin: 15px 0 0 50px;
	position: relative;
}
.survey-area ul li::before{
	content: '';
	position: absolute;
	width: 40px;
	height: 40px;
	top: -5px;
	left: -50px;
	background: url("../img/area-survey-check.png") no-repeat top center / contain;
}

@media screen and (max-width: 768px){
	.survey-area{
	}
	.survey-area .inner1100{
	}
	.survey-title{
	}
	.survey-title span{
	}
	.survey-area img{
	}
	.survey-area .block{
	}
	.survey-area .txt-area{
	}
	.survey-area .txt-area::before{
	}
	.survey-area .basic-txt{
	}
	.survey-area ul{
	}
	.survey-area ul li{

	}
	.survey-area ul li::before{
	}
	
}


/* feature-area
--------------------------------------------------------------*/
.feature-area{
	margin: 150px 0 0;
}
.feature-area .txt-area{
	text-align: center;
}
.feature-area .detail-contents{
	margin: 30px 0 0;	
}
.feature-area .feature-title{
	background: #FF9B00;
    color: #fff;
    font-size: 2.2rem !important;
    margin: 40px 0 30px 0;
    padding: 15px 30px;
    font-family: "Noto Sans JP", sans-serif !important;
	font-weight: bold;
    line-height: 1.5;
}

@media screen and (max-width: 768px){
	.feature-area{
		margin: 40px 0 0;
	}
	.feature-area .txt-area{
	}
	.feature-area .detail-contents{
	}
	.feature-area .feature-title{
		margin: 30px 20px 20px;
        padding: 15px 15px;
        font-size: 1.8rem !important;
	}
}

/* correspondence-area
--------------------------------------------------------------*/
.correspondence-area .section-title .jp{
	font-size: 3rem;
	color: #F39800;
}

@media screen and (max-width: 768px){
	.correspondence-area .txt-area{
		padding: 0 20px;
	}
	.correspondence-area .section-title .jp{
		font-size: 2.3rem;
	}
}

/* free-area
--------------------------------------------------------------*/
.free-area{
	margin: 0 0 100px;
}

.free-area .flex-box{
	display: flex;
	align-items: center;
	gap: 10px;
}
@media screen and (max-width: 768px){
	.free-area{
		margin: 0 0 40px;
	}
	
	.free-area .flex-box{
		display: block;
	}
}

/* support-area
--------------------------------------------------------------*/
.support-area{
	margin: 100px 0 0;
	background: #f8f8f8;
	padding: 60px 0;
}
.support-area .txt-area{
	text-align: center;
}

.city-block{
	padding: 40px 50px;
	background: #fff;
	margin: 37px 0 0;
	border-radius: 15px;
	border: solid 3px #F39800;
}
.city-block .region{
	font-size: 2rem;
	font-weight: 600;
}
.city-list{
	display: flex;
	margin: 20px 0 0;
	flex-wrap: wrap;
}
.city-list li{
	margin: 10px 10px 0 0;
}
.city-list li a{
	font-size: 1.8rem;
	padding: 12px 20px;
	border: solid 1px #019BFF;
	display: block;
	color: #019BFF;
	box-shadow: 0 2px 0 0 #019BFF;
	border-radius: 30px;
	top: 0;
	position: relative;
	transition: .3s all;
	background: #fff;
}
.city-list li a:hover{
	box-shadow: 0 0 0 #019BFF;
	top: 2px;
}
@media screen and (max-width: 768px){
	.support-area{
		margin: 40px 0 0;
		padding: 30px 0;
	}
	.support-area .txt-area{
	}

	.city-block{
		margin: 20px 0 0;
		padding: 15px;
	}
	.city-block .region{

	}
	.city-list{
		margin: 10px 0 0;
	}
	.city-list li{
		margin: 5px 5px 0 0;
	}
	.city-list li a{
		font-size: 1.6rem;
		padding: 10px;
	}
	.city-list li a:hover{

	}
}

/* -----------------------------
	フルリッチテキスト
-------------------------------- */

.detail-contents {
  line-height: 1.8;
  padding: 0 0 50px !important;
}

/* pタグ */
.detail-contents p {
  font-size: 1.6rem!important;
	font-family: "Noto Sans JP", sans-serif!important;
	line-height: 1.8!important;
	font-weight: 500!important;
}
.detail-contents p span{
	font-family: "Noto Sans JP", sans-serif!important;}

/* 見出し系 */
.detail-contents h1,
.detail-contents h2,
.detail-contents h3,
.detail-contents h4 {
  font-weight: bold;
  line-height: 1.5;
}

.detail-contents h1 {
	/*
  background: #333;
	*/
  color: #FF9B00;
  font-size: 2.6rem;
  margin: 30px 0 20px 0;
	/*
  padding: 15px 30px;
	*/
}

.detail-contents h2 {
  border-bottom: 3px #FF9B00 solid;
  font-size: 2.4rem;
  margin: 40px 0 30px 0;
  padding: 0 0 10px;
}

.detail-contents h3 {
	background: #FF9B00;
	color: #fff;
  font-size: 2.2rem!important;
  margin: 40px 0 30px 0;
  padding: 15px 30px;
	font-family: "Noto Sans JP", sans-serif!important;
}
.detail-contents h3 span{
  font-size: 2.2rem!important;
}

.detail-contents h4 {
  font-size: 2rem;
  margin: 30px 0 20px 0;
  padding: 0 0 0 16px;
  position: relative;
}

.detail-contents h4::before {
  background: #FF9B00;
  border-radius: 3px;
  content: "";
  display: block;
  height: calc(100% - 10px);
  left: 0;
  position: absolute;
  top: 5px;
  width: 4px;
}

.detail-contents img {
  display: block;
  height: auto;
  max-width: 790px;
}

.detail-contents a:link {
  color: red;
  display: inline-block;
}

@media screen and (max-width: 768px) {
	
  .detail-contents {
    padding: 0 20px 30px !important;
  }

  .detail-contents h1 {
    font-size: 2.2rem;
    margin: 20px 0 10px 0;
	  /*
    padding: 10px 15px;
	  */
  }

  .detail-contents h2 {
    margin: 30px 0 20px 0;
    padding: 0 0 8px;
    font-size: 2rem;
  }

  .detail-contents h3 {
    margin: 30px 0 20px 0;
    padding: 15px 15px;
    font-size: 1.8rem!important;
  }
	.detail-contents h3 span{
	  font-size: 1.8rem!important;
	}
  .detail-contents h4 {
    margin: 20px 0 10px 0;
    padding: 0 0 0 18px;
    font-size: 1.6rem;
  }

  .detail-contents h4::before {
    top: 5px;
    height: calc(100% - 10px);
  }

  .detail-contents img {
    float: none;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    text-align: center;
    height: auto;
    display: block;
  }
}

/* -----------------------------
	flow-area
-------------------------------- */
.flow-area{
	margin: 100px 0 120px;
}
@media screen and (max-width: 768px){
	.flow-area{
		margin: 60px 0 40px;
	}
}

/* -----------------------------
	company-area
-------------------------------- */
.company-area {
	margin: 100px 0 0;
	background: #f8f8f8;
	padding: 80px 0;
}
.company-area .txt-area{
	text-align: center;
}
#table01 {
	width: 100%;
	margin: 30px 0 0;
}
#table01 tr {
}

#table01 th,
#table01 td {
  padding: 24px 20px;
  border: none;
	font-size: 1.8rem;
  border-bottom: 1px solid #C5C5C5;
	line-height: 1.75;
}

#table01 th {
  width: 30%;
}
#table01 td {
	/*text-align: right;*/
}
@media screen and (max-width: 768px){
	.company-area{
		padding: 40px 0;
		margin: 0;
	}
	#table01{
		margin: 10px 0 0;
	}
  #table01 th,
  #table01 td {
    width: 100%;
    display: block;
	  border-bottom: none;
	  font-size: 1.6rem;
  }
	#table01 tr {
}

  #table01 th {
    width: 100%;
	  text-align: left;
	  padding: 10px 0 5px;
  }

  #table01 td {
   padding: 0 0 10px;
	  text-align: left;
	  line-height: 1.6;
	 border-bottom: 1px solid #C5C5C5;
  }
}

/* -----------------------------------------------------------
	campaign-area
-------------------------------------------------------------- */
.support.campaign-area {
	padding: 50px 0 0px;    
	/*padding: 50px 0 80px;
    border-bottom: 1px solid;
    margin: 0 0 50px;*/
}

.support.campaign-area .ribon-catch {
	background: url("../img/campaign-ribon.png") no-repeat top center / 923px 125px;
	color: #fff;
	font-size: 4rem !important;
	font-weight: bold !important;
	padding: 15px 0 60px;
	text-align: center;
}

.support.campaign-area .section-catch {
    color: #FA4032;
    font-size: 3rem !important;
	font-weight: 600 !important;
	padding: 0 0 20px;
	text-align: center;
}

.support.campaign-area .maker-ex {
	position: relative;
    font-size: 2.6rem !important;
    font-weight: bold !important;
    margin: 60px 0 30px;
    padding: 20px 15px;
    letter-spacing: .05em;
    color: #fff;
    border-radius: 50px;
    background: #F39800;
    text-align: center;
}

.support.campaign-area .maker-ex::before {
	position: absolute;
    top: 100%;
    left: 40px;
    height: 0;
    width: 0;
    border-style: solid;
    border-width: 8px;
    content: "";
    border-top-color: #F39800;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.support.campaign-area .sub-ttl {
	color: #f39800;
	font-size: 2.6rem;
}

.support.campaign-area .flex-box .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}

.support.campaign-area .flex-box .list .item {
	display: block;
	padding: 30px;
	width: calc((100% / 3) - 20px);
	background: #fff;   
	border: solid 3px #F39800;
    margin: 30px 0 0;
    border-radius: 15px;
}

.support.campaign-area .flex-box .list .item .ttl {
	display: block;
	margin: 0 0 10px;
	font-size: 2.3rem;
	font-weight: 600;
	line-height: 1;
	color: #F39800;
}

.support.campaign-area .flex-box .list .item .price {
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.5;
}

.support.campaign-area .s-size {
	font-size: 1.4rem;
}

.support.campaign-area .c-bk {
	color: #333 !important;
}

.support.campaign-area .c-red {
	background: #f97c59 !important;
}
.support.campaign-area .c-red::before {
	border-top-color: #f97c59 !important;
}

.support.campaign-area .point {
	margin: 10px 0 0;
	color: #f97c59;
	font-weight: 600;
}

/* 1col */
.support.campaign-area .recommendation-area {
	padding: 50px 30px;
	/* background: #fdf1ea; */
	background: #fff;
	 border: solid 3px #f97c59; 
	border-radius: 10px;
}

.support.campaign-area .flex-box .list.one-col .item {
	display: block;
	padding: 0;
	width: 100%;
	background: unset;
	border-radius: unset;
	border: none;
	margin: 0;
}

.support.campaign-area .flex-box .list.one-col .item .ttl {
	display: flex;
	margin: 0 0 20px;
	font-size: 1.8rem;
	font-weight: 600;
}

.support.campaign-area .flex-box .list.one-col .item .ttl::before {
	content: "";
	width: 22px;
	height: 20px;
	background: url(../img/checkmark-red.png);
	background-size: contain;
	display: block;
	margin-right: 10px;
	flex-shrink: 0;
}

.support.campaign-area .recommendation-area .block.conditions {
	margin: 30px 0 0;
	padding: 20px;
	/* background: #fff; */
	background: #ffefea;
	border-radius: 10px;
}

.support.campaign-area .recommendation-area .block.conditions .ttl {
	margin: 0 0 10px;
	padding: 0 0 10px;
	font-size: 1.8rem;
	font-weight: 600;
	border-bottom: solid 2px #f97c59;
}

.support.campaign-area h4.maker-ex.type02::before {
	position: absolute;
	top: 100%;
	left: 40px;
	height: 0;
	width: 0;
	border-style: solid;
	border-width: 8px;
	content: "";
	color: #fdf1ea;
	border-top-color: #f97c59;
}

.support.campaign-area .campaign {
	margin: 60px auto 0;
}

.support.campaign-area .btn-more{
	margin: 30px auto 0;
}

.support.campaign-area .btn-more a {
    overflow: hidden;
    position: relative;
    z-index: 1;
    background: #fff;
    border: 2px solid #333;
    border-radius: 5px;
    color: #333;
    display: block;
    font-weight: 500;
    max-width: 280px;
    height: 70px;
    line-height: 66px;
    text-align: center;
}

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

	.support.campaign-area {
		margin: 40px 0 0 0;
		padding: 0px 0;
	}
	.support.campaign-area .ribon-catch {
		background: url("../img/campaign-ribon.png") no-repeat top center / 100% 100px;
		font-size: 2.3rem!important;
		padding: 10px 0 20px;
		line-height: 1.4!important;
	}
	
	.support.campaign-area .section-catch {
		font-size: 2.0rem !important;
		padding: 10px 0 0;
	}
	
	.support.campaign-area .maker-ex{
		font-size: 2rem!important;
		margin: 20px 0 20px;
		padding: 10px 15px;	
	}
	
	.support.campaign-area .sub-ttl {
		font-size: 1.8rem;
	}

	.support.campaign-area .flex-box .list {
		flex-direction: column;
	}

	.support.campaign-area .flex-box .list .item {
		padding: 30px 20px;
		width: 100%;
		border-radius: 10px;
		margin: 10px 0 0;
	}
	
	.support.campaign-area .flex-box .list .item:first-child{
		margin: 0;
	}

	.support.campaign-area .recommendation-area {
		padding: 30px 20px;
	}

	.support.campaign-area .campaign {
		margin: 40px auto 0;
	}
	
	.support.campaign-area .flex-box .list.one-col .item .ttl {
		line-height: 1.2;
	}

}

/*キャンペーンバナー*/

.campaign-bnr{
	padding: 100px 0 0px;
	display: none;
}

.campaign-bnr.hokkaido-area{
	display: block;
}

.campaign-bnr .section-title{
	text-align: center;
	padding: 0 0 30px;
}
.campaign-bnr img{
	width: 100%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	
	.campaign-bnr{
		padding: 40px 20px 0px;
		display: none;
	}

	.campaign-bnr.hokkaido-area{
		display: block;
	}

	.campaign-bnr .section-title{
		padding: 0 0 20px;
	}
	
}
