@charset "UTF-8";

/* --------------------------------------------
FONTS
--------------------------------------------- */
:root{
	--fontFamily : "Meiryo" , "Hiragino Kaku Gothic Pro" , "Hiragino Sans" , "Segoe UI" , "Helvetica Neue" , "Arial" , sans-serif;
}
@font-face{
	font-family : Jost;
	font-style : normal;
	font-weight : 100 900;
	font-optical-sizing : auto;
	src : url( "../../fonts/Jost/Jost-VariableFont_wght.woff2" ) format( "woff2" );
	font-display : swap;
}
.jost{
	font-family : Jost , sans-serif;
}
.arial{
	font-family : Arial , "Helvetica Neue" , Helvetica , sans-serif;
}

/* --------------------------------------------
UNIT
--------------------------------------------- */
@media screen and ( width <= 780px ){
	@property --breakPoint{
		syntax : "<number>";
		inherits : false;
		initial-value : 390;
	}
	@property --wrapperSize{
		syntax : "<number>";
		inherits : false;
		initial-value : 350;
	}
	@property --gutter{
		syntax : "<number>";
		inherits : false;
		initial-value : 20;
	}
}
@media print , screen and ( width > 780px ){
	@property --breakPoint{
		syntax : "<number>";
		inherits : false;
		initial-value : 1240 ;
	}
	@property --wrapperSize{
		syntax : "<number>";
		inherits : false;
		initial-value : 1200;
	}
	@property --gutter{
		syntax : "<number>";
		inherits : false;
		initial-value : 20;
	}
}
@property --remBase{
	syntax : "*";
	inherits : false;
	initial-value : * .1rem;
}
:root{
	--percentBase : * 100% / var( --wrapperSize );
	--viewportBase : * 100% / var( --breakPoint );
}

/* --------------------------------------------
COLOR
--------------------------------------------- */
@property --base{
	syntax : "<color>";
	inherits : false;
	initial-value : #24282a;
}
@property --color02{
	syntax : "<color>";
	inherits : false;
	initial-value : #6a6e71;
}
@property --color03{
	syntax : "<color>";
	inherits : false;
	initial-value : #32bdd9;
}
@property --color04{
	syntax : "<color>";
	inherits : false;
	initial-value : #00a4bb;
}
@property --color05{
	syntax : "<color>";
	inherits : false;
	initial-value : #4b4b4b;
}
@property --color06{
	syntax : "<color>";
	inherits : false;
	initial-value : #8f8f8f;
}
@property --color07{
	syntax : "<color>";
	inherits : false;
	initial-value : #e6f9fe;
}

/* --------------------------------------------
FILTER
--------------------------------------------- */
@property --filterWhite{
	syntax : "*";
	inherits : false;
	initial-value : brightness( 0 ) invert( 1 );
}
@property --filterBase{
	syntax : "*";
	inherits : false;
	initial-value : invert( 13% ) sepia( 8% ) saturate( 582% ) hue-rotate( 155deg ) brightness( 101% ) contrast( 93% );
}
@property --filterColor02{
	syntax : "*";
	inherits : false;
	initial-value : invert( 45% ) sepia( 5% ) saturate( 344% ) hue-rotate( 163deg ) brightness( 92% ) contrast( 86% );
}
@property --filterColor03{
	syntax : "*";
	inherits : false;
	initial-value : invert( 62% ) sepia( 82% ) saturate( 422% ) hue-rotate( 145deg ) brightness( 91% ) contrast( 86% );
}
@property --filterColor04{
	syntax : "*";
	inherits : false;
	initial-value : invert( 41% ) sepia( 24% ) saturate( 5977% ) hue-rotate( 160deg ) brightness( 101% ) contrast( 101% );
}
@property --filterColor05{
	syntax : "*";
	inherits : false;
	initial-value : invert( 22% ) sepia( 0% ) saturate( 4% ) hue-rotate( 163deg ) brightness( 104% ) contrast( 76% );
}
@property --filterColor06{
	syntax : "*";
	inherits : false;
	initial-value : invert( 57% ) sepia( 0% ) saturate( 0% ) hue-rotate( 150deg ) brightness( 99% ) contrast( 101% );
}

/* --------------------------------------------
GRADATION
--------------------------------------------- */
@property --gradation01{
	syntax : "*";
	inherits : false;
	initial-value : linear-gradient( to right , #00b1ac , #7dd261 );
}

/* --------------------------------------------
FONT SIZE
--------------------------------------------- */
@media screen and ( width <= 780px ){
	:root{
		--min : 10px;
		--max : 20rem;
	}
}
@media print , screen and ( width > 780px ){
	:root{
		--min : 10px;
		--max : 20rem;
	}
}

/* --------------------------------------------
TRANSITION
--------------------------------------------- */
@property --easeInSine{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .47 ,  , .745 , .715 );
}
@property --easeOutSine{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .39 , .575 , .565 , 1 );
}
@property --easeInOutSine{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .445 , .05 , .55 , .95 );
}
@property --easeInQuad{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .55 , .085 , .68 , .53 );
}
@property --easeOutQuad{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .25 , .46 , .45 , .94 );
}
@property --easeInOutQuad{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .455 , .03 , .515 , .955 );
}
@property --easeInCubic{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .55 , .055 , .675 , .19 );
}
@property --easeOutCubic{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .215 , .61 , .355 , 1 );
}
@property --easeInOutCubic{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .645 , .045 , .355 , 1 );
}
@property --easeInQuart{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .895 , .03 , .685 , .22 );
}
@property --easeOutQuart{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .165 , .84 , .44 , 1 );
}
@property --easeInOutQuart{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .77 ,  , .175 , 1 );
}
@property --easeInQuint{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .755 , .05 , .855 , .06 );
}
@property --easeOutQuint{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .23 , 1 , .32 , 1 );
}
@property --easeInOutQuint{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .86 ,  , .07 , 1 );
}
@property --easeInExpo{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .95 , .05 , .795 , .035 );
}
@property --easeOutExpo{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .19 , 1 , .22 , 1 );
}
@property --easeInOutExpo{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( 1 ,  ,  , 1 );
}
@property --easeInCirc{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .6 , .04 , .98 , .335 );
}
@property --easeOutCirc{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .075 , .82 , .165 , 1 );
}
@property --easeInOutCirc{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .785 , .135 , .15 , .86 );
}
@property --easeInBack{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .6 , -.28 , .735 , .045 );
}
@property --easeOutBack{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .175 , .885 , .32 , 1.275 );
}
@property --easeInOutBack{
	syntax : "*";
	inherits : false;
	initial-value : cubic-bezier( .68 , -.55 , .265 , 1.55 );
}
@property --transitionAppearance{
	syntax : "*";
	inherits : false;
	initial-value : .3s ease-out;
}
@property --transitionBoundsTiming{
	syntax : "*";
	inherits : false;
	initial-value : linear( 0 , .009 , .035 2.1% , .141 , .281 6.7% , .723 12.9% , .938 16.7% , 1.017 , 1.077 , 1.121 , 1.149 24.3% , 1.159 , 1.163 , 1.161 , 1.154 29.9% , 1.129 32.8% , 1.051 39.6% , 1.017 43.1% , .991 , .977 51% , .974 53.8% , .975 57.1% , .997 69.8% , 1.003 76.9% , 1.004 83.8% , 1 );
}
:root{
	--transitionBase : 1s var( --easeOutExpo );
	--transitionBounds : 1s var( --transitionBoundsTiming );
}

/* --------------------------------------------
REGULATE
--------------------------------------------- */
*{
	padding : 0;
	margin : 0;
	word-break : break-all;
}
* , *::before , *::after{
	box-sizing : border-box;
}
*:not(fieldset, progress, meter){
	background-repeat : no-repeat;
	background-origin : border-box;
	border-style : solid;
	border-width : 0;
}
:root{
	color-scheme : light ! important;
}
:where( html ){
	block-size : 100%;
	-webkit-text-size-adjust : none;
	tab-size : 2;
}
@media ( prefers-reduced-motion : no-preference ){
	html{
		scroll-behavior : smooth;
	}
}
:where( html:has( dialog[open] ) ){
	overflow : clip;
}
:where( body ){
	overflow-x : clip;
	overflow-y : auto;
	font-family : var( --fontFamily );
	font-weight : 400;
	font-feature-settings : "palt" on;
	font-optical-sizing : auto;
	line-height : 1;
	color : var( --base );
	overflow-wrap : anywhere;
	text-rendering : optimizeSpeed;
	min-block-size : 100%;
	line-break : strict;
}
main{
	overflow-x : clip;
}
:where( svg, video, canvas, audio, iframe, embed, object ){
	display : block;
}
:where( img, svg, video ){
	max-width : inherit;
	font-size : 0;
	vertical-align : top;
	inline-size : auto;
}
:where( img ){
	image-rendering : -webkit-optimize-contrast;
}
:where( svg ){
	fill : currentColor;
	stroke : none;
}
:where( svg:not( [fill] ) ){
	fill : none;
	stroke : currentColor;
	stroke-linecap : round;
	stroke-linejoin : round;
}
:where( svg:not( [width] ) ){
	inline-size : 5rem;
}
:where( input, button, textarea, select , input[type="file"]::-webkit-file-upload-button ){
	font : inherit;
	font-size : inherit;
	color : inherit;
	letter-spacing : inherit;
	outline : none;
}
:where( p, h1, h2, h3, h4, h5, h6 ){
	overflow-wrap : break-word;
}
:where( p, h1, h2, h3, h4, h5, h6 , a ){
	&:has( > img:only-child ){
		font-size : 0;
		line-height : 1;
	}
}
:where( ul, ol ){
	list-style : none;
}
:where( a ){
	color : var( --base );
	-webkit-text-decoration : none;
	text-decoration : none;
	text-underline-offset : calc( ( 1lh - 1em ) / 2 );
	touch-action : manipulation;
	cursor : pointer;
	text-decoration-skip-ink : auto;
}
:where( fieldset ){
	border : 0;
	min-inline-size : auto;
}
legend{
	float : none;
	width : auto;
	font-size : 100%;
	white-space : normal;
}
:where( button , [type="button"] , [type="reset"] , [type="submit"] ){
	touch-action : manipulation;
}
:where( button ){
	background-color : transparent;
}
:where( button, input, label[for], select, summary, textarea, [tabindex]:not( [tabindex*="-"] ) ){
	touch-action : manipulation;
	cursor : pointer;
}
:where( :disabled ){
	cursor : not-allowed;
}
:where( label:has( > input:disabled ), label:has( + input:disabled ) ){
	cursor : not-allowed;
}
:where( button, button[type], input[type="button"], input[type="submit"], input[type="reset"],input[type="file"]::-webkit-file-upload-button,input[type="file"]::file-selector-button ){
	-webkit-tap-highlight-color : transparent;
	-webkit-touch-callout : none;
	user-select : none;
}
:where( select ){
	appearance : none;
}
:where( table ){
	border-collapse : collapse;
}
:where( picture ){
	display : block;
	font-size : 0;
}
:where( em,dfn ){
	font-style : normal;
}
:where( dialog , [popover] ){
	inset : unset;
	max-width : unset;
	max-width : 100%;
	max-height : unset;
	max-height : 100%;
	color : inherit;
	background : none;
	border : none;
}
:where( dialog:not( [open] ), [popover]:not( :popover-open ) ){
	display : none;
}
:where( summary  ){
	display : block;
	list-style : none;
}
:where( summary  ){
	&::-webkit-details-marker{
		display : none;
	}
}
:where( address ){
	font-style : normal;
}
@view-transition{
	navigation : auto;
}

/* --------------------------------------------
PRINT
--------------------------------------------- */
@media print{
	body{
		width : 100%;
		overflow-x : hidden;
	}
	@page{
		margin : .5cm;
		margin-top : .4cm;
		size : a4 portrait;
	}
	.no-print{
		display : none;
	}
}