@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@300;400;500&display=swap');

/* --------------------------------------------
FONTS
--------------------------------------------- */
@font-face{
	font-family : Noto Sans JP;
	font-weight : 1 999;
	src : url( "../fonts/MPLUS2-VariableFont_wght.ttf" ) format( "ttf" );
}

:root{
	--fontFamily : 'Noto Sans JP', sans-serif;
	--fontFamilyMal : 'M PLUS Rounded 1c', sans-serif;
}

/* --------------------------------------------
SETTINGS
--------------------------------------------- */
@media screen and ( max-width : 750px ){
	:root{
		--breakpoint : 750;
		--wrapperInside : 690;
		--wrapperInside02 : 690;
	}
}
@media print , screen and ( min-width : 751px ){
	:root{
		--breakpoint : 1240;
		--wrapperInside : 1200;
		--wrapperInside02 : 1180;
	}
}
:root{
	--body : #393838;
	--remBase : * .1rem;
	--siteYellow : #edbc45;
	--siteBrown : #5d493c;
	--siteOrange : #d5640a;
	--sitePink : #f4c3c5;
	--percentBase : * 100% / var( --wrapperInside );
	--percentBase02 : * 100% / var( --wrapperInside02 );
	--cqwBase : * 100cqw / var( --breakpoint );
	--bgContain : 0 0 / contain no-repeat;
	--transitionBase : .3s ease-in;
	--border01 : #f1ebdd;
	--toWhite : invert( 100% ) sepia( 100% ) saturate( 0% ) hue-rotate( 288deg ) brightness( 102% ) contrast( 102% );
}
@layer regulate base;

/* --------------------------------------------
REGULATE
--------------------------------------------- */
@layer regulate{
	*{
		padding : 0;
		margin : 0;
	}
	* ,
	::before ,
	::after{
		box-sizing : border-box;
	}
	*:not( fieldset, progress, meter ){
		background-repeat : no-repeat;
		background-origin : border-box;
		border-style : solid;
		border-width : 0;
	}
	@supports (overflow: overlay){
		:root{
			--overflow : overlay;
		}
	}
	@supports not (overflow: overlay){
		:root{
			--overflow : auto;
		}
	}
	html{
		block-size : 100%;
		-webkit-text-size-adjust : none;
	}
	@media ( prefers-reduced-motion : no-preference ){
		html{
			scroll-behavior : smooth;
		}
	}
	body{
		overflow : var( --overflow );
		font-family : var( --fontFamily );
		font-weight : 400;
		font-feature-settings : "palt" on;
		line-height : 1;
		color : var( --body );
		-webkit-font-smoothing : antialiased;
		text-rendering : optimizeSpeed;
		min-block-size : 100%;
	}
	:where( img, svg, video, canvas, audio, iframe, embed, object ){
		display : block;
	}
	:where( img, svg, video ){
		block-size : auto;
		max-inline-size : 100%;
		width : auto;
	}
	:where( svg ){
		fill : currentColor;
		stroke : none;
	}
	:where( svg ):where( :not( [fill] ) ){
		fill : none;
		stroke : currentColor;
		stroke-linecap : round;
		stroke-linejoin : round;
	}
	:where( svg ):where( :not( [width] ) ){
		inline-size : 5rem;
	}
	:where( input, button, textarea, select ) ,
	:where( input[type="file"] )::-webkit-file-upload-button{
		font : inherit;
		font-size : inherit;
		color : inherit;
		letter-spacing : inherit;
		outline : none;
	}
	button{
		display : block;
		text-align : left;
	}
	:where( textarea ){
		resize : vertical;
	}
	@supports (resize: block){
		:where( textarea ){
			resize : vertical;
		}
	}
	button{
		background-color : transparent;
	}
	:where( p, h1, h2, h3, h4, h5, h6 ){
		overflow-wrap : break-word;
	}
	: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;
	}
	:where( input[type="file"] ){
		cursor : auto;
	}
	:where( input[type="file"] )::-webkit-file-upload-button ,
	:where( 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"] ) ,
	:where( input[type="file"] )::-webkit-file-upload-button ,
	:where( 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;
	}
}