@charset "UTF-8";

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:0 0}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}li{list-style:none}img{vertical-align:bottom;flex-shrink:0;margin:0;padding:0;line-height:1}ul{list-style-type:none;margin-block-start:0;margin-block-end:0;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0}
a:focus {
outline: none;
}

a:focus-visible {
outline: none;
}

html{
margin: 0;
padding: 0;
}

* {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
margin: 0;
padding: 0;
}

h1, h2, h3, h4, h5{

}

#swup {
margin: 0;
padding: 0;
}


body{
overscroll-behavior-y: none;

background: #fff;
position: relative;
width: 100%;
margin: 0;
padding: 0;
overflow-x: hidden;

font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;

font-family: neue-haas-grotesk-text, sans-serif;
font-weight: 400;
font-style: normal;

font-family: neue-haas-grotesk-text, sans-serif;
font-weight: 500;
font-style: normal;

/*Neue Haas Grotesk*/
font-family: neue-haas-grotesk-text, sans-serif;
font-weight: 700;
font-style: normal;


font-family: "helvetica-neue-lt-pro", sans-serif;
font-weight: 400;
font-style: normal;

font-family: "helvetica-neue-lt-pro", sans-serif;
font-weight: 700;
font-style: normal;

-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;

text-size-adjust: 100%;/*スマホ回転*/
-webkit-text-size-adjust: 100%;
}


/*スクロールバー非表示*/
html,
body {
-ms-overflow-style: none;  /* IE, Edge */
scrollbar-width: none;     /* Firefox */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;             /* Chrome, Safari */
}

::selection{
background: #FF9D1C;
color: #fff;
}

a{
text-decoration:none;
color:#fff;
}


.sp_show{
display: inline-block;
}
.pc_show{
display: none;
}




/* ===== コンテンツ領域 WebGLキャンバス（全画面） ===== */
#fx_canvas,
#bow_canvas {
position: fixed;
z-index: 5;

top: 0;
left: 0;

pointer-events: none;
}

/* パーティクル生成後はキャプチャ元のDOMを隠す（全ページ共通） */
.fx-active #capture_target{ visibility: hidden; }

#stage {
width: 100%;
margin: 0;
padding: 0;
}

.text_area {
position: relative;

width: 100%;
margin: 0;
padding: 60px 12px 60px 12px;
box-sizing: border-box;
}

.text_area_layout {
position: relative;
margin: 0;
padding: 0;
}




/* ===== SP グローバルナビ ===== */
#global-nav {
position: fixed;
top: 0;
left: 0;
z-index: 200;

width: 100%;
padding: 14px 16px 14px 16px;

display: flex;
align-items: center;
gap: 20px;

pointer-events: none;

color:#fff;
mix-blend-mode: difference;
}


#global-nav a {
pointer-events: all;
text-decoration: none;

font-size: 11px;

color: #fff;

letter-spacing: 0.00em;
text-transform: uppercase;
}









/* スマホ終了
------------------------------------------------------------------------------------------- */
@media screen and (min-width: 768px) {

/* ===== コンテンツ領域 WebGLキャンバス（全画面） ===== */
#fx_canvas,
#bow_canvas {
position: fixed;
z-index: 5;
top: 0;
left: 0;

margin: 0;
padding: 0;
pointer-events: none;
}

#stage {
width: 100%;
}

.text_area {
position: relative;

width: 100%;
max-width: 1500px;
padding: 100px 50px 50px 50px;
box-sizing: border-box;
}

.text_area_layout {
position: relative;
}




/* ===== グローバルナビ ===== */

#global-nav {
position: fixed;
top: 0;
left: 0;
z-index: 200;

display: flex;
align-items: center;
gap: 32px;

width: 100%;
padding: 18px 40px 18px 40px;

pointer-events: none;

color: #fff;
mix-blend-mode: difference;
}

#global-nav a {
pointer-events: all;
text-decoration: none;

font-size: 12px;
color: #fff;
letter-spacing: 0.0em;

text-transform: uppercase;
}










}
