@charset "utf-8";
@media screen and (max-width: 750px) {
	body {
		min-width: 100%;
		font-size: 4.0vw;
	}
	#content {
		/*padding-top: 21.3vw;*/
	}
	/*=============================
		common
===============================*/
	/* wrap */
	.wrap {
		width: 100%;
		min-width: 1px;
		margin: 0 auto;
		padding: 0 5.3vw;
	}
	/* view */
	.pc_view, .sp_none {
		display: none !important;
	}
	.sp_view, .pc_none {
		display: block !important;
	}
	/* parts */
	.btn1 {
		font-size: 3.7vw;
		width: 40.3vw;
		height: 11.7vw;
		margin: 0 auto;
	}
	.btn1::after {
		left: 4.9vw;
		width: 2.4vw;
		height: 2.4vw;
	}
	.btn1.btnmap::after {
		left: 4.7vw;
		width: 3.3vw;
		height: 3.3vw;
	}
	/*=============================
		header
===============================*/
	header {
		position: fixed;
		padding: 0 0 0 0;
		width: 100%;
		min-width: 1px;
		height: 16.0vw;
		/*display: block;*/
		display: flex;
		align-items: center;
		top: 0;
		left: 0;
		z-index: 999;
	}
	.header.is_scroll {
		height: 21.3vw;
		background: #fff;
		transition: all ease 0.3s;
		box-shadow: 0px -2px 6px 2px rgb(220 220 220 / 0.3);
	}
	/* left(logo) */
	header .header_left {
		width: 65vw;
	}
	header .header_left h1 a .logo, header .header_left p a .logo {
		width: auto;
		height: 15vw;
	}
	header .header_left h1 a .logo.is_scroll, header .header_left p a .logo.is_scroll {
		width: auto;
		height: 15vw;
	}
	/* right(nav) */
	header nav {
		position: fixed;
		background: #565656;
		display: block;
		top: 0;
		margin-top: 0;
		right: -100%;
		opacity: 0;
		z-index: -1;
		width: 100%;
		height: 100vh;
		height: -webkit-fill-available;
		transition: right 0s linear 0.3s, opacity 0.3s linear 0.05s;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}
	header nav.active {
		opacity: 1;
		z-index: 1000;
		right: 0;
		height: 100dvh;
		transition: right 0s linear 0s, opacity 0.3s linear;
	}
	header nav .nav_wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 28vw 0;
		height: 100%;
		min-height: 120vw;
		z-index: -1;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}
	header nav ul {
		display: block;
	}
	header nav ul li {
		margin: 0 auto 8.0vw;
	}
	header nav ul li:last-child {
		margin-bottom: 0;
	}
	header nav ul li a {
		font-size: 5.3vw;
		color: #fff;
		margin: 0 auto;
	}
	/* sp_btn_nav */
	header #btn_nav_wrapper {
		display: block;
		top: 0;
		right: 0;
		height: 100%;
		padding-top: 0;
		background: #565656;
		margin-right: 0;
	}
	header #btn_nav_wrapper.active {
		background: none;
	}
	header #btn_nav_wrapper .btn_nav::before {
		bottom: 2.4vw;
	}
	header #btn_nav_wrapper .btn_nav::after {
		top: 2.4vw;
	}
	/*=============================
　　　 links
===============================*/
	#links .wrap {
		padding: 0 0 0 0;
	}
	#links .wrap .fbox_wrap {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	#links .wrap .fbox_wrap .links_left, #links .wrap .fbox_wrap .links_right {
		width: 100%;
		height: 44.7vw;
	}
	#links .wrap .fbox_wrap .links_left {
		border-right: none;
	}
	#links .wrap .fbox_wrap .links_left a p, #links .wrap .fbox_wrap .links_right a p {
		font-size: 7.7vw;
		font-family: "Josefin Sans", sans-serif;
		font-weight: 600;
		letter-spacing: 0.27vw;
		padding: 0 0 1.3vw 0;
	}
	#links .wrap .fbox_wrap .links_left a h2::after, #links .wrap .fbox_wrap .links_right a h2::after {
		bottom: -6.0vw;
		left: 50%;
		transform: translateX(-50%);
		width: 3.3vw;
		height: 2.8vw;
	}
	/*============================
         footer
============================*/
	#footer {
		padding: 14.7vw 0 5.3vw; 
	}

	#footer .up_btn_box {
		width: 14.7vw;
		aspect-ratio: 1 / 1;
		right: 0;
	}

	/* a */
	#footer a{
		font-size: 4.5vw;
	}
	#footer .wrap ul {
		width: 100%;
		margin: 0 auto 10.6vw;
		flex-direction: column;
		text-align: center;
		gap: 4.0vw;
	}
	#footer .wrap ul li a {
		letter-spacing: 0.3vw;
	}
	#footer > p {
		font-size: 2.9vw;
	}	
}