@charset "UTF-8";
#mainvisual_lower_block.city_mv .mv_lw_box::before {
	background: rgba(255,255,255, 0.3);
}

@media screen and (max-width: 640px) {
	#mainvisual_lower_block.city_mv::after {
		height: 415px;
	}	
	#mainvisual_lower_block.pattern01 .intro_txt {
        font-size: 14px;
    }
	#mainvisual_lower_block.pattern03 .intro_txt {
        font-size: 14px !important;
    }
}

/*-----------------------------------

	topix_block

-----------------------------------*/
#topix_block {
	position: relative;
	padding-top: 0px;
	padding-bottom: 98px;
	background: #38af80;
	margin-top: 100px;
}

#topix_block::before {
    content: "";
    background: url(../img/common/green_mount_bg.svg) no-repeat center top / cover;
	width: 100vw;
    display: flex;
    justify-content: center;
    height: 120px;
	top: -100px;
    position: absolute;
    z-index: -1;
}

#topix_block h3 {
	color: #FFFFFF;
	font-size: 28px;
	margin-bottom: 74px;
	font-weight: 700;
	display: flex;
	flex-direction: row;
	align-items: center;
    justify-content: center;
}
#topix_block h3 img {
	height: 26px;
	width: auto;
}
#topix_block .wrap {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	justify-content: space-between;
}

#topix_block .wrap a {
	width: calc((100% - 100px) / 3);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
    justify-content: flex-start;
}

#topix_block .wrap a p {
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 500;
	margin-top: 18px;
	line-height: 1.8;
	flex-grow: 1;
}
#topix_block .wrap a .white_pg {
	font-size: 16px;
	flex-grow: 0;
}
@media screen and (min-width: 1680px) {
	#topix_block::before {
		height: 180px;
		top: -120px;
	}
	#topix_block {
		margin-top: 120px;
	}
}
@media screen and (max-width: 1000px) {
	#topix_block .wrap .box {
		width: calc((100% - 8%) / 2);
	}
}
@media screen and (max-width: 640px) {
	#topix_block {
		padding-bottom: 40px;
		margin-top: -50px;
	}
	#topix_block .wrap {
		row-gap: 18px;
	}
	#topix_block .wrap a {
		width: calc((100% - 8%) / 2);
	}
	#topix_block h3 {
        font-size: 20px;
        margin-bottom: 32px;
        margin-top: 32px;
	}
	#topix_block h3 img {
		margin-top: 40px;
		height: 20px;
	}
	#topix_block::before {
		height: 6vh;
		top: -6vh;
	}
	#topix_block .wrap a p {
		font-size: 15px;
	}
}
@media screen and (max-width: 480px) {
	#topix_block .wrap {
		justify-content: center;
		row-gap: 30px;
	}
	#topix_block .wrap a {
		width: 100%;
		flex-direction: column;
		gap: 10px;
	}
	#topix_block .wrap a img {
		width: 100%;
	}
	#topix_block .wrap a p {
		margin-top: 0px;
	}
}
@media screen and (max-width: 430px) {
	#topix_block::before {
		height: 4vh;
		top: -3vh;
	}
	#topix_block h3 img {
		margin-top: 50px;
	}
}

/*-----------------------------------

	search_block

-----------------------------------*/
#search_block {
	padding: 428px 0;
}
#search_block .btn_wrap {
	background: #C1E0CD;
	border: 1px solid #38AF80;
	padding: 20px;
	width: 100%;
	position: relative;
}
#search_block .btn_wrap label {
	font-size: 17.6px;
	font-weight: 700;
	margin-left: 10px;
}

#search_block .answer input ,
#search_block .btn_wrap input {
	width: 24px;
	height: 24px;
	border: 2px solid #B2B2B2;
	border-radius: 3px;
	display: inline-block;
	appearance: none;
	-webkit-appearance: none;
    -moz-appearance: none;
	background: white;
	margin: 0;
}
#search_block .answer input:checked {    /* ④ */
    border-color: #B2B2B2;
    background-color: #FFF;
}

#search_block .answer .checkbox {
	accent-color: #38AF80;
}

#search_block .answer {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 40px auto 0;
    width: 95%;
	gap: 22px 49px;
	justify-content: flex-start;
}

#search_block .checkbox {
    position: relative;
    display: inline-block;
    cursor: pointer;
    margin: 0;
}

#search_block .checkbox__input {
    appearance: none;    /* ① */
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;    /* ② ここまで*/ 
    position: relative;
    left: 0;
    cursor: pointer;
    margin: 0;
}

#search_block .checkbox__input:checked {    /* ④*/ 
	border-color: 2px solid #B2B2B2;
    background-color: #FFF;
}

#search_block .checkbox__input:checked::after {    /* ⑤ */
    content: "";
    display: block;
    position: absolute;
    left: 4px;
    top: 4px;
    width: 14px;
    height: 8px;
    border-left: 3px solid #38AF80;
    border-bottom: 3px solid #38AF80;
    transform: rotate(-45deg);    /* ⑥ ここまで*/ 
}
#search_block .all_checkbox input[type='checkbox'] {
	display: inline-flex !important;
}
#search_block .inputspan {
	font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
	margin-left: 10px;
}

#search_block .accordion label span {
	font-size: 14px;
	font-weight: 400;
    letter-spacing: 0.05em;
    padding-left: 10px;
}

#search_block input.p_search {
    width: 560px;
    height: 40px;
    border: 2px solid #b2b2b2;
    border-radius: 5px;
    padding-left: 16px;
    font-size: 18px;
}
#search_block input.p_search::placeholder {
	color: rgba(178,178,178,0.3);
}
#search_block .toggle_box button {
    background: #898989;
    width: 160px;
    height: 40px;
    border: 2px solid #898989;
    border-radius: 10px;
    color: #fff;
    font-size: 16px;
}
#search_block .search_wrap {
	gap: 5px;
	margin-top:40px;
	margin-bottom: 0;
    justify-content: center;
	display: flex;
	flex-direction: column;
	gap: 70px;
}

#search_block .search_wrap .btn_gr::after {
    content: "";
    width: 10px;
    height: 10px;
    background: #FFFFFF;
    border-radius: 50%;
    position: absolute;
    right: 24px;
    top: 0;
    bottom: 0;
}

.search_contents_wrap.search_contents_wrap01,
.search_contents_wrap.search_contents_wrap02,
.search_contents_wrap.search_contents_wrap03,
.search_contents_wrap.search_contents_wrap04 {
	flex-direction: column !important;
}
#search_block .search_contents_wrap {
    justify-content: flex-start;
    max-width: 1000px;
    width: 95%;
    margin: 0 auto;
}
#search_block .search_ttl::before, #search_block .search_ttl::after {
    content: "";
    position: absolute;
    right: 24px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 16px;
    height: 5px;
    background: #7DC39E;
}
#search_block .search_ttl::after {
    transform: rotate(0deg);
    transition: all 0.2s ease;
}
#search_block .search_ttl.active::after {
    transform: rotate(90deg);
    transition: all 0.2s ease;
}

#search_block .toggle_box .btn_wrap .search_contents label {
	font-size: 17.6px;
	font-weight: 700;
}

/*---アコーディオンとトグルボタン---*/
.button{
    width: 20px;
    height: 20px;
    position: absolute;
	right: 24px;
	top: 25px;
	margin: auto 0;
}
.button::before,
.button::after{
    content: '';
    position: absolute;
    background: #7DC39E;
    top: 50%;
    width: 20px;
    height: 5px;
    transition: all 0.3s;
}
.button::before{
    transform: rotate(45deg);
}
.button::after{
    transform: rotate(135deg);
}
.btn_wrap.close .button::before{
    transform: rotate(0deg);
}
.btn_wrap.close .button::after{
    transform: rotate(90deg);
}

.toggle_box {
	font-weight: bold;
	font-size: 16px;
	position: relative;
	padding-bottom: 77px;
}

.toggle_box:focus {
	opacity: 1;
}

#search_block {
	padding: 160px 0 0;
}

#search_block .search_box{
	margin-bottom: 77px;
}

#search_block .search02 .search_contents_wrap:not(.search_contents_wrap01) .right_box{
	gap: 22px 10px;
}

#search_block .search_contents label {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	padding-left: 35px;
	position: relative;
}

#search_block .search02 .right_box label {
	font-size: 14px;
	font-weight: 400;
}
#search_block .search05 label{
	letter-spacing: 0;
}

#search_block .search_contents label::before,
#search_block .search_contents label::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
}
#search_block .search_contents label::before {
	width: 24px;
	height: 24px;
	background: #FFFFFF;
	border: 2px solid #b2b2b2;
	border-radius: 3px;
	top: 0;
	left: 0;
	z-index: 0;
}
#search_block .search_contents label::after {
	width: 14px;
	height: 8px;
	background: #FFFFFF;
	border-bottom: 3px solid #38af80;
	border-left: 3px solid #38af80;
	transform: rotate(-45deg);
	top: 7px;
	left: 5px;
	z-index: 1;
	opacity: 0;
}
#search_block .search_contents input:checked + label::after {
	opacity: 1;
}

#search_block .search_contents input[type='checkbox'] {
	display: none;
}

#search_block .search02 .btn_wrap h3 {
	margin-bottom: 0;
	justify-content: flex-start;
}
#search_block .search_ttl h3 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
}
#search_block .search_contents label {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding-left: 35px;
    position: relative;
}
#search_block .search02 .search_contents_wrap > .search_contents, #search_block .search05 .search_contents_wrap > .search_contents {
    margin-bottom: 40px;
}
#search_block .search_contents_wrap00 .search_contents {
    margin-bottom: 0px !important;
}

#search_block .search_contents.check_hl {
    font-size: 14px;
    letter-spacing: 0.05em;
    position: relative;
	margin-bottom: 40px;
}
#search_block .search_contents.check_hl span {
    font-weight: 500 !important;
}
#search_block .search01 .search_ttl, #search_block .search02 .search_ttl {
    margin-bottom: 56px;
}
#search_block .search02 .search_contents_wrap01 .right_box {
	max-width: 890px;
	gap: 22px 0;
	justify-content: left;
}
#search_block .search02 .search_contents_wrap:not(:last-of-type), 
#search_block .search05 .search_contents_wrap:not(:last-of-type) {
    padding-bottom: 47.5px;
    border-bottom: 1px solid #b2b2b2;
    margin-bottom: 47.5px;
}
#search_block .search02 .right_box, 
#search_block .search05 .right_box {
    width: 100%;
    justify-content: flex-start;
}
#search_block .search02 .search_contents_wrap .right_box .search_contents,
#search_block .search05 .search_contents_wrap .right_box .search_contents {
    min-width: calc(100% / 8) !important;
}
@media screen and (max-width: 1220px) {
	#search_block .search02 .search_contents_wrap01 .right_box .search_contents{
		min-width: calc((100% - 20px) / 5) !important;
	}
	
	#search_block .search05 .search_contents_wrap .search_contents{
		width: calc((100% - 30px) / 4) !important;
	}
}

@media screen and (max-width: 840px) {
	#search_block .search05 .search_contents_wrap .search_contents{
		width: calc((100% - 20px) / 3) !important;
	}
	#search_block .search{
		width: 100%;
	}
	#search_block .search input{
		width: 100%;
	}
	#search_block .search_wrap {
		gap: 20px;
		margin-top: 40px;
	}
}

@media screen and (max-width: 640px){
	#search_block{
		padding: 50px 0 0;
	}
	#search_block.city_block {
		padding: 30px 0 0;
	}
	.Pagination{
		margin-top: 36px;
	}
}
/*--
	.btn_gr{
		max-width: 335px;
		width: 100%;
		margin: auto;
		margin-bottom: 55px;
	}
	.btn_gr a{
		padding: 22px 60px;
	}
	
	#search_block .answer {
		justify-content: flex-start;
		max-width: 1000px;
		width: 95%;
		margin: 0 auto;
		padding: 32px 0 0 0;
	}
	.toggle_box {
		margin-bottom: 77px;
	}
}--*/


/*-----------------------------------

	infomation_block

-----------------------------------*/
#infomation_block {
	margin-top: 120px;
	margin-bottom: 420px;
}
#infomation_block .title_wrap p {
    border-top: 1px solid #38af80;
    padding-top: 24px;
}
#infomation_block .title_wrap p .return_number {
	font-size: 21.6px;
	font-weight: 500;
}
#infomation_block  .wrap{
	margin-top: 36.8px!important;
}

@media screen and (max-width: 840px) {
	#infomation_block {
		margin-top: 0px;
	}
}
@media screen and (max-width: 640px) {
	#infomation_block {
		margin-top: 50px;
	}
	#infomation_block .title_wrap p {
        border-bottom: 0.5px solid #231815;
        padding-bottom: 18px;
        border-top: none;
        padding-top: 0;
    }
	#infomation_block .title_wrap p .return_number {
		font-size: 14px;
		font-weight: 400;
	}
	#infomation_block .wrap {
        margin-top: 42px!important;
    }
}

@media screen and (max-width: 400px) {
	#infomation_block {
		margin-bottom: 240px;
	}
}
/*--