@charset "UTF-8";

/* --------------------------------------------
COLORS
--------------------------------------------- */
:root{
	--body : #333;
	--link : #333;
	--primary : #725f92;
	--secondary : #e8e6eb;
	--green : #1ead4c;
	--yellow : #f2c203;
}

/* --------------------------------------------
SPACE SP
--------------------------------------------- */
:root{
	--sp-pagetitle-pb : 42;
	--sp-title01-lh : 4.2;
	--sp-title02-lh : 4.2;
	--sp-title03-lh : 9;
	--sp-title04-lh : 4.2;
	--sp-title05-lh : 9;
	--sp-title06-lh : 3.2;
	--sp-title07-lh : 3.2;
	--sp-title08-lh : 9;
	--sp-text01-lh : 13;
	--sp-text02-lh : 13;
	--sp-text03-lh : 6;
}

/* --------------------------------------------
SPACE pc
--------------------------------------------- */
:root{
	--pc-title01-lh : 4px;
	--pc-title03-lh : 1px;
	--pc-title04-lh : 1px;
	--pc-title05-lh : 3.4px;
	--pc-title06-lh : 3px;
	--pc-title07-lh : 3.4px;
	--pc-title08-lh : 3.4px;
	--pc-text01-lh : 8px;
	--pc-text02-lh : 4px;
	--pc-text03-lh : 4px;
	--pc-sublink-pt : 38px;
	--pc-breadcrumbs-pb : 16px;
	--pc-contacts-pt : 39px;
}
@media screen and ( max-width : 750px ){
	:root{
		--breakPoint : 750;
		--wrapperSize : 710;
		--gutter : 20;
	}
}
@media print , screen and ( min-width : 751px ){
	:root{
		--breakPoint : 1080;
		--wrapperSize : 1080;
	}
}
:root{
	--percentBase : * 100% / var( --wrapperSize );
	--viewportBase : * 100% / var( --breakPoint );
	--remBase : * .1rem;
}
:root{
	--fontFamily : "Noto Sans JP" , sans-serif;
	--fontWeight : 400;
}
* , *::before , *::after{
	box-sizing : border-box;
}
html{
	visibility : visible;
	scroll-behavior : smooth;
}
html , body{
	padding : 0;
	margin : 0;
	font : inherit;
	font-size : 100%;
	border : 0;
}
div , span , object , iframe , h1 , h2 , h3 , h4 , h5 , h6 , p , blockquote , pre , a , abbr , address , cite , code , del , dfn , em , img , ins , kbd , q , s , samp , small , strong , sub , sup , var , b , u , i , dl , dt , dd , ol , ul , li , fieldset , form , label , legend , table , caption , tbody , tfoot , thead , tr , th , td , article , aside , canvas , details , embed , figure , figcaption , footer , header , nav , output , section , summary , time , mark , audio , video{
	padding : 0;
	margin : 0;
	font : inherit;
	font-size : 100%;
	border : 0;
}
main , article , aside , details , figcaption , figure , footer , header , nav , section , picture{
	display : block;
}
ol , ul{
	list-style : none;
}
blockquote , q{
	quotes : none;
}
blockquote::before , blockquote::after , q::before , q::after{
	content : "";
	content : none;
}
table{
	width : 100%;
	table-layout : fixed;
	border-spacing : 0;
	border-collapse : collapse;
}
em{
	font-style : normal;
}
a{
	-webkit-text-decoration : none;
	text-decoration : none;
	outline : none;
}
picture{
	line-height : 1;
}
picture img{
	line-height : 1;
	vertical-align : top;
}
img{
	width : auto;
	vertical-align : top;
	outline : none;
}
input , button{
	color : var( --body );
	border : 0;
	border-radius : 0;
	outline : 0;
	-webkit-appearance : none;
}
input[type="text"] , input[type="email"] , input[type="password"] , input[type="tel"] , input[type="number"]{
	padding-left : .5em;
	padding-right : .5em;
	font-size : 1em;
}
input[type="number"]{
	padding-right : 1em;
	text-align : right;
}
textarea{
	padding : .5em;
	font-size : 1em;
	border : 0;
	outline : none;
}
input[type="submit"] , input[type="reset"] , button{
	padding : 0;
	-webkit-appearance : none;
}
input[type="submit"]:hover , input[type="reset"]:hover , button:hover{
	cursor : pointer;
}
select::-ms-expand{
	display : none;
}
input{
	border-style : solid;
	border-radius : 0;
	outline : none;
	-webkit-appearance : none;
}
textarea{
	resize : vertical;
	border-style : solid;
	border-radius : 0;
	-webkit-appearance : none;
}
input , select , textarea , button{
	font-family : var( --fontFamily );
}
button{
	line-height : 1;
	cursor : pointer;
	background : none;
}
body{
	position : relative;
	display : block;
	min-height : 100vh;
	font-family : var( --fontFamily );
	font-size : 100%;
	font-weight : 400;
	font-feature-settings : "palt" on;
	font-size-adjust : 100%;
	line-height : 1;
	color : var( --body );
	-webkit-text-size-adjust : 100%;
	overflow-scrolling : touch;
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing : grayscale;
	scroll-behavior : smooth;
	text-rendering : optimizeLegibility;
}
a{
	color : currentColor;
}
a:hover{
	opacity : .8;
}
#main a.link{
	-webkit-text-decoration : underline;
	text-decoration : underline;
}
#main a.link:hover{
	-webkit-text-decoration : none;
	text-decoration : none;
}
#breadclumbs a , #sublink a{
	-webkit-text-decoration : none;
	text-decoration : none;
}

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