/* **************************************************************************************************
 0px 〜
************************************************************************************************** */
* {
	box-sizing: border-box;
}

html {
	min-height: 100%;
	width: 100%;
	overflow-x: hidden;
}

body {
	min-height: 100%;
	font-size: 3.0vw;
	line-height: 2.2;
	letter-spacing: 0.08em;
	-webkit-text-size-adjust: none;
	font-feature-settings: "pwid";
	font-family: 'Noto Serif JP', serif;
	width: 100%;
	color: #000;
	background-color: #fff;
	font-feature-settings: "palt";
	/*    display: none;*/
	opacity: 0;
	transition: 2000ms;
	/* フェードイン */
	overflow-x: hidden;
}

body.fade_in {
	opacity: 1;
	/* フェードイン */
}

/*html.no_scroll,
body.no_scroll {
  overflow: hidden;
}*/

img {
	max-width: 100%;
	vertical-align: top;
	display: block;
	height: auto;
}

a {
	position: relative;
	display: inline-block;
	text-decoration: underline;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	color: #000;
}

a:hover {
	opacity: 0.6 !important;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

a:focus {
/*    outline: none;*/
/*    outline: thin solid red;*/
}

a img {
	display: inline;
}

/*a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}*/

ul li {
	list-style: none;
}

::selection {
	background: #90DAD0;
	color: #fff;
}

/*Firefox*/
::-moz-selection {
	background: #90DAD0;
	color: #fff;
}

*:focus {
/*    outline: none;*/
}

.web_font_jaggy {
	transform: rotate(0.03deg); /* シャギーを防ぐ */
}

/* //////////////////////////////////////////////////////////////////
view
////////////////////////////////////////////////////////////////// */
.view_sp {
	display: block;
}

.view_pc {
	display: none;
}

/* //////////////////////////////////////////////////////////////////
body
////////////////////////////////////////////////////////////////// */
body {}

/* //////////////////////////////////////////////////////////////////
wrap
////////////////////////////////////////////////////////////////// */
#wrap {
	width: 100%;
	position: relative;
	overflow: hidden;
}

/* //////////////////////////////////////////////////////////////////
【common】parts
////////////////////////////////////////////////////////////////// */
.notes {
	color: #e21b1b;
	padding-left: 1em;
	text-indent: -1em;
	display: inline-block;
}

.section_layout {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.section_layout > div {
}

.section_layout > .section_layout_item:nth-child(1) {
	width: 100%;
}

.section_layout > .section_layout_item:nth-child(2) {
	width: 100%;
	margin-top: 7vw;
	padding: 5vw 0;
	background-color: #fff;
}

.section_layout_full {
	width: 100%;
}

.section_layout_full > .section_layout_item:nth-child(1) {
	width: 100%;
}

.section_layout_full > .section_layout_item:nth-child(2) {
	width: 100%;
	margin-top: 3vw;
}

.head {
}

.head .head_main {
	font-size: 12vw;
	line-height: 1;
	font-weight: 600;
}

.head .head_sub {
	font-size: 3.4vw;
	line-height: 1;
	margin-top: 4vw;
	margin-bottom: 10vw;
	letter-spacing: 0.14em;
}

.head .head_text {
	margin-top: 4vw;
}

.content_head {
	font-size: 5.4vw;
	letter-spacing: 0.16em;
	font-weight: 600;
	margin-bottom: 4.0vw;
	line-height: 1.6em;
}

.table {
}

.table {
	border-top: 2px solid rgb(0 0 0 / 0.1);
}

.table > li {
	border-bottom: 2px solid rgb(0 0 0 / 0.1);
	display: flex;
	justify-content: space-between;
	padding: 3.0vw 3vw;
}

.table > li p:nth-child(1) {
	width: 30%;
	font-weight: 600;
}

.table > li p:nth-child(2) {
	width: 60%;
}

.note {
	color: #999999;
	font-size: 2.7vw;
	line-height: 1.5;
	display: inline-block;
}

/* ----------
 fixed
---------- */
.btn_mail {
	position: fixed;
	bottom: 5vw;
	right: 5vw;
	z-index: 9000;
	width: 16vw;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.btn_mail.over {
	opacity: 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

/* ----------
 .scene_black
---------- */
.scene_black {
	background-color: #000 !important;

}

.scene_black .head {
}

.scene_black .head .head_main {
	color: #fff !important;
}

.scene_black .head .head_sub {
	color: #fff !important;
}

.scene_black .head .head_text {
	color: #fff !important;
}

/* ----------
 btn
---------- */
.btn_basic {
	border: 2px solid #000;
	background: #fff;
	color: #000;
	overflow: hidden;
	position: relative;
	z-index: 1;
	width: 65vw;
	text-align: center;
	padding: 2.2vw 0;
	letter-spacing: 0.10em;
	text-decoration: none;
	font-size: 3.2vw;
	border-radius: 20vw;
	display: block;
	font-weight: 600;
	margin: 0 auto;
}


.btn_basic.none {
	pointer-events: none;
	background-color: #f8f8f8;
	color: #d6d6d6;
	border: 2px solid #e8e8e8;
}

.btn_mini {
	border: 1.5px solid #000;
	background: #fff;
	color: #000;
	overflow: hidden;
	position: relative;
	z-index: 1;
/*	width: auto;*/
/*	width: 26vw;*/
	text-align: center;
	line-height: 1;
	padding: 2.6vw 8vw;
	letter-spacing: 0.10em;
	text-decoration: none;
	font-size: 2.8vw;
	border-radius: 20vw;
	display: block;
	font-weight: 600;
	margin: 0 auto;
}

.btn_mini.none {
	pointer-events: none;
	background-color: #f8f8f8;
	color: #d6d6d6;
	border: 2px solid #e8e8e8;
}

.btn_mini.active {
	pointer-events: none;
	border: 2px solid #000;
	background: #000;
	color: #fff
}

/* ----------
 page_head
---------- */
.page_head {
	padding-top: 56vw;
}

/* ----------
 pagination
---------- */
.pagination {
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.nav-links a {
	text-decoration: none;
}

.pagination .page-numbers {
	display: inline-block;
	margin: 0 2.0vw;
/*	padding: 4px 6px;*/
	font-size: 3.6vw;
}

.pagination .current {
	color: #fff;
/*	border: 1px solid #000;*/
	background-color: #000;
	border-radius: 50%;
	width: 7.4vw;
	height: 7.4vw;
	line-height: 7.4vw;
	display: inline-block;
	text-align: center;
}

.pagination .prev,
.pagination .next {
}

.pagination .dots {
	background: transparent;
	box-shadow: none;
}

/* ----------
 post_pager
---------- */
.post_pager {
	margin-top: 30vw;
}

.post_pager .btns {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}

.post_pager .btns li {
	padding: 0 4vw;
}

.post_pager .btns li a {
}

/* ----------
 editer
---------- */
.post_content {
	line-height: 2.6;
}

.post_content img {
	width: 100%;
	max-width: 80vw;
	margin: 4.0vw 0;
}

.post_content .wp-caption-text {
	font-size: 2.4vw;
	color: #888;
	margin: -3.0vw 0 4.0vw;
}

.post_content em {
	font-style: italic;
}

.post_content blockquote {
	padding: 1em 1.5em;
	border-left: 4px solid #e6e6e6;
	color: #828282;
	margin: 7.0vw 0;
}

.post_content blockquote:has(cite) {
	padding-bottom: .5em;
}

.post_content blockquote p {
	margin-top: 0;
}

.post_content blockquote cite {
	display: block;
	color: #c2c2c2;
	font-size: .8em;
	text-align: right;
}

.post_content ul {
	list-style-position: inside;
	margin: 7.0vw 0;
}

.post_content ul li {
	list-style-position: inside;
	list-style-type: disc;
}

.post_content ol {
	list-style-position: inside;
	margin: 7.0vw 0;
}

/* //////////////////////////////////////////////////////////////////
header
////////////////////////////////////////////////////////////////// */
header {
	width: 100%;
	position: fixed;
	z-index: 10000;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

header.over {
	opacity: 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

header .inner {
	width: 92vw;
	margin: 0 auto;
}

header .inner_full {
	width: 100%;
	margin: 0 auto;
}

header .header_layout {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

header .header_logo {
	width: 44vw;
	margin-top: 5vw;
}

header nav {
/*    font-size: 15px;*/
	font-size: 3.2vw;
	font-weight: 600;
	margin-top: 5.0vw;
	letter-spacing: 0.18em;
	line-height: 1;
}

header nav ul {
	/*display: flex;
	flex-wrap: wrap;
	gap: 3vw;*/
}

header nav ul > li {
	text-align: right;
}

header nav ul > li:not(:first-child) {
	margin-top: 4vw;
}

header nav ul a {
	text-decoration: none;
}

header nav ul > li.active a:before {
	content: "";
	position: absolute;
	top: 42%;
	left: -2.8vw;
	transform: translate(-42%, 0);
	-webkit-transform: translate(-42%, 0);
	-ms-transform: translate(-42%, 0);
	width: 1.2vw;
	height: 1.2vw;
	background-color: #000;
	display: block;
/*    margin: 0.8vw auto 0;*/
	border-radius: 5vw;
}


/* //////////////////////////////////////////////////////////////////
content
////////////////////////////////////////////////////////////////// */
#content {
	width: 100%;
	position: relative;
}

#content section { }

#content .inner {
	width: 80vw;
	margin: 0 auto;
}

#content .inner_full {
	width: 100vw;
	margin: 0 auto;
}

/* ----------
 kv
---------- */
#page_top section.kv {
	position: relative;
}

#page_top section.kv .copy_area {
	display: flex;
	justify-content: center;
	align-items: center;
}

#page_top section.kv .copy {
	font-size: 5.2vw;
	letter-spacing: 0.18em;
	font-weight: 600;

	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

#page_top section.kv .copy span {
	color: transparent;
	animation: blur 10s ease-out;
/*    -webkit-animation: blur 10s ease-out;*/
	animation-fill-mode: forwards;
/*    -webkit-animation-fill-mode: forwards;*/
	display: inline-block;
}

#page_top section.kv .copy span:nth-child(1) {
	animation-delay: 0.3s;
/*    -webkit-animation-delay: 0.3s;*/
}

#page_top section.kv .copy span:nth-child(2) {
	animation-delay: 0.5s;
/*    -webkit-animation-delay: 0.5s;*/
}

#page_top section.kv .copy span:nth-child(3) {
	animation-delay: 0.7s;
/*    -webkit-animation-delay: 0.7s;*/
}

#page_top section.kv .copy span:nth-child(4) {
	animation-delay: 0.9s;
/*    -webkit-animation-delay: 0.9s;*/
}

@keyframes blur {
	0% {
		text-shadow:  0 0 100px #000;
		opacity: 0;
	}
	5% {
		text-shadow:  0 0 90px #000;
	}
	15% {
		opacity: 1;
	}
	20% {
		text-shadow:  0 0 0px #000;
	}
	80% {
		text-shadow:  0 0 0px #000;
	}
	100% {
		text-shadow:  0 0 0px #000;
	}
}

#page_top section.kv .scroll_down {
	position: absolute;
	left: 5vw;
	bottom: -25vw;
	height: 50vw;
	width: 2px;
	background: #e9e9e9;
	overflow: hidden;
}

#page_top section.kv .scroll_down::after {
	content: "";
	position: absolute;
	top: 1px;
	width: 2px;
	height: 0;
	background: #000;
	animation: path_move 2.4s ease-in-out infinite;
	opacity: 0;
}

@keyframes path_move {
	0% {
		height: 1px;
		top: 0;
		opacity: 1;
	}
	30% {
		height: 50vw;
		opacity: 1;
	}
	60% {
		height: 0;
		top: 50vw;
		opacity: 0;
	}
	100% {
		height: 0;
		top: 50vw;
		opacity: 0;
	}
}

#page_top section.kv .latest_info {
	position: absolute;
	left: 10vw;
	bottom: 6vw;
	padding-right: 26vw;
}

#page_top section.kv .latest_info .date {
	font-size: 3.2vw;
	font-weight: bold;
}

#page_top section.kv .latest_info .title {
	font-size: 2.8vw;
	margin-top: 0.5vw;
}

/* ----------
 About
---------- */
#page_top section.sct_about {
	margin-top: 50vw;
}

#page_top section.sct_about .about_btn {
	margin-top: 8vw;
}

/* ----------
 Service
---------- */
#page_top section.sct_service {
	margin-top: 50vw;
}

#page_top section.sct_service .service_items {
	border-top: 2px solid rgb(0 0 0 / 0.1);
}

#page_top section.sct_service .service_items li {
	border-bottom: 2px solid rgb(0 0 0 / 0.1);
}

#page_top section.sct_service .service_items .item_head {
	font-weight: 600;
	font-size: 3.2vw;
	line-height: 1.6;
	cursor: pointer;
	position: relative;
	padding: 4.5vw 0 4.5vw 3.0vw;
}

#page_top section.sct_service .service_items .item_head:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 40%;
	right: 2vw;
	transform: translate(-40%, 0);
	-webkit-transform: translate(-40%, 0);
	-ms-transform: translate(-40%, 0);
	width: 1.8vw;
	height: 1.8vw;
	vertical-align: middle;
	box-sizing: border-box;
	border-right: solid 2px #000;
	border-bottom: solid 2px #000;
	transform: rotate(45deg);
	transition: 0.2s;
}

#page_top section.sct_service .service_items .item_head.open:after {
	margin: 3px 0 0 .5em;
	transform: rotate(225deg);
	transition: 0.2s;
}

#page_top section.sct_service .service_items .item_text {
	padding: 0 0 4.5vw 3vw;
	display: none;
	font-size: 2.8vw;
/*    color: #4e4e4e;*/
}

#page_top section.sct_service .service_items .item_text .notice {
	color: #cf374d;
}

#page_top section.sct_service .service_btn {
	margin-top: 8vw;
}

/* ----------
 Information
---------- */
#page_top section.sct_information {
	margin-top: 50vw;
}

#page_top section.sct_information .no_post {
	text-align: center;
	margin-top: 20vw;
}

#page_top section.sct_information .posts {
	margin-top: 6vw;
	display: flex;
	flex-wrap: wrap;
/*	justify-content: space-between;*/
	width: 100%;
	border-top: 1px solid #E6E6E6;
}

#page_top section.sct_information .posts > li {
	width: 100%;
	border-bottom: 1px solid #E6E6E6;
}

#page_top section.sct_information .posts > li a {
	padding: 7vw 5vw;
	text-decoration: none;
	width: 100%;
}

#page_top section.sct_information .posts .data {
	font-size: 2.6vw;
}

#page_top section.sct_information .posts .date > span {
	margin-right: 1vw;
}

#page_top section.sct_information .posts .caption {
	font-size: 4.4vw;
	line-height: 1.8;
	margin-top: 4vw;
	font-weight: 600;
}

#page_top section.sct_information .posts .text {
	font-size: 2.6vw;
	margin-top: 6vw;
}

#page_top section.sct_information .information_btn {
	margin: 20vw auto 0;
}

/* ----------
 Accent
---------- */
#page_top section.sct_accent {
	margin-top: 20vw;
}

#page_top section.sct_accent .loop_area {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
/*    overflow: hidden;*/
}

#page_top section.sct_accent .loop_area .loop_copy {
	flex: 0 0 auto;
	white-space: nowrap;
	overflow: hidden;
	font-size: 22vw;
	color: #e5e5e5;
/*    padding: 0 3vw;*/
/*    display: inline;*/
	width: 374vw;   /* font-sizeの約17倍  */
	line-height: 1.5;
}

#page_top section.sct_accent .loop_area .loop_copy .highlight {
	color: #000;
}

#page_top section.sct_accent .loop_area .loop_copy:nth-child(odd) {
	animation: key_loop_01 40s -20s linear infinite;
}

#page_top section.sct_accent .loop_area .loop_copy:nth-child(even) {
	animation: key_loop_02 40s linear infinite;
}

@keyframes key_loop_01 {
	0% {
	  transform: translateX(100%);
	}
	to {
	  transform: translateX(-100%);
	}
  }
  
@keyframes key_loop_02 {
	0% {
	  transform: translateX(0);
	}
	to {
	  transform: translateX(-200%);
	}
}

/* ----------
 Contact
---------- */
#page_top section.sct_contact {
	margin-top: 25vw;
	border-radius: 6vw;
	padding: 20vw 0;
}

#page_top section.sct_contact .form_none {
	width: 100%;
	margin-top: 10vw;
}

/* ----------------------------------------------------------
 【sub】 ABOUT
---------------------------------------------------------- */
#page_about section.page_title {
	background-image: url("../img/about_main_sp.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom;
	height: 150vw;
}

#page_about section.page_title .about_copy_area {
	text-align: center;
}

#page_about section.page_title .about_copy {
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	text-align: left;
	font-size: 3.4vw;
	font-weight: 600;
	margin-top: 38vw;
	letter-spacing: 0.4em;
}

#page_about section.page_title .about_copy span {
	color: transparent;
	animation: about_blur 10s ease-out;
/*    -webkit-animation: about_blur 10s ease-out;*/
	animation-fill-mode: forwards;
/*    -webkit-animation-fill-mode: forwards;*/
	display: block;
}

#page_about section.page_title .about_copy span:nth-child(1) {
	animation-delay: 0.0s;
/*    -webkit-animation-delay: 0.3s;*/
}

#page_about section.page_title .about_copy span:nth-child(2) {
	animation-delay: 0.3s;
/*    -webkit-animation-delay: 0.5s;*/
}

#page_about section.page_title .about_copy span:nth-child(3) {
	animation-delay: 0.6s;
/*    -webkit-animation-delay: 0.7s;*/
}

#page_about section.page_title .about_copy span:nth-child(4) {
	animation-delay: 0.9s;
/*    -webkit-animation-delay: 0.7s;*/
}

@keyframes about_blur {
	0% {
		text-shadow:  0 0 100px #000;
		opacity: 0;
	}
	5% {
		text-shadow:  0 0 90px #000;
	}
	15% {
		opacity: 1;
	}
	20% {
		text-shadow:  0 0 0px #000;
	}
	80% {
		text-shadow:  0 0 0px #000;
	}
	100% {
		text-shadow:  0 0 0px #000;
	}
}

/* ----------
 .sct_about
---------- */
#page_about section.sct_about {
	margin-top: 25vw;
}

#page_about section.sct_about .about_message {
	margin-top: 5vw;
	padding-left: 5.5vw;
}

#page_about section.sct_about .about_message > li {
/*    list-style-position: inside;*/
	list-style-type: disc;
}

/* ----------
 .sct_company
---------- */
#page_about section.sct_company {
	margin-top: 50vw;
}

#page_about section.sct_company .photo {
	margin-top: 10vw;
	background-color: #f5f5f5;
	width: 100%;
/*    height: 50vw;*/
	position: relative;
}

#page_about section.sct_company .photo .notice {
	font-size: 2.6vw;
	position: absolute;
	top: 2vw;
	left: 2vw;
}

#page_about section.sct_company .prof {
	margin-top: 5.0vw;
}

#page_about section.sct_company .prof > span:not(:first-child) {
	margin-left: 3.0vw;
}

#page_about section.sct_company .prof .name {
	font-size: 3.8vw;
	font-weight: 600;
}

#page_about section.sct_company .prof .caption {
	font-size: 2.8vw;
}

#page_about section.sct_company .job {
	margin-top: 5.0vw;
	padding-left: 5.5vw;
}

#page_about section.sct_company .job > li {
/*    list-style: inside;*/
	list-style-type: disc;
}

/* ----------------------------------------------------------
 【sub】 ARCHIVE
---------------------------------------------------------- */
#page_information {
}

#page_information .category_list {
	display: flex;
	flex-wrap: wrap;
	gap: 3vw 2vw;
	margin-top: 20vw;
}

#page_information .posts {
	margin-top: 14vw;
}

#page_information .posts .post {
	border-bottom: 2px solid rgb(0 0 0 / 0.1);
	display: block;
	text-decoration: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	line-height: 1.8;
	padding: 6vw 3vw 3vw;
	letter-spacing: 0.14em;
}

#page_information .posts .post:first-child {
	border-top: 2px solid rgb(0 0 0 / 0.1);
}

#page_information .posts .post > div {
	text-align: center;
}

#page_information .posts .post .cat {
	width: 100%;
	font-size: 2.4vw;
	position: relative;
	font-weight: 600;
	text-align: left;
}

#page_information .posts .post:hover .cat {
	border-right: 2px solid rgb(230 230 230 / 0.3);
}

#page_information .posts .post .title {
	width: 100%;
	text-align: left;
	font-weight: 600;
	font-size: 4.8vw;
	line-height: 1.6;
	margin-top: 1vw;
}

#page_information .posts .post .date {
	width: 100%;
	font-size: 2.4vw;
	text-align: right;
	margin-top: 3.0vw;
}

#page_information .pagination_area {
	margin-top: 15vw;
	font-size: 3.6vw;
}


/* ----------------------------------------------------------
 【sub】 SINGLE
---------------------------------------------------------- */
#page_single {
}

#page_single #content {
	padding-top: 50vw;
}

#page_single .back_to_info {
	font-size: 2.8vw;
}

#page_single .back_to_info a {
	text-decoration: none;
}

#page_single .post_area {
	margin: 14vw auto 0;
	width: 100%;
}

#page_single .post_title {
}

#page_single .post_title .title {
	font-size: 6.8vw;
	font-weight: 600;
	line-height: 1.7;
}

#page_single .post_title .data {
	margin-top: 4vw;
	font-size: 2.8vw;
}

#page_single .post_title .data > span {
	padding: 1.2vw 0 1.2vw 3.5vw;
}

#page_single .post_title .data > span:first-child {
	padding: 1.2vw 3.5vw 1.2vw 0;
	border-right: 2px solid rgb(0 0 0 / 0.1);
}

#page_single .post_area .post_content {
	margin-top: 22vw;
	font-size: 3.2vw;
}

/* ----------------------------------------------------------
 【404】
---------------------------------------------------------- */
.not_found {
	text-align: center;
	padding: 80vw 0 40vw;
}

/* //////////////////////////////////////////////////////////////////
footer
////////////////////////////////////////////////////////////////// */
footer {
	width: 100%;
	padding: 30vw 0 10vw;
}

body.sub footer {
	margin-top: 28vw;
	padding: 20vw 0 10vw;
	border-top: 2px solid rgb(0 0 0 / 0.1);
}

footer .inner {
	width: 80vw;
	margin: 0 auto;
}

footer .inner_full {
	width: 100%;
	margin: 0 auto;
}

footer .footer_logo {
	width: 45vw;
	margin: 0 auto;
}

footer .footer_logo a {
	width: 100%;
}

footer .footer_logo a img {
	width: 100%; 
}

footer nav {
/*    font-size: 15px;*/
	font-size: 2.8vw;
	font-weight: 600;
	margin-top: 20vw;
	letter-spacing: 0.18em;
	line-height: 1;
}

footer nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 3vw;
	justify-content: center;

}

footer nav ul a {
	text-decoration: none;
}

footer .copyright {
	color: #ababab;
	text-align: center;
	margin-top: 11vw;
	font-size: 2.4vw;
	letter-spacing: 0.16em;
}

