/*
Theme Name: Nayagumi
Theme URI: https://example.com/
Author: Freelance-space
Author URI: https://example.com/
Description: Nayagumi theme
Text Domain: nayagumi
*/

html {
	font-size: 16px;
	font-family: "Hiragino Kaku Gothic Pro", "Noto Sans JP", "Yu Gothic", sans-serif;
	color: #000;
}

picture {
	display: block;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

header .container,
main .container,
footer .container {
	position: relative;
}

header .container {
	padding: 1.5rem 3.5%;
}
main .container {
	padding: 4rem 12.5%;
}
footer .container {
	padding: 1.5rem 12.5%;
}

header a,
main a,
footer a {
	color: inherit;
	text-decoration: none;
}

header a:hover,
main a:hover,
footer a:hover {
	opacity: 0.75;
}

h2.title,
h2.title {
	font-size: 3rem;
	font-family: "Hiragino Kaku Gothic Pro", "Noto Sans JP", "Yu Gothic", sans-serif;
	font-weight: 600;
	letter-spacing: 0.1em;
}

h2.title + .subtitle {
	font-size: 1.35rem;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	color: #009B63;
}

.more_btn {
	font-family: "Poppins", sans-serif;
	font-size: 110%;
	font-weight: 500;
	color: #009B63;
}
.more_btn.arr-white {
	color: #fff;
}

.more_btn svg {
	height: 2em;
	margin-left: 1rem;
	vertical-align: middle;
}

.more_btn svg path.bdr {
	stroke: #009B63;
}
.more_btn svg path.arr {
	fill: #009B63;
}

.more_btn.arr-white svg path.bdr {
	stroke: #fff;
}
.more_btn.arr-white svg path.arr {
	fill: #fff;
}

header h1 {
	position: relative;
	font-weight: 600;
	font-size: 2rem;
	line-height: 1;
	color: #252525;
	z-index: 2;
}

header h1 img {
	margin-right: 0.25rem;
	vertical-align: text-bottom;
}

main section {
	position: relative;
}

main section.mv img {
	width: 100%;
}

footer {
	background: url(./images/footer_contact_bg.jpg), linear-gradient(106.06deg, #019A64 0.84%, #5A9DA8 96.98%) center center no-repeat;
	background-size: 100% auto;

	border-radius: 30px 30px 0 0;
	overflow: hidden;
}

footer .footer-contact {
	padding: 4rem 12.5%;
	color: #fff;
}

footer .footer-contact .subtitle {
	color: #fff;
}

footer .footer-contact .tel .num {
	font-size: 3rem;
	letter-spacing: 0.1em;
}

footer .footer-contact h3 {
	margin-bottom: 1em;
	font-size: 1.5rem;
	font-weight: 600;
}

header .sp-nav .contact {
	text-align: center;
}
footer .footer-contact .contact {
	text-align: right;
}

header .sp-nav .contact a,
footer .footer-contact .contact a {
	display: inline-block;
	width: 17.5rem;
	height: 4.5rem;
	background: #fff;
	font-size: 1.25rem;
	color: #252525;
	font-weight: bold;
	line-height: 4.5rem;
	text-align: center;
}

header .sp-nav .contact a:before,
footer .footer-contact .contact a:before {
	content: "\f1d8";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	margin-right: 0.75em;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}

footer .container {
	display: grid;
	margin-right: 2rem;
	padding-left: 7.5%;
	padding-right: 7.5%;
	background: #fff;
	border-radius: 0 150px 0 0;
	grid-template-columns: 1fr 1fr;
}

footer .info h1 {
	font-weight: 600;
	font-size: 3rem;
	color: #252525;
}

footer .info h1 img {
	margin-right: 0.25rem;
	vertical-align: text-bottom;
}

footer .info .addr {
	font-size: 0.85rem;
	font-weight: 600;
}

footer .info .more_btn {
	margin-top: 0.5em;
	font-size: 1.1rem;
}

footer nav {
	display: grid;
	font-weight: 600;
	grid-template-columns: 1fr 1fr;
	max-width: 480px !important;
	margin: 0 !important;
}

footer nav li {
	margin: 1.5em 0;
	line-height: 1;
	list-style: none;
}

footer nav .btn_policy {
	position: absolute;
	bottom: 4rem;
	right: 5%;
	font-size: 11px;
}

footer nav a {
	position: relative;
}

footer nav a:before {
	content: "\f068";
	margin-right: 0.5em;
	font-family: "Font awesome 6 Free";
	font-weight: 900;
	color: #3BB077;
}

footer .copy {
	margin-top: 8em;
	font-size: 14px;
}

@media screen and (min-width: 1440px){
	main .container > *,
	footer .container > * {
		max-width: 100%;
		margin: auto;
	}
	footer .container {
		padding-bottom: 2.5rem;
	}
}

@media screen and (max-width: 1440px){
	main .container {
		padding: 4rem 7.5%;
	}
	footer .container {
		padding: 1.5rem 7.5% 2.5rem 7.5%;
	}
	footer .footer-contact {
		padding: 4rem 7.5%;
	}
}

@media screen and (max-width: 1200px){
	header nav {
		right: 2rem;
	}
	header .pc-nav .btn_contact {
		display: none;
	}
}

@media screen and (min-width: 991px){
	header nav {
		right: 3rem;
		width: calc(100% - 20rem);
	}
	header nav ul {
		gap: 2.5em;
	}
	header nav li:after {
		right: -2.5rem;
		width: 2.5rem;
	}
}

@media screen and (max-width: 990px){
	main .container {
		padding: 2rem 7.5%;
	}
	footer .footer-contact {
		padding: 2rem 7.5%;
	}
	header h1 {
		font-size: 1.5rem;
	}
	header nav {
		width: calc(100% - 15rem);
	}
	header nav ul {
		gap: 1rem;
	}
	header nav li:after {
		right: -1rem;
		width: 1rem;
	}
	h2.title {
		font-size: 1.5rem;
		font-weight: 600;
	}
	h2.title + .subtitle {
		font-size: 0.95rem;
	}
	footer .footer-contact .tel .num {
		font-size: inherit;
	}
	footer .footer-contact h3 {
		font-size: 1.25rem;
	}
	footer .footer-contact .description {
		font-size: 14px;
	}
	footer .info h1 {
		font-size: 2rem;
	}
	footer nav .btn_policy {
		bottom: 2.5rem;
	}
}

@media screen and (min-width: 766px){
	.sp {
		display: none;
	}
	header .sp-nav,
	header .sp-btn {
		display: none;
	}
	header nav {
		position: absolute;
		display: flex;
		top: 0;
		bottom: 0;
		font-weight: 600;
		gap: 2rem;
		flex-direction: row;
		align-items: center;
		justify-content: right;
		z-index: 3;
	}
	header nav ul {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	header nav li {
		position: relative;
		list-style: none;
	}
	header nav li:after {
		content: "/";
		position: absolute;
		top: 0;
		bottom: 0;
		height: 1em;
		margin: auto;
		font-weight: 500;
		line-height: 1em;
		text-align: center;
		pointer-events: none;
	}
	header nav li:last-child:after {
		display: none;
	}
	header nav li.cur a {
		border-bottom: 2px solid #252525;
	}
	header nav ul:hover li.cur a {
		border-bottom: none;
	}
	header nav:hover li.cur a:hover,
	header nav li a:hover {
		border-bottom: 2px solid #252525;
	}
	header nav .btn_contact {
		display: block;
		width: 10rem;
		height: calc(2rem + 2px);
		border: 1px solid #019A64;
		border-radius: 1rem;
		font-size: 14px;
		color: #019A64;
		line-height: 2rem;
		text-align: center;
	}
	header nav .btn_contact:before {
		content: "\f1d8";
		display: inline-block;
		width: 13px;
		height: 13px;
		margin-right: 0.75em;
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
	}
	header nav .btn_contact:hover {
		background: #019A64;
		color: #fff;
		opacity: 1;
	}
	footer .footer-contact .tel {
		margin-bottom: 3rem;
	}
	footer .footer-contact h3 br {
		display: none;
	}
	footer .copy {
		position: absolute;
		bottom: 1em;
		left: 0;
		right: 0;
		margin: auto;
		width: 12em;
	}
}

@media screen and (max-width: 765px){
	.no-sp {
		display: none;
	}
	html {
		font-size: 14px;
	}
	header {
		min-height: 64px;
	}
	header h1 {
		max-width: calc(100% - 76px); 
	}
	header.open h1 {
		color: #fff;
	}
	header h1 img {
		max-width: 1.5rem;
		max-height: 1.5rem;
		vertical-align: text-bottom;
	}
	header .pc-nav {
		display: none;
	}
	header .sp-btn {
		position: absolute;
		top: 0;
		right: 0;
		width: 76px;
		height: 64px;
		text-align: right;
		z-index: 3;
	}
	header nav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 35rem;
		max-height: 100%;
		padding: 5rem 3.5% 0 3.5%;
		background: linear-gradient(106.06deg, #019A64 0.84%, #5A9DA8 96.98%);
		font-weight: 600;
		color: #fff;
		z-index: 1;
	}
	header nav ul {
		display: grid;
		float: left;
		width: 45%;
		gap: 0;
		align-items: center;
	}
	header nav ul:nth-of-type(2) {
		float: right;
	}
	header nav li {
		border-top: 1px solid #fff;
		list-style: none;
	}
	header nav li:last-child {
		border-bottom: 1px solid #fff;
	}
	header nav li a {
		display: flex;
		padding: 1.5em 0;
		align-items: center;
		justify-content: space-between;
	}
	header nav li svg {
		height: 1.5em;
		vertical-align: middle;
	}
	header nav li svg path.bdr {
		stroke: #fff;
	}
	header nav li svg path.arr {
		fill: #fff;
	}
	header nav .tel {
		clear: both;
	}
	h2.tel {
		font-family: "Poppins", sans-serif;
		font-size: 1.75rem;
		font-weight: 600;
		padding: 1rem 0;
		letter-spacing: 0.1em;
		text-align: center;
	}
	main h2.title,
	footer h2.title,
	main .subtitle,
	footer .subtitle {
		text-align: center;
	}
	footer .footer-contact h3 {
		text-align: center;
	}
	footer .footer-contact .contact {
		margin-top: 1rem;
		text-align: left;
	}
	footer .container {
		padding-bottom: 1.5rem;
		grid-template-columns: 1fr;
	}
	footer .info .addr {
		font-size: 1rem;
	}
	footer nav .btn_policy {
		bottom: 1.625rem;
	}
	footer .copy {
		margin-top: 1rem;
	}
}