@charset "UTF-8";
/*
Version: 1.0.0
Creation Date: 2026.3.27
Last Updated: 2026.5.16
*/


/* import
------------------------------------------------------------ */
@import "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css";
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";
@import "https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";


/* set
------------------------------------------------------------ */
:root {
--design-width: 1366;
--font-size-base: clamp(8.75px, calc(10 * 100vw / var(--design-width)), 11.25px);
--font-base: 'Noto Sans JP', sans-serif;
--font-en: 'Montserrat', sans-serif;
--color-logo: #1A1A7C;
--color-primary: #004098;
--color-sky: #0198FD;
--color-deep: #0B318F;
--bg-gray: #F5F3F2;
--gradient-logo: linear-gradient(to right, var(--color-sky), var(--color-logo));
--gradient-deep: linear-gradient(to right, var(--color-sky), var(--color-deep));
--gradient-light: linear-gradient(to right, #00B1FF, #0091FD);
--gradient-glow: linear-gradient(to right, #00D1FF, #00A3FD);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-style: normal;
}
html {
font-size: var(--font-size-base);
}
body {
-webkit-text-size-adjust: 100%;
font-family: var(--font-base);
color: #000;
font-size: 1.8rem;
font-weight: 500;
line-height: 1.8;
letter-spacing: .04em;
}
ul {
list-style: none;
}
img {
vertical-align: middle;
max-width: 100%;
height: auto;
}
a {
color: inherit;
text-decoration: none;
word-break: break-all;
}
:hover {
transition: .3s;
}
a img {
display: inline-block;
transition: .5s;
}
a:hover img {
transform: scale(1.05);
transition: .5s;
}
.smd,.smp {
display: none;
}
.pc {
display: block;
}


/* common
------------------------------------------------------------ */
/* layout */
main {
width: 100%;
display: block;
position: relative;
overflow: hidden;
}
article {
width: 100%;
position: relative;
}
section {
width: 77%;
margin: 0 auto;
position: relative;
z-index: 1;
}

/* background */
.grad-deep {
background: var(--gradient-deep);
color: #FFF;
}

article.grad-deep {
background: none;
margin-top: 10rem;
}
article.grad-deep::before {
content: "";
background: url("img/tab_top.svg") no-repeat left top/contain;
width: 42vw;
aspect-ratio: 570 / 35;
position: absolute;
top: 2px;
left: -2px;
transform: translateY(-100%);
}
article.grad-deep::after {
content: "";
background: var(--gradient-deep);
clip-path: polygon(0 0,100% 0,100% 100%,68% 100%,calc(68% - 3.5rem) calc(100% - 3.5rem),0 calc(100% - 3.5rem));
position: absolute;
inset: 0;
}
article.grad-deep h1 {
text-align: right;
}
article.grad-deep h1 span {
margin-top: -10rem;
}

/* title */
main h1 {
line-height: 1.4;
}
main h1 span {
font-family: var(--font-en);
font-style: italic;
font-size: 11.1rem;
display: inline-block;
background: var(--gradient-light);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
main h1 strong {
font-size: 4rem;
font-weight: 700;
display: block;
transform: skew(-8deg);
background: var(--gradient-logo);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
main h1:has(small) span {
text-align: left;
}
main h1:has(small) span small {
font-size: 7.5rem;
font-style: italic;
display: block;
}

main h2 {
line-height: 1.6;
}
main h2 strong {
font-size: 5.2rem;
font-weight: 700;
display: block;
transform: skew(-8deg);
background: var(--gradient-light);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
main h2 span {
font-family: var(--font-en);
font-style: italic;
font-size: 6.5rem;
display: block;
background: var(--gradient-light);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
main h2 em {
font-size: 3.8rem;
}
main h2:has(strong) em {
font-size: 3.1rem;
}
main h2:has(small) span {
text-align: right;
margin-bottom: -.15em;
position: relative;
z-index: -1;
}
main h2 span small {
font-size: 6rem;
font-style: italic;
}
main h2:has(em):has(small) {
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: 2em;
}
main h3 span:not(.label) {
font-family: var(--font-en);
font-style: italic;
font-size: 5.8rem;
line-height: 1;
display: inline-block;
background: var(--gradient-light);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

.label {
background: var(--color-primary);
clip-path: polygon(0 0,calc(100% - 4rem) 0,100% 100%,0 100%);
color: #FFF;
font-size: 2.5rem;
line-height: 1;
padding: .3em 3em .3em 1.5em;
display: inline-block;
}
span.label {
font-family: var(--font-en);
font-weight: 600;
}

/* .corner */
.corner {
background: none;
padding: 3rem 0;
position: relative;
}
.corner::before {
content: "";
background: var(--gradient-deep);
clip-path: polygon(0 0,100% 0,100% calc(100% - 9vw),calc(100% - 9vw) 100%,0 100%);
width: 95vw;
height: 100%;
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50vw);
z-index: -1;
}
.corner.reverse::before {
clip-path: polygon(0 0,100% 0,100% 100%,9vw 100%,0 calc(100% - 9vw));
left: 0;
transform: translateX(-5vw);
}
.topic {
text-align: right;
width: 95vw;
position: absolute;
top: 1px;
left: 50%;
transform: translateX(-50vw) translateY(-100%);
}
.corner.reverse .topic {
text-align: left;
left: -5vw;
transform: translateY(-100%);
}
.corner header {
display: flex;
align-items: center;
gap: 2rem;
}
.corner .grid {
margin: 5rem 0;
display: grid;
grid-template-columns: 50% 46%;
justify-content: space-between;
}
.corner .grid > figure {
display: flex;
flex-direction: column;
gap: 3rem;
}
.corner .grid p {
letter-spacing: normal;
margin-bottom: 3rem;
}
.corner .grid ol {
counter-reset: point;
list-style: none;
}
.corner .grid ol li:before {
counter-increment: point;
content: counter(point, decimal-leading-zero);
color: rgba(255,255,255,.2);
font-size: 5.4rem;
font-weight: 700;
text-align: center;
width: 10rem;
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
}
.corner .grid ol li {
background: rgba(255,255,255,.2);
line-height: 1.4;
margin-top: 1rem;
padding: 1.5rem 1rem;
padding-left: 10rem;
position: relative;
}
.corner .grid ol li strong {
font-size: 2.4rem;
display: block;
}

figure.corner.grid {
display: grid;
grid-template-columns: 52% 45%;
justify-content: space-between;
margin-bottom: 3rem;
padding: 5rem 0;
}
figure.corner.grid h3 {
font-size: 3.3rem;
background: var(--gradient-glow);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 1rem;
}
figure.corner.grid strong {
font-family: var(--font-en);
font-weight: 600;
font-size: 4.7rem;
}
figure.corner.grid strong small {
font-family: var(--font-base);
font-size: 2.2rem;
}

/* .link */
.link {
margin: 3rem 0;
display: flex;
justify-content: center;
gap: 2rem;
}
.link a {
background: #FFF;
clip-path: polygon(100% 0,100% 60%,calc(100% - 1.5em) 100%,0 100%,0 0);
color: var(--color-logo);
font-size: 1.6rem;
font-weight: 700;
line-height: 1.4;
padding: 1em 5em 1em 4em;
display: block;
position: relative;
}
.link a::after {
content: "";
background: url("img/arw_n.svg") no-repeat center;
background-size: .8rem;
width: 2.3rem;
height: 2.3rem;
border: 1px solid var(--color-logo);
border-radius: 50%;
position: absolute;
top: 50%;
right: 2em;
transform: translateY(-50%);
}
.link a:hover {
background: var(--color-logo);
color: #FFF;
}
.link a:hover::after {
background: url("img/arw_w.svg") no-repeat center;
background-size: .8rem;
border: 1px solid #FFF;
}

/* .more */
.more a {
background: var(--gradient-deep);
color: #FFF;
font-size: 2rem;
font-weight: 700;
padding: 1em 5em 1em 3em;
display: inline-block;
border-radius: 50vh;
position: relative;
}
.more.reverse a {
background: var(--color-deep);
}
.more a::after {
content: "";
background: url("img/arw_w.svg") no-repeat center/contain;
width: 1.2rem;
height: 1.2rem;
position: absolute;
top: 50%;
right: 2em;
transform: translateY(-50%);
}
.more a:hover,
.more.reverse a:hover {
background: var(--color-sky);
}

/* tab */
.tab-group {
margin-top: 3rem;
display: flex;
gap: .6rem;
}
.tab-group .tab {
background: #F0EDEC;
color: var(--color-logo);
font-size: 1.6rem;
font-weight: 700;
line-height: 1.2;
letter-spacing: normal;
text-align: center;
padding: .5em;
display: flex;
justify-content: center;
align-items: center;
border-radius: 1rem 1rem 0 0;
cursor: pointer;
flex: auto;
}
.tab-group .tab.active {
background: var(--color-logo);
color: #F0EDEC;
}
.panel-group .panel {
display: none;
}
.panel-group .panel.show {
display: block;
}

/* Swiper */
.swiper {
padding-bottom: 12rem;
}
.swiper-wrapper {
padding: 1.5rem 0 4rem;
}
.swiper-slide {
background: #FFF;
color: #000;
clip-path: polygon(0 0,100% 0,100% calc(100% - 5rem),calc(100% - 5rem) 100%,0 100%);
height: auto;
padding-bottom: 1em;
display: flex;
flex-direction: column;
}
.swiper-slide .inner {
padding: .5em 1em;
}
.swiper-slide .inner h3 {
color: var(--color-logo);
font-size: 2rem;
line-height: 1.4;
margin: 1rem 0;
}
.swiper-slide figure {
margin-top: auto;
padding: 1em;
}
.swiper-slide > h3 {
background: var(--gradient-deep);
clip-path: polygon(37% 1.8rem, 100% 1.8rem, 100% 100%, 0% 100%, 0 0, 32% 0);
color: #FFF;
font-size: 2rem;
line-height: 1.4;
margin-top: -1.8rem;
padding: 1.5em 1em .5em;
}
#case .swiper-slide > h3 {
font-size: 1.6rem;
}
#interests .swiper-slide > h3 {
background: #FFF;
color: var(--color-logo);
}
.swiper-slide p {
max-height: 200px;
overflow-y: auto;
}

.swiper-nav {
display: flex;
justify-content: center;
align-items: center;
gap: 1rem;
}
.swiper-pagination {
width: auto !important;
position: static !important;
transform: none !important;
}
.swiper-pagination {
display: flex;
gap: .5rem;
}
.swiper-pagination-bullet {
background: #9FA0A0;
width: 1.2rem;
height: 1.2rem;
opacity: 1;
}
.swiper-pagination-bullet-active {
background: var(--color-logo);
}
.swiper-prev,
.swiper-next {
background: #FFF;
width: 3.8rem;
height: 3.8rem;
border: 1px solid var(--color-logo);
border-radius: 50%;
position: relative;
cursor: pointer;
}
.swiper-prev::before,
.swiper-next::before {
content: "";
background: url("img/arw_n.svg") no-repeat center/contain;
width: 1.2rem;
height: 1.2rem;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.swiper-prev::before {
transform: translate(-50%, -50%) rotate(180deg);
}
.swiper-prev:hover,
.swiper-next:hover {
background: var(--color-logo);
}
.swiper-prev:hover::before,
.swiper-next:hover::before {
background: url("img/arw_w.svg") no-repeat center/contain;
}


/* main
------------------------------------------------------------ */
/* #kv */
#kv h1 img {
width: 100vw;
}

/* #message */
#message h1 img {
width: 100vw;
}
#message section {
padding: 3rem 0 10rem;
}
#message section::before {
content: "";
background: url("img/message.png") no-repeat top right/contain;
width: 34vw;
height: 100%;
position: absolute;
top: 6rem;
right: calc(50% - 50vw);
z-index: -1;
}
#message p {
font-size: 2.1rem;
text-shadow: 1px 1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, -1px -1px 0 #FFF;
padding: 1.5rem 0;
}
#message p strong {
font-size: 2.7rem;
line-height: 1.6;
}

/* #what */
#what {
background: var(--bg-gray);
margin-bottom: 4rem;
}
#what h1 span {
margin-top: -1em;
}
#what h1 strong {
white-space: nowrap;
}
#what p {
font-size: 2.1rem;
padding-top: 3rem;
}
#what figure {
text-align: center;
margin-top: 2.5rem;
}
#what figcaption {
color: var(--color-primary);
font-size: 3.4rem;
font-weight: 700;
line-height: 1.6;
padding: 2.5rem 0 9rem;
}

/* #club2160 */
#club2160 {
margin-bottom: 6rem;
}
#club2160 h1 {
margin-bottom: -1em;
position: relative;
z-index: -1;
}
#club2160 h1 span {
font-family: var(--font-base);
font-size: 11.3rem;
letter-spacing: -.1em;
padding-right: .1em;
display: block;
background: var(--gradient-deep);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
#hometown-tax {
display: none;
padding-top: 3rem;
}
#hometown-tax.open {
display: block;
}
#tgl_hometown-tax.active::after {
transform: translateY(-50%) rotate(90deg);
}

/* #u-23 */
#u-23 {
margin-bottom: 3rem;
}
#u-23 h1 {
text-align: right;
margin-bottom: -1.1em;
position: relative;
z-index: -1;
}
#u-23 h1 span {
display: block;
background: var(--gradient-deep);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

/* #o-60 */
#o-60 h1 {
margin-bottom: -1em;
position: relative;
z-index: -1;
}
#o-60 h1 span {
font-family: var(--font-base);
font-size: 11.3rem;
padding-right: .1em;
display: block;
background: var(--gradient-deep);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

/* #solution */
#solution {
padding: 6rem 0;
}
#solution p {
font-size: 2.1rem;
padding: 1.5rem 0;
}
#solution figure {
margin-top: 5rem;
}

/* #case */
#case {
margin-bottom: 14rem;
}

/* #why */
#why {
margin-bottom: 4rem;
padding-bottom: 9rem;
}
#why .grid {
display: grid;
grid-template-columns: 62% 30%;
justify-content: space-between;
}
#why h2 {
margin-bottom: 3rem;
}
#why h3 {
margin-top: 5rem;
position: relative;
}
#why h3 span {
padding-left: .5em;
opacity: .7;
position: absolute;
bottom: -.5em;
}
.checkered {
background: 
linear-gradient(90deg, rgba(220,231,234,.1) .3px, transparent .3px) 0 0 / 1.5rem 1.5rem,
linear-gradient(rgba(220,231,234,.1) .3px, transparent .3px) 0 0 / 1.5rem 1.5rem,
rgba(255,255,255,.1);
clip-path: polygon(calc(100% - 9rem) 0,100% 9rem,100% 100%,0 100%,0 0);
margin-bottom: 6rem;
padding: 3em 2em 2em;
}
.checkered p {
font-size: 2rem;
font-weight: 600;
}
.checkered p em {
font-size: 2.4rem;
}
.checkered p strong {
font-size: 3.2rem;
font-weight: 600;
}
.checkered ul {
text-align: center;
margin-top: 3rem;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 3rem;
}
.checkered ul p {
font-size: 1.6rem;
font-weight: 700;
line-height: 1.4;
margin-top: 1rem;
}
.checkered ul h4 {
font-size: 2.3rem;
line-height: 1.4;
background: linear-gradient(to right, #1effd8, #00f4ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

/* #lineup */
#lineup::after {
content: "";
background: url("img/lineup_bg.jpg") no-repeat center/cover;
width: 100%;
height: 100%;
position: absolute;
top: 30%;
left: 0;
}
#lineup h1 {
line-height: 1.2;
}
#lineup h2 {
margin: -1.1em 0;
}
#lineup h2 span {
background: var(--gradient-deep);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
#lineup section > p {
font-size: 2.1rem;
padding: 1.5rem 0;
}

/* #interests */
#interests h1 {
line-height: 1.2;
}
#interests h1 span {
margin-top: -9rem;
}
#interests h2 em {
display: block;
transform: skew(-8deg);
}
#interests h2 + p {
font-size: 2.1rem;
padding: 1.5rem 0;
}

/* #contact */
#contact {
color: #FFF;
text-align: center;
padding: 10rem 0;
}
#contact::before {
content: "";
background: url("img/contact_bg.jpg") no-repeat center/cover;
width: 100%;
height: calc(100% + 3.5rem + 1px);
position: absolute;
bottom: 0;
left: 0;
z-index: -1;
}
#contact h2 {
margin-bottom: 3rem;
}
#contact h2 em {
font-size: 3.1rem;
}

/* #partner */
#partner {
text-align: center;
padding: 6rem 0 12rem;
}
#partner ul {
margin: 6rem auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 6rem;
}
#partner ul li {
flex: 0 1 calc((100% - 12rem) / 3);
}
#partner .more {
margin: 6rem 0;
}


/* footer
------------------------------------------------------------ */
footer {
background: var(--color-logo);
color: #FFF;
text-align: center;
}
footer section {
padding: 10rem 0 3rem;
/*padding: 10rem 0;*/
}
footer #logo {
background: var(--color-logo);
aspect-ratio: 1 / 1;
width: 24rem;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
position: absolute;
top: -10rem;
left: 50%;
transform: translateX(-50%);
z-index: -1;
}
footer h1 em {
font-weight: 700;
}
footer h1 {
font-size: 1.8rem;
font-weight: 500;
margin: 1em 0;
}
footer p {
font-size: 1.6rem;
font-weight: 400;
}

/* #pagetop */
#pagetop {
display: none !important;
position: fixed;
right: 1%;
bottom: 1%;
z-index: 4;
}
#pagetop a {
background: var(--color-sky);
font-family: var(--font-en);
font-weight: 600;
font-size: 1.3rem;
color: #FFF;
width: 10rem;
height: 10rem;
padding-top: 7rem;
display: block;
}
#pagetop a::before {
content: "";
width: 4rem;
height: 4rem;
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
transform: rotate(-45deg);
position: absolute;
top: 4rem;
right: 3rem;
}

/* #form */
#form {
position: fixed;
right: 1%;
bottom: 1%;
z-index: 4;
}





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

/* common
------------------------------------------------------------ */
/* layout */
section {
width: 92%;
}

/* .corner */
.corner::before,
.topic {
width: 100vw;
}

}


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

/* set
------------------------------------------------------------ */
.pc {
display: none;
}
.smd {
display: block;
}

/* common
------------------------------------------------------------ */
/* background */
article.grad-deep h1 {
text-align: left;
}
article.grad-deep h1 span {
margin-top: 0;
}

/* title */
main h1 span {
font-size: 8.8rem;
}
main h1 strong {
font-size: 3rem;
}
main h1:has(small) span small {
font-size: 6rem;
}
main h2 strong {
font-size: 4.1rem;
}
main h2 span {
font-size: 5.2rem;
}
main h2 em {
font-size: 3rem;
}
main h2:has(strong) em {
font-size: 2.4rem;
}
main h3 span:not(.label) {
font-size: 4.6rem;
}

/* .corner */
.corner .grid {
grid-template-columns: 1fr;
}
.corner .grid ol {
margin-bottom: 3rem;
}

figure.corner.grid {
grid-template-columns: 1fr;
}

/* tab */
.tab-group {
flex-wrap: wrap;
}
.tab-group .tab {
padding: .8em 2em;
border-radius: 0;
flex: 0 1 auto;
}

/* main
------------------------------------------------------------ */
/* #message */
#message section::before {
opacity: .6;
}
#message h2 img {
width: 60%;
}

/* #what */
#what figcaption {
font-size: 2.7rem;
}

/* #club2160 */
#club2160 h1 {
margin-bottom: 0;
}
#club2160 h1 span {
font-size: 8rem;
}

/* #o-60 */
#o-60 h1 {
margin-bottom: -.7em;
}
#o-60 h1 span {
font-size: 8rem;
}

/* #why */
#why .grid {
margin-bottom: 10rem;
grid-template-columns: 1fr;
position: relative;
}
#why .grid::before {
content: "";
background: url("img/logo_bg.svg") no-repeat center/contain;
width: 15vw;
aspect-ratio: 304 / 387;
position: absolute;
top: -3rem;
right: 6%;
}
.checkered p em {
font-size: 2.2rem;
}
.checkered p strong {
font-size: 2.4rem;
}
.checkered ul h4 {
font-size: 1.8rem;
}

/* #interests */
#interests h1 {
line-height: 1;
}

}


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

/* set
------------------------------------------------------------ */
.smd,
.smp-none {
display: none;
}
.smp {
display: block;
}
br.smp {
font-size: 0;
}

/* common
------------------------------------------------------------ */
/* background */
article.grad-deep {
margin-top: 6rem;
}

/* title */
main h1 span {
font-size: 6rem;
}
main h1 strong {
font-size: 2rem;
}
main h1:has(small) span small {
font-size: 4rem;
}
main h2 strong {
font-size: 3rem;
line-height: 1.2;
margin-bottom: 1rem;
}
main h2 span {
font-size: 3.8rem;
}
main h2 em {
font-size: 2.4rem;
}
main h2:has(strong) em {
font-size: 2rem;
line-height: 1.2;
display: block;
}
main h2 span small {
font-size: 4.8rem;
}
main h3 span:not(.label) {
font-size: 3rem;
}

/* .corner */
.corner header div img {
max-width: 100px;
}
.topic {
top: 2px;
}
.topic img {
width: 50%;
}
.corner .grid ol li:before {
font-size: 4rem;
width: 8rem;
}
.corner .grid ol li {
padding-left: 8rem;
}
.corner .grid ol li strong {
font-size: 2rem;
}

/* .link */
.link {
text-align: center;
flex-direction: column;
}

/* .more */
.more a {
font-size: 1.8rem;
padding: 1em 3em 1em 2em;
}
.more a::after {
right: 1em;
}

/* tab */
.tab-group .tab {
font-size: 1.2rem;
padding: .8em;
}

/* Swiper */
.swiper {
padding-bottom: 6rem;
}

/* main
------------------------------------------------------------ */
/* #message */
#message section {
padding: 3rem 0 5rem;
}
#message section::before {
opacity: 1;
top: 0;
}
#message h2 img {
width: 70%;
}
#message p {
font-size: 1.7rem;
}
#message p strong {
font-size: 2.1rem;
}

/* #what */
#what {
margin-bottom: 5rem;
padding-top: 3rem;
}
#what h1 span {
margin-top: 0;
}
#what p {
font-size: 1.7rem;
}
#what figcaption {
font-size: 2.2rem;
padding: 2.5rem 0 6rem;
}

/* #club2160 */
#club2160 h1 span {
font-size: 5rem;
margin-bottom: 3rem;
}

/* #u-23 */
#u-23 {
margin-bottom: 6rem;
}
#u-23 h1 span {
font-size: 5rem;
margin-bottom: 3rem;
}

/* #o-60 */
#o-60 h1 span {
font-size: 5rem;
margin-bottom: 2rem;
}

/* #solution */
#solution {
padding-bottom: 1rem;
}
#solution figure {
margin-top: -8rem;
position: relative;
z-index: -1;
}

/* #case */
#case {
margin-bottom: 6rem;
}

/* #why */
#why {
padding-bottom: 3rem;
}
#why .grid {
margin-bottom: 5rem;
}
#why .grid::before {
width: 18vw;
top: -6rem;
}
#why h2 em {
white-space: nowrap;
}
#why h3 span {
text-align: right;
display: block;
margin-bottom: -.5em;
position: static;
}
.checkered {
clip-path: polygon(calc(100% - 3rem) 0,100% 3rem,100% 100%,0 100%,0 0);
padding: 1.5em 1em 1em;
}
.checkered p {
line-height: 1.4;
}
.checkered p em {
font-size: 2rem;
}
.checkered p strong {
font-size: 2.2rem;
}
.checkered ul {
grid-template-columns: repeat(2, 1fr);
}
.checkered ul p {
font-size: 1.4rem;
}

/* #lineup */
#lineup h1 {
margin-bottom: 3rem;
}
#lineup h2 span {
background: var(--gradient-light);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: -1.1em;
position: relative;
z-index: 1;
}

/* #interests */
#interests {
padding-bottom: 6rem;
}
#interests h1 {
line-height: 1;
}
#interests h1 span {
margin: 1rem 0;
}

/* #contact */
#contact {
padding: 6rem 0;
}
#contact h2 em {
font-size: 2.2rem;
}

/* #partner */
#partner {
padding: 6rem 0;
}
#partner ul {
margin: 3rem auto;
gap: 3rem;
}
#partner ul li {
flex: 0 1 calc((100% - 6rem) / 2);
}

/* footer
------------------------------------------------------------ */
footer section {
padding: 8rem 0;
padding: 6rem 0 9rem;
}
footer #logo {
width: 16rem;
top: -7rem;
}
footer #logo img {
width: 8rem;
}
footer h1 {
font-size: 1.5rem;
}
footer p {
font-size: 1.1rem;
}

/* #pagetop */
#pagetop {
right: 0;
bottom: 0;
}
#pagetop a {
font-size: 1rem;
width: 6rem;
height: 6rem;
padding-top: 3.5rem;
}
#pagetop a::before {
width: 2rem;
height: 2rem;
top: 2rem;
right: 2rem;
}

/* #form */
#form {
width: 8rem;
right: 0;
bottom: 0;
}

}