/* リセットと全体レイアウト（ly_*）。原文: spec/root-vars.css */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:62.5%;scroll-behavior:initial;scrollbar-gutter:stable;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-tap-highlight-color:transparent}
body{font-feature-settings:"palt";-webkit-font-smoothing:antialiased;background-color:var(--color-body);color:var(--color-text-heading);font-weight:400;line-height:1;font-family:var(--font-ja);font-size:1.6rem}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
figure{margin:0}
.u_sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.ly_bg{z-index:-1;position:fixed;top:0;left:0;width:100%;height:100%}
.ly_bg_slider,.ly_bg_slider .splide,.ly_bg_slider .splide__track{display:block;width:100%;height:100%}
/* フェード：全スライドを同じ位置に重ね、透明度（Splide が付ける opacity の transition）だけで切り替える */
.ly_bg_slider .splide__list{position:relative;display:block;width:100%;height:100%;transform:none!important}
.ly_bg_slider .splide__slide{position:absolute!important;top:0;left:0;transform:none!important}
.ly_bg_slider .splide__slide{display:block;width:100%;height:100lvh}
.ly_bg_slider .splide__slide>div,.ly_bg img{display:block;width:100%;height:100%;object-fit:cover}
.ly_bg:before{display:block;z-index:10;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#00000080;content:""}
.ly_left{display:grid;position:fixed;top:0;left:0;place-items:center;width:calc(50% - 18.75rem);height:100lvh}
.ly_left_logo{display:block;width:19rem;transition:opacity .3s}
.ly_right{display:grid;position:fixed;top:0;right:0;place-items:center;width:calc(50% - 18.75rem);height:100lvh}
.ly_right_nav{width:25rem}
.ly_right_links{display:grid;gap:2.4rem}
.ly_right_linksItem{display:flex;position:relative;align-items:center;justify-content:space-between;transition:opacity .3s ease-out}
.ly_right_linksItemJa{display:block;margin-top:.2rem;color:#fff;font-weight:400;font-size:2rem;font-family:var(--font-ja-heading)}
.ly_right_linksItemIcon{display:grid;position:absolute;top:0;right:0;place-items:center;aspect-ratio:1;width:2rem;border-radius:50%;background-color:#fff;color:var(--color-text-heading)}
.ly_right_linksItemIcon svg{display:block;position:relative;left:.1rem;width:.6rem;height:1.1rem}
.ly_right_sns{display:flex;align-items:center;margin-top:3.2rem;gap:2.2rem}
.ly_right_snsItem{display:block;aspect-ratio:1;width:3.8rem;color:#fff;transition:opacity .3s}
.ly_right_snsItem svg{width:100%;height:100%}
.ly_wrapper{display:block;z-index:0;position:relative;width:37.5rem;margin:0 auto;background-color:var(--color-wrapper);overflow:hidden}
.ly_wrapperBg{z-index:-1;position:fixed;top:0;left:50%;width:37.4rem;height:100lvh;transform:translate(-50%);pointer-events:none;
  background-color:var(--color-wrapper);
  background-image:radial-gradient(circle at 0 0,transparent 0 1.6rem,rgba(23,37,44,.05) 1.6rem 1.7rem,transparent 1.7rem);
  background-size:3.2rem 3.2rem}
.ly_inner{width:min(100% - 6.4rem,128rem);margin:0 auto}

/* 共通部品 */
.el_btn{display:block;width:100%;padding:1.6rem;border:2px solid var(--color-blue);border-radius:10rem;background-color:var(--color-blue);color:#fff;font-weight:700;font-size:1.4rem;font-family:var(--font-ja);letter-spacing:.056rem;text-align:center;transition:background-color .3s ease-out,color .3s ease-out}
.el_btn[data-color=white]{background-color:#fff;color:var(--color-text-heading)}
.el_secHeading{color:var(--color-text-heading);text-align:center}
.el_secHeading[data-color=white]{color:#fff}
.el_secHeading_main{font-weight:700;font-size:4rem;font-family:var(--font-en)}
.el_secHeading_sub{margin-top:.5rem;font-weight:400;font-size:1.4rem;font-family:var(--font-ja-heading);letter-spacing:.07rem}
/* 原本の波柄画像（el_deco）の代わり：CSSの同心円弧 */
.el_deco{display:block;aspect-ratio:1;width:100%;border-radius:50%;
  background:repeating-radial-gradient(circle at 50% 50%,transparent 0 .9rem,rgba(23,37,44,.12) .9rem 1.05rem)}
.el_ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#c9c3b8,#9d968b);color:#fff;font-size:1.2rem;font-weight:700;letter-spacing:.1em;text-align:center;line-height:1.6}

@media (hover:hover){
  .ly_left_logo:hover,.ly_right_linksItem:hover,.ly_right_snsItem:hover{opacity:.6}
  .el_btn:hover[href]{background-color:#fff;color:var(--color-blue)}
}
@media screen and (max-width:960px){
  .ly_wrapper,.ly_wrapperBg{width:100%}
  .ly_bg,.ly_left,.ly_right{display:none}
}

/* テキストロゴ（ASSET-PENDING: A-logo の仮） */
.el_textLogo{display:flex;flex-direction:column;align-items:center;color:#fff;font-family:var(--font-ja-heading);line-height:1}
.el_textLogo_sub{font-size:1.2rem;letter-spacing:.3em}
.el_textLogo_main{margin-top:.6rem;font-size:3.2rem;letter-spacing:.12em;white-space:nowrap}
.el_textLogo_en{margin-top:1.2rem;font-family:var(--font-en);font-size:1.1rem;font-weight:500;letter-spacing:.32em}
.el_textLogo--lg .el_textLogo_sub{font-size:2rem}
.el_textLogo--lg .el_textLogo_main{margin-top:1rem;font-size:4.4rem;white-space:nowrap}
.el_textLogo--lg .el_textLogo_en{font-size:1.4rem;margin-top:1.8rem}
.el_textLogo--sm{flex-direction:row;align-items:baseline;gap:.8rem}
.el_textLogo--sm .el_textLogo_sub{font-size:1.1rem;letter-spacing:.2em}
.el_textLogo--sm .el_textLogo_main{margin-top:0;font-size:2rem;letter-spacing:.1em}
.ly_bg_slider .splide__slide img{display:block;width:100%;height:100%;object-fit:cover}
/* 公式ロゴ（紙地を透明にした白線のPNG） */
.ly_left_logo img{display:block;width:100%;height:auto}
