/* ==========================================================================
共用スタイル
========================================================================== */



/* --- Font Size 18px --- */
.company-philosophy--text p,
.company-philosophy--purpose-text p,
.main__section--advertising p,
.process__container-description,
.section--external-pr__catch p,
.section--external-pr__catch_wrapper p,
.external-pr__support-desc,
.main__section--zero-one-lab > p,
.zero-one-lab__service-list li span,
.company-overview__row,
.contact__cta-button-wrapper p,
.advertising-achievements__list,
table.plans-table td,
table.plans-table tbody th,
table.plans-table thead th:first-child {
	font-size: var(--font-size-18);
}


.zero-one-lab__image-wrapper span{
	font-size: var(--font-size-22);
}

/* --- Font Size 24px --- */
.main__section--advertising--catch-text,
.main__section--advertising > h3,
.advertising__summary p span,
.advertising__benefits p span,
p.content-creation-goal,
.advertising__heading--h3,
.advertising__catch p,
.advertising__list-wrapper ul li,
.external-pr__support-subheading,
.section--external-pr__heading-h3,
table.plans-table thead th {
	font-size: var(--font-size-24);
}

/* --- Font Size 26px --- */
.contact__cta-button-wrapper p,
h2#company-overview,
.external-pr__heading--h3,
.external-pr__support-item,
.external-pr__support-heading,
.main__section--philosophy h2,
.main__section--zero-one-lab h3{
	font-size: var(--font-size-26);
}

/* --- Font Size 30px --- */
.advertising__creative-list h4,
.zero-one-lab__service-list .title,
.contact__cta-button,
.heading-line
{
	font-size: var(--font-size-30);
}

/* --- Font Size 36px --- */
.advertising__list-wrapper span span {
	font-size: var(--font-size-36);
}

/* --- Font Size 83px --- */
span.heading-line.brand-name{
	font-size: var(--font-size-83);
	padding-bottom: nowrap;
}

#contact button {
	font-size: var(--font-size-22);
}



main.main {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100vw;
	min-height: 100vh;
	margin: 0 auto;
	text-align: center;

}

.main__section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}
.main__title{
	font-weight: bold;
}

iframe {
	min-width: 100% !important;
}

.main__section-top-typography {
	align-self: flex-start;
	margin-left: 5%;
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 100;
	font-size:4rem;
	font-style: normal;
	color: #919191d9;
	mix-blend-mode: difference;
	/* 修正: height: 1em; と overflow-y: none; を削除 */
	min-height: 1em; /* 最小高さのみ指定 */
	overflow: visible; /* 内容を完全に表示 */
}

h2#advertising-business, h2#zero-one-lab, h2#external-pr {
	display: flex;
	flex-direction: column;
	width: fit-content;
	aspect-ratio: 16/3;
	padding: 5px;
	border-radius: 12px;
	font-family: var(--font-serif);
	font-weight: bolder;
	font-size: var(--font-size-40);
	color: var(--white);
	background: linear-gradient(139deg, #f7771e 8%, #ae31ef);
	white-space: nowrap;
}
h2#advertising-business span,h2#zero-one-lab span,h2#external-pr span {
	font-size: var(--font-size-22);
}

.contact__cta-button-wrapper p {
	margin-bottom: 1rem;
}

.contact__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	aspect-ratio: 21/5;
	padding: 15px 20px;
	border: none;
	border-radius: 0.5rem;
	color: white;
	text-align: center;
	background: linear-gradient(60deg, #e62127 59%, #6a3162);
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	margin-bottom: 50px;
}

.contact__cta-button:active {
	transform: scale(0.95);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Utility Class */
.decorative-text {
	padding: 0.5rem 1rem;
	margin: 0.5em 0;
	white-space: nowrap;
	display: block;
	border-radius: 0.5rem;
	font-size: 3rem;
	font-weight: bold;
	color: transparent;
	background: linear-gradient(45deg, #ff0000, #f7931e 70%, #ed1e79 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.sr-only{
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	white-space: nowrap;
	overflow: hidden;
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
}

.main__section-top-image {
	width: 50%;
	position: relative;
	align-self: flex-start;
	margin-left: 5%;
}

.text-wrapper{
	width:80%
}

/* ==========================================================================
社名と想い (Philosophy)
========================================================================== */

.main__section--philosophy p{
	line-height:2;
}

.main__section--philosophy h2 {
	margin-top: 50px;
	font-weight: bold;
	margin-bottom: 1em;
}

.company-philosophy--text p:first-child {
	margin-bottom: 50px;
}

.company-philosophy--bg {
	width: 100%;
	background-image: linear-gradient(to bottom, rgb(255 255 255) 10%, rgba(255, 255, 255, 0.65) 60%, rgb(255 255 255 / 54%) 100%), url(https://www.averia-studios.jp/wp-content/uploads/section-company-philosophy.webp);
	background-size: cover;
	background-position: bottom;
	padding-bottom: 100px;
}

.company-philosophy__image {
	width: 100vw;
	min-width: 300px;
	max-width: 1200px;
	margin: auto;
}

/* ==========================================================================
Service01: 広告宣伝業務 (Advertising)
========================================================================== */


.main__section--advertising--catch {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

p.main__section--advertising--catch-text {
	margin-bottom: 0;
}

span.main__section--advertising--catch-text {
	padding: 0.1em 3em;
	font-weight: 500;
	background: radial-gradient(circle, rgba(189, 190, 190, 1) 0%, rgb(21 26 87 / 50%) 60%);
}
div.main__section--advertising--concerns {
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: content-box;
	line-height: 1.3em;
	z-index: 1;
	position: relative;
}



.main__section--advertising--concerns p{
	white-space: nowrap;
}

.main__section--advertising--concerns p:nth-child(1){
	align-self: flex-start;
}

.main__section--advertising--concerns p:nth-child(2){
	align-self: center;
}
.main__section--advertising--concerns p:nth-child(3) {
	align-self: flex-end;
}

.advertising__wrapper {
	display: flex;
	flex-direction: column;
	gap: 3rem;

	box-sizing: content-box;
}
.advertising__benefits p{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1rem;
	margin: auto;
}
.advertising__summary p ,.advertising__benefits p {
	margin: 0;
	height:fit-content;
	gap:5px;
}

.advertising__summary p span, .advertising__benefits p span{
	border-top: #c1272d solid 2px;
}

.advertising__wrapper div p span {
	padding: 0.5rem 3rem;
	color: var(--black);
	background: var(--white);
	white-space: nowrap;
}
.advertising__summary p span:not(:last-child)::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 2px;
	height: 30px;
	content: '';
	background: #666;
	transform: translateY(-50%) rotate(20deg);
	transform-origin: center;
}
.advertising__summary p span:nth-child(1) {
	-webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}

.advertising__summary p span:nth-child(2) {
	-webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	margin:auto;
}

.advertising__summary p span:nth-child(3) {
	-webkit-clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
	clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
}
.advertising__benefits {
	margin: auto;
}
.advertising__benefits p span{
	padding: 0.4rem 2rem;
	color: var(--black);
	background: var(--white);
}
.advertising__benefits p span:nth-child(1){
	-webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
.advertising__benefits p span:nth-child(2) {
	-webkit-clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
	clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
}

h3.advertising__heading--h3 {
	padding: 0.5em 1rem;
	font-weight: 500;
	background: #d01e0c;
	margin: 60px 0 30px 0;
	min-width: 320px;
}

.advertising__creative-list{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.advertising__creative-list > div {
	flex: 1 1 auto;
	width: 20%;
	height: 100%;
	padding-top: 6rem;
	border: 1px solid black;
	aspect-ratio: 1/2.5;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	position:relative;
	background-position: center;
}
.advertising__creative-list > div h4 {
	font-weight: bold;
}

.advertising__creative-list div p {
	padding-top: 1em;
	width: 80%;
	margin: auto;
	font-size: clamp(0.875rem, 1.2vw, 1rem);
}
.advertising__creative-list > div:nth-child(1){
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/video-production-bg.webp');
}
.advertising__creative-list > div:nth-child(2){
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/web-development-bg.webp');
}
.advertising__creative-list > div:nth-child(3){
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/digital-marketing-bg.webp');
}
.advertising__creative-list > div:nth-child(4){
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/vtuber-character-bg.webp');
}
.advertising__creative-list > div:nth-child(5){
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/Print-production-bg.webp');
}

.advertising__creative-list > div::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(to bottom, rgb(0 0 0) 0%, /* 上部：暗い */ rgba(0, 0, 0, 0.2) 50%, /* 中央：やや明るい */ rgb(0 0 0) 100% /* 下部：暗い */);
	z-index: 1;
}

.advertising__creative-list > div * {
	position:relative;
	z-index:2;
}

.advertising__list-wrapper {
	display: flex;
	justify-content: space-evenly;
	width: 100vw;
	max-width: 1000px;
	margin: auto;
	margin-top: 1rem;
}
.main__section--advertising ul li:not(.advertising-achievements__list li,.print-achievements__list li) {
	position: relative;
	width: 9em;
	min-width:100px;
	margin: 0 0 3rem 0;
	padding: 5px 5px;
	color: var(--black);
	background: var(--white);
}

.main__section--advertising ul li:not(.advertising-achievements__list li,.print-achievements__list li):not(:last-child)::after {
	content: '↓';
	position: absolute;
	bottom: -2.6rem;
	left: 50%;
	transform: translateX(-50%);
	font-weight: bold;
	color: var(--white);
}

.advertising-achievements__list-wrapper,.print-achievements__list-wrapper {
	width: 80vw;
}

ul.advertising-achievements__list,
ul.print-achievements__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 30px;
	text-align: left;
	flex-direction: row;
}

ul.advertising-achievements__list li,
ul.print-achievements__list li {
	margin: auto;
	margin-bottom: 25px;
	text-align: left;
	gap: 0;
	width: 32%;
}

ul.advertising-achievements__list li span,
ul.print-achievements__list li span {
	font-weight: bold;
	font-size: 1rem;
}

ul.advertising-achievements__list p,
ul.print-achievements__list p {
	margin-top: 0.2em;
	font-size: 0.8rem;
	margin-bottom: 1em;
	line-height: 1;
}

.advertising-achievements__list iframe,
.print-achievements__list iframe {
	margin: auto;
}
.advertising-achievements__list iframe {
	aspect-ratio: 2/1;
}
.print-achievements__list iframe {
	aspect-ratio: 1/2;
}

.process__wrapper {
	width: 80%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	gap: 50px;
	font-size:1rem;
}

.process__container {
	flex: 1;
	width: 300px;
	aspect-ratio: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
	padding: 15px;
	position: relative;
	container-type: size;
	transform: translateZ(0);
	will-change: transform;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.process__container::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.3);
	z-index: 1;
}

.process__container--hearing {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/no1.svg');
}

.process__container--planning {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/no2.svg');
}

.process__container--execution {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/no3.svg');
}

.process__container:hover {
	transform: translateY(-5px);
}

.process__container-text {
	font-size: 8.5cqw;
	font-weight: 700;
	color: var(--white);
	margin-bottom: 8px;
	text-align: center;
	line-height: 1.1;
	z-index: 2;
	position: relative;
}

.process__container-description {
	font-size: 6.5cqw;
	color: var(--white);
	text-align: center;
	line-height: 1.4;
	padding: 0 5px;
	z-index: 2;
	position: relative;
	margin-top: 1rem;
}

.process__text-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 2;
	position: relative;
}


.advertising__catch {
	display: grid;
	gap: 2vw;
	position: relative;
	top: -8rem;
	z-index: 5;
}

@media (max-width: 768px) {
	ul.advertising-achievements__list,
	ul.print-achievements__list {
		flex-direction: column;
	}

	ul.advertising-achievements__list li,
	ul.print-achievements__list li {
		width: 90%;
	}
	.advertising__catch {
		display: grid;
		gap: 2vw;
		position: relative;
		top: 0;
		z-index: 5;
	}

	.external-pr__support-container {
		grid-template-columns: 1fr;
	}
	.advertising__creative-list h4,
	.zero-one-lab__service-list .title,
	.contact__cta-button {
		font-size: var(--font-size-24);
	}
}

/* ==========================================================================
Service02: 外部広報部 (External PR)
========================================================================== */
.section--external-pr__catch {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 2rem;
	padding: 2rem;
	background-image: linear-gradient(to bottom, #ffffff 10%, rgb(255, 255, 255, 0.65) 60%, #ffffff 80%), url(https://www.averia-studios.jp/wp-content/uploads/section-external-pr-bg-scaled.webp);
	background-size: cover;
	background-position: center;
}
.section--external-pr__catch p {
	color: var(--black);
}

.section--external-pr__heading-h3-wrapper{
	width:100%;
}

.section--external-pr__heading-h3 {
	position: relative;
	top: 1.8rem;
	margin: 0;
	padding: 1rem;
	color: var(--white);
	text-align: center;
	background: linear-gradient(45deg, #ff0000, #f7931e 70%, #ed1e79 100%);
}

.content-creation-goal {
	margin: 1rem 0;
	font-weight: bold;
	color: var(--black);
}

.section--external-pr__catch_wrapper {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-bottom: 2rem;

}
.section--external-pr__catch_wrapper > div {
	flex: 0 0 40%;
	text-align: center;
}
.section--external-pr__catch_wrapper img {
	flex: 0 0 30%;
}

.external-pr__support-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	max-width: 1200px;
	margin: 3rem auto;
	padding: 0 1rem;
	gap: 2rem;
}
.external-pr__support-heading {
	grid-column: 1 / -1;
	margin-bottom: 1rem;
	text-align: center;
}
h3.external-pr__support-heading {
	margin: 60px 0 30px 0;
}
h4.external-pr__support-subheading {
	font-weight: bold;
}

.external-pr__support-education,
.external-pr__support-advisor {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.external-pr__support-subheading {
	margin-bottom: 0.5rem;
}
.external-pr__support-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.external-pr__support-item {
	margin-bottom: 1rem;
	font-weight: bold;
}
.external-pr__support-desc {
	display: block;
	margin-top: 0.25rem;
	color: #666;
}

.table-container{
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-top: 1rem;
}
table.plans-table {
	margin: auto;
	width: 80%;
}
table.plans-table th, table.plans-table td {
	padding: 8px;
	border: 1px solid #333;
	text-align: center;
	vertical-align: middle;
}

table.plans-table th {
	font-weight: bold;
	white-space: nowrap;

}

/* 1列目のヘッダー（項目名）を最前面に固定 */
table.plans-table th:first-child {
	position: sticky;
	left: 0;
	z-index: 10;
	background-color: #fff;
}

/* 1列目のデータセル（項目名の行）を固定 */
table.plans-table td:first-child,
table.plans-table th[scope="row"] {
	position: sticky;
	left: 0;
	z-index: 5;
	background-color: #fff;
}

table.plans-table tbody {
	word-break: auto-phrase;
}




table.plans-table td:nth-child(2) {
	position: relative;
	z-index: 1;
	background: #e8f0fe;

}

table.plans-table td:nth-child(3) {
	position: relative;
	z-index: 1;
	background-color: #92c8ed;

}

table.plans-table td:nth-child(4) {
	position: relative;
	z-index: 1;
	background-color: #1a73e8;
}

/* 1列目のデータセルのホバー時の背景色を維持 */


table.plans-table tbody tr:hover th[scope="row"] {
	background-color: #f1f1f1;
}

table.plans-table td ul {
	margin:20px 0;
	padding: 0;
	list-style-type: none;
}

table.plans-table td ul li {
	word-break: keep-all;
}

table.plans-table th:nth-child(2),
table.plans-table td:nth-child(2),
table.plans-table th:nth-child(3),
table.plans-table td:nth-child(3),
table.plans-table th:nth-child(4),
table.plans-table td:nth-child(4) {
	width: 250px; /* 固定幅を設定 */
	padding: 5px 2rem;
}

@media (max-width: 1280px) {
	.section--external-pr__catch_wrapper {
		flex-direction: column;
	}
}

/* ==========================================================================
Service03: 0.1ラボ (Zero One Lab)
========================================================================== */

.main__section.main__section--zero-one-lab{
	background-color: #b3b3b3;
}

.main__section--zero-one-lab ul {
	text-align: left;
}

.zero-one-lab__service-list-wrapper {
	display: grid;
	grid-template-columns: 10% 1fr;
	align-items: start;
	width: 100%;
	margin-top:1rem;
}

.main__section--zero-one-lab>p {
	margin-top: 2rem;
}

.zero-one-lab__arrow svg {
	width: 100%;
	height: auto;
}

.zero-one-lab__service-list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;

	list-style: none;
}




.zero-one-lab__image-wrapper {
	position: relative;
	margin: 40px;
	border-radius: 12px;
	padding: 3rem;
	transform-origin: center top;
}

.zero-one-lab__image-wrapper::before {
	content: '';
	position: absolute;
	top: 3px;
	left: -3px;
	right: -3px;
	bottom: -3px;
	border: 3px solid var(--white);
	border-radius: 12px;
	/* テキスト部分のborderを切り取る */
	-webkit-clip-path: polygon( 0% 0%, calc(50% - 106px) 0%, calc(50% - 106px) 3px, calc(50% + 106px) 3px, calc(50% + 106px) 0%, 100% 0%, 100% 100%, 0% 100% );
	clip-path: polygon(
		0% 0%, 
		calc(50% - 106px) 0%, 
		calc(50% - 106px) 3px, 
		calc(50% + 106px) 3px, 
		calc(50% + 106px) 0%, 
		100% 0%, 
		100% 100%, 
		0% 100%
	);
	z-index: 1;
}

.zero-one-lab__image-wrapper span {
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translateX(-50%);
	padding: 8px 16px;
	font-weight: bold;
	color: var(--white);
	z-index: 10;
	white-space: nowrap;
}
/* 768px以下でスケール調整 */
@media (max-width: 768px) {
	h2#advertising-business, h2#zero-one-lab, h2#external-pr{
		aspect-ratio:4/1;
	}
	.zero-one-lab__image-wrapper {
		transform: scale(0.85);
		margin: 20px 0;
	}
	.main__section--zero-one-lab>p {
	}
}

/* 480px以下でさらにスケール調整 */
@media (max-width: 480px) {
	.zero-one-lab__image-wrapper {
		transform: scale(0.9);
		margin: 20px 0;
	}
	.main__section.main__section--zero-one-lab{
	}
}


}

/* 320px以下で最小スケール */
@media (max-width: 320px) {
	.zero-one-lab__image-wrapper {
		transform: scale(0.6);
		margin: 5px 0;
	}
}



.cls-1 {
	fill: #fff;
}
.zero-one-lab__arrow {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	position: sticky;
	top: 2rem;
	justify-self: center;
	width: 100%;
	max-width: 70px;
}

.arrow-top,
.arrow-line,
.arrow-bottom {
	display: flex;
	justify-content: center;
	align-items: center;
}

.arrow-top {
	position: relative;
	bottom: -10px;
	flex-shrink: 0;
	width: 100%;
	height: 50px;
}

.arrow-line {
	flex-grow: 1;
	width: 100%;
	min-height: 50px;
}

.arrow-bottom {
	position: relative;
	top: -30px;
	flex-shrink: 0;
	width: 100%;
}

.arrow-top svg,
.arrow-line svg,
.arrow-bottom svg {
	width: 100%;
	height: 100%;
}

.zero-one-lab__service-list {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	padding: 0;
}

.zero-one-lab__service-list li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	width: 100%;
	/* 修正: height: 250px; を min-height に変更 */
	min-height: 250px;
	padding: 2rem;
	box-sizing: border-box;
	font-weight: bold;
	color: var(--white);
	overflow: visible; /* 内容を完全に表示 */
}
.title {
	/* 修正: height: 1em; を削除 */
	min-height: 1em; /* 最小高さのみ指定 */
}

.zero-one-lab__service-list h3{
	margin-bottom:0.5rem;
}


.zero-one-lab__service-list li span {
	font-weight: normal;
	color: var(--white);
	line-height: 1.5;
	display: block;
}

/* 背景画像 */
.zero-one-lab__service-list li .bg-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: right;
	background-repeat: no-repeat;
	-webkit-mask: linear-gradient(to right, rgba(0, 0, 0, 0) 30%, black 90%);
	mask: linear-gradient(to right, rgba(0, 0, 0, 0) 30%, black 90%);
	-webkit-mask: linear-gradient(to right, rgba(0, 0, 0, 0) 30%, black 90%);
	z-index: 1;
}

/* コンテンツエリア */
.zero-one-lab__service-list li .content {
	position: relative;
	z-index: 1;
}

.zero-one-lab__service-list li:nth-child(1) .bg-image {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/zero-one-lab__service-list-01.webp');
}
.zero-one-lab__service-list li:nth-child(2) .bg-image {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/zero-one-lab__service-list-02.webp');
}
.zero-one-lab__service-list li:nth-child(3) .bg-image {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/zero-one-lab__service-list-03.webp');
}
.zero-one-lab__service-list li:nth-child(4) .bg-image {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/zero-one-lab__service-list-04.webp');
}
.zero-one-lab__service-list li:nth-child(5) .bg-image {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/zero-one-lab__service-list-05.webp');
}
.zero-one-lab__service-list li:nth-child(6) .bg-image {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/zero-one-lab__service-list-06.webp');
}
/* ==========================================================================
会社概要 (Company Overview)
========================================================================== */


.company-overview-table {
	padding-left: 6rem;
	border-collapse: separate;
	border-spacing: 1rem 1rem;
}
.company-overview__row th {
	text-align: left;
	white-space: nowrap;
}
.company-overview__row td {
	padding-left: 6rem;
	text-align: left;
}
.company-overview__row ul li {
	margin-left: 1rem;
	list-style: circle;
}
tr.company-overview__row.company-overview__business td div {
	margin: 1rem 0;
}
.company-overview__business span{
	font-weight: bold;	
}

/* ==========================================================================
Header-Footer
========================================================================== */

#top {
	position: absolute;
	top: 0;
}

/* ヘッダー */
.header-container {
	background-image: url('https://www.averia-studios.jp/wp-content/uploads/heading-bg.webp');
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	aspect-ratio: 1090 / 580;
	display: grid;
	place-items: center;
	overflow: hidden;
	position: relative;
}

.main-heading {
	grid-area: 1 / 1;
	position: relative;
	z-index: 2;
	margin: 0;
	line-height: 1.1;
	text-align: center;
	color: rgb(0 0 0 / 90%);
	text-shadow: 0 0 5.6px rgb(255 255 255 / 90%);
	font-size: clamp(0.8rem, 3vw, 2.5rem);
	font-weight: 600;
}

.heading-line {
	display: block;
}

.brand-name {
	font-size: max(35px, 2.6em);
	font-weight: bold;
	line-height: 1.3;
	font-family: 'Noto Sans JP', sans-serif;
}

.header-svg-bg {
	grid-area: 1 / 1;
	position: relative;
	z-index: 1;
	max-width: 70%;
	height: auto;
}

/* グローバルナビゲーション */
.main-navigation {
	background: #000000;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	position: sticky;
	top: 0;
	z-index: 1000;
}

.nav-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.nav-menu {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 10px 0;
	gap: 40px;
	flex-wrap: wrap;
}

.nav-menu li {
	margin: 0;
	flex-shrink: 0;
}

.nav-menu a {
	color: #ffffff;
	text-decoration: none;
	font-weight: bold;
	white-space: nowrap;
	display: block;
	transition: all 0.3s ease;
	border-radius: 0; /* 共通のスタイルとして定義 */
}

.nav-menu a:hover,
.nav-menu a:focus {
	background: #ffffff;
	color: #000000;
	opacity: 1;
	transform: skew(-10deg);
}

/* フッター */
.site-footer {
	position: relative;
	width: 100%; /* vwから%に変更 */
	background: black;
	height: 150px;
	display: block;
	z-index: 100;
}

.footer-container {
	margin: 0 auto;
	position: absolute;
	background: black;
	width: 300px;
	height: auto;
	bottom: 150px;
	right: 0;
	padding: 0 20px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-direction: column;
	z-index: 2;
}

.footer-square {
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	transition: all 0.3s ease;
	position: relative;
	gap: 10px;
	justify-content: center;
	padding: 20px;
}

.page-top-btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	color: #ffffff;
	text-decoration: none;
	transition: all 0.3s ease;
	width: 100%;
	text-align: left;
}

.page-top-btn:hover {
	color: #ffffff;
	text-decoration: none;
}

.page-top-text {
	font-weight: bold;
	letter-spacing: 1px;
}

.footer-info {
	display: flex;
	align-items: center;
	height: 100%;
	left: 70px;
	position: relative;
}

.copyright {
	color: #ffffff;
	font-size: 1rem;
	line-height: 1.5;
	text-align: left;
	margin: 0;
}

/* ==========================================================================
レスポンシブ設定
========================================================================== */

@media (max-width: 1024px) {
	.advertising__summary p span:nth-child(1) {
		align-self: start;
		margin: 0;
		-webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
		clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	}

	.advertising__summary p span:nth-child(3) {
		align-self: end;
		margin: 0;
		-webkit-clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
		clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
	}
	.advertising__summary p {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1rem;
	}
	.advertising__creative-list p {
		font-size: var(--font-size-14);
	}
}

@media (max-width: 900px) {
	.process__wrapper {
		flex-direction: column;
	}
}

@media (max-width: 768px) {
	.decorative-text{
		font-size:2rem;
	}
	.advertising__summary {
		width: 95vw;
		margin: auto;
	}

	.advertising__benefits p{
		display: flex;
		flex-direction: column;
		gap:1rem;
	}

	.advertising__summary p span:nth-child(2) {
		align-self: center;
		margin: 0;
	}
	.advertising__creative-list > div:nth-child(1){
		background-position: center;
	}

	.external-pr__support-container {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.advertising__creative-list {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		width: 100%;
	}


	.advertising__creative-list > div {
		width: 50%;
		padding-bottom: 10%;
		padding-top: 0rem;
		aspect-ratio: 1;
	}

	.advertising__creative-list > div h4{
		margin-top:2rem;
	}
	.advertising__creative-list div p {
		width: 80%;
		margin: auto;
	}
	.advertising__creative-list > div:nth-child(5) {
		width: 50%;
		aspect-ratio: 3/1;
	}
}

/* PC・大きめのタブレット (768px以上) */
@media (min-width: 768px) {
	.nav-menu {
		flex-wrap: nowrap;
		gap: clamp(15px, 3vw, 40px);
	}

	.nav-menu a {
		font-size: clamp(0.85rem, 1.2vw, 1rem);
		padding: clamp(8px, 1.5vw, 12px) clamp(12px, 2vw, 20px);
	}
}

/* タブレット (768px以下) */
@media (max-width: 768px) {

	.nav-container {
		padding: 0 15px;
	}

	.nav-menu {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto auto;
		justify-items: center;
		padding: 0;
		gap: 0;
		position: relative;
	}

	.nav-menu::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		height: 1px;
		background: #333333;
		z-index: 1;
	}

	.nav-menu li {
		width: 100%;
		position: relative;
		z-index: 2;
		padding: 15px 0;
	}

	.nav-menu a {
		font-size: 0.85rem;
		padding: 10px 12px;
		text-align: center;
		width: 100%;
		box-sizing: border-box;
	}

	.site-footer {
		height: auto;
		padding: 20px 0;
	}

	.footer-container {
		position: static; /* staticに変更 */
		width: 100%;
		flex-direction: column;
		align-items: center;
		padding: 0 20px;
		gap: 20px;
	}

	.footer-square {
		padding: 20px;
		gap: 8px;
	}

	.footer-info {
		position: static;
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	.copyright {
		font-size: 0.9rem;
		text-align: center;
	}

	.page-top-btn {
		align-items: center;
		text-align: center;
		padding: 10px;
	}

	.advertising__creative-list > div {
		width: 100%;
		min-height: 150px;
		padding: 2rem 0;
		aspect-ratio: auto;
	}
	.process__wrapper {
		padding: 15px;
		gap: 15px;
	}

	.external-pr__support-container {
		grid-template-columns: 1fr;
	}

	.advertising__list-wrapper {
		flex-direction: column;
		align-items: center;
		gap: 3rem;
	}
	.company-overview__row td{
		margin-left:2rem;
	}


}

/* スマートフォン (480px以下) */
@media (max-width: 480px) {
	.decorative-text{
		font-size:1.5rem;
	}
	.nav-container {
		padding: 0 10px;
	}

	.nav-menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.nav-menu::after {
		display: none; /* グリッド用の線は不要 */
	}

	.nav-menu li {
		padding: 5px 0;
	}

	.nav-menu li:not(:last-child)::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 10%;
		right: 10%;
		height: 1px;
		background: #333333;
	}

	.nav-menu a {
		font-size: 0.9rem;
		padding: 12px 15px;
	}
	.company-overview-table{
		padding-left: 0;
	}
	.site-footer {
		padding: 0;
	}

	.footer-container {
		padding: 0 15px;
		gap: 15px;
	}

	.footer-square {
		padding: 20px;
		gap: 5px;
	}

	.copyright {
		font-size: 0.8rem;
		line-height: 1.4;
	}

	.page-top-btn {
		padding: 5px;
	}

	.process__wrapper {
		padding: 10px;
		gap: 10px;
	}
	.company_overview-table,.company-overview__row td{
		padding-left:0;
	}
}




@media (max-width: 768px) {
	.section--external-pr__heading-h3{
		font-size:var(--font-size-18);
		top:0;
		margin-top:1.8rem;
	}
	/* PC 83 → SP 36 の比率 */
	:root {
		--font-scale-l: calc(36 / 83);
		--font-scale-m: calc(26 / 30);
		--font-scale-s: calc(14 / 22);
	}
	/* 22 → 約9.54px (0.596rem) にスケール */
	span.heading-line{
		font-size: calc(var(--font-size-22) * var(--font-scale-l));
	}

	/* 83 → 36 にスケール */
	span.heading-line.brand-name {
		font-size: calc(var(--font-size-83) * var(--font-scale-l));
	}
	h2#advertising-business, h2#zero-one-lab, h2#external-pr{
		font-size: calc(var(--font-size-30) * var(--font-scale-m));
	}
	h2#advertising-business span, h2#zero-one-lab span, h2#external-pr span{
		font-size: calc(var(--font-size-22) * var(--font-scale-s));

	}
	.company-philosophy--text p, .company-philosophy--purpose-text p, .main__section--advertising p, .process__container-description, .section--external-pr__catch p, .section--external-pr__catch_wrapper p, .external-pr__support-desc, .main__section--zero-one-lab > p, .zero-one-lab__service-list li span, .company-overview__row, .contact__cta-button-wrapper p, .advertising-achievements__list, table.plans-table td, table.plans-table tbody th, table.plans-table thead th:first-child{
		font-size:var(--font-size-14);
	}

	.advertising__creative-list h4, .zero-one-lab__service-list .title, .contact__cta-button{
		font-size:var(--font-size-18);
	}

	.main__section--advertising--catch-text, .main__section--advertising > h3, .advertising__summary p span, .advertising__benefits p span, p.content-creation-goal, .advertising__heading--h3, .advertising__catch p, .advertising__list-wrapper ul li, .external-pr__support-subheading, .section--external-pr__heading-h3, table.plans-table thead th{
		font-size: var(--font-size-18);
	}
	#contact button{
		font-size: var(--font-size-18);
	}
	.contact__cta-button-wrapper p, h2#company-overview, .external-pr__heading--h3, .external-pr__support-item, .external-pr__support-heading, .main__section--philosophy h2, .main__section--zero-one-lab h3{
		font-size:var(--font-size-22);
	}

	.zero-one-lab__service-list li {
		min-height: 180px;
		padding: 0;
		padding-right: 5%;
	}

}



/* ナビゲーションメニュー（480px以上で追従する） */
.main-navigation {
	position: relative;
	width: 100%;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.main-navigation.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	transform: translateY(-20px);
	opacity: 0;
	animation: slideIn 0.3s forwards;
	z-index: 999;
}

@keyframes slideIn {
	to { transform: translateY(0); opacity: 1; }
}

/* 480px以下では追従解除 */
@media (max-width: 480px) {
	.main-navigation,
	.main-navigation.is-fixed {
		position: relative !important;
		transform: none !important;
		opacity: 1 !important;
		animation: none !important;
	}
}
