@charset "UTF-8";

html{
	height: 100%;
	/*font-size: min(62.5%, 0.8771929vw);*/
	font-size: 10px;
}
:root{
	--spacing: .04em;
	--color01: #337259; /* アクセントカラー */
	--color02: #4a9a77; /* ホバー */
	--color03: #25614e; /* service ol */
	--color04: #4a8f72; /* access border */
	--color05: #0b4540; /* footer */
	--color06: #175a53; /* footer border */
	--color07: #f4f8f7; /* accent, feature::before, background */
	--color08: #bfcfca; /* news border */
	--color09: #e6f3ed; /* table th（左列) */
	--color10: #eaf2ef; /* accent bg-green適用時 */
	--color11: #f7fbfa; /* sub service p */
	--color12: #e6f1ec; /* sub service h2 bg-green適用時 */
	--color13: #e9f3ef; /* sub service p bg-green適用時 */
}
*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	letter-spacing: var(--spacing);
	font-feature-settings: "palt";
}
body{
	height: 100%;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 1.6rem;
	overflow-x: hidden;
	overflow-y: auto;
	color: #1e1e1e;
	position: relative;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	word-break: normal;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
	background-color: #fff;
}
body.ov-hidden{
	overflow-y: hidden;
}
.page-container{
	opacity: 0;
	pointer-events: none;
	transition: opacity 2s ease;
}
body.loaded .page-container{
	opacity: 1;
	pointer-events: auto;
}
main{
	display: block;
	flex: 1 1 auto;
	/*min-height: 0;*/
}
header, nav, footer{
	flex: 0 0 auto;
}
img{
	border:none;
	-webkit-backface-visibility: hidden;
}
ul, ol{
	list-style: none;
}
li{
	list-style-type: none;
	transition: .25s all ease-out;
}
a{
	text-decoration: none;
	color: #1e1e1e;
	transition: .25s all ease-out;
}
p{
	line-height: 2;
	font-size: 1.6rem;
}
table{
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}
input,
select,
textarea{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
}
.inner_1200,
.inner_1280,
.inner_1600,
.inner_1640 {
	margin-left: auto;
	margin-right: auto;
}
.inner_1200 {
	margin-top: 30px;
}
.outer {
	padding: 0 30px;
}
.bg-green {
	background-color: var(--color07);
}
.sakaki-wrap {
	display: flex;
	align-items: flex-end;
}



@media only screen and (min-width: 769px) {
	body{
		min-width: 1200px;
	}
	.inner_1200 {
		max-width: 1200px;
		margin-top: 100px;
	}
	.inner_1280 {
		max-width: 1280px;
	}
	.inner_1600 {
		max-width: 1600px;
	}
	.inner_1640 {
		max-width: 1640px;
	}
	.outer {
		padding: 0 40px;
	}
	.pc-none {
		display: none !important;
	}
}
@media only screen and (max-width: 768px) {
	.sp-none {
		display: none !important;
	}
}

/* +++++++++content-button-square+++++++++ */
.content-button-square {
	margin-top: 51px;
	padding-left: 30px;
	padding-right: 30px;
}
.content-button-square a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 420px;
	min-height: 70px;
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--color01);
	border: 1px solid var(--color01);
	transition: .25s ease-out;
	margin: 0 auto;
}
.content-button-square a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	display: inline-block;
	width: 44px;
	height: 30px;
	background-image: url(../images/circle01.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
	transition: .25s ease-out;
}
.content-button-square a:hover {
	color:#fff;
	background-color:var(--color01);
	opacity:1
}
.content-button-square a:hover::after {
	background-image:url(../images/circle02.svg);
}



@media only screen and (min-width: 769px) {
	.content-button-square {
		padding-left: unset;
		padding-right: unset;
		margin-top: 60px;
	}
	.content-button-square a {
		font-size: 1.8rem;
		min-height: 80px;
	}
}

/* +++++++++section-wrap+++++++++ */
.section-wrap {
	position: relative;
}
.section-title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.section-title.type-line .ruby::after {
	content: "";
	display: block;
	width: 2px;
	height: 20px;
	background-color: var(--color01);
	margin-left: auto;
	margin-right: auto;
}
.section-title.type-white.type-line .ruby::after {
	background-color: #fff;
}
.main-text {
	color: #000;
	font-size: 3.2rem;
	line-height: 1;
	letter-spacing: .08em;
	text-align: center;
}
.type-white .main-text,
.type-white .ruby,
.type-white .sub-text {
	color: #fff;
}
.ruby {
	color: var(--color01);
	font-family: Marcellus, serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 10px;
	text-align: center;
}
.sub-text {
	font-size: 1.3rem;
	line-height: 2;
	letter-spacing: .04em;
	text-align: center;
	margin-top: 7px;
}



@media only screen and (min-width: 769px) {
	.main-text {
		font-size: 4.8rem;
	}
	.main-text.type-small {
		font-size: 4.2rem;
	}
	.ruby {
		font-size: 2.4rem;
	}
	.ruby.type-small {
		font-size: 2rem;
	}
	.section-title.type-line .ruby::after {
		height: 40px;
	}
	.sub-text {
		font-size: 1.8rem;
		line-height: 2.2;
		letter-spacing: .08em;
	}
}

/* +++++++++accent+++++++++ */
.accent {
	position: absolute;
	left: 0;
	top: -130px;
	color: var(--color07);
	font-family: Marcellus, serif;
	font-size: 10.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .02em;
	z-index: -1;
}



@media only screen and (min-width: 769px) {
	.accent {
		font-size: 19.6rem;
		letter-spacing: .04em;
	}
}

/* +++++++++page-top+++++++++ */
#page-top {
	position: fixed;
	right: 30px;
	bottom: 30px;
	width: 50px;
	height: 50px;
	background-color: #fff;
	border: 1px solid var(--color01);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	z-index: 999;
	transform: translateY(10px);
	transition: opacity .4s ease, transform .4s ease, background-color .4s ease;
	/*box-shadow: 0 6px 15px rgba(0,0,0,0.15);*/
}
#page-top.show {
	opacity: 1;
	transform: translateY(0);
}
#page-top:hover {
	background-color: var(--color01);
	transform: translateY(-6px);
}
#page-top::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 16px;
	background-image: url(../images/arrow02.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translate(-50%, -50%) rotate(-90deg);
}
#page-top:hover::before {
	background-image: url(../images/arrow01.svg)
}

/* +++++++++header+++++++++ */
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	transition: background-color .25s;
	padding-left: 20px;
}
header.is-scroll{
	background-color: #fff;
}
header .logo {
	width: 210px;
}
header .logo img {
	width: 100%;
	height: auto;
}
header .logo img {
	display: none;
}
header .logo img.default {
	display: block;
}
header.is-scroll .logo img.default {
	display: none;
}
header.is-scroll .logo img.active {
	display: block;
}
header .logo a:hover {
	opacity: 0.5;
}
header .logo svg .mainlogo,
header .logo svg .font{
	transition: fill .25s;
}
header.is-scroll .logo svg .mainlogo{
	fill: #003C78;
}
header.is-scroll .logo svg .font{
	fill: #000;
}
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
header .pc-nav .nav-list {
	display: flex;
	gap: 38px;
}
header .pc-nav .nav-list > li {
	position: relative;
}
header .pc-nav .nav-list > li::after {
	content: "";
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	height: 15px;
}
header .pc-nav .nav-list > li > a {
	white-space: nowrap;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: .08em;
	transition: color .25s;
}
header .pc-nav .nav-list > li > a::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 1px;
	background: #fff;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s;
}
header .pc-nav .nav-list > li > a:hover::after{
	transform: scaleX(1);
}
header .pc-nav .nav-item {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(5px);
	opacity: 0;
	pointer-events: none;
	transition: .25s ease-out;
}
header .pc-nav .nav-item ul {
	position: relative;
	padding-top: 12px;
}
header .pc-nav .nav-item ul::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 8px 12px;
	border-color: transparent transparent var(--color01);
	transform: translateX(-50%);
}
header .pc-nav .nav-item li {
	width: 170px;
	border-bottom: 1px solid var(--color04);
}
header .pc-nav .nav-item li:last-child {
	border-bottom: none;
}
header .pc-nav .nav-item li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 40px;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-align: center;
	background-color: var(--color01);
	transition: .25s ease-out;
}
header .pc-nav .nav-item li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url(../images/circle03.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}
header .pc-nav .nav-list > li:hover .nav-item {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(5px);
}
header .pc-nav .nav-item li a:hover {
	background-color: var(--color02);
	opacity: 1;
}
header.is-scroll .pc-nav .nav-list > li > a {
	color: #1e1e1e;
}
header.is-scroll .pc-nav .nav-list > li > a::after {
	background-color: #1e1e1e;
}
header .contact-button a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90px;
	height: 90px;
	color: #fff;
	font-family: Marcellus, serif;
	font-size: 1.3rem;
	background-color: var(--color01);
	transition: .25s ease-out;
}
header .contact-button a:hover {
	background-color: var(--color02);
	opacity: 1;
}
button {
	position: relative;
	display: block;
	width: 80px;
	height: 80px;
	background-color: var(--color01);
	border: 0;
	padding: 0;
	z-index: 1;
	cursor: pointer;
}
button div {
	position: absolute;
	top: 50%;
	left: 50%;
	display: inline-block;
	width: 30px;
	height: 2px;
	background-color: #fff;
	transform: translate(-50%, -50%);
	transition-duration: .25s;
	transition-property: top, -webkit-transform;
	transition-property: top, transform;
	transition-property: top, transform, -webkit-transform;
	transition-delay: .25s, 0s, 0s;
}
button div:nth-child(1) {
	top: calc(50% - 10px);
}
button div:nth-child(3) {
	top: calc(50% + 10px);
}
button.active div {
	transition-delay: 0s, .25s, .25s
}
button.active div:nth-child(1) {
	top: 50%;
	transform: translate(-50%,-50%) rotate(45deg)
}
button.active div:nth-child(2) {
	opacity: 0
}
button.active div:nth-child(3) {
	top: 50%;
	transform: translate(-50%,-50%) rotate(-45deg)
}
header .sp-nav {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100svh;
	background-color: rgba(11, 69, 64, .9);
	overflow-y: scroll;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	pointer-events: none;
}
header .sp-nav.open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
header .sp-nav-inner {
	padding: 110px 0 20px;
}
header .sp-nav .content-button-square {
	margin: 0 30px;
	padding-left: 0;
	padding-right: 0;
	max-width: 420px;
	min-height: 70px;
	background-color: var(--color01);
}
header .sp-nav .content-button-square a {
	color: #fff;
	border: none;
}
header .sp-nav .content-button-square a::after {
	background-image: url(../images/circle02.svg);
}
header .sp-nav .content-button-square a:hover {
	background-color: var(--color02);
}
header .sp-nav .nav-list {
	margin-top: 30px;
}
header .sp-nav .nav-list > li {
	min-height: 60px;
	border-top: 1px solid var(--color06);
}
header .sp-nav .nav-list > li > a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: inherit;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .08em;
	padding: 0 20px;
}
header .sp-nav .nav-list > li > a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	display: inline-block;
	width: 29px;
	height: 20px;
	background-image: url(../images/circle02.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}
header .sp-nav .nav-list > li ul {
	/*display: grid;*/
	/*grid-auto-columns: max-content;*/
	/*grid-template-rows: repeat(3, 1fr);*/
	/*grid-auto-flow: column;*/
	/*column-gap: 20px;*/
	/*row-gap: 20px;*/
	display: flex;
	gap: 20px;
	padding: 0 20px;
	margin-bottom: 40px;
}
header .sp-nav .nav-list > li ul li a {
	color: #fff;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: .08em;
}
header .sp-nav .nav-list > li ul li a::before {
	content: "- ";
}
header .sp-nav .nav-list > li > a:hover,
header .sp-nav .nav-list > li ul li a:hover {
	opacity: .5;
}



@media only screen and (min-width: 769px) {
	header .header-logo {
		width: 60vw;
	}
	header .logo {
		width: 308px;
		padding-top: 5px;
	}
	header .contact-button {
		margin-left: 80px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1440px) {
	header .logo {
		width: 240px;
	}
}
@media screen and (max-width: 1440px) {
	header .pc-nav .nav-list {
		gap: 30px;
		transition: .3s;
	}
}

/* +++++++++breadcrumb+++++++++ */
.breadcrumb {
	position: absolute;
	top: 290px;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: rgba(30, 30, 30, .5);
	white-space: nowrap;
	/*overflow-x: scroll;*/
	z-index: 1;
}
.breadcrumb .breadcrumb-inner {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 24px;
}
.breadcrumb ul {
	display: flex;
}
.breadcrumb li a,
.breadcrumb li span,
.breadcrumb li span::before {
	color: #fff;
	font-size: 1.2rem;
}
.breadcrumb li a:hover {
	opacity: .5;
}
.breadcrumb .last-link,
.breadcrumb li span {
	margin-left: 1rem;
}
.breadcrumb .last-link::before,
.breadcrumb li span::before {
	content: "- ";
}



@media only screen and (min-width: 769px) {
	.breadcrumb {
		top: 390px;
	}
	.breadcrumb .breadcrumb-inner {
		padding: 0 40px;
	}
}

/* +++++++++sub-mainpic+++++++++ */
.sub-mainpic {
	position: relative;
}
.sub-mainpic .sub-pic {
	position: relative;
	height: 340px;
}
.sub-mainpic .sub-pic::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: #1e1e1e;
	opacity: .5;
}
.sub-mainpic .sub-pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sub-mainpic .sub-title {
	position: absolute;
	top: 60%;
	left: 50%;
	width: calc(100% - 60px);
	transform: translate(-50%, -50%);
}
.sub-mainpic .sub-title h1 {
	color: #fff;
	font-size: 3.6rem;
	letter-spacing: .08em;
	line-height: 1.7;
	font-weight: 500;
	text-align: center;
}
.sub-mainpic .sub-title p {
	color: #fff;
	font-family: Marcellus, serif;
	font-size: 1.8rem;
	letter-spacing: .08em;
	line-height: 1.8;
	text-align: center;
}



@media only screen and (min-width: 769px) {
	.sub-mainpic .sub-pic {
		height: 440px;
	}
	.sub-mainpic .sub-title {
		top: 156px;
		transform: translateX(-50%);
	}
	.sub-mainpic .sub-title h1 {
		font-size: 4.8rem;
	}
	.sub-mainpic .sub-title p {
		font-size: 2.4rem;
	}
}

/* +++++++++contact+++++++++ */
.contact {
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
}
.contact .contact-pic::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: #1e1e1e;
	opacity: .5;
}
.contact .contact-pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.contact .contact-inner {
	width: 100%;
	padding-left: 30px;
	padding-right: 30px;
}
.contact ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	row-gap: 10px;
	margin-top: 27px;
}
.contact li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 180px;
	background-color: rgba(51, 114, 89, .9);
	padding: 15px;
}
.contact .info {
	color: #fff;
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: .04em;
	text-align: center;
}
.contact .content-button-square {
	margin-top: 21px;
}
.contact .content-button-square a {
	color: #fff;
	border: 1px solid #fff;
}
.contact .content-button-square a::after {
	background-image:url(../images/circle02.svg);
}
.contact .content-button-square a:hover {
	color:var(--color01);
	background-color:#fff;
}
.contact .content-button-square a:hover::after {
	background-image: url(../images/circle01.svg);
}
.contact .contact-right a {
	display: block;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 2.2;
	letter-spacing: .08em;
	text-align: center;
}
.contact .contact-right a:hover {
	opacity: .5;
}
.contact .hour {
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: center;
}




@media only screen and (min-width: 769px) {
	.contact .contact-pic {
		position: relative;
		min-height: auto;
	}
	.contact .contact-inner {
		position: absolute;
		top: 50%;
		left: 50%;
		max-width: 1280px;
		padding-left: 40px;
		padding-right: 40px;
		transform: translate(-50%, -50%);
	}
	.contact ul {
		flex-direction: row;
		column-gap: 40px;
		margin-top: 53px;
	}
	.contact li {
		/*width: calc((100% - 40px) / 2);*/
		max-width: 700px;
		min-height: 260px;
	}
	.contact .info {
		font-size: 2.4rem;
		letter-spacing: .08em;
	}
	.contact .content-button-square {
		margin-top: 27px;
	}
	.contact .contact-right a {
		font-size: 4.8rem;
	}
	.contact .hour {
		font-size: 1.6rem;
	}
}



@media only screen and (max-width: 768px) {
	.contact .contact-wrap {
		padding-top: 80px;
		padding-bottom: 60px;
	}
	.contact .contact-pic {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
	}
}

/* +++++++++footer+++++++++ */
footer {
	background-color: var(--color05);
	padding-top: 40px;
	padding-bottom: 77px;
}
footer .footer-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	row-gap: 36px;
}
footer .footer-content a {
	width: 224px;
}
footer .footer-content a img {
	display: block;
	width: 100%;
}
footer .content-button-square {
	margin: 0;
	width: auto;
}
footer .content-button-square a {
	color: #fff;
	border: none;
	background-color: var(--color01);
}
footer .content-button-square a::after {
	background-image:url(../images/circle02.svg);
}
footer .content-button-square a:hover {
	background-color: var(--color02) !important;
	opacity: 1;
}
footer .content-button-square a:hover::after {
	background-image:url(../images/circle02.svg);
}
footer nav {
	border-top: 1px solid var(--color06);
	margin-top: 30px;
}
footer .main-nav li a,
footer .nav-child li a {
	position: relative;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: .08em;
	white-space: nowrap;
}
footer .sub-nav {
	display: grid;
	grid-auto-columns: max-content;
	grid-template-rows: repeat(3, 1fr);
	grid-auto-flow: column;
	column-gap: 20px;
	row-gap: 10px;
	margin-bottom: 20px;
}
footer .sub-nav li {
	line-height: 1;
}
footer .sub-nav li a {
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: .08em;
}
footer .sub-nav li a::before {
	content: "- ";
}
footer .copyright {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	row-gap: 20px;
	padding-top: 30px;
}
footer .copyright ul {
	display: flex;
	flex-direction: column;
}
footer .copyright li:hover {
	opacity: .5;
}
footer .copyright li img {
	width: 160px;
}
footer .copyright p {
	color: #fff;
	font-size: 1rem;
	letter-spacing: .08em;
	line-height: 2;
}



@media only screen and (min-width: 769px) {
	footer {
		padding-top: 73px;
		padding-bottom: 110px;
	}
	footer .footer-wrap {
		padding: 0 40px;
	}
	footer .footer-content {
		flex-direction: row;
		justify-content: space-between;
		row-gap: unset;
	}
	footer .footer-content a {
		width: 318px;
	}
	footer nav {
		padding-top: 40px;
		display: flex;
		gap: 60px;
	}
	footer .main-nav {
		display: flex;
		flex-wrap: wrap;
	}
	footer .nav-child {
		display: grid;
		grid-template-columns: repeat(5, auto);
		row-gap: 60px;
		column-gap: 60px;
	}
	footer .main-nav > li > a::before,
 	footer .nav-child li a::before {
		content: "";
		display: inline-block;
		width: 6px;
		height: 11px;
		background-image: url(../images/arrow01.svg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: contain;
	}
	footer nav a:hover {
		opacity: .5;
	}
	footer .sub-nav {
		grid-template-rows: repeat(2, 1fr);
		column-gap: 40px;
		margin-top: 20px;
		margin-left: 10px;
		margin-bottom: 0;
	}
	footer .copyright {
		flex-direction: row;
		row-gap: unset;
		border-top: 1px solid var(--color06);
		padding-top: 40px;
		margin-top: 40px;
	}
	footer .copyright ul {
		flex-direction: row;
		align-items: center;
		gap: 5px;
	}
}



@media only screen and (max-width: 768px) {
	footer .main-nav > li > a {
		display: flex;
		align-items: center;
		min-height: 60px;
		color: #fff;
		padding: 0 20px;
	}
	footer .main-nav > li > a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		display: inline-block;
		width: 29px;
		height: 20px;
		background-image: url(../images/circle02.svg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: contain;
		transform: translateY(-50%);
	}
	footer .main-nav > li .sub-nav {
		display: flex;
		gap: 20px;
		padding: 0 20px;
		margin-bottom: 40px;
	}
	footer .nav-child {
		margin-top: 30px;
		border-top: 1px solid var(--color06);
	}
	footer .nav-child li {
		min-height: 60px;
		border-bottom: 1px solid var(--color06);
	}
	footer .nav-child li a {
		display: flex;
		align-items: center;
		min-height: 60px;
		padding: 0 20px;
	}
	footer .nav-child li a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		display: inline-block;
		width: 29px;
		height: 20px;
		background-image: url(../images/circle02.svg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: contain;
		transform: translateY(-50%);
	}
	footer .main-nav > li > a:hover,
	footer .main-nav > li .sub-nav li a:hover,
	footer .nav-child li a:hover {
		opacity: .5;
	}
	footer .copyright ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 5px;
	}
}