@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@media all and (max-width: 767px) {
	body.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}
}
/*------------------------------------------------------------
	g-header
------------------------------------------------------------*/
#g-header {
	font-size: 1.5rem;
	font-family: "Noto Sans JP", "sans-serif";
	line-height: 1.5;
}
#g-header a {
	transition: .3s;
}
#g-header .logo {
	margin-left: 2rem;
	width: 17.9rem;
}
#g-header .menu-box {
	flex: 1;
}
#g-header .menu-list {
	width: fit-content;
	margin-left: auto;
	display: flex;
	justify-content: flex-end;
}
#g-header .menu-list > li {
	position: relative;
}
#g-header .menu-list > li > a {
	padding: 1rem 1rem 1.3rem;
	min-height: 7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-radius: 0.8rem 0.8rem 0 0;
}
#g-header .menu-list > .li-style > a:after {
	margin-left: 1rem;
	width: 0.6rem;
	height: 0.6rem;
	display: inline-block;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	transform: rotate(45deg);
	transition: .3s;
	content: "";
}
#g-header .menu-list > li:last-child {
	margin-left: 3.5rem;
	width: 16.5rem;
}
#g-header .menu-list > li:last-child > a {
	color: #fff;
	background-color: rgb(240, 132, 74);
	border-radius: 0 0.8rem 0.8rem 0;
}
#g-header .menu-box .drop-list {
	padding-bottom: 1rem;
	position: absolute;
	right: 0;
	top: 100%;
	width: 100%;
	transition: opacity .3s ease, visibility .3s ease;
	background-color: rgb(240, 132, 74);
	border-radius: 0 0 1rem 1rem;
}
#g-header .menu-box .drop-list a {
	display: block;
	padding: 1rem;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.02em;
}
#g-header.change-color {
	/* box-shadow: 0px 0px 5px 3px rgba(40, 40, 40, 0.15);  */
}
.g-header-changeBox {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	z-index: 10;
}
@media all and (min-width: 768px) {
	#g-header {
		position: fixed;
		top: 2rem;
		left: 3rem;
		right: 3rem;
		height: 7rem;
		display: flex;
		align-items: center;
		border: 1px solid #dedede;
		border-radius: 0.8rem;
		background-color: rgba(255, 255, 255, 0.65);
		z-index: 9999;
		transition: transform 0.3s ease;
		-webkit-backdrop-filter: blur(2rem);
		backdrop-filter: blur(2rem);
	}
	#g-header .menu-list > li > a:hover, #g-header .menu-list > li.on > a {
		color: #fff;
		background-color: rgb(240, 132, 74);
	}
	#g-header .menu-list > li > a:hover:after, #g-header .menu-list > li.on > a:after {
		border-color: #fff;
	}
	#g-header .menu-list > li:last-child > a:hover, #g-header .menu-box .drop-list a:hover {
		opacity: 0.7;
	}
	#g-header .sp {
		display: none;
	}
	#g-header .menu-box .drop-list {
		opacity: 0;
		visibility: hidden;
	}
	#g-header .menu-box .drop-list.open {
		opacity: 1;
		visibility: visible;
	}
}

@media all and (min-width: 768px) and (max-width: 1280px) {
	#g-header {
		top: 1.563vw;
		left: 2.344vw;
		right: 2.344vw;
		height: 5.469vw;
		border-radius: 0.625vw;
		-webkit-backdrop-filter: blur(1.563vw);
		backdrop-filter: blur(1.563vw);
	}
	#g-header .logo {
		margin-left: 1.563vw;
		width: 13.984vw;
	}
	#g-header .menu-list > li > a {
		padding: 0.781vw 0.859vw 1.016vw;
		min-height: 5.469vw;
		font-size: 1.172vw;
		border-radius: 0.625vw 0.625vw 0 0;
	}
	#g-header .menu-list > .li-style > a:after {
		margin-left: 0.781vw;
		width: 0.469vw;
		height: 0.469vw;
	}
	#g-header .menu-list > li:last-child {
		margin-left: 2.734vw;
		width: 12.891vw;
	}
	#g-header .menu-list > li:last-child > a {
		border-radius: 0 0.625vw 0.625vw 0;
	}
	#g-header .menu-box .drop-list {
		padding-bottom: 0.781vw;
		border-radius: 0 0 0.781vw 0.781vw;
	}
	#g-header .menu-box .drop-list a {
		padding: 0.781vw;
		font-size: 1.172vw;
	}
}
@media all and (max-width: 767px) {
	#g-header {
		font-size: 1.4rem;
	}
	#g-header .h-inner {
		position: fixed;
		padding: 1rem;
		top: 2rem;
		left: 2rem;
		right: 2rem;
		height: 6rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: 1px solid #dedede;
		border-radius: 0.8rem;
		background-color: rgba(255, 255, 255, 0.65);
		z-index: 9999;
		transition: transform 0.3s ease;
		-webkit-backdrop-filter: blur(2rem);
		backdrop-filter: blur(2rem);
	}
	#g-header .logo {
		margin-left: 0;
		width: 15rem;
	}
	#g-header .menu, #g-header .close {
		width: 4rem;
		height: 4rem;
		border-radius: 0.8rem;
		background: rgb(240, 132, 74) url(../images/common/icon_menu.png) no-repeat center center/3.4rem;
		cursor: pointer;
	}
	#g-header .menu-box {
		position: fixed;
		right: -100%;
		top: 0;
		width: 100%;
		height: 100%;
		padding: 0 2rem;
		overflow-y: auto;
		transition: .3s;
		background-color: #fff;
		z-index: 10000;
	}
	#g-header .menu-box.open {
		right: 0;
	}
	#g-header .menu-box .top-box {
		padding: 3rem 0;
		display: flex !important;
		align-items: center;
		justify-content: space-between;
	}
	#g-header .menu-box .top-box .close {
		background-image: url(../images/common/icon_close.png);
	}
	#g-header .menu-list {
		display: block;
		margin: 0 0 4rem;
		width: auto;
	}
	#g-header .menu-list > li {
		border-bottom: 1px solid #ccc;
	}
	#g-header .menu-list > li > a {
		display: block;
		padding: 1.5rem 1rem;
		min-height: inherit;
	}
	#g-header .menu-list > .li-style > a {
		background: url(../images/common/icon_toggle01.png) no-repeat right 1rem center/1.8rem;
	}
	#g-header .menu-list > .li-style > a.on {
		background-image: url(../images/common/icon_toggle02.png);
	}
	#g-header .menu-list > .li-style > a:after {
		display: none;
	}
	#g-header .menu-list > li:last-child {
		margin: 3rem auto 0;
		width: 33.5rem;
		border-bottom: none;
	}
	#g-header .menu-list > li:last-child > a {
		border-radius: 0.8rem;
		text-align: center;
	}
	#g-header .menu-box .drop-list {
		display: none;
		margin-left: 1rem;
		width: auto;
		position: static;
		background: none;
		border-radius: 0;
	}
	#g-header .menu-box .drop-list li {
		padding-bottom: 0.5rem;
	}
	#g-header .menu-box .drop-list a {
		background: rgb(240, 132, 74) url(../images/common/icon01.png) no-repeat right 1.5rem center/0.9rem;
		border-radius: 0.8rem;
	}
}
/*------------------------------------------------------------
	g-footer
------------------------------------------------------------*/
#g-footer {
	font-size: 1.5rem;
	line-height: 1.5;
	font-family: "Noto Sans JP", "sans-serif";
}
#g-footer a {
	transition: .3s;
}
#g-footer .content {
	margin: 0 auto;
	max-width: 93.6rem;
}
#g-footer .f-inner {
	padding: 7.5rem 0 5rem;
	color: #fff;
	background: #f0844a url(../images/common/footer_bg.png) no-repeat left calc(50% - 49rem) bottom 1.8rem/28.9rem;
}
#g-footer .f-inner .logo-box {
	margin: 0 auto 8.4rem;
	max-width: 69rem;
	display: flex;
	align-items: flex-start;
}
#g-footer .f-inner .logo-box .f-logo {
	margin: 1.7rem 5rem 0 0;
	width: 17.9rem;
}
#g-footer .f-inner .logo-box .r-box {
	margin-right: -7rem;
	flex: 1;
}
#g-footer .f-inner .logo-box .r-box p {
	line-height: 1.7;
	letter-spacing: 0.03em;
}
#g-footer .f-inner .logo-box .r-box p a {
	color: #fff;
}
#g-footer .f-inner .logo-box .r-box .ttl {
	font-size: 1.75rem;
	font-weight: 700;
}
#g-footer .nav-box {
	display: flex;
}
#g-footer .nav-box .ttl-box {
	width: 43.4rem;
}
#g-footer .nav-box .ttl-box p {
	margin-left: 0.5rem;
	font-size: 1.1rem;
	letter-spacing: 0.03em;
	line-height: 1.5;
}
#g-footer .nav-box .ttl-box .ttl {
	margin: 0 0 2.3rem;
	color: #000;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
}
#g-footer .f-navi {
	margin: 2rem -7rem 0 0;
	flex: 1;
	display: flex;
	letter-spacing: 0.03em;
}
#g-footer .f-navi a {
	color: #fff;
}
#g-footer .f-navi > li:first-child {
	width: 30.5rem;
}
#g-footer .f-navi > li:nth-child(2) {
	width: 11rem;
}
#g-footer .f-navi > li:nth-child(3) {
	margin-top: 3.4rem;
}
#g-footer .f-navi li li {
	line-height: 2.4;
}
#g-footer .f-navi p {
	margin-bottom: 0.7rem;
	font-size: 1.75rem;
	font-weight: 700;
}
#g-footer .btm-box {
	padding: 3.8rem 0 4.5rem;
	background-color: #eff1f3;
}
#g-footer .btm-box .content {
	max-width: 105.8rem;
}
#g-footer .btm-box .content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#g-footer .btm-box address {
	margin-top: 0.4rem;
	font-size: 1.3rem;
	letter-spacing: 0.03em;
	font-style: normal;
}
#g-footer .btm-box .r-box {
	margin-right: 7.5rem;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
#g-footer .btm-box .sns {
	margin: 0.5rem 10rem 0 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0 1.5rem;
}
#g-footer .btm-box .sns li {
	width: 3.1rem;
}
#g-footer .btm-box .sns a {
	display: block;
	line-height: 1;
}
#g-footer .btm-box .sns .x {
	width: 2.2rem;
}
#g-footer .btm-box .sns .ins {
	width: 2.6rem;
}
#g-footer .btm-box .r-box .hp {
	width: 9rem;
}
@media all and (min-width: 768px) {
	#g-footer .f-navi a:hover {
		text-decoration: underline;
	}
	#g-footer .btm-box .r-box a:hover {
		opacity: 0.7;
	}
	#g-footer a[href^="tel:"] {
		cursor: default;
		pointer-events: none;
	}
}
@media all and (min-width: 768px) and (max-width: 1280px) {
	#g-footer .content {
		max-width: 73.125vw;
	}
	#g-footer .f-inner {
		padding: 5.859vw 0 3.906vw;
		background-position: left calc(50% - 38.281vw) bottom 1.406vw;
		background-size: 22.578vw;
	}
	#g-footer .f-inner .logo-box {
		margin-bottom: 6.563vw;
		max-width: 53.906vw;
	}
	#g-footer .f-inner .logo-box .f-logo {
		margin: 1.328vw 3.906vw 0 0;
		width: 13.984vw;
	}
	#g-footer .f-inner .logo-box .r-box {
		margin-right: -4.687vw;
	}
	#g-footer .f-inner .logo-box .r-box p {
		font-size: 1.172vw;
	}
	#g-footer .f-inner .logo-box .r-box .ttl {
		font-size: 1.367vw;
	}
	#g-footer .nav-box .ttl-box {
		width: 33.906vw;
	}
	#g-footer .nav-box .ttl-box p {
		margin-left: 0.391vw;
		font-size: 0.859vw;
	}
	#g-footer .nav-box .ttl-box .ttl {
		margin: 0 0 1.797vw;
		font-size: 3.125vw;
	}
	#g-footer .f-navi {
		margin: 1.563vw -5.469vw 0 0;
		letter-spacing: 0.03vw;
	}
	#g-footer .f-navi > li:first-child {
		width: 23vw;
	}
	#g-footer .f-navi > li:nth-child(2) {
		width: 8.594vw;
	}
	#g-footer .f-navi > li:nth-child(3) {
		margin-top: 2.5vw;
	}
	#g-footer .f-navi p {
		margin-bottom: 0.547vw;
		font-size: 1.367vw;
	}
	#g-footer .f-navi li {
		font-size: 1.172vw;
	}
	#g-footer .btm-box {
		padding: 2.969vw 0 3.516vw;
	}
	#g-footer .btm-box .content {
		max-width: 82.656vw;
	}
	#g-footer .btm-box address {
		margin-top: 0.313vw;
		font-size: 1.016vw;
	}
	#g-footer .btm-box .r-box {
		margin-right: 5.859vw;
	}
	#g-footer .btm-box .sns {
		margin: 0.391vw 7.813vw 0 0;
		gap: 0 1.172vw;
	}
	#g-footer .btm-box .sns li {
		width: 2.422vw;
	}
	#g-footer .btm-box .sns .x {
		width: 1.719vw;
	}
	#g-footer .btm-box .sns .ins {
		width: 2.031vw;
	}
	#g-footer .btm-box .r-box .hp {
		width: 7.031vw;
	}
}
@media all and (max-width: 767px) {
	#g-footer {
		font-size: 1.4rem;
	}
	#g-footer .content {
		margin: 0 2rem;
	}
	#g-footer .f-inner {
		padding: 5rem 0 4rem;
		background-position: right bottom -2rem;
		background-size: 15rem;
	}
	#g-footer .f-inner .logo-box {
		margin-bottom: 4rem;
		max-width: inherit;
		display: block;
	}
	#g-footer .f-inner .logo-box .f-logo {
		margin: 0 0 2rem;
		width: 16rem;
	}
	#g-footer .f-inner .logo-box .r-box {
		margin-right: 0;
	}
	#g-footer .f-inner .logo-box .r-box p {
		font-size: 1.3rem;
	}
	#g-footer .f-inner .logo-box .r-box .ttl {
		font-size: 1.6rem;
	}
	#g-footer .nav-box {
		display: block;
	}
	#g-footer .nav-box .ttl-box {
		width: auto;
	}
	#g-footer .nav-box .ttl-box .ttl {
		margin: 0 0 1.5rem;
		font-size: 3.6rem;
	}
	#g-footer .f-navi {
		margin: 2.5rem 0 0 0;
		flex-wrap: wrap;
		gap: 1rem 0;
	}
	#g-footer .f-navi > li:first-child {
		width: 70%;
	}
	#g-footer .f-navi > li:nth-child(2) {
		width: 30%;
	}
	#g-footer .f-navi > li:nth-child(3) {
		margin-top: 0;
	}
	#g-footer .f-navi p {
		font-size: 1.6rem;
	}
	#g-footer .btm-box {
		padding: 2rem 0;
	}
	#g-footer .btm-box .content {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	#g-footer .btm-box address {
		margin-top: 0;
		font-size: 1.2rem;
	}
	#g-footer .btm-box .r-box {
		margin: 0 0 1rem;
		justify-content: center;
	}
	#g-footer .btm-box .sns {
		margin: 0.5rem 4rem 0 0;
		justify-content: center;
		gap: 0 1;
	}
	#g-footer .btm-box .r-box .hp {
		width: 8rem;
	}
}