@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=LINE+Seed+JP&family=Noto+Sans+JP:wght@100..900&display=swap');

/****************************************/
/*	color: 		 													*/
/****************************************/
:root {
	--color-white:255,255,255;
	--color-black:33,33,33;
	--color-palegray:217,217,217;
	--color-gray:80,80,90;/*暫定*/
	--color-midgray:105,105,110;/*暫定*/
	--color-darkgray:150,150,150;
	--color-lightbluegray:238,243,249;
	--color-primary-blue:1,94,208;
	--color-primary-green:43,181,114;
}

/****************************************/
/*	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															*/
/****************************************/
.h { position:relative; width:100%; z-index:101; margin-block-end:1em; padding:1.0em; background:rgba(var(--color-white),0.8); backdrop-filter:blur(0); }
.h-inner { display:flex; justify-content:space-between; align-items:center; gap:1.0em; position:relative; }
.h-logo { display:inline-flex; align-items:center; align-self:stretch; padding-left:1.6rem; }
.h-logo img { min-width:200px; max-width:270px; height:auto; aspect-ratio:474/52; }
.h-aside { display:flex; justify-content:flex-end; align-items:center; gap:1.0em; padding-right:1.0em; }
.h-link { display:flex; justify-content:flex-end; align-items:center; gap:1.0em; font-size:14px; }
.h-link a { color:rgb(var(--color-black)); }
.h-lang { display:flex; justify-content:center; align-items:center; position:relative; top:0.1em; }
.h-lang svg { position:relative; top:0.1em; width:auto; height:1em; margin-right:0.25em; fill:rgb(var(--color-black)); }
.h-lang button { margin:0; paddign:0; border:0; border-radius:0; background:transparent; appearance:none; cursor:pointer; }
.h-lang button span { font-weight:bold; }
.h-search { margin:0; padding:0; border:0; appearance:none; }
.h-search-group { display:flex; justify-content:center; align-items:center; margin:0; padding:0; border:0; appearance:none; }
.h-search-input { display:flex; align-self:stretch; margin:0; padding:0.75em 1.5em; border:0; border-radius:0.25em 0 0 0.25em; font-size:16px; background:rgb(var(--color-white)); appearance:none; }
.h-search-button { display:flex; justify-content:center; align-items:center; align-self:stretch; width:4rem; aspect-ratio:1 / 1; margin:0; paddign:0; border:0; border-radius:0 0.25em 0.25em 0; background:rgb(var(--color-primary-blue)); appearance:none; cursor:pointer; }
.h-search-button svg { width:auto; height:1.6rem; fill:rgb(var(--color-white)); }
@media (hover: hover) and (pointer: fine){
}
@media (max-width:960px) {
	.h-link { display:none; }
	.h-lang {  }
}
@media (max-width:768px) {
	.h { position:relative; width:100%; z-index:101; margin-block-end:1em; padding:15px; background:rgba(var(--color-white),0.8); backdrop-filter:blur(0); }
	.h-inner { display:flex; justify-content:space-between; align-items:center; gap:1.0em; position:relative; }
	.h-logo { display:inline-flex; align-items:center; align-self:stretch; padding-left:0; }
	.h-logo img { min-width:100px; max-width:180px; height:auto; aspect-ratio:474/52; }
	.h-aside { display:flex; justify-content:flex-end; align-items:center; gap:1.0em; padding-right:1.0em; }
	.h-link { display:none; }
	.h-lang {  }
	.h-search { display:none; margin:0; padding:0; border:0; appearance:none; }
	.h-search-group { display:flex; justify-content:center; align-items:center; margin:0; padding:0; border:0; appearance:none; }
	.h-search-input { display:flex; align-self:stretch; margin:0; padding:0.75em 1.5em; border:0; border-radius:0.25em 0 0 0.25em; font-size:16px; background:rgb(var(--color-white)); appearance:none; }
	.h-search-button { display:flex; justify-content:center; align-items:center; align-self:stretch; width:4rem; aspect-ratio:1 / 1; margin:0; paddign:0; border:0; border-radius:0 0.25em 0.25em 0; background:rgb(var(--color-primary-blue)); appearance:none; cursor:pointer; }
	.h-search-button svg { width:auto; height:1.6rem; fill:rgb(var(--color-white)); }
}

/* nav */
.n { position:sticky; top:1em; z-index:200; margin-inline:1em; padding:0.5em 1.0em; border-radius:0.8rem; background:rgba(var(--color-white),0.9); box-shadow:0 0 4px 0 rgba(var(--color-black),0.1); backdrop-filter:blur(20px); transition:border-radius 0.2s ease; }
.n-trigger { display:none; }
.n.is-submenu-open { border-radius:0.8rem 0.8rem 0 0; }
.n > ul { display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:1em; width:100%; max-width:100%; }
.n > ul > li { display:flex; justify-content:center; align-items:center; width:12.5%; }
.n a { display:block; padding:0.5em 1.0em; border-radius:0.4rem; color:rgb(var(--color-black)); font-weight:bold; white-space:nowrap; background:rgba(var(--color-primary-blue),0); transition:color 0.4s ease,background 0.4s ease; }
.n a:focus-visible { color:rgb(var(--color-primary-blue)); }
.n a:focus-visible::after { transform:scaleX(1); }
.n-has-sub { /*position:relative;*/ }
.n div.n-sub { display:flex; flex-direction:column; gap:0; position:absolute; left:0; top:100%; width:100%; min-width:19.2rem; margin:0; padding:0.96rem 0; border:1px solid rgba(var(--color-black),0.08); border-radius:0.8rem; color:rgb(var(--color-white)); list-style:none; background:rgba(var(--color-primary-green),0.9); box-shadow:0 16px 30px rgba(0,0,0,0.12); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s ease, transform .18s ease, visibility .18s ease; z-index:1000; }
.n .n-sub li { display:block; }
.n .n-sub a { display:block; width:100%; padding:0; color:rgb(var(--color-white)); font-size:1.44rem; font-weight:bold; text-decoration:none; white-space:nowrap; }
.n .n-sub a:hover { color:rgb(var(--color-white)); background:rgba(var(--color-white),0.15); }
.n.is-active .n-sub { top:0; left:100%; gap:0.25em; }
.n.is-active .n-sub a { display:block; width:100%; padding:0.88rem 1.6rem; color:rgb(var(--color-black)); font-size:1.6rem; font-weight:normal; text-decoration:none; white-space:nowrap; }
.n-has-sub.is-open { border-radius:0.8rem 0.8rem 0 0; }
.n-has-sub.is-open > .n-sub { opacity:1; visibility:visible; transform:translateY(0); }

/* n-nav rewrite */
.n div.n-sub .n-sub-inner { display:flex; justify-content:space-between; gap:1em; padding:1em 0; }
.n div.n-sub .n-sub-photo { display:flex; width:36%; align-self:stretch; position:relative; min-height:320px; }
.n div.n-sub .n-sub-photo figure { position:absolute; overflow:hidden; width:100%; height:100%; }
.n div.n-sub .n-sub-photo figure img { width:100%; height:auto; object-fit:cover; }
.n div.n-sub .n-sub-text { display:flex; flex-direction:column; align-self:stretch; width:58%; }
.n div.n-sub .n-sub-text h2 { padding-bottom:0.5em; font-size:clamp(2.24rem, 6vw, 2.64rem); font-weight:bold; }
.n div.n-sub .n-sub-text .n-sub-wrap { display:flex; gap:0.5em; padding-right:1em; }
.n div.n-sub .n-sub-text .n-sub-wrap.x3 > * { width:calc((100% - 2em) / 3); }
.n div.n-sub .n-sub-text .n-sub-wrap.x4 > * { width:calc((100% - 2em) / 4); }
.n div.n-sub .n-sub-text h3 { position:relative; margin-bottom:0.5em; padding:0 0 0.25em 1.0em; border-bottom:rgb(var(--color-white)) 1px solid; font-size:clamp(1.6rem, 1.25vw, 1.68rem); font-weight:bold; }
.n div.n-sub .n-sub-text h3 a { padding:0; font-size:clamp(1.6rem, 1.25vw, 1.68rem); }
.n div.n-sub .n-sub-text h3::before { content:''; position:absolute; top:0.6em; left:0; width:8px; height:8px; border-top:rgb(var(--color-white))1px solid; border-right:rgb(var(--color-white))1px solid; transform-origin:center center; transform:rotate(45deg); }
.n div.n-sub .n-sub-text .n-sub-list { display:flex; flex-direction:column; gap:0; }
.n div.n-sub .n-sub-text .n-sub-nav { display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:0; margin-block-end:0.5em; }
.n div.n-sub .n-sub-text .n-sub-nav.adjust { margin-block-end:2.115em; }
.n div.n-sub .n-sub-text .n-sub-nav li { position:relative; margin-bottom:0.1em; padding-left:1.0em; font-size:inherit; text-align:left; }
.n div.n-sub .n-sub-text .n-sub-nav li::before { content:''; position:absolute; top:0.6em; left:0.5em; border:transparent 3px solid; border-left:rgb(var(--color-white)) 3px solid; }
.n div.n-sub .n-sub-text .n-sub-nav a { position:relative; padding:0; font-size:1.6rem; text-align:left; }
.n div.n-sub .n-sub-text .n-sub-nav a:hover { background:transparent; }
.n div.n-sub .n-sub-text .n-sub-nav a::before { content:''; position:absolute; bottom:0; left:0; width:100%; height:1px; background:rgb(var(--color-white)); transform-origin:left center; transform:scaleX(0); transition:transform 0.2s ease; }
.n div.n-sub .n-sub-text .n-sub-nav a:hover::before { transform:scaleX(1); }
.n div.n-sub .n-sub-text .n-sub-nav li ul { flex-direction:column; }

@media (hover: hover) and (pointer: fine){
	.n a:hover { color:rgb(var(--color-primary-blue)); background:rgba(var(--color-primary-blue),0.2); }
}
@media (max-width:768px){
	.n { display:flex; justify-content:flex-end; position:sticky; top:1em; z-index:200; margin-inline:0.8rem; padding:0.8rem; border-radius:0.8rem; background:rgba(var(--color-white),0); box-shadow:0 0 0 0 rgba(var(--color-black),0); backdrop-filter:blur(0); transition:border-radius 0.2s ease; }
	.n-trigger { display:flex; justify-content:center; align-items:center; position:fixed; top:1.6rem; right:1.6rem; width:40px; height:40px; margin:0; padding:10px; border:0; border-radius:0.8rem; background:rgba(var(--color-white),0.9); box-shadow:0 0 4px 0 rgba(var(--color-black),0.1); backdrop-filter:blur(20px); cursor:pointer; appearance:none; z-index:400; }
	.n-trigger span { display:block; position:absolute; top:50%; left:50%; width:14px; height:2px; background:rgb(var(--color-black)); box-shadow:0 5px 0 0 rgb(var(--color-black)), 0 -5px 0 0 rgb(var(--color-black)); transform-origin:center center; transform:translate(-50%,-50%); transition:box-shadow 0.2s ease, transform 0.2s ease; }
	.n-trigger.is-active span { box-shadow:0 0 0 0 rgb(var(--color-black)), 0 0 0 0 rgb(var(--color-black)); transform:translate(-50%,-50%) rotate(45deg); }
	.n-trigger.is-active span::after { content:''; display:block; position:absolute; top:50%; left:50%; width:14px; height:2px; background:rgb(var(--color-black)); transform-origin:center center; transform:translate(-50%,-50%) rotate(-90deg); }
	.n.is-submenu-open { border-radius:0.8rem 0.8rem 0 0; }
	.n > ul { display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:0; position:fixed; top:-1.0em; right:-1.0em; bottom:0; width:min(70%, 35.2rem); height:100dvh; margin:0; padding:9.6rem 2.4rem 3.2rem; overflow-y:auto; border-radius:0; background:rgba(var(--color-primary-green),0.96); opacity:0; visibility:hidden; pointer-events:none; transform:translateX(100%); transition:opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease; z-index:300; }
	.n.is-active > ul { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(0); }
	.n > ul > li { display:block; width:100%; }
	.n a { display:block; width:100%; padding:0.5em 1.0em; border-radius:0; color:rgb(var(--color-white)); font-size:1.1rem; font-weight:bold; white-space:normal; background:transparent; transition:color 0.4s ease, background 0.4s ease; }
	.n a:hover { color:rgb(var(--color-white)); background:rgba(var(--color-white),0.2); }
	.n a:focus-visible { color:rgb(var(--color-primary-blue)); }
	.n a:focus-visible::after { transform:scaleX(1); }
	.n-has-sub { position:relative; width:100%; }
	.n div.n-sub { display:none; flex-direction:column; gap:0; position:static; top:auto; right:auto; bottom:auto; left:auto; width:100%; min-width:0; margin:0; padding:0 0 1.2rem 1.6rem; overflow:visible; border:0; border-radius:0; color:rgb(var(--color-white)); list-style:none; background:transparent; box-shadow:none; opacity:1; visibility:visible; pointer-events:auto; transform:none; transition:none; z-index:auto; }
	.n-has-sub.is-open > .n-sub { display:flex; }
	.n .n-has-sub:hover .n-sub,
	.n .n-has-sub:focus-within .n-sub { display:none; opacity:1; visibility:visible; transform:none; }
	.n .n-has-sub.is-open:hover .n-sub,
	.n .n-has-sub.is-open:focus-within .n-sub { display:flex; opacity:1; visibility:visible; transform:none; }
	.n .n-sub li { display:block; width:100%; }
	.n .n-sub a { display:block; width:100%; padding:0.8rem 0; color:rgb(var(--color-white)); font-size:1.52rem; font-weight:normal; text-decoration:none; white-space:normal; background:transparent; }
	.n .n-sub a:hover { color:rgb(var(--color-white)); background:transparent; }
	.n.is-active .n-sub { top:auto; left:auto; gap:0; }
	.n.is-active .n-sub a { display:block; width:100%; padding:0.8rem 0; color:rgb(var(--color-white)); font-size:1.52rem; font-weight:normal; text-decoration:none; white-space:normal; }
	.n-has-sub.is-open { border-radius:0; }
	.n-has-sub.is-open > .n-sub { opacity:1; visibility:visible; transform:none; }

	.n div.n-sub .n-sub-inner,
	.n div.n-sub .n-sub-text,
	.n div.n-sub .n-sub-wrap,
	.n div.n-sub .n-sub-list { display:block; width:100%; padding:0; }
	.n div.n-sub .n-sub-photo { display:flex; }
	.n div.n-sub .n-sub-text h2 { display:flex; }
	.n div.n-sub .n-sub-text h3 { margin:0.5em 0 0.25em; padding:0; border:0; color:rgb(var(--color-white)); font-size:15px; font-weight:bold; }
	.n div.n-sub .n-sub-text h3::before { display:none; }
	.n div.n-sub .n-sub-text .n-sub-wrap.x3 > *,
	.n div.n-sub .n-sub-text .n-sub-wrap.x4 > * { width:100%; }
	.n div.n-sub .n-sub-text .n-sub-nav { display:block; margin:0; }
	.n div.n-sub .n-sub-text .n-sub-nav.adjust { margin:0; }
	.n div.n-sub .n-sub-text .n-sub-nav li { margin:0; padding:0; }
	.n div.n-sub .n-sub-text .n-sub-nav li::before {  }
	.n div.n-sub .n-sub-text .n-sub-nav a { position:static; padding:0.5em 0; font-size:14px; text-align:left; }
	.n div.n-sub .n-sub-text .n-sub-nav a::before { display:none; }
	.n div.n-sub .n-sub-text .n-sub-nav li ul { display:block; padding-left:1.6rem; }


	/* n-nav rewrite */
	.n div.n-sub .n-sub-inner { display:flex; flex-direction:column; justify-content:flex-start; gap:1em; padding:1em 0; }
	.n div.n-sub .n-sub-photo { display:none; width:100%; min-height:0; margin:0 0 1.6rem; overflow:hidden; }
	.n div.n-sub .n-sub-photo figure { display:block; position:relative; width:100%; height:140px; margin:0; overflow:hidden; }
	.n div.n-sub .n-sub-photo figure img { display:block; width:100%; height:100%; object-fit:cover; }
	
	.n div.n-sub .n-sub-text { display:flex; flex-direction:column; align-self:stretch; width:100%; }
	.n div.n-sub .n-sub-text h2 { display:none; padding-bottom:0.5em; font-size:16px; font-weight:bold; }
	.n div.n-sub .n-sub-text .n-sub-wrap { display:flex; flex-direction:column; gap:0; padding-right:1em; }
	.n div.n-sub .n-sub-text .n-sub-wrap.x3 > * { width:100%; }
	.n div.n-sub .n-sub-text .n-sub-wrap.x4 > * { width:100%; }
	.n div.n-sub .n-sub-text h3 { position:relative; margin-bottom:0.5em; padding:0 0 0.25em 0; border-bottom:rgb(var(--color-white)) 1px solid; font-size:15px; font-weight:bold; }
	.n div.n-sub .n-sub-text h3::before { content:''; position:absolute; top:0.6em; left:0; width:8px; height:8px; border-top:rgb(var(--color-white))1px solid; border-right:rgb(var(--color-white))1px solid; transform-origin:center center; transform:rotate(45deg); }
	.n div.n-sub .n-sub-text .n-sub-list { display:flex; flex-direction:column; gap:0; }
	.n div.n-sub .n-sub-text .n-sub-nav { display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:0; margin-block-end:0.5em; }
	.n div.n-sub .n-sub-text .n-sub-nav.adjust { margin-block-end:2.115em; }
	.n div.n-sub .n-sub-text .n-sub-nav li { position:relative; margin-bottom:0.1em; padding-left:1.0em; font-size:inherit; text-align:left; }
	.n div.n-sub .n-sub-text .n-sub-nav li::before { content:''; position:absolute; top:0.6em; left:0.5em; border:transparent 3px solid; border-left:rgb(var(--color-white)) 3px solid; }
	.n div.n-sub .n-sub-text .n-sub-nav a { position:relative; padding:0; font-size:14px; text-align:left; }
	.n div.n-sub .n-sub-text .n-sub-nav a:hover { background:transparent; }
	.n div.n-sub .n-sub-text .n-sub-nav a::before { content:none; }
	.n div.n-sub .n-sub-text .n-sub-nav li ul { flex-direction:column; }
}

/****************************************/
/*	foot																*/
/****************************************/
/* .m.ct-top { padding:max(318px, 23.25vw) 0 0; } */


/****************************************/
/*	foot																*/
/****************************************/
/*.f-banner { display:none; }
.home */ .f-banner { display:flex; }
.f-banner > li { position:relative; width:50%; }
.f-banner a { color:rgb(var(--color-white)); font-size:14px; }
.f-banner-corp { position:relative; z-index:2; padding:2em; color:rgb(var(--color-white)); }
.f-banner-corp h3 { padding-bottom:0.5em; line-height:1.4; font-size:40px; font-weight:bold; }
.f-banner-corp h3 small { display:block; font-size:14px; font-weight:normal; }
.f-banner-corp ul { display:flex; flex-flow:row wrap; }
.f-banner-corp ul > li { position:relative; width:40%; padding-left:0.5em; }
.f-banner-corp ul > li::before { content:''; position:absolute; top:0.7em; left:0; border:transparent 3px solid; border-left:rgb(var(--color-white)) 3px solid; }
.f-banner-ir { position:relative; z-index:2; padding:2em; color:rgb(var(--color-white)); }
.f-banner-ir h3 { padding-bottom:0.25em; line-height:1.4; font-size:40px; font-weight:bold; }
.f-banner-ir h3 small { display:block; font-size:14px; font-weight:normal; }
.f-banner-ir ul { display:flex; flex-flow:row wrap; }
.f-banner-ir ul > li { position:relative; width:40%; padding-left:0.5em; }
.f-banner-ir ul > li::before { content:''; position:absolute; top:0.7em; left:0; border:transparent 3px solid; border-left:rgb(var(--color-white)) 3px solid; }
.f-banner .c-media { position:absolute; top:0; left:0; overflow:hidden; width:100%; height:100%; }
.f-banner .c-media img { width:100%; height:100%; object-fit:cover; }

.f-nav { padding:6.4rem; background:rgb(var(--color-primary-blue)); }
.f-nav-inner { display:grid; grid-template-columns:repeat(5, 1fr); gap:3.2rem; position:relative; margin-inline:auto; }
.f-nav h4 { margin-block-end:1em; padding-bottom:1em; border-bottom:rgb(var(--color-white)) 1px solid; color:rgb(var(--color-white)); font-size:1.0em; font-weight:bold; }
.f-nav h4 a { font-size:1.0em; }
.f-nav ul { display:flex; flex-direction:column; }
.f-nav a { font-size:1.36rem; color:rgb(var(--color-white)); }
.f-nav-media { position:absolute; right:0; bottom:0; }

.f-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:1px; padding:1.6rem 6.4rem; font-size:1.12rem; background:rgb(var(--color-primary-blue)); }
.f-bottom p { display:flex; gap:1.5rem; }
.f-bottom a { color:rgb(var(--color-white)); }
.f-bottom small { color:rgb(var(--color-white)); }

@media (max-width:768px){
	/* .f-banner { display:none; flex-direction:column; }
	.home */ .f-banner { display:flex; flex-direction:column; }
	.f-banner > li { position:relative; width:100%; }
	.f-banner a { color:rgb(var(--color-white)); font-size:12px; }
	.f-banner-corp { position:relative; z-index:2; padding:2em; color:rgb(var(--color-white)); }
	.f-banner-corp h3 { padding-bottom:20px; line-height:1.4; font-size:24px; font-weight:bold; }
	.f-banner-corp h3 small { display:block; font-size:12px; font-weight:normal; }
	.f-banner-corp ul { display:flex; flex-flow:row wrap; justify-content:space-between; }
	.f-banner-corp ul > li { position:relative; width:48%; padding-left:4px; }
	.f-banner-corp ul > li::before { content:''; position:absolute; top:0.7em; left:0; border:transparent 3px solid; border-left:rgb(var(--color-white)) 3px solid; }
	.f-banner-ir { position:relative; z-index:2; padding:2em; color:rgb(var(--color-white)); }
	.f-banner-ir h3 { padding-bottom:12px; line-height:1.4; font-size:24px; font-weight:bold; }
	.f-banner-ir h3 small { display:block; font-size:12px; font-weight:normal; }
	.f-banner-ir ul { display:flex; flex-flow:row wrap; justify-content:space-between; }
	.f-banner-ir ul > li { position:relative; width:48%; padding-left:0.5em; }
	.f-banner-ir ul > li::before { content:''; position:absolute; top:0.7em; left:0; border:transparent 3px solid; border-left:rgb(var(--color-white)) 3px solid; }
	.f-banner .c-media { position:absolute; top:0; left:0; overflow:hidden; width:100%; height:100%; }
	.f-banner .c-media img { width:100%; height:100%; object-fit:cover; }

	.f-nav { display:none; }
	.f-bottom { flex-direction:column; gap:0.8rem; margin-top:0; padding:1.6rem 6%; text-align:center; }
	.f-bottom p { display:flex; flex-flow:row wrap; justify-content:center; gap:0.5em; width:88%; margin-inline:auto; padding:20px 10px 0; margin-inline:auto; }
	.f-bottom a { color:rgb(var(--color-white)); white-space:nowrap; }
	.f-bottom p + p { width:100%; }
	.f-bottom small { color:rgb(var(--color-white)); font-size:9px; }
}

/****************************************/
/*	.bread-crumb												*/
/****************************************/
.bread { padding-top:1.0em; }
.bread ol { display:flex; font-size:14px; }
.bread li, .bread a { color:rgb(var(--color-white)); }
.bread li {  }
.bread li::after { content:'>'; padding-inline:0.5em; }
.bread li:last-child::after { content:none; }
@media (max-width:768px){
	.bread { display:none; }
}

/****************************************/
/*	.backtotop													*/
/****************************************/
.backtotop{ position:fixed; right:clamp(1.6rem, 4vw, 3.2rem); bottom:clamp(1.6rem, 4vw, 3.2rem); opacity:0; visibility:hidden; transform:translateY(20px); transition:opacity .3s ease, transform .3s ease, visibility .3s ease; z-index:90; }
.backtotop.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.backtotop a{ display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; color:rgb(var(--color-white)); background:rgb(var(--color-black)); cursor:pointer; }
body.is-nav-open .backtotop { display:none; }

/* =================================
	 Container
================================= */
.l-container-sm { display:block; width:100%; max-width:960px; margin-inline:auto; padding-inline:clamp(2rem,4vw,3.2rem); }
.l-container-md { display:block; width:100%; max-width:1080px; margin-inline:auto; padding-inline:clamp(2.4rem,4vw,4rem); }
.l-container-lg { display:block; width:100%; max-width:1280px; margin-inline:auto; padding-inline:clamp(3.2rem,4vw,4.8rem); }

/* =================================
	 Section
================================= */
.l-section { display:block; padding-block:clamp(3.2rem,8vw,4.8rem); }
.l-section-sm { display:block; padding-block:clamp(4rem,6vw,6.4rem); }
.l-section-lg { display:block; padding-block:clamp(9.6rem,10vw,16rem); }

/* =================================
	 Grid
================================= */
.l-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2.4rem,4vw,3.2rem); }
.l-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(2.4rem,4vw,3.2rem); }
.l-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(2.4rem,4vw,3.2rem); }
.l-grid-aside { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:clamp(3.2rem,4vw,6.4rem); }
@media (max-width:768px){
	.l-grid-2,.l-grid-3,.l-grid-4,.l-grid-aside { grid-template-columns:1fr; }
}

/* =================================
	 Component – Media Grid
================================= */
.c-media-grid { display:grid; gap:0; margin-top:clamp(1.6rem,4vw,2.4rem); }
.c-media-grid-item { display:block; overflow:hidden; background:rgb(var(--color-palegray)); }
.c-media-grid-item img { display:block; width:100%; height:160px; object-fit:cover; }
@media (max-width:768px){
	.c-media-grid-item img { height:160px; }
}

/* =================================
	 Flex Utilities
================================= */
.l-flex { display:flex; gap:clamp(2.4rem,4vw,3.2rem); }
.l-flex-center { display:flex; justify-content:center; align-items:center; gap:clamp(2.4rem,4vw,3.2rem); }
.l-flex-between { display:flex; justify-content:space-between; align-items:center; gap:clamp(2.4rem,4vw,3.2rem); }
.l-col-1-3 { flex:0 0 33.333%; width:33.333%; }
.l-col-2-3 { flex:0 0 66.666%; width:66.666%; }
@media (max-width:768px){
	.l-col-1-3,.l-col-2-3 { flex:0 0 100%; width:100%; }
}

/* =================================
	 Utility
================================= */
.u-text-left{ text-align:left; }
.u-text-center{ text-align:center; }
.u-text-right{ text-align:right; }

/* Indent Utilities */
.u-pt-0 { padding-top:0; }
.u-pt-1 { padding-top:1em; }
.u-pt-2 { padding-top:2em; }
.u-pt-3 { padding-top:3em; }
.u-pb-0 { padding-top:0em; }
.u-pb-1 { padding-top:1em; }
.u-pb-2 { padding-top:2em; }
.u-pl-1 { padding-left:1em; }
.u-pl-2 { padding-left:2em; }
.u-pl-3 { padding-left:3em; }

hr.u-pt-2 { margin:0; border:0; }

/****************************************/
/*	custom															*/
/****************************************/
body { font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
main { position:relative; }
hr { margin:0 0 2rem; padding:0; border:0; }
a { color:rgba(var(--color-primary-blue),1); text-decoration:none; }
sup { position:relative; top:0.1em; font-size:0.7rem; vertical-align:top; }
sub { position:relative; top:0.7em; font-size:0.7rem; vertical-align:top; }
:where(a, button, [role="button"], input, textarea, select):focus-visible{ outline:2px solid rgb(var(--color-primary-navy)); outline-offset:3px; border-radius:4px; }

.wrap { position:relative; overflow-x:hidden; width:100%; }
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;font:inherit;line-height:inherit;color:inherit;background:transparent;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/****************************************/
/*	section															*/
/****************************************/
.s { margin-block-end:5em; }
.s-inner { max-width:1240px; width:88%; margin-inline:auto; }
@media (max-width:768px) {
.s { margin-block-end:4em; }
}

/****************************************/
/*	.btn       													*/
/****************************************/
.s-btns { padding-top:2.5em; text-align:center; }
.s-btn { display:inline-flex; justify-content:center; align-items:center; position:relative; z-index:0; overflow:hidden; width:100%; max-width:300px; margin-inline:0.5em; padding:0.8rem 1.6rem; border:rgb(var(--color-black)) 2px solid; border-radius:3em; color:rgb(var(--color-white)); font-size:clamp(1.36rem, 3vw, 1.6rem); background:rgb(var(--color-black)); transition:color .4s ease; }
.s-btn:visited { color:rgb(var(--color-white)); transition:color .4s ease; }
.s-btn::after{ content:''; position:absolute; inset:0; z-index:-1; background:rgb(var(--color-white)); transform:translateX(-100%); transition:transform .4s ease; }
@media (hover: hover) and (pointer: fine){
	.s-btn:hover { color:rgb(var(--color-black)) !important; }
	.s-btn:hover::after { transform:translateX(0); }
}

/****************************************/
/*	function														*/
/****************************************/
.serif{ font-family:serif; }
.pc{ display:none; }
.sp{ display:inline; }
.d-ib { display:inline-block; }
.nwp { white-space:nowrap; }
@media (min-width:768px) {
	.pc { display:inline; }
	.sp { display:none; }
}