@charset "utf-8";
footer {
	width: 100%;
}
.footer_type01 {
	background: var(--sub12-color);
	padding: 40px 0 50px;
}
.footer_wrap {
	width: 1170px;
	margin: 0 auto;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
}
.footer_logo_wrap {
	width: 18%;
}
.footer_logo_wrap .footer_logo {
	display: block;
	width: 140px; 
}
.footer_menu_wrap {
	width: 82%;
	margin-bottom: 40px;
}
.list_footer_menu {
	gap: 15px;
}
.footer_menu_item {
	position: relative;
	padding-top: 18px;
}
.footer_menu_item::before {
	content: '';
	position: absolute;
	width: 18px;
	height: 1px;
	top: 0;
	left: 3px;
	background: var(--sub3-color);
}
.footer_menu_item .footer_menu_link {
	display: block;
	font-size: 14px;
	color: var(--sub3-color);
	line-height: 1.8;
	margin-bottom: 5px;
}
.list_footer_sub_menu a {
	display: block;
	font-size: 12px;
	color: var(--sub13-color);
	line-height: 1.8;
	text-indent: -3px;
}
.footer_contact01 {
	width: 30%;
}
.footer_address_text {
	font-size: 18px;
	color: var(--sub3-color);
	margin-bottom: 10px;
}
.footer_text,
.footer_other_menu a {
	font-size: 14px;
	color: var(--sub3-color);
	line-height: 2;
}
.footer_other_menu a {
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-align-items: center;
	        align-items: center;
}
.footer_other_menu a img {
	width: 14px;
	margin: 0 20px 0 10px;
}
.footer_social_link {
	width: 22px;
	margin-right: 8px;
}
.footer_contact02 {
	width: 70%;
	-webkit-justify-content: flex-end;
	        justify-content: flex-end;
}
.footer_button {
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: center;
	        justify-content: center;
	-webkit-align-items: center;
	        align-items: center;
	width: 300px;
	background: var(--sub3-color);
	margin-bottom: 15px;
	-webkit-border-radius: 50px;
	        border-radius: 50px;
	padding: 17px;
}
.footer_button p {
	font-size: 16px;
	color: var(--sub12-color);
}
.footer_button img {
	width: 20px;
	margin-right: 8px;
}
.footer_phone_wrap {
	margin-left: 8px;
}
.footer_phone_text01 {
	display: inline-block;
	margin: 8px 35px 0 0;
}
.footer_phone_text01 a,
.footer_phone_text01 {
	font-size: 20px;
	color: var(--sub3-color);
}
.footer_phone_text01 span {
	font-size: 14px;
	color: var(--sub3-color);
}
.footer_phone_text02 {
	display: inline-block;
	font-size: 12px;
	color: var(--sub3-color);
	line-height: 1.5;
}
.footer_type02 {
	background: var(--sub3-color);
	padding: 16px;
	text-align: center;
}
.footer_type02 img {
	width: 142px;
}
/*page top*/
.page_top .inner {
	position: relative;
}
.page_top button{
	width: 72px;
	background: transparent;
	position: fixed;
	right: 170px;
	bottom: 20px;
	z-index: 99;
}
.page_top img {
	width: 100%;
}

/*Tablet*/
@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.footer_type01 {
		padding: 3.336vw 0 4.170vw;
	}
	.footer_wrap {
		width: 97.581vw;
	}
	.footer_logo_wrap .footer_logo {
		width: 11.676vw; 
	}
	.footer_menu_wrap {
		margin-bottom: 3.336vw;
	}
	.list_footer_menu {
		gap: 1.251vw;
	}
	.footer_menu_item {
		padding-top: 1.501vw;
	}
	.footer_menu_item::before {
		width: 1.501vw;
		height: 0.083vw;
		left: 0.250vw;
	}
	.footer_menu_item .footer_menu_link {
		font-size: 1.168vw;
		margin-bottom: 0.417vw;
	}
	.list_footer_sub_menu a {
		font-size: 1.001vw;
		text-indent: -0.250vw;
	}
	.footer_address_text {
		font-size: 1.501vw;
		margin-bottom: 0.834vw;
	}
	.footer_text,
	.footer_other_menu a {
		font-size: 1.168vw;
	}
	.footer_other_menu a img {
		width: 1.168vw;
		margin: 0 1.668vw 0 0.834vw;
	}
	.footer_social_link {
		width: 1.835vw;
		margin-right: 0.667vw;
	}
	.footer_button {
		width: 25.021vw;
		margin-bottom: 1.251vw;
		-webkit-border-radius: 4.170vw;
		        border-radius: 4.170vw;
		padding: 1.418vw;
	}
	.footer_button p {
		font-size: 1.334vw;
	}
	.footer_button img {
		width: 1.668vw;
		margin-right: 0.667vw;
	}
	.footer_phone_wrap {
		margin-left: 0.667vw;
	}
	.footer_phone_text01 {
		margin: 0.667vw 2.5vw 0 0;
	}
	.footer_phone_text01 a,
	.footer_phone_text01{
		font-size: 1.5vw;
	}
	.footer_phone_text01 span {
		font-size: 1.168vw;
	}
	.footer_phone_text02 {
		font-size: 1.001vw;
	}
	.footer_type02 {
		padding: 1.334vw;
	}
	.footer_type02 img {
		width: 11.843vw;
	}
	/*page top*/
	.page_top button{
		width: 6.486vw;
		position: fixed;
		right: 10.315vw;
		bottom: 1.802vw;
	}
}

/*SP*/
@media only screen and (max-width: 767px) {
	.footer_type01 {
		padding: 0.50rem 0;
	}
	.footer_wrap {
		width: 6.00rem;
	}
	.footer_logo_wrap {
		width: 100%;
		margin-bottom: 0.80rem;
	}
	.footer_logo_wrap .footer_logo {
		width: 3.06rem;
		margin: 0 auto;
	}
	.footer_contact01 {
		width: 100%;
		text-align: center;
		margin-bottom: 0.40rem;
	}
	.footer_address_text {
		font-size: 0.40rem;
		letter-spacing: 0.05rem;
		margin-bottom: 0.35rem;
	}
	.footer_text,
	.footer_other_menu a {
		font-size: 0.28rem;
		line-height: 1.8;
	}
	.footer_other_menu {
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.footer_other_menu a img {
		width: 0.24rem;
		margin: 0 0.70rem 0 0.15rem;
	}
	.footer_other_menu a:last-child img {
		margin-right: 0;
	}
	.footer_social_wrap .footer_text {
		margin-bottom: 0.20rem;
	}
	.footer_social_link {
		width: 0.64rem;
		margin-right: 0.40rem;
	}
	.footer_social_link:last-child {
		margin-right: 0;
	}
	.footer_contact02 {
		width: 100%;
		-webkit-justify-content: center;
		        justify-content: center;
		text-align: center;
	}
	.footer_button {
		width: 5.25rem;
		margin-bottom: 0.50rem;
		-webkit-border-radius: 0.50rem;
		        border-radius: 0.50rem;
		padding: 0.27rem;
	}
	.footer_button p {
		font-size: 0.30rem;
	}
	.footer_button img {
		width: 0.30rem;
		margin-right: 0.10rem;
	}
	.footer_phone_wrap {
		margin-left: 0;
	}
	.footer_phone_wrap .footer_text {
		line-height: 1.5;
	}
	.footer_phone_text01 {
		display: block;
		margin: 0.20rem 0;
	}

	.footer_phone_text01.last{
		margin: 0 0 .2rem;
	}
	.footer_phone_text01 a,
	.footer_phone_text01 {
		font-size: 0.40rem;
	}
	.footer_phone_text01 span {
		font-size: 0.14rem;
	}
	.footer_phone_text02 {
		font-size: 0.24rem;
		letter-spacing: 0.03rem;
	}
	.footer_phone_text03 {
		display: inline-block;
		font-size: 0.24rem;
		color: var(--sub3-color);
    	line-height: 1.5;
    	letter-spacing: 0.03rem;
		margin-right: 0.10rem;
		text-align: left;
	}
	.footer_type02 {
		padding: 0.40rem;
	}
	.footer_type02 img {
		width: 2.80rem;
	}
	/* page top */
	.page_top button {
	  width: 0.90rem;
	  right: 0.30rem;
	  bottom: 0.20rem;
	}
}