@charset "UTF-8";
/****************************************/
/*	inview															*/
/****************************************/
[data-inview]{
	opacity:0;
	transform:translateY(40px);
	transition:opacity .6s ease, transform .6s ease;
}

[data-inview].is-active{
	opacity:1;
	transform:translateY(0);
}

/****************************************/
/*	header															*/
/****************************************/
.ic-h { position:fixed; left:clamp(1rem, 4vw, 2rem); top:clamp(0rem, 4vw, 4rem); z-index:100; }
.ic-h-inner { padding-top:6.5em; }
.ic-h-logo { display:flex; flex-direction:row; align-items:center; gap:1.0rem; transition:transform .4s ease, opacity .3s ease; }
.ic-h-logo.is-hero { flex-direction:column; }
.ic-h-logo.is-compact { transform:scale(0.7); opacity:0.85; }
.ic-h-logo.is-compact .ic-h-logo-full { display:none; }
.ic-h-logo .ic-h-logo-mark { display:none; }
.ic-h-logo.is-compact .ic-h-logo-mark { display:flex; }

@media (max-width:768px){
	.ic-h-logo img { max-width:60%; }
	/* .ic-h-logo.is-hero .ic-h-logo-mark { display:flex; max-width:220px; }
	.ic-h-logo.is-compact .ic-h-logo-mark { display:none; }
	.ic-h-logo.is-hero .ic-h-logo-type { display:none; }
	.ic-h-logo.is-compact .ic-h-logo-type { display:flex; opacity:1; } */
}

/* =================================
	 KV
================================= */
.ic-kv { position:relative; overflow:hidden; margin-block-start:5rem; }
.ic-kv-inner { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; position:relative; z-index:3; width:88%; max-width:1080px; padding-inline:40px; margin:0 auto; }
.ic-kv-photo { position:relative; margin-inline:clamp(-240px, -12vw, -40px); aspect-ratio:1/1; transform: scale(.85); opacity: 0; transition: transform 1.2s cubic-bezier(.2,.2,.5,1), opacity .8s ease; }
.ic-kv-photo.is-active { transform: scale(1); opacity: 1; }
.ic-kv-photo figure { min-width:720px; margin:0; }
.ic-kv-photo img { display:block; width:100%; max-width:1000px; height:auto; margin:0 auto; }
.ic-kv-overlay { position:absolute; z-index:2; inset:0; pointer-events:none; display:flex; justify-content:center; align-items:center; mix-blend-mode:overlay; }
.ic-kv-overlay p { width:min(160vw,1000px); aspect-ratio:1/1; display:flex; justify-content:center; align-items:center; animation:kv-rotate360 120s linear 1; }
.ic-kv-overlay img { width:100%; height:100%; object-fit:contain; opacity:0.6; }

@keyframes kv-rotate360 { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }

.ic-kv-content { position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.ic-kv-text { position:relative; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; padding-top:9em; }
.ic-kv-text .ic-kv-catch { position:relative; margin-block-end:1.2em; color:rgb(var(--color-black)); line-height:1; font-size:clamp(1.25rem, 2rem + 3vw, 5rem); }
.ic-kv-text .ic-kv-catch span { opacity:0; will-change:opacity; }
.ic-kv-text .ic-kv-catch span:nth-child(1) { display:flex; transform:rotate(-3deg) translate(1.5em,-0.4em); }
.ic-kv-text .ic-kv-catch span:nth-child(2) { display:flex; transform:rotate(4deg) translate(-1.5em,0em); }
.ic-kv-text .ic-kv-catch span:nth-child(3) { display:flex; transform:rotate(-2deg) translate(0.5em,0.4em); }
.ic-kv-text .ic-kv-catch.is-active span{ opacity:1; transition:opacity 0.6s linear; }
.ic-kv-text .ic-kv-catch.is-active span:nth-child(1) { transition-delay:0.3s; }
.ic-kv-text .ic-kv-catch.is-active span:nth-child(2) { transition-delay:0.8s; }
.ic-kv-text .ic-kv-catch.is-active span:nth-child(3) { transition-delay:1.3s; }
.ic-kv-text p { display:flex; flex-direction:column; align-items:flex-start; line-height:1; font-size:clamp(1rem, 1.5vw + 0.5rem, 1.5rem); font-weight:bold; }
.ic-kv-text p span { display:inline; margin-block-end:0.4em; padding:0.35em 0.75rem; color:rgb(var(--color-white)); background:rgb(var(--color-primary)); opacity:0; transform:translateY(80px); transition:opacity 1.0s linear, transform 1.0s ease; will-change:opacity, transform; }
.ic-kv-text p span:nth-child(7) { margin-block-start:2em; margin-block-end:2.25em; }
.ic-kv-text p.is-active span{ opacity:1; transform:translateY(0); }
.ic-kv-text p.is-active span:nth-child(1){ transition-delay:1.0s; }
.ic-kv-text p.is-active span:nth-child(2){ transition-delay:1.1s; }
.ic-kv-text p.is-active span:nth-child(3){ transition-delay:1.2s; }
.ic-kv-text p.is-active span:nth-child(4){ transition-delay:1.3s; }
.ic-kv-text p.is-active span:nth-child(5){ transition-delay:1.4s; }
.ic-kv-text p.is-active span:nth-child(6){ transition-delay:1.5s; }
.ic-kv-text p.is-active span:nth-child(7){ transition-delay:1.6s; }
.ic-kv-text p.is-active span:nth-child(8){ transition-delay:1.7s; }
.ic-kv-text p.is-active span:nth-child(9){ transition-delay:1.8s; }

@media (max-width:1023px){
	.ic-kv-overlay{ mix-blend-mode:normal; }
	.ic-kv-text h2 span { will-change:opacity; }
}

/****************************************/
/*	section															*/
/****************************************/
.ic-s { margin-block-start:7.5em; }
.ic-s-inner { max-width:1280px; width:88%; margin-right:auto; margin-left:auto; }

@media (min-width:800px) {
}

/****************************************/
/*	news																*/
/****************************************/
.ic-news-head { --circle-size:min(50vw, 240px); display:grid; grid-template-columns:minmax(var(--circle-size), auto) minmax(0, 1fr); gap:clamp(1.5rem, 3vw, 3rem); align-items:end; justify-items:start; }
.ic-news-head-title { display:flex; flex-direction:column; justify-content:center; align-items:center; justify-self:start; position:relative; aspect-ratio:1/1; width:var(--circle-size); padding:clamp(2rem, 4vw, 3rem); }
.ic-news-head-title::after { content:''; position:absolute; inset:0; border:rgb(var(--color-primary)) clamp(5px, 0.8vw, 6px) solid; border-radius:100%; }
@media (max-width:680px){
	.ic-news-head { grid-template-columns:1fr; justify-items:center; }
	.ic-news-head-title { justify-self:center; }
}
.ic-news-head-title h2 { color:rgb(var(--color-primary)); line-height:1.0; }
.ic-news-head-title h2 small { display:flex; font-size:clamp(1.25rem, 2rem + 3vw, 3rem); font-weight:bold; }
.ic-s-news-head-photo { position:absolute; top:0; right:0; z-index:2; overflow:hidden; width:calc(var(--circle-size) * 0.4); aspect-ratio:1/1; border-radius:100%; transform:translate(30%, -10%); }
.ic-news-head-summary { width:100%; }
.ic-news-head-summary p {  }
.ic-s-news-head-catch { padding-bottom:0.65em; font-size:1.5rem; font-weight:bold; }
.ic-s-news-head-nav { display:flex; gap:1em; padding-top:2em; }
.ic-s-news-head-nav li {  }
.ic-s-news-head-nav a { display:inline-flex; align-items:center; color:rgb(var(--color-primary)); }
.ic-s-news-head-nav a::before { content:''; margin-right:0.25em; border:transparent 5px solid; border-left:rgb(var(--color-primary)) 5px solid; }
.ic-s-news-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:clamp(1rem, 2vw, 2rem); align-items:start; margin-block-start:2.5em; }
.ic-s-news-card { display:flex; flex-direction:column; margin-block-end:1.5em; color:inherit; text-decoration:none; transition:transform .3s ease, box-shadow .3s ease; }
.ic-s-news-media { position:relative; overflow:hidden; aspect-ratio:16/9; border-radius:0; transition:border-radius .4s ease; }
.ic-s-news-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.ic-s-news-label { display:inline-flex; align-items:center; position:absolute; top:0; left:0; z-index:2; padding:0.75em 1.5em; color:rgb(var(--color-white)); line-height:1; font-size:0.8rem; text-transform:uppercase; }
	.ic-s-news-label.is-pickup { background:rgb(var(--color-primary-orange)); }
	.ic-s-news-label.is-new { background:rgb(var(--color-primary-pink)); }
.ic-s-news-title { display:-webkit-box; overflow:hidden; padding-top:0.75em; line-height:1.6; font-size:0.9rem; font-weight:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
@media (hover: hover) and (pointer: fine) {
	.ic-s-news-card:hover { transform: translateY(-4px); }
	.ic-s-news-card:hover .ic-s-news-media{ border-radius:8px 8px 64px 8px; }
	.ic-s-news-card:hover .ic-s-news-media img { transform: scale(1.03); }
}

/****************************************/
/*	about																*/
/****************************************/
.ic-about { --arc-max:1800px; --arc-size:calc(clamp(900px, 80vw, var(--arc-max)) * 0.83); --ball-size:clamp( 140px, calc(var(--arc-size) * 0.18), 320px ); --arc-offset-x:clamp(-40px, calc(var(--arc-size) * 0.06), 120px); --content-offset-x:100px; --arc-y-scale:1; --arc-rotate-from:350deg; --arc-rotate-to:185deg; position:relative; }
.ic-about-inner { position:relative; overflow:hidden; width:100%; min-height:calc(var(--arc-size)); padding-bottom:calc(var(--ball-size) * 7); }
.ic-about-inner::before{ content:""; position:absolute; top:50%; left:var(--arc-offset-x); z-index:2;  width:var(--arc-size); aspect-ratio:1/1; border-radius:50%; background:url('../images/img-about.webp') center/cover no-repeat; transform:translateY(-50%); }
/* about-media */
.ic-about-media { display:block; position:absolute; z-index:2; overflow:hidden; top:50%; left:50%; width:56%; aspect-ratio:2/1; /*height:calc(var(--arc-size) * var(--photo-scale));*/ margin:0; overflow:hidden; border-radius:112px 0 0 0; transform:translate(60px,-50%); }
.ic-about-media img{ display:block; width:100%; height:100%; object-fit:cover; }
/* about-text */
.ic-about-content { display:flex; flex-direction:column; justify-content:center; position:absolute; inset:0; z-index:3; width:min(42vw, 40rem); padding:0 0 0 clamp(2rem, 6vw, 6rem); color:rgb(var(--color-white)); transform:translateX(var(--content-offset-x)); pointer-events:none; }
.ic-about-content h2{ line-height:1.4; font-size:clamp(1.5rem, 4vw, 3.2rem); }
.ic-about-content h2 small { display:block; padding-bottom:clamp(0.5rem, 4vw, 1rem); font-size:clamp(0.85rem, 4vw, 1.5rem); }
.ic-about-content h3 { padding:1em 0; width:clamp(14em, 2vw, 42em); }
.ic-about-content h3 img { width:100%; height:100%; object-fit:cover; }
.ic-about-content p { font-size:clamp(0.75rem, 2vw, 1rem); }
/* about-circle */
.ic-about-bg { position:absolute; top:50%; left:0; z-index:4; width:var(--arc-size); aspect-ratio:1/1; border-radius:100%; transform:translate(var(--arc-offset-x), -50%); }
.ic-about-rotator { position:absolute; inset:0; z-index:5; border-radius:100%; transform-origin:50% 50%; transform:rotate(-30deg); }
.ic-about-ball { --index:0; --angle:0deg; --scale:1; --radius-multiplier:1; display:flex; justify-content:center; align-items:center; position:absolute; top:50%; left:50%; /*width:calc(var(--arc-size) * 0.18); max-width:320px; min-width:140px;*/width:var(--ball-size); aspect-ratio:1/1; border-radius:50%; transform-origin:50% 50%; transform:translate(-50%, -50%) scale(calc(var(--scale) * 0.92)) rotate(var(--angle)) translateY(calc(var(--arc-size) / -2 * var(--radius-multiplier) * var(--arc-y-scale))); opacity:0; }
.ic-about-ball:nth-child(1) { --index:4; --angle:-58deg; background:rgb(var(--color-primary-lightgreen)); }
.ic-about-ball:nth-child(2) { --index:3; --angle:-80deg; background:rgb(var(--color-primary-orange)); }
.ic-about-ball:nth-child(3) { --index:2; --angle:-102deg; background:rgb(var(--color-primary-blue)); }
.ic-about-ball:nth-child(4) { --index:1; --angle:-124deg; background:rgb(var(--color-primary-peacock)); }
.ic-about-ball:nth-child(5) { --index:0; --angle:-146deg; background:rgb(var(--color-primary-purple)); }
.ic-about-ball-inner { display:flex; flex-direction:column; justify-content:center; position:relative; width:90%; max-width:320px; min-width:140px; aspect-ratio:1/1; padding:clamp(1.0rem, 2vw, 1.5rem); border-radius:50%; color:rgb(var(--color-white)); transform-origin:50% 50%; }
.ic-about-ball-inner h3 { line-height:1.3; font-size:clamp(0.7rem, 2vw, 0.85rem); }
.ic-about-ball-inner a { color:rgb(var(--color-white)); }
.ic-about-ball-inner small { display:block; margin-block-start:0.5rem; line-height:1.1; font-size:clamp(1.25rem, 1.5vw, 3.5rem); }
.ic-about-ball-inner figure { position:absolute; top:0; right:0; }
	.ic-about-ball:nth-child(1) .ic-about-ball-inner figure { top:clamp(3.35em, 1vw, 5.5em); right:clamp(1.5em, 1.5vw, 2em); width:clamp(1.25rem, 2.5vw, 6rem); }
	.ic-about-ball:nth-child(2) .ic-about-ball-inner figure { top:clamp(3.0em, 2vw, 4.75em); right:clamp(0.0em, 1vw, 2em); width:clamp(2.0rem, 2vw, 6rem); }
	.ic-about-ball:nth-child(3) .ic-about-ball-inner figure { top:clamp(3.75em, 1vw, 8em); right:clamp(1.25em, 1vw, 2em); width:clamp(3.0rem, 2vw, 6rem); }
	.ic-about-ball:nth-child(4) .ic-about-ball-inner figure { top:clamp(2.5em, 2vw, 4em); right:clamp(1.0em, 0.75vw, 4em); width:clamp(1.5rem, 3vw, 5rem); }
	.ic-about-ball:nth-child(5) .ic-about-ball-inner figure { top:clamp(2.25em, 2vw, 2.25em); right:clamp(0.0em, 0.75vw, 3.0em); width:clamp(1.5rem, 3.0vw, 6rem); }
.ic-about-ball-inner img {  }
@media (hover: hover) and (pointer: fine) {
	.ic-about-ball:nth-child(2):hover { background:rgba(var(--color-primary-orange),0.9); }
	.ic-about-ball:nth-child(4):hover { background:rgba(var(--color-primary-peacock),0.9); }
}

.ic-about-bg.is-active .ic-about-ball:nth-child(1) { animation-delay:0.55s; }
.ic-about-bg.is-active .ic-about-ball:nth-child(2) { animation-delay:0.40s; }
.ic-about-bg.is-active .ic-about-ball:nth-child(3) { animation-delay:0.28s; }
.ic-about-bg.is-active .ic-about-ball:nth-child(4) { animation-delay:0.15s; }
.ic-about-bg.is-active .ic-about-ball:nth-child(5) { animation-delay:0.05s; }
.ic-about-bg.is-active .ic-about-rotator { animation:arcMove 1.8s cubic-bezier(.25,.1,.2,1) forwards; }
.ic-about-bg.is-active .ic-about-ball { animation:ballIn 0.7s cubic-bezier(.33,.02,.18,1) forwards; /*animation-delay:calc(var(--index) * 0.12s);*/ }
.ic-about-bg.is-active .ic-about-ball-inner{ animation: innerReverse 1.8s cubic-bezier(.25,.1,.2,1) forwards; }

@keyframes arcMove { from{ transform:rotate(var(--arc-rotate-from)); } to{ transform:rotate(var(--arc-rotate-to)); } }
@keyframes ballFade { 0% { opacity:0; } 30% { opacity:1; } 100% { opacity:.7; } }
@keyframes ballIn {
	0% { opacity:0; transform:translate(-50%, -50%) scale(calc(var(--scale) * 0.7)) rotate(var(--angle)) translateY(calc(var(--arc-size) / -2 * var(--radius-multiplier) * var(--arc-y-scale) * 1.05 )); }
	100% { opacity:1; transform:translate(-50%, -50%) scale(var(--scale)) rotate(var(--angle)) translateY(calc(var(--arc-size) / -2 * var(--radius-multiplier) * var(--arc-y-scale))); }
}
@keyframes innerReverse { from{ transform: rotate( calc((var(--arc-rotate-from) + var(--angle)) * -1) ); } to{ transform: rotate( calc((var(--arc-rotate-to) + var(--angle)) * -1) ); } }

/* RESPONSIVE */
@media (max-width:768px){
	.ic-about { --arc-size: clamp(520px, 130vw, 900px); }
	.ic-about-inner::before{ width:var(--arc-size); left:-40vw; }
	.ic-about-media { display:block; position:absolute; z-index:2; overflow:hidden; top:87%; bottom:0; left:0; width:60%; aspect-ratio:2/1; border-radius:0 0 24px 0; /*height:calc(var(--arc-size) * var(--photo-scale));*/ margin:0; overflow:hidden; transform:translate(0,-100%); }
	.ic-about-media img{ display:block; width:100%; height:100%; object-fit:cover; }
	.ic-about-content { width:64%; padding:0; transform:translateX(12%); }
	.ic-about-content p { width:88%; }
	.ic-about-bg { --arc-offset-x:-40vw; --arc-y-scale:1; --arc-rotate-from:310deg; --arc-rotate-to:160deg; top:50%; }
	.ic-about-ball { --radius-multiplier:1.0; }
	.ic-about-ball:nth-child(1) { --angle:-16deg; }
	.ic-about-ball:nth-child(2) { --angle:-49deg; }
	.ic-about-ball:nth-child(3) { --angle:-81deg; }
	.ic-about-ball:nth-child(4) { --angle:-113deg; }
	.ic-about-ball:nth-child(5) { --angle:-145deg; }

	.ic-about-ball:nth-child(1) .ic-about-ball-inner figure { top:clamp(3.75em, 1vw, 5.5em); right:clamp(1.5em, 1.5vw, 2em); width:clamp(2.0rem, 2.5vw, 6rem); }
	.ic-about-ball:nth-child(2) .ic-about-ball-inner figure { top:clamp(5.0em, 2vw, 4.75em); right:clamp(2.0em, 1vw, 2em); width:clamp(2.25rem, 2vw, 6rem); }
	.ic-about-ball:nth-child(3) .ic-about-ball-inner figure { top:clamp(4.95em, 1vw, 8em); right:clamp(2.5em, 1vw, 2em); width:clamp(2.0rem, 2vw, 6rem); }
	.ic-about-ball:nth-child(4) .ic-about-ball-inner figure { top:clamp(2.5em, 2vw, 4em); right:clamp(1.5em, 0.75vw, 4em); width:clamp(2.5rem, 3vw, 5rem); }
	.ic-about-ball:nth-child(5) .ic-about-ball-inner figure { top:clamp(2.5em, 2vw, 2.25em); right:clamp(1.5em, 0.75vw, 3.0em); width:clamp(2.5rem, 3.0vw, 6rem); }
	@keyframes arcMove{ from{ transform:rotate(310deg); } to{ transform:rotate(160deg); } }
	/* about-text */
}

/****************************************/
/*	gallery															*/
/****************************************/
.ic-gallery { padding:0 0 2.5em 0; }
.ic-gallery-inner { }
.ic-gallery-head { width:88%; max-width:1280px; margin:0 auto; padding:0 0 2em 0; text-align:right; }
.ic-gallery-head h2 { padding-bottom:0.35em; color:rgb(var(--color-primary)); line-height:1.2; font-size:4.5rem; }
.ic-gallery-head p { font-size:0.875rem; }
.ic-gallery-photo { display:grid; gap:2.5vw; grid-template-columns:repeat(10, 1fr); grid-template-rows:repeat(3, auto); }
.ic-gallery-photo li { display:grid; width:100%; }
.ic-gallery-photo li:nth-child(1) { grid-row:1/3; grid-column:1/7; }
.ic-gallery-photo li:nth-child(2) { grid-row:1/2; grid-column:7/10; }
.ic-gallery-photo li:nth-child(3) { grid-row:2/3; grid-column:7/11; }
.ic-gallery-photo li:nth-child(4) { grid-row:3/4; grid-column:2/6; }
.ic-gallery-photo li:nth-child(5) { grid-row:3/4; grid-column:6/10; }
.ic-gallery-photo li:nth-child(1).is-active { transition-delay: .2s; }
.ic-gallery-photo li:nth-child(2).is-active { transition-delay: .4s; }
.ic-gallery-photo li:nth-child(3).is-active { transition-delay: .6s; }
.ic-gallery-photo li:nth-child(4).is-active { transition-delay: .8s; }
.ic-gallery-photo li:nth-child(5).is-active { transition-delay: 1s; }
.ic-gallery-photo li:nth-child(6) { display:none; }
.ic-gallery-photo li:nth-child(7) { display:none; }
.ic-gallery-photo li:nth-child(8) { display:none; }
.ic-gallery-photo figure { position:relative; overflow:hidden; width:100%; height:100%; }
.ic-gallery-photo li:nth-child(1) figure { border-radius:0 0 200px; }
.ic-gallery-photo li:nth-child(2) figure { border-radius:0 120px 0 0; }
.ic-gallery-photo li:nth-child(3) figure { border-radius:0 0 0 80px; }
.ic-gallery-photo li:nth-child(4) figure { border-radius:0 0 0 80px; }
.ic-gallery-photo li:nth-child(5) figure { border-radius:0 0 80px 0; }
.ic-gallery-photo figcaption { display:inline-flex; position:absolute; top:0; z-index:2; padding:0.85em 1.0em; color:rgb(var(--color-white)); line-height:1; font-size:0.875rem; background:rgba(var(--color-black),0.95); }
.ic-gallery-photo figure img { width:100%; height:100%; object-fit:cover; }
@media (max-width:768px){
	.ic-gallery-head { width:88%; inset:0; margin:0 auto; padding:0 0 2em 0; text-align:left; }
	.ic-gallery-head h2 { padding-bottom:0.35em; color:rgb(var(--color-primary)); line-height:1.2; font-size:1.5rem; }
	.ic-gallery-head p { font-size:0.875rem; }
	.ic-gallery-photo { grid-template-rows:repeat(4, auto); grid-template-columns:repeat(3, 1fr); gap:1.5vw; width:88%; margin:0 auto; }
	.ic-gallery-photo li { }
	.ic-gallery-photo li:nth-child(6),.ic-gallery-photo li:nth-child(7),.ic-gallery-photo li:nth-child(8) { display:grid; }
	.ic-gallery-photo li:nth-child(1) { grid-row:1/2; grid-column:1/4; }
	.ic-gallery-photo li:nth-child(2) { grid-row:2/3; grid-column:1/2; }
	.ic-gallery-photo li:nth-child(3) { grid-row:2/3; grid-column:2/3; }
	.ic-gallery-photo li:nth-child(4) { grid-row:2/3; grid-column:3/4; }
	.ic-gallery-photo li:nth-child(5) { grid-row:3/4; grid-column:1/2; }
	.ic-gallery-photo li:nth-child(6) { grid-row:3/4; grid-column:2/3; }
	.ic-gallery-photo li:nth-child(7) { grid-row:3/4; grid-column:3/4; }
	.ic-gallery-photo li:nth-child(1).is-active { transition-delay: .1s; }
	.ic-gallery-photo li:nth-child(2).is-active { transition-delay: .2s; }
	.ic-gallery-photo li:nth-child(3).is-active { transition-delay: .3s; }
	.ic-gallery-photo li:nth-child(4).is-active { transition-delay: .4s; }
	.ic-gallery-photo li:nth-child(5).is-active { transition-delay: .5s; }
	.ic-gallery-photo li:nth-child(6).is-active { transition-delay: .6s; }
	.ic-gallery-photo li:nth-child(7).is-active { transition-delay: .7s; }
	.ic-gallery-photo li:nth-child(1) figure { aspect-ratio:16/9; border-radius:24px 24px 0 0; }
	.ic-gallery-photo li:nth-child(2) figure { aspect-ratio:1/1; border-radius:0 0 0 0; }
	.ic-gallery-photo li:nth-child(3) figure { aspect-ratio:1/1; border-radius:0 0 0 0; }
	.ic-gallery-photo li:nth-child(4) figure { aspect-ratio:1/1; border-radius:0 0 0 0; }
	.ic-gallery-photo li:nth-child(5) figure { aspect-ratio:1/1; border-radius:0 0 0 24px; }
	.ic-gallery-photo li:nth-child(6) figure { aspect-ratio:1/1; border-radius:0 0 0 0; }
	.ic-gallery-photo li:nth-child(7) figure { aspect-ratio:1/1; border-radius:0 0 24px 0; }
}
/* modal */
.ic-modal{ display:flex; align-items:center; justify-content:center; position:fixed; inset:0; z-index:999; background:rgba(var(--color-black),0.85); opacity:0; visibility:hidden; transition:opacity .35s ease; pointer-events:none; }
.ic-modal.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
.ic-modal-inner { transform:scale(.95); transition:transform .35s ease; }
.ic-modal.is-open .ic-modal-inner { transform:scale(1); }
.ic-modal-image { position:relative; width:90vw; max-width:1200px; aspect-ratio:16/9; overflow:hidden; }
.ic-modal-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; backface-visibility:hidden; transition:opacity .35s ease; will-change:opacity; }
.ic-modal-image img.current { z-index:1; opacity:1; }
.ic-modal-image img.next { z-index:2; opacity:0; }
.ic-modal-close { display:flex; justify-content:center; align-items:center; position:fixed; top:12em; right:2em; z-index:5; width:50px; height:50px; margin:0; padding:0; border:0; border-radius:50%; background:rgb(var(--color-white)); cursor:pointer; }
.ic-modal-close svg { stroke:rgb(var(--color-black)); }
.ic-modal-prev { display:flex; justify-content:center; align-items:center; position:fixed; top:50%; left:1em; z-index:5; width:50px; height:50px; margin:0; padding:0; border:0; border-radius:50%; background:rgba(var(--color-black),0.9); transform:translate(0,-50%); cursor:pointer; }
.ic-modal-prev svg { stroke:rgb(var(--color-white)); }
.ic-modal-next { display:flex; justify-content:center; align-items:center; position:fixed; top:50%; right:1em; z-index:5; width:50px; height:50px; margin:0; padding:0; border:0; border-radius:50%; background:rgba(var(--color-black),0.9); transform:translate(0,-50%); cursor:pointer; }
.ic-modal-next svg { stroke:rgb(var(--color-white)); }
.ic-modal-caption { padding-top:1.0em; color:rgb(var(--color-white)); text-align:center; }
body.is-locked{ overflow:hidden; }
@media (max-width:768px){
	.ic-modal-close { top:8em; right:1em; z-index:5; width:50px; height:50px; }
	.ic-modal-prev { left:0; width:40px; height:40px; border-radius:0; }
	.ic-modal-next { right:0; width:40px; height:40px; border-radius:0; }
}

/****************************************/
/*	hub																	*/
/****************************************/
.ic-s-hub { position:relative; margin-block-start:5em; padding-top:calc(min(100%, 62.5vw) * 14 / 27 * 0.5);isolation:isolate; }
.ic-s-hub::after { content:''; position:absolute; top:0; left:0; aspect-ratio:27/14; width:100%; background:url('../images/img-hub.webp') left top / cover no-repeat; }
.ic-s-hub-inner {  }
.ic-s-hub-content { display:grid; grid-template-columns:repeat(auto-fit, minmax(480px, 1fr)); align-items:start; gap:2.5em; position:relative; z-index:2; }
.ic-s-hub-map { width: 100%; }
.ic-s-hub-map img { display: block; width:100%; height:auto; }
.ic-s-hub-text {  }
.ic-s-hub-text header { height:16vw; color:rgb(var(--color-white)); }
.ic-s-hub-text header h2 { font-size:clamp(1.25rem, 4vw, 4.5rem); }
.ic-s-hub-text header small { display:flex; padding-bottom:0.25em; }
.ic-s-hub-text p { margin-block-start:calc(min(100%, 62.5vw) * 14 / 27 * 0.75); }
.ic-s-hub-text .ic-s-btns { margin-block-start:0; text-align:left; }
@media (min-width:960px) {
.ic-s-hub::after { max-width:62.5vw; border-radius:0 240px 0 0; transition:border-radius 0.4s; }
.ic-s-hub-map img { max-width:100%; }
.ic-s-hub-text p { margin-block-start:calc(min(100%, 62.5vw) * 14 / 27 * 0.1); }
}
@media (max-width:768px){
	.ic-s-hub-content { grid-template-columns:repeat(1, 1fr); }
}

/****************************************/
/*	works																*/
/****************************************/
.ic-s-works { position:relative; overflow-x:hidden; margin-block-start:5em; }
.ic-s-works-inner { position:relative; }
.ic-s-works-inner p { display:flex; position:absolute; top:0; left:7.5%; z-index:3; color:rgb(var(--color-primary)); font-size:clamp(1.2rem, 3vw, 3.6rem); font-weight:bold; }
.ic-s-works dl { display:grid; grid-template-rows:auto auto; grid-template-columns:clamp(160px, 30vw, 520px) 1fr; grid-template-rows:clamp(160px, 30vw, 520px) auto; align-items:center; position:relative; padding-left:clamp(6%, 3vw, 4em); }
.ic-s-works dt { display:flex; justify-content:center; align-items:center; position:relative; z-index: 2; aspect-ratio: 1 / 1; border-radius:50%; background:rgb(var(--color-palegray)); }
.ic-s-works dt figure { max-width:60%; }
.ic-s-works dd { position:relative; height:100%; border-radius:520px 0 0 520px; background:url('../images/bg-works.webp') center center / cover no-repeat; }
.ic-s-works dd figure { display:flex; justify-content:flex-start; align-items:center; position:absolute; top:0; left:0; overflow:hidden; width:140%; height:100%; padding:40px 0 40px 180px; }
.ic-s-works dd figure img { width:auto; height:80%; object-fit:contain; }
.ic-s-works header { position:relative; z-index:2; margin-top:clamp(-1.5em, 4vw, -6em); color:rgb(var(--color-primary)); }
.ic-s-works header h2 { font-size:clamp(1.75rem, 4vw, 6rem); }

/****************************************/
/*	close																*/
/****************************************/
.ic-s-close { margin-block-start:8em; padding:5em 0; color:rgb(var(--color-white)); background:url('../images/img-close.webp') center center / cover no-repeat; }
.ic-s-close-inner { padding-right:0; }
.ic-s-close h2 { padding-bottom:0.25em; line-height:1; font-size:clamp(0.9rem, 3vw, 3rem); }
.ic-s-close p { font-size:clamp(0.9rem, 3vw, 1.5rem); }
.ic-s-close .ic-s-btns { padding-top:1.5em; text-align:left; }
.ic-s-close .ic-s-btn { border-color:rgb(var(--color-white)); color:rgb(var(--color-primary)); background:rgb(var(--color-white)); }
.ic-s-close .ic-s-btn:hover { color:rgb(var(--color-white)); }
.ic-s-close .ic-s-btn::after{ background:rgba(var(--color-primary)); }
.ic-s-close dl { display:flex; flex-direction:column; padding-top:1.5em; }
.ic-s-close dt { font-size:clamp(1.0rem, 3vw, 1.6rem); font-weight:bold; }
.ic-s-close dd { font-size:clamp(0.75rem, 3vw, 0.9rem); }
.ic-s-close dd b { display:block; font-size:clamp(0.9rem, 3vw, 1.2rem); font-weight:bold; }


/****************************************/
/*	function																*/
/****************************************/
.serif{ font-family:serif; }
.sp{ display:block; }
.d-ib { display:inline-block; }
.nwp { white-space:nowrap; }
@media (min-width:800px) {
	.sp { display:none; }
}
.inner {
width: calc(100% - 40px);
	max-width: 1240px;
	margin: 0 auto;
}