*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

li,
dd {
	list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
	display: block;
}

img {
	border: none;
	vertical-align: bottom;
}

body {
	background: #fff;
	color: #333;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

html,
body {
	min-height: 100%;
	overflow-x: hidden;
	scroll-behavior: smooth;
}

a {
	text-decoration: none;
	-webkit-transition: 0.3s;
	color: inherit;
	transition: 0.3s;
}

picture,
img,
a,
span {
	display: inline-block;
}

video,
img,
svg {
	height: 100%;
	width: 100%;
}

button {
	background: transparent;
	background: none;
	border: none;
	color: inherit;
	font: inherit;
}

input,
textarea,
select {
	font: inherit;
}

.l-main {
	-webkit-padding-before: 6.25rem;
	min-height: 100vh;
	padding-block-start: 6.25rem;
}

.l-inner {
	height: inherit;
	margin-inline: auto;
	max-width: 1440px;
	padding: 0 10rem;
	position: relative;
	width: 100%;
}

.l-inner__narrow {
	max-width: 44.375rem;
}

.l-scroll-wrap {
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.l-wrap {
	position: relative;
	top: 0;
	z-index: 1;
}

.l-padding {
	padding-block: 3.75rem;
}

.c-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 5rem;
	width: 23.125rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #FFF;
	border: 1px solid #00A6BE;
	border-radius: 0.5rem; /* btn */
	-webkit-box-shadow: 0.375rem 0.375rem 0.625rem rgba(0, 0, 0, 0.04);
	box-shadow: 0.375rem 0.375rem 0.625rem rgba(0, 0, 0, 0.04);
	color: #00A6BE;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	-webkit-transition: all 0.3s ease;
	margin-inline: auto;
	transition: all 0.3s ease;
}

.c-btn span {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-animated__fadeUp-1,
.c-animated__fadeUp-2,
.c-animated__fadeUp-3,
.c-animated__fadeUp-4 {
	opacity: 0;
	-webkit-transition: opacity 0.8s cubic-bezier(0.26, 0.06, 0, 1), -webkit-transform 1.2s cubic-bezier(0.36, 0.14, 0, 1);
	transition: opacity 0.8s cubic-bezier(0.26, 0.06, 0, 1), -webkit-transform 1.2s cubic-bezier(0.36, 0.14, 0, 1);
	transition: opacity 0.8s cubic-bezier(0.26, 0.06, 0, 1), transform 1.2s cubic-bezier(0.36, 0.14, 0, 1);
	transition: opacity 0.8s cubic-bezier(0.26, 0.06, 0, 1), transform 1.2s cubic-bezier(0.36, 0.14, 0, 1), -webkit-transform 1.2s cubic-bezier(0.36, 0.14, 0, 1);
}

.c-animated__fadeUp-1 {
	-webkit-transform: rotate(8deg) translateY(40px);
	transform: rotate(8deg) translateY(40px);
}

.c-animated__fadeUp-2 {
	-webkit-transform: rotate(-8deg) translateY(40px);
	transform: rotate(-8deg) translateY(40px);
}

.c-animated__fadeUp-3 {
	-webkit-transform: rotate(8deg) translateY(40px);
	transform: rotate(8deg) translateY(40px);
}

.c-animated__fadeUp-4 {
	-webkit-transform: rotate(-8deg) translateY(40px);
	transform: rotate(-8deg) translateY(40px);
}

body.is-loaded .c-animated__fadeUp-1 {
	opacity: 1;
	-webkit-transform: rotate(0deg) translateY(0);
	transform: rotate(0deg) translateY(0);
}

body.is-loaded .c-animated__fadeUp-2 {
	opacity: 1;
	-webkit-transform: rotate(0deg) translateY(0);
	transform: rotate(0deg) translateY(0);
	-webkit-transition-delay: 0.15s;
	transition-delay: 0.15s;
}

body.is-loaded .c-animated__fadeUp-3 {
	opacity: 1;
	-webkit-transform: rotate(0deg) translateY(0);
	transform: rotate(0deg) translateY(0);
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}

body.is-loaded .c-animated__fadeUp-4 {
	opacity: 1;
	-webkit-transform: rotate(0deg) translateY(0);
	transform: rotate(0deg) translateY(0);
	-webkit-transition-delay: 0.45s;
	transition-delay: 0.45s;
}

.c-anime-slideup__message {
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px); /* 時間を1.2s → 1.6s に変更 & easeカーブも緩やかに */
	-webkit-transition: opacity 1.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1.6s cubic-bezier(0.25, 1, 0.5, 1);
	transition: opacity 1.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1.6s cubic-bezier(0.25, 1, 0.5, 1);
	transition: opacity 1.6s cubic-bezier(0.25, 1, 0.5, 1), transform 1.6s cubic-bezier(0.25, 1, 0.5, 1);
	transition: opacity 1.6s cubic-bezier(0.25, 1, 0.5, 1), transform 1.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.c-anime-slideup__message.is-animated {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.c-animated__fadeIn {
	opacity: 0;
}

.c-anime-textup {
	display: inline-block;
	overflow: hidden;
}

.c-anime-textup .char {
	display: inline-block;
	-webkit-transform: translateY(100%);
	opacity: 0;
	transform: translateY(100%);
}

.c-anime-slideup {
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
	-webkit-transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
	transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
	transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
	transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.c-anime-slideup.is-animated {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.c-title__wrap {
	position: relative;
	text-align: center;
	z-index: 1;
}

.c-title__en {
	color: #00A6BE;
	font-family: "Outfit", sans-serif;
	font-size: 3.75rem;
	font-weight: 650;
	letter-spacing: 4px;
	line-height: 1.3;
	text-rendering: geometricPrecision;
}

.c-title__jp {
	color: #00A6BE;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	-webkit-margin-before: 0.1875rem;
	margin-block-start: 0.1875rem;
}

.c-single-tag {
	color: #00A6BE;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.c-section-description {
	color: #333;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
	padding-block: 2.5rem;
	position: relative;
	text-align: center;
	z-index: 1;
}

.c-bg-circle-blue {
	position: absolute;
	z-index: 0;
	-webkit-animation: spin-clockwise 30s linear infinite;
	animation: spin-clockwise 30s linear infinite;
}

.c-bg-circle-yellow {
	position: absolute;
	z-index: 0;
	-webkit-animation: spin-clockwise 30s linear infinite;
	animation: spin-clockwise 30s linear infinite;
}

.c-bg-relative {
	position: relative;
}

.p-header {
	height: 6.375rem;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.p-header__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-padding-start: 3.125rem;
	padding-inline-start: 3.125rem;
}

.p-header__logo {
	font-family: "Outfit", sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.p-header__nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 1rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-column-gap: 4.5rem;
	-moz-column-gap: 4.5rem;
	column-gap: 4.5rem;
}

.p-header__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-column-gap: 2.5rem;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.p-header__list li a {
	color: #00A6BE;
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.3;
	position: relative;
	text-align: center;
	width: 4.1875rem;
}

.p-header__list li a::after {
	background-color: #00A6BE;
	bottom: -0.1875rem;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	width: 0;
	-webkit-transition: width 0.3s ease;
	transition: width 0.3s ease;
}

.p-header__btn {
	background: -webkit-linear-gradient(356deg, #00A6BE 1.06%, #9EDBD6 99.32%);
	background: linear-gradient(94deg, #00A6BE 1.06%, #9EDBD6 99.32%);
	color: #FFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: Outfit;
	font-size: 1rem;
	font-weight: 600;
	height: auto;
	letter-spacing: 0.1em;
	line-height: 1.3;
	padding: 2.5rem 1.5rem;
	text-align: center;
	width: 8rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.p-header__btn span {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-drawer__icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: fixed;
	z-index: 102;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 0.375rem;
	height: 1.125rem;
	right: 1.5rem;
	top: 1.0625rem;
	width: 1.5rem;
}

.p-drawer__icon--bar {
	background: #000;
	height: 0.1375rem;
	width: 100%;
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(1) {
	rotate: 45deg;
	translate: 0 7.5px;
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(2) {
	display: none;
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(3) {
	rotate: -45deg;
	translate: 0 -0.5px;
}

.p-drawer {
	background: #FFF;
	border-radius: 0px 0px 0px 24px;
	overflow-y: scroll;
	position: fixed;
	right: 0;
	top: 0;
	translate: 101%;
	width: 300px;
	z-index: 101;
	-webkit-transition: translate 0.5s ease;
	transition: translate 0.5s ease;
}

.p-drawer.js-show {
	translate: 0;
}

.p-drawer__icon--bar {
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.p-drawer__body {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	padding: 3.75rem 1.875rem 2.5rem;
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.5rem;
}

.p-drawer__logo {
	font-family: "Outfit", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: center;
}

.p-drawer__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	row-gap: 2.4375rem;
	text-align: center;
}

.p-drawer__list li a {
	color: #00A6BE;
	font-family: "Outfit", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-align: center;
}

.p-drawer__btn {
	color: #FFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "Outfit", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	height: 3.75rem;
	letter-spacing: 0.1em;
	line-height: 1.3;
	padding: 20px 30px;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-item-align: stretch;
	align-self: stretch;
	background: -webkit-linear-gradient(356deg, #00A6BE 1.06%, #9EDBD6 99.32%);
	background: linear-gradient(94deg, #00A6BE 1.06%, #9EDBD6 99.32%);
	border-radius: 0.5rem;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.p-drawer-overlay {
	background: rgba(51, 51, 51, 0.3);
	height: 100vh;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.p-drawer-overlay.is-active {
	opacity: 1;
	pointer-events: auto;
}

.p-footer {
	height: auto;
	width: 100%;
}

.p-footer__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 1rem 3.125rem;
}

.p-footer__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-column-gap: 2.5rem;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.p-footer__list li a {
	color: #00A6BE;
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-align: center;
	width: 4.1875rem;
}

.p-footer-copyright {
	color: #333; /* PC/Footer */
	font-family: "Outfit", sans-serif;
	font-size: 0.625rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-align: right;
}

.p-fv {
	padding-block: 7.53125rem 7.1875rem;
	position: relative;
}

.p-fv__inner {
	margin-inline: auto;
	max-width: 44.625rem;
}

.p-fv__message-wrap {
	position: relative;
	text-align: center;
}

.p-fv__light {
	background: #59E5AD;
	border-radius: 50%;
	height: 6.25rem;
	left: 0;
	mix-blend-mode: screen;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 6.25rem;
	z-index: 10;
	-webkit-filter: blur(10px) contrast(1.1);
	filter: blur(10px) contrast(1.1);
}

.p-fv__circle-bg {
	background: url("../img/fv-bg.svg") no-repeat center/contain;
	height: 28.1875rem;
	left: 50%;
	position: absolute;
	top: calc(50% + 10px);
	width: 28.1875rem;
	-webkit-transform: translate(-50%, -50%);
	pointer-events: none;
	transform: translate(-50%, -50%);
	z-index: -2;
}

.p-fv__message-intro {
	color: #00A6BE;
	font-family: "Outfit", sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.5;
	position: relative;
	text-align: center;
	z-index: 1;
}

.p-fv__message-main-wrap-1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1.75rem;
	position: relative;
	-webkit-margin-before: -1.0625rem;
	margin-block-start: -1.0625rem;
	-webkit-margin-start: 0.6875rem;
	margin-inline-start: 0.6875rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.p-fv__message-main-wrap-2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2.875rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-margin-before: -0.5625rem;
	margin-block-start: -0.5625rem;
	-webkit-margin-start: 1rem;
	margin-inline-start: 1rem;
}

.p-fv__message-main {
	color: #333;
	font-family: "Outfit", sans-serif;
	font-size: 9.5625rem;
	font-weight: 300;
	letter-spacing: 0.1em;
	line-height: 1.3;
	white-space: nowrap;
}

.p-fv__message-main_1 {
	position: relative;
	z-index: 1;
}

.p-fv__message-main_2 {
	position: relative;
	z-index: 1;
	-webkit-margin-before: -0.4375rem;
	margin-block-start: -0.4375rem;
}

.p-fv__scrolldown-text {
	bottom: 9.1875rem;
	color: #747070;
	font-family: "Outfit", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	position: absolute;
	right: 1.6875rem;
	rotate: 90deg;
	text-align: center;
}

.p-fv__scrolldown-bar {
	background: #747070;
	bottom: 0.9375rem;
	height: 6.25rem;
	overflow: hidden;
	position: absolute;
	right: 3.625rem;
	width: 0.125rem;
}

.p-fv__scrolldown-bar-active {
	background: #00A6BE;
	bottom: 100%;
	height: 3.125rem;
	left: 0;
	position: absolute;
	width: 0.125rem;
	-webkit-animation: 3s ease-in-out backwards infinite scrollDown;
	animation: 3s ease-in-out backwards infinite scrollDown;
}

.p-message {
	padding-block: 6.25rem 11.25rem;
	position: relative;
	z-index: 1;
}

.p-message__bg-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	left: 0;
	position: absolute;
	top: 9.6875rem;
	z-index: -1;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	overflow: hidden;
	width: 100%;
}

.p-message__bg-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-animation: loop-text 30s linear infinite;
	animation: loop-text 30s linear infinite;
}

.p-message__bg-loop {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.p-message__bg-content {
	color: #F9FBFA;
	display: inline-block;
	font-family: "Outfit", sans-serif;
	font-size: 11.25rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.3;
	white-space: nowrap;
}

.p-message__wrap {
	text-align: center;
}

.p-message__main {
	color: #00A6BE;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.p-message__sub {
	font-size: 0.875rem;
	-webkit-margin-before: 1rem;
	color: #00A6BE;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-block-start: 1rem;
}

.p-message__text-wrap {
	-webkit-margin-before: 3.75rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-block-start: 3.75rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 1.5rem;
}

.p-message__text {
	color: #333;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 2;
	text-align: center;
}

.p-message__text .u-pc {
	display: none;
}

.p-works {
	background: #F9FBFA;
	opacity: 0.1;
	padding-block: 3.75rem;
	position: relative;
	z-index: 2;
}

.p-works::before {
	content: "";
	height: 5rem;
	left: 50%;
	position: absolute;
	top: -4.9375rem;
	width: 90rem;
	-webkit-transform: translateX(-50%);
	background: url("../img/work-bg.svg") no-repeat center/contain;
	transform: translateX(-50%);
}

.p-work-inner {
	margin-inline: auto;
	max-width: 121.125rem;
	width: 100%;
}

.p-works__swiper-container,
.p-works__swiper,
.p-works__swiper-wrapper,
.p-works__swiper-slide {
	position: relative;
}

.p-works__swiper-container {
	-webkit-margin-before: 2.5rem;
	margin-block-start: 2.5rem;
	margin-inline: auto;
	max-width: 90rem;
	width: 100%;
}

.p-works__swiper {
	overflow: hidden;
	-webkit-padding-after: 4.125rem;
	margin-inline: auto;
	max-width: 100%;
	overflow: visible;
	padding-block-end: 4.125rem;
	width: 100%;
}

.p-works__swiper-slide {
	background: #FFF;
	border-radius: 0.625rem;
	width: 100%;
	-webkit-box-shadow: 0.375rem 0.375rem 0.625rem 0 rgba(0, 0, 0, 0.04);
	box-shadow: 0.375rem 0.375rem 0.625rem 0 rgba(0, 0, 0, 0.04);
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.p-works__swiper-slide .p-works__card-thumbnail img {
	opacity: 0.5;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: opacity 0.5s ease, -webkit-transform 5s ease;
	transition: opacity 0.5s ease, -webkit-transform 5s ease;
	transition: opacity 0.5s ease, transform 5s ease;
	transition: opacity 0.5s ease, transform 5s ease, -webkit-transform 5s ease; /* 拡大だけ5秒かける */
}

.p-works__swiper-slide.swiper-slide-active {
	-webkit-transform: translateY(3.75rem);
	transform: translateY(3.75rem);
}

.p-works__swiper-slide.swiper-slide-active .p-works__card-thumbnail img {
	-webkit-transform: scale(1.2);
	opacity: 1;
	transform: scale(1.2);
}

.p-works__card-wrap {
	display: block;
	width: 100%;
}

.p-works__card-thumbnail {
	border-radius: 0.625rem 0.625rem 0 0;
	overflow: hidden;
	width: 100%;
}

.p-works__card-thumbnail picture {
	display: block;
	height: auto;
	width: 100%;
}

.p-works__card-thumbnail img {
	aspect-ratio: 600/380;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-works__card-description {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem 1.5rem;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-item-align: stretch;
	align-self: stretch;
}

.p-works__card-title {
	color: #00A6BE;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.p-works__tag-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.5rem;
}

.p-works__tag {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	min-width: 3.8125rem;
	padding: 0.25rem 1rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #ECF6F9;
	border-radius: 1.25rem;
}

.p-works-swiper-control {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-margin-before: 2.375rem;
	gap: 2.5rem;
	margin-block-start: 2.375rem;
	padding-inline: 10rem;
}

/* 位置のreset */

.p-works__button-prev,
.p-works__button-next,
.p-works__pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: unset;
	left: unset;
	margin: 0;
	padding: 0;
	right: unset;
	top: unset;
}

/* =============================
   ページネーション (progressbar)
============================= */

/* 位置の設定と外枠 */

.swiper-pagination-progressbar.swiper-pagination-horizontal {
	background: #D1CCCC;
	border-radius: 0.625rem;
	height: 0.5rem;
	overflow: hidden;
	position: relative;
	top: calc(100% + 2.125rem);
	width: 56.25rem;
}

/* activeな部分 */

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: #00A6BE;
	border-radius: 10px;
}

/* デフォルトのボタンを初期化 */

.p-works__button-prev::after,
.p-works__button-next::after {
	content: ""; /* デフォルトのものを初期化 */
}

/* 各ボタンのカスタマイズ */

.p-works__button-prev,
.p-works__button-next {
	height: 3.625rem;
	position: relative;
	width: 3.625rem;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.p-works__swiper-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2.5rem;
}

.p-works__btn {
	-webkit-margin-before: 2.5rem;
	margin-block-start: 2.5rem;
	margin-inline: auto;
}

.p-service {
	background: #F9FBFA;
	padding-block: 3.75rem 4rem;
	position: relative;
}

.p-service__bg-01 {
	aspect-ratio: 500.18/571;
	height: 35.6875rem;
	left: -9.625rem;
	top: -3.5rem;
	width: 31.26125rem;
}

.p-service__bg-02 {
	aspect-ratio: 500.18/571;
	bottom: -5.25rem;
	height: 35.6875rem;
	right: -7.5rem;
	width: 31.26125rem;
	z-index: 1;
}

.p-service-description {
	font-size: 1rem;
	padding-block: 2.5rem;
}

.p-service__link-text {
	color: #00A6BE;
	text-decoration: underline;
	text-underline-offset: 0.125rem;
	-webkit-text-decoration-skip-ink: none;
	opacity: 1;
	text-decoration-skip-ink: none;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.p-service__items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2.1875rem;
	position: relative;
	z-index: 1;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-margin-before: -0.1875rem;
	margin-block-start: -0.1875rem;
}

.p-service__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-block: 2rem 1.625rem;
	padding-inline: 3.75rem;
	width: 21.875rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 0.625rem;
	gap: 1rem;
	-webkit-box-shadow: 0.375rem 0.375rem 0.625rem rgba(0, 0, 0, 0.04);
	box-shadow: 0.375rem 0.375rem 0.625rem rgba(0, 0, 0, 0.04);
}

.p-service__item:nth-of-type(2) {
	-webkit-margin-before: 2.5rem;
	margin-block-start: 2.5rem;
}

.p-service__item-img-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: auto;
	width: 13.75rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.p-service__item-title {
	color: #00A6BE;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
	width: 14.375rem;
}

.p-service__item-border {
	border: 0.5px dashed #5dade2;
	width: 13.75rem;
}

.p-service__item-text {
	color: #333;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
	padding-inline: 0.3125rem;
	width: 14.375rem;
}

.p-skill {
	background: #F9FBFA;
	padding-block: 3.4375rem 3.75rem;
	position: relative;
}

.p-skill__bg-01 {
	aspect-ratio: 500.18/571;
	height: 35.6875rem;
	left: -10rem;
	top: 1.5625rem;
	width: 31.26125rem;
}

.p-skill__bg-02 {
	aspect-ratio: 500.18/571;
	bottom: -16.5625rem;
	height: 35.6875rem;
	right: -7.1875rem;
	width: 31.26125rem;
	z-index: 1;
}

.p-skill-description {
	font-size: 1rem;
	padding-block: 2.5rem 2.5625rem;
}

.p-skill__anim-items {
	display: grid;
	gap: 2.5rem 2.1875rem;
	grid-template-columns: repeat(3, 1fr);
	position: relative;
	z-index: 1;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.p-skill__anim-item {
	background: rgba(255, 255, 255, 0.8);
	border-radius: 0.625rem;
	width: 100%;
	-webkit-box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.04);
	box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.04);
	overflow: hidden;
}

.p-skill__anim-img {
	aspect-ratio: 350/200;
	height: auto;
	width: 100%;
}

.p-skill__anim-img picture {
	height: auto;
	width: 100%;
}

.p-skill__anim-img img {
	aspect-ratio: 350/200;
	display: block;
	height: auto;
	width: 100%;
}

.p-skill__anim-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-block: 1rem 0.75rem;
	padding-inline: 1.5rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 0.4375rem;
	-ms-flex-item-align: stretch;
	align-self: stretch;
}

.p-skill__anim-title {
	color: #00A6BE;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.p-skill__anim-border {
	border: 0.5px dashed #5dade2;
	width: 100%;
}

.p-skill__anim-text {
	color: #333;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
}

.p-skill__anim-tags {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.p-skill__anim-tag {
	color: #00A6BE;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.p-about {
	background: #F9FBFA;
	padding-block: 3.75rem;
	position: relative;
}

.p-about__bg-01 {
	aspect-ratio: 500.18/571;
	height: 35.6875rem;
	left: -8.4375rem;
	top: -12.125rem;
	width: 31.26125rem;
}

.p-about-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 3.9375rem 3.75rem;
	position: relative;
	z-index: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 2.5rem;
	flex-direction: column;
	gap: 2.5rem;
}

.p-about__title-wrap {
	text-align: left;
}

.p-about-profile {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 62.5rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.5rem;
	padding-inline: 1.875rem;
}

.p-about-profile__name {
	color: #00A6BE;
	font-family: "Outfit", sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
	position: relative;
	-webkit-padding-end: 3.5rem;
	padding-inline-end: 3.5rem;
	white-space: nowrap;
	width: 17.1875rem;
}

.p-about-profile__icon {
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	background: url(../img/icon-x.svg) center/contain no-repeat;
	display: inline-block;
	height: 2rem;
	opacity: 1;
	transform: translateY(-50%);
	width: 2rem;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.p-about-profile__text-wrap {
	-webkit-margin-before: 1rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-block-start: 1rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 0.8125rem;
}

.p-about-profile__text {
	color: #333;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
}

.p-about-profile-img {
	border-radius: 10px;
}

.p-about-profile-img img {
	aspect-ratio: 240/240;
	height: auto;
	width: 15rem;
}

.p-about-skill-items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2rem;
	padding: 2rem;
	width: 62.5rem;
	-ms-flex-wrap: wrap;
	border: 1px solid #00A6BE;
	border-radius: 1.25rem;
	flex-wrap: wrap;
}

.p-about-skill-item {
	width: 18rem;
}

.p-about-skill-item:not(:last-child) {
	border-right: 1px dashed #65AADD;
}

.p-about-skill-title {
	color: #00A6BE;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.p-about-skill-text {
	-webkit-margin-before: 1rem;
	color: #333;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
	margin-block-start: 1rem;
	overflow-wrap: break-word;
	word-break: break-word;
}

.p-contact {
	background: #F9FBFA;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-block: 3.75rem;
	position: relative;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 1.5rem;
	z-index: 0;
}

.p-contact::before {
	background: -webkit-linear-gradient(356deg, #00A6BE 1.06%, #9EDBD6 99.32%);
	background: linear-gradient(94deg, #00A6BE 1.06%, #9EDBD6 99.32%);
	border-radius: 5rem 5rem 0px 0px;
	content: "";
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.p-contact__title {
	color: #FFF;
}

.p-contact__btn {
	margin-inline: auto;
}

.p-contact-description {
	color: #FFF;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
	padding-block: 0;
}

.p-contact-under {
	padding-block: 3.75rem 3.875rem;
}

.p-contact-under-description {
	padding-block: 3.75rem 3.875rem;
}

input[type=text],
input[type=tel],
input[type=email],
select,
textarea {
	background: #FFF;
	border: none;
	border: 0.0625rem solid #D1CCCC;
	border-radius: 0.5rem;
	color: #333;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 1rem;
	width: 100%;
}

input[type=text]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #ddd;
}

input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
	color: #ddd;
}

input[type=text]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #ddd;
}

input[type=text]::-ms-input-placeholder,
input[type=tel]::-ms-input-placeholder,
input[type=email]::-ms-input-placeholder,
select::-ms-input-placeholder,
textarea::-ms-input-placeholder {
	color: #ddd;
}

input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
select::placeholder,
textarea::placeholder {
	color: #ddd;
}

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
select:focus,
textarea:focus {
	border-color: #65AADD;
	outline: none;
}

input[type=text].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
input[type=email].wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
	border-color: #DF1623;
}

input[type=text]:not(:-moz-placeholder):not(.wpcf7-not-valid),
input[type=tel]:not(:-moz-placeholder):not(.wpcf7-not-valid),
input[type=email]:not(:-moz-placeholder):not(.wpcf7-not-valid),
textarea:not(:-moz-placeholder):not(.wpcf7-not-valid) {
	border-color: #D1CCCC;
}

input[type=text]:not(:-ms-input-placeholder):not(.wpcf7-not-valid),
input[type=tel]:not(:-ms-input-placeholder):not(.wpcf7-not-valid),
input[type=email]:not(:-ms-input-placeholder):not(.wpcf7-not-valid),
textarea:not(:-ms-input-placeholder):not(.wpcf7-not-valid) {
	border-color: #D1CCCC;
}

input[type=text]:not(:placeholder-shown):not(.wpcf7-not-valid),
input[type=tel]:not(:placeholder-shown):not(.wpcf7-not-valid),
input[type=email]:not(:placeholder-shown):not(.wpcf7-not-valid),
textarea:not(:placeholder-shown):not(.wpcf7-not-valid) {
	border-color: #D1CCCC;
}

input[type=text]:-webkit-autofill,
input[type=email]:-webkit-autofill,
input[type=tel]:-webkit-autofill {
	background-color: #FFF !important;
	-webkit-box-shadow: 0 0 0 1000px #FFF inset !important;
}

textarea {
	height: 15.1875rem;
	resize: vertical;
}

.p-contact__form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin-inline: auto;
	row-gap: 1.5rem;
	width: min(43.75rem, 100%);
}

.p-contact__row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 0.4375rem;
}

.p-contact__row.--aifs {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.p-contact__head {
	color: #333;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.p-contact__head span.--must {
	display: inline-block;
	position: relative;
}

.p-contact__head span.--must::after {
	background: #00A6BE;
	border-radius: 0.5rem;
	color: #FFF;
	content: "必須";
	display: inline-block;
	font-size: 0.625rem;
	font-weight: 700;
	left: calc(100% + 0.5rem);
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 0.125rem 0.5rem;
	position: absolute;
	top: calc(50% + 0.0625rem);
	translate: 0 -50%;
	white-space: nowrap;
}

.p-contact__data {
	width: 100%;
}

.wpcf7-form-control-wrap {
	width: 100%;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type=checkbox] {
	height: 1px;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
}

input[type=checkbox]:focus + span::before {
	border-color: #65AADD;
}

input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.p-contact__data-checkbox label span {
	color: #333;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
	padding-left: 1.4375rem;
	position: relative;
}

.p-contact__data-checkbox label span::before {
	background: #FFF;
	border: 0.0625rem solid #D1CCCC;
	border-radius: 0.125rem;
	content: "";
	height: 0.9375rem;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 0.9375rem;
}

.p-contact__data-checkbox label span::after {
	border-bottom: 0.09375rem solid #000;
	border-right: 0.09375rem solid #000;
	content: "";
	height: 0.75rem;
	left: 0.4375rem;
	opacity: 0;
	position: absolute;
	rotate: 45deg;
	top: 0.3125rem;
	width: 0.375rem;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.p-contact__data-checkbox .wpcf7-not-valid .wpcf7-list-item-label::before {
	border-color: #DF1623;
}

.wpcf7-list-item {
	margin: 0;
}

.wpcf7-form-control.wpcf7-checkbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0.625rem 1.875rem;
}

input[type=radio] {
	height: 1px;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
}

input[type=radio]:checked + span {
	background: #000;
	color: #fff;
}

.p-contact__data-radio {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.p-contact__data-radio span {
	border: 1px solid #000;
	display: block;
	font-size: 16px;
	line-height: normal;
	padding: 12px 10px;
	text-align: center;
}

.p-contact__data-radio label:not(:last-of-type) span {
	border-right: none;
}

input[type=submit],
input[type=button] {
	border-radius: 0px;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: none;
	-webkit-box-sizing: border-box;
	background: transparent;
	box-sizing: border-box;
	cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
	display: none;
}

.row.jc-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.p-contact__submit {
	-webkit-margin-before: 1rem;
	margin-block-start: 1rem;
	text-align: center;
}

.p-contact__submit input[type=submit] {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 5rem;
	width: 23.125rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #FFF;
	border: 1px solid #00A6BE;
	border-radius: 0.5rem; /* btn */
	-webkit-box-shadow: 0.375rem 0.375rem 0.625rem rgba(0, 0, 0, 0.04);
	box-shadow: 0.375rem 0.375rem 0.625rem rgba(0, 0, 0, 0.04);
	color: #00A6BE;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	-webkit-transition: all 0.3s ease;
	margin-inline: auto;
	transition: all 0.3s ease;
}

.p-contact__submit input[type=submit] span {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.wpcf7-not-valid-tip {
	color: #DF1623;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	-webkit-margin-before: 0.5rem;
	margin-block-start: 0.5rem;
}

.p-contact__acceptance {
	-webkit-margin-before: -0.1875rem;
	margin-block-start: -0.1875rem;
}

.p-contact__explain {
	-webkit-margin-before: 0.125rem;
	color: #333;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.9;
	margin-block-start: 0.125rem;
}

.p-contact__policy-margin {
	-webkit-margin-before: 1rem;
	margin-block-start: 1rem;
}

.p-contact__policy {
	-webkit-margin-before: 1rem;
	margin-block-start: 1rem;
	margin-inline: auto;
	text-align: center;
	width: min(43.75rem, 100%);
}

.p-contact__policy-text {
	color: #333;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
}

.p-contact__policy-link {
	color: #DF1623;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
	-webkit-text-decoration-line: underline;
	text-decoration-line: underline;
	-webkit-text-decoration-style: solid;
	text-decoration-style: solid;
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: 1px;
	text-underline-offset: auto;
	text-underline-position: from-font;
}

#loading {
	display: none;
}

.p-loading {
	background: #FFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 200;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	gap: 1.0625rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.p-loading__text {
	color: #000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "Outfit", sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	gap: 0.25rem;
	letter-spacing: 0.1em;
	line-height: 1.3;
}

.p-loading__text .p-loading__char {
	display: inline-block; /* ← GSAPで制御するのでCSSアニメーション不要 */
}

.p-loading__dots {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.9375rem;
}

.p-loading__dots .p-loading__dot {
	border-radius: 50%;
	height: 0.75rem;
	opacity: 0.8; /* 初期値 */
	width: 0.75rem;
}

.p-loading__A {
	background: #9EDBD6;
}

.p-loading__B {
	background: #00A6BE;
}

body.single-works {
	background-color: #F9FBFA !important;
}

.p-single-article__body {
	background: #FFF;
	border-radius: 0.625rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 70rem;
	padding-block: 3.75rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.6875rem;
	-webkit-margin-before: 3.75rem;
	margin-block-start: 3.75rem;
}

.p-single-article__head-wrap {
	max-width: 43.75rem;
	width: 100%;
}

.p-single-tag__margin {
	-webkit-margin-before: 0.5rem;
	margin-block-start: 0.5rem;
}

.p-single__site-wrap {
	-webkit-margin-before: 1rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-block-start: 1rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 0.5rem;
}

.p-single__url {
	color: #00A6BE;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.p-single__id-pass {
	color: #333;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
}

.p-single-article__img {
	-webkit-margin-before: 2rem;
	border-radius: 0.625rem;
	margin-block-start: 2rem;
	-webkit-box-shadow: 0.375rem 0.375rem 0.625rem 0 rgba(0, 0, 0, 0.04);
	aspect-ratio: 700/460;
	box-shadow: 0.375rem 0.375rem 0.625rem 0 rgba(0, 0, 0, 0.04);
	height: 28.75rem;
	height: auto;
	overflow: hidden;
	width: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-single-article__text {
	-webkit-margin-before: 2rem;
	margin-block-start: 2rem;
}

.p-single-article__text-wrap {
	max-width: 43.75rem;
	width: 100%;
}

.p-single-article__text-items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 1.5rem;
}

.p-single-article__text-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 3.75rem;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.p-single-article__text-head {
	color: #00A6BE;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	width: 5rem;
}

.p-single-article__detail-text {
	color: #202224;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9;
	max-width: 29.625rem;
	-webkit-margin-end: 5.375rem;
	margin-inline-end: 5.375rem;
}

.p-single-btn__margin {
	-webkit-margin-before: 3.75rem;
	margin-block-start: 3.75rem;
}

body.post-type-archive-works {
	background-color: #F9FBFA !important;
}

.p-archive__cate-wrap {
	-webkit-margin-before: 3.75rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-block-start: 3.75rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 2.5rem;
}

.p-archive__cate-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.p-archive__cate-link .p-archive__cate-link-text {
	background: #ECF6F9;
	border-radius: 1.25rem;
	color: #00A6BE;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	min-width: 11.25rem;
	padding: 0.25rem 1rem;
	text-align: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.p-archive__cate-link .p-archive__cate-link-text.is-active {
	background: #00A6BE;
	color: #fff;
}

.p-archive__items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-webkit-column-gap: 2.1875rem;
	-moz-column-gap: 2.1875rem;
	column-gap: 2.1875rem;
	-webkit-margin-before: 3.75rem;
	margin-block-start: 3.75rem;
}

.p-archive__item {
	background: rgba(255, 255, 255, 0.8);
	border-radius: 0.625rem;
	display: grid;
	grid-row: span 3;
	grid-template-rows: subgrid;
	margin-bottom: 2.5rem;
	-webkit-box-shadow: 0.375rem 0.375rem 0.625rem 0 rgba(0, 0, 0, 0.04);
	box-shadow: 0.375rem 0.375rem 0.625rem 0 rgba(0, 0, 0, 0.04);
	overflow: hidden;
}

.p-archive__title,
.p-archive__tags {
	padding-inline: 1.5rem;
}

.p-archive__item-img {
	border-radius: 0.625rem;
	overflow: hidden;
	width: 100%;
}

.p-archive__item-img picture {
	display: block;
	height: auto;
	width: 100%;
}

.p-archive__item-img img {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: contain;
	aspect-ratio: 350/220;
	object-fit: contain;
}

.p-archive__title {
	color: #00A6BE;
	-webkit-padding-before: 1rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding-block-start: 1rem;
	-ms-flex-item-align: center;
	align-self: center;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-archive__tags {
	-webkit-margin-before: 0.5rem;
	margin-block-start: 0.5rem;
	-webkit-padding-after: 1rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-block-end: 1rem;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.p-archive__tag {
	color: #00A6BE;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 0.25rem 1rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #ECF6F9;
	border-radius: 1.25rem;
}

.p-archive-btn__margin {
	-webkit-margin-before: 1.25rem;
	margin-block-start: 1.25rem;
}

.u-hidden-pc {
	display: none;
}

.u-font {
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.u-font__jp {
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.u-font__en {
	font-family: "Outfit", sans-serif;
}

.u-text__center {
	text-align: center !important;
}

.u-text__left {
	text-align: left !important;
}

.u-text__right {
	text-align: right !important;
}

.u-text__nowrap {
	white-space: nowrap;
}

.u-pointer__none {
	pointer-events: none !important;
}

@media (hover: hover) {

a:hover {
	cursor: pointer;
}

.c-btn:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.c-btn:hover span {
	-webkit-transform: scale(0.91);
	transform: scale(0.91);
}

.p-header__logo:hover {
	opacity: 0.7;
}

.p-header__list li a:hover::after {
	width: 100%;
}

.p-header__btn:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.p-header__btn:hover span {
	-webkit-transform: scale(0.91);
	transform: scale(0.91);
}

.p-drawer__btn:hover {
	opacity: 0.7;
}

.p-works__button-prev:hover,
.p-works__button-next:hover {
	opacity: 0.5;
}

.p-service__link-text:hover {
	opacity: 0.7;
}

.p-about-profile__icon {
	opacity: 0.7;
}

.p-contact__submit input[type=submit]:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.p-contact__submit input[type=submit]:hover span {
	-webkit-transform: scale(0.91);
	transform: scale(0.91);
}

}

@media (min-width: 768px) {

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

.p-drawer__icon {
	display: none;
}

.u-sp {
	display: none !important;
}

.u-text__center--pc {
	text-align: center !important;
}

.u-text__left--pc {
	text-align: left !important;
}

.u-text__right--pc {
	text-align: right !important;
}

.u-text__nowrap--pc {
	white-space: nowrap;
}

.u-pointer__none--pc {
	pointer-events: none !important;
}

}

@media screen and (max-width: 1439px) and (min-width: 768px) {

html {
	font-size: calc(16 / 1440 * 100vw);
}

}

@media (max-width: 1000px) {

.p-skill__anim-items {
	grid-template-columns: repeat(2, 1fr);
	width: 100%;
}

.p-archive__items {
	grid-template-columns: repeat(2, 1fr);
	width: 100%;
}

}

@media screen and (max-width: 767px) {

.l-main {
	-webkit-padding-before: 3.25rem;
	padding-block-start: 3.25rem;
}

.l-inner {
	max-width: 648px;
	padding: 0 1.5rem;
	width: 100%;
}

.l-inner__narrow {
	max-width: 600px;
	padding: 0 1.5rem;
}

.l-inner__sp-wide {
	max-width: 600px;
	padding: 0 1.125rem;
}

.l-padding {
	padding-block: 2.5rem !important;
}

.c-btn {
	font-size: 1rem;
	height: 3.75rem;
	width: 17.4375rem;
}

.c-title__en {
	font-size: 2.5rem;
}

.c-section-description .u-sp {
	display: none;
}

.p-header {
	height: 3.25rem;
}

.p-header__inner {
	padding-block: 0.625rem;
	-webkit-padding-start: 1.25rem;
	padding-inline-start: 1.25rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.p-header__logo {
	font-size: 1rem;
	padding-block: 4px;
}

.p-header__nav {
	display: none;
}

.p-footer {
	padding-block: 1.25rem;
}

.p-footer__inner {
	display: contents;
}

.p-footer__nav {
	padding-inline: 1.09375rem;
	width: 100%;
}

.p-footer__list {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	gap: 1.5rem;
	justify-content: space-between;
}

.p-footer__list li a {
	font-size: 0.875rem;
}

.p-footer-copyright {
	-webkit-margin-before: 1.25rem;
	margin-block-start: 1.25rem;
	text-align: center;
}

.p-fv {
	padding-block: 10.53125rem 16.90625rem;
}

.p-fv__inner {
	max-width: 18.9375rem;
}

.p-fv__light {
	height: 3.4375rem;
	width: 3.4375rem;
}

.p-fv__circle-bg {
	height: 15.625rem;
	width: 15.625rem;
}

.p-fv__message-intro {
	font-size: 1rem;
}

.p-fv__message-main-wrap-1 {
	gap: 1.25rem;
	-webkit-margin-before: 1.25rem;
	margin-block-start: 1.25rem;
	-webkit-margin-start: 0.125rem;
	margin-inline-start: 0.125rem;
}

.p-fv__message-main-wrap-2 {
	-webkit-margin-before: auto;
	gap: 1.0625rem;
	margin-block-start: auto;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-margin-start: auto;
	margin-inline-start: auto;
}

.p-fv__message-main {
	font-size: 3.4375rem;
}

.p-fv__message-main_2 {
	-webkit-margin-before: 0.3125rem;
	margin-block-start: 0.3125rem;
}

.p-fv__scrolldown-text {
	bottom: 5.25rem;
	font-size: 0.75rem;
	right: 0.125rem;
}

.p-fv__scrolldown-bar {
	bottom: -2.6875rem;
	right: 1.625rem;
}

.p-message {
	padding-block: 4.9375rem 10rem;
}

.p-message__bg-content {
	font-size: 6.25rem;
}

.p-message__main {
	font-size: 1.5rem;
}

.p-message__text-wrap {
	-webkit-margin-before: 3.125rem;
	margin-block-start: 3.125rem;
}

.p-message__text {
	font-size: 0.875rem;
	line-height: 1.9;
}

.p-message__text .u-sp {
	display: none;
}

.p-works {
	padding-block: 2.6875rem 2.5rem;
}

.p-works::before {
	background-image: url("../img/SP/work-bg-sp.svg");
	width: 39.125rem;
}

.p-work-inner {
	width: 23.4375rem;
}

.p-works__swiper-container {
	-webkit-margin-before: 1.375rem;
	margin-block-start: 1.375rem;
	margin-inline: unset;
	max-width: 37.5rem;
}

.p-works__swiper {
	-webkit-padding-after: 0;
	padding-block-end: 0;
}

.p-works__swiper-slide {
	max-width: 20.4375rem;
}

.p-works__swiper-slide.swiper-slide-active {
	-webkit-transform: none;
	transform: none;
}

.p-works__card-thumbnail img {
	aspect-ratio: 327/200;
}

.p-works__card-title {
	font-size: 1.125rem;
}

.p-works-swiper-control {
	-webkit-margin-before: 1.125rem;
	margin-block-start: 1.125rem;
	padding-inline: 1.25rem;
}

.swiper-pagination-progressbar.swiper-pagination-horizontal {
	width: 10.875rem;
}

.p-works__button-prev,
.p-works__button-next {
	height: 2.5rem;
	width: 2.5rem;
}

.p-works__swiper-btn {
	gap: 1rem;
}

.p-works__btn {
	-webkit-margin-before: 1.4375rem;
	margin-block-start: 1.4375rem;
}

.p-service {
	padding-block: 2.5rem;
}

.p-service__bg-01 {
	aspect-ratio: 307.19/269.09;
	height: 16.818rem;
	left: -4.375rem;
	top: 5rem;
	width: 19.1991875rem;
}

.p-service__bg-02 {
	aspect-ratio: 307.19/269.09;
	bottom: 15.5rem;
	height: 16.818rem;
	right: -5.6875rem;
	width: 19.1991875rem;
}

.p-service-description {
	font-size: 0.875rem;
	padding-block: 1.5625rem;
}

.p-service__items {
	width: 20.4375rem;
	-webkit-margin-before: 0;
	margin-block-start: 0;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 1.3125rem;
	margin-inline: auto;
}

.p-service__item:nth-of-type(2) {
	-webkit-margin-before: auto;
	margin-block-start: auto;
}

.p-service__item {
	gap: 0;
	padding-block: 1.5rem 1.125rem;
	padding-inline: 2rem;
	width: 20.4375rem;
}

.p-service__item-img-wrap {
	width: 13.4375rem;
}

.p-service__item-title {
	font-size: 1.125rem;
	width: 15.4375rem;
	-webkit-margin-before: 1rem;
	margin-block-start: 1rem;
}

.p-service__item-border {
	width: 15.4375rem;
	-webkit-margin-before: 0.4375rem;
	margin-block-start: 0.4375rem;
}

.p-service__item-text {
	padding-inline: 0;
	width: 15.4375rem;
	-webkit-margin-before: 0.5rem;
	margin-block-start: 0.5rem;
}

.p-skill {
	padding-block: 2.5rem 2.625rem;
}

.p-skill__bg-01 {
	aspect-ratio: 305.03/297;
	bottom: 34.375rem;
	height: 18.5625rem;
	left: -8.125rem;
	top: auto;
	width: 19.0646875rem;
}

.p-skill__bg-02 {
	aspect-ratio: 305.03/297;
	bottom: auto;
	height: 18.5625rem;
	right: -4.375rem;
	top: 2.125rem;
	width: 19.0646875rem;
}

.p-skill-description {
	font-size: 0.875rem;
	padding-block: 1.5625rem 1.375rem;
}

.p-skill__anim-item {
	margin-inline: auto;
	width: 100%;
}

.p-skill__anim-img {
	aspect-ratio: 327/200;
	height: auto;
	width: 100%;
}

.p-skill__anim-img img {
	aspect-ratio: 327/200;
}

.p-skill__anim-wrap {
	gap: 0;
}

.p-skill__anim-border {
	-webkit-margin-before: 0.4375rem;
	margin-block-start: 0.4375rem;
}

.p-skill__anim-text {
	-webkit-margin-before: 0.5rem;
	margin-block-start: 0.5rem;
}

.p-skill__anim-tag {
	-webkit-margin-before: 0.5rem;
	margin-block-start: 0.5rem;
}

.p-about {
	padding-block: 2.3125rem 2.5rem;
}

.p-about__bg-01 {
	aspect-ratio: 305.03/297;
	height: 18.5625rem;
	left: -6.5rem;
	top: -4.75rem;
	width: 19.0646875rem;
}

.p-about-inner {
	gap: 1.4375rem;
	padding: 2.5rem 1.5rem;
}

.p-about__title-wrap {
	text-align: center;
}

.p-about-profile {
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 1.5rem;
	padding-inline: 0;
}

.p-about-profile__text-wrap {
	gap: 0.9375rem;
}

.p-about-profile__text {
	letter-spacing: 0.048em;
}

.p-about-profile-img img {
	aspect-ratio: 200/200;
	height: auto;
	width: 12.5rem;
}

.p-about-skill-items {
	gap: 0.9375rem;
	padding: 0.9375rem;
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.p-about-skill-item {
	padding-block: 0.5rem;
	width: 15.4375rem;
}

.p-about-skill-item:not(:last-child) {
	border-bottom: 1px dashed #65AADD;
	border-right: none;
}

.p-about-skill-text {
	-webkit-margin-before: 0.5rem;
	margin-block-start: 0.5rem;
}

.p-contact {
	padding-block: 2.5625rem 2.5rem;
}

.p-contact::before {
	border-radius: 2.5rem 2.5rem 0 0;
}

.p-contact-description {
	font-size: 0.875rem;
}

.p-contact-under-description {
	padding-block: 2.5rem;
}

.wpcf7-form-control.wpcf7-checkbox {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 0.5rem;
}

.p-contact__submit input[type=submit] {
	font-size: 1rem;
	height: 3.75rem;
	width: 17.4375rem;
}

.p-contact__policy-margin {
	-webkit-margin-before: 1.1875rem;
	margin-block-start: 1.1875rem;
}

.p-contact__policy {
	text-align: start;
}

.p-single-article__body {
	-webkit-margin-before: 2.5rem;
	margin-block-start: 2.5rem;
	padding-block: 2.5rem;
	padding-inline: 1.875rem;
}

.p-single-article__img {
	-webkit-margin-before: 1.5rem;
	margin-block-start: 1.5rem;
	width: 100%;
}

.p-single-article__text {
	-webkit-margin-before: 1.5rem;
	margin-block-start: 1.5rem;
}

.p-single-article__text-item {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 0.5rem;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

.p-single-article__detail-text {
	-webkit-margin-end: auto;
	margin-inline-end: auto;
}

.p-single-btn__margin {
	-webkit-margin-before: 2.5rem;
	margin-block-start: 2.5rem;
}

.p-archive__cate-wrap {
	-webkit-margin-before: 2.5rem;
	gap: 1.25rem;
	margin-block-start: 2.5rem;
}

.p-archive__cate-link .p-archive__cate-link-text {
	min-width: 6.229375rem;
	padding: 0.25rem 0.875rem;
}

.p-archive__item {
	grid-row: auto;
	grid-template-rows: auto;
	margin-bottom: auto;
}

.p-archive__item-img img {
	aspect-ratio: 339/200;
}

.p-archive__title {
	font-size: 1.125rem;
}

.p-archive-btn__margin {
	-webkit-margin-before: 2.5rem;
	margin-block-start: 2.5rem;
}

.u-pc {
	display: none !important;
}

.u-hidden-pc {
	display: block;
}

.u-hidden-sp {
	display: none;
}

.u-text__center--sp {
	text-align: center !important;
}

.u-text__left--sp {
	text-align: left !important;
}

.u-text__right--sp {
	text-align: right !important;
}

.u-text__nowrap--sp {
	white-space: nowrap;
}

.u-pointer__none--sp {
	pointer-events: none !important;
}

}

@media (max-width: 600px) {

.p-skill__anim-items {
	gap: 1.125rem;
	grid-template-columns: repeat(1, 1fr);
}

.p-archive__items {
	-webkit-margin-before: 2.5rem;
	gap: 1.5rem;
	grid-template-columns: repeat(1, 1fr);
	margin-block-start: 2.5rem;
}

}

@media screen and (max-width: 374px) {

html {
	font-size: calc(16 / 375 * 100vw);
}

}

@-webkit-keyframes spin-clockwise {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@keyframes spin-clockwise {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@-webkit-keyframes spin-counterclockwise {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@keyframes spin-counterclockwise {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@-webkit-keyframes scrollDown {

0% {
	bottom: 100%;
}

100% {
	bottom: -3.125rem;
}

}

@keyframes scrollDown {

0% {
	bottom: 100%;
}

100% {
	bottom: -3.125rem;
}

}

@-webkit-keyframes loop-text {

0% {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
}

100% {
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

}

@keyframes loop-text {

0% {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
}

100% {
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

}

