@charset "UTF-8";

/* --------------------------------------------
FONTS
--------------------------------------------- */
@font-face{
	font-family : "Noto Sans JP";
	font-weight : 1 999;
	src : url( "../fonts/NotoSansJP-VariableFont_wght.ttf" ) format( "truetype" );
}
:root{
	--fontFamily : "Noto Sans JP" , serif;
}
@font-face{
	font-family : "Roboto Slab";
	font-weight : 1 999;
	src : url( "../fonts/RobotoSlab-VariableFont_wght.ttf" ) format( "truetype" );
}
.robot{
	font-family : "Roboto Slab";
}

/* --------------------------------------------
SETTINGS
--------------------------------------------- */
@media screen and ( max-width : 750px ){
	:root{
		--breakPoint : 400;
		--wrapperInside : 368;
	}
}
@media print , screen and ( min-width : 750.02px ){
	:root{
		--breakPoint : 1480;
		--wrapperInside : 1400;
	}
}
:root{
	--AccentColor01 : #00913a;
	--AccentColorRGB : 0 145 58;
	--AccentColor01-2 : #e7f9c2;
	--AccentColor01-3 : #cfd2d9;
	--AccentColor02 : #d8a742;
	--AccentColor02-2 : #ebd3a0;
	--AccentColor02-3 : #f5e9cf;
	--AccentColor03 : #828282;
	--AccentColor03-2 : #bdbdbd;
	--AccentColor03-3 : #e0e0e0;
	--AccentColor03-4 : #98a6a9;
	--TextColor01 : #333;
	--TextColor02 : #d9d9d9;
	--TextColor03 : white;
	--TextColor04 : var( --AccentColor02 );
	--TextColor05 : #989898;
	--BackColor01 : #f1f2ed;
	--BackColor02 : white;
	--CateColor01 : #bb6bd9;
	--CateColor02 : #ffbe46;
	--CateColor03 : #04c4d9;
	--CateColor04 : #ffa5af;
	--CateColor05 : #7d9ba6;
	--CateColor06 : #b9959f;
	--remBase : * .1rem;
	--percentBase : * 100% / var( --wrapperInside );
	--viewportBase : * 100% / var( --breakPoint );
	--transitionBase : .3s ease-in;
	--filterTextColor : invert( 20% ) sepia( 15% ) saturate( 0% ) hue-rotate( 180deg ) brightness( 93% ) contrast( 98% );
	--filterWhite : invert( 100% ) sepia( 100% ) saturate( 0% ) hue-rotate( 295deg ) brightness( 105% ) contrast( 101% );
	--filterAccentColor01 : invert( 27% ) sepia( 74% ) saturate( 2411% ) hue-rotate( 135deg ) brightness( 95% ) contrast( 103% );
	--filterAccentColor02 : invert( 82% ) sepia( 17% ) saturate( 1715% ) hue-rotate( 343deg ) brightness( 87% ) contrast( 93% );
	--filterTextColor01 : invert( 18% ) sepia( 0% ) saturate( 0% ) hue-rotate( 184deg ) brightness( 94% ) contrast( 91% );
}

/* --------------------------------------------
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;
}
html{
	block-size : 100%;
	-webkit-text-size-adjust : none;
}
@media ( prefers-reduced-motion : no-preference ){
	html{
		scroll-behavior : smooth;
	}
}
body{
	overflow-x : clip;
	overflow-y : auto;
	font-family : var( --fontFamily );
	font-weight : 400;
	font-feature-settings : "palt" on;
	line-height : 1;
	color : var( --TextColor01 );
	text-rendering : optimizeSpeed;
	min-block-size : 100%;
}
:where( svg, video, canvas, audio, iframe, embed, object ){
	display : block;
}
:where( img, svg, video ){
	inline-size : auto;
	font-size : 0;
}
svg{
	fill : currentColor;
	stroke : none;
}
svg:not( [fill] ){
	fill : none;
	stroke : currentColor;
	stroke-linecap : round;
	stroke-linejoin : round;
}
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;
}
textarea{
	resize : vertical;
}
@supports (resize: block){
	textarea{
		resize : block;
	}
}
button{
	background-color : transparent;
}
: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;
}
a{
	color : var( --body );
	-webkit-text-decoration : none;
	text-decoration : none;
	text-underline-offset : .4em;
	text-decoration-skip-ink : auto;
}
:where( a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not( [tabindex*="-"] ) ){
	touch-action : manipulation;
	cursor : pointer;
}
input[type="file"]{
	cursor : auto;
}
:where( input[type="file"]::-webkit-file-upload-button,input[type="file"]::file-selector-button ){
	cursor : pointer;
}
@media ( prefers-reduced-motion : no-preference ){
	:focus-visible{
		transition : outline-offset 145ms cubic-bezier( .25 , 0 , .4 , 1 );
	}
	:where( :not( :active ) ):focus-visible{
		transition-duration : .25s;
	}
}
:where( :not( :active ) ):focus-visible{
	outline-offset : 5px;
}
: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( button, button[type], input[type="button"], input[type="submit"], input[type="reset"] )[disabled]{
	cursor : not-allowed;
}
table{
	border-collapse : collapse;
}
picture{
	display : block;
}
em{
	font-style : normal;
}
dialog{
	max-width : 100%;
	max-height : 100%;
}

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