@charset "UTF-8";

:root {
  --colorBk: #000;
  --colorWh: #fff;
  --colorNv: #343399;
}

/* --------------------------------------------------------------------------------------
 base
--------------------------------------------------------------------------------------- */

a[href^="tel:"] {
	pointer-events: none;
}
a[href^="tel:"]:link, a[href^="tel:"]:visited { color: var(--colorBk); text-decoration: none; }
a[href^="tel:"]:hover, a[href^="tel:"]:active { color: var(--colorBk); text-decoration: none; }

body {
	color: var(--colorBk);
	font-family: "kozuka-gothic-pr6n", sans-serif;
	font-size: clamp(1rem, 1.6vw, 1.875rem);
	font-weight: 400;
	font-feature-settings: "palt";
	line-height: 1.75;
	letter-spacing: .05em;
	text-align: center;
	background: #fff;
	-webkit-text-size-adjust: none;
}
@media screen and (max-width:799px) {
	body {
		font-family: 4.3vw;
	}
}

.fontKozEl {
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-weight: 200;
	font-style: normal;
}
.fontAleL {
	font-family: alegreya-sans, sans-serif;
	font-weight: 300;
	font-style: normal;
}

input,textarea,select {
	font-size: 100%;
	font-family: "kozuka-gothic-pr6n", sans-serif;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
}

/* reset ------------------------------ */
* {
	box-sizing: border-box;
}

body,div,section,
h1,h2,h3,h4,h5,h6,
dl,dt,dd,ul,ol,li,figure,
p,blockquote,pre,cite,code,caption,
form,fieldset,legend,input,textarea,select,option,label {
	margin: 0;
	padding: 0;
}

img,table {
	border: none;
}
img {
	vertical-align: bottom;
}

table {
	border-collapse: collapse;
}

ul, ol {
	list-style: none;
}

li img,
dt img {
	vertical-align: bottom;
}



/* textlink ------------------------------ */
a {
	transition: all .3s;
}
a:link {
	color: var(--colorNv);
	text-decoration: underline;
}
a:visited {
	color: var(--colorNv);
	text-decoration: underline;
}
a:hover {
	color: var(--colorNv);
	text-decoration: none;
}
a:active {
	color: var(--colorNv);
	text-decoration: none;
}

a:hover,
input[type="submit"]:hover,
input[type="image"]:hover {
	opacity: .8;
}
 


/* --------------------------------------------------------------------------------------
 float
--------------------------------------------------------------------------------------- */

.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: inline-block; }



/*margin
-----------------------------------------------*/
.mb5 { margin-bottom: 5px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb25 { margin-bottom: 25px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb35 { margin-bottom: 35px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb45 { margin-bottom: 45px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb70 { margin-bottom: 70px!important; }
.mb80 { margin-bottom: 80px!important; }
.mb100 { margin-bottom: 100px!important; }

@media screen and (max-width:799px) {
	.mb5 { margin-bottom: 1vw!important; }
	.mb10 { margin-bottom: 3vw!important; }
	.mb15 { margin-bottom: 2vw!important; }
	.mb20 { margin-bottom: 4vw!important; }
	.mb25 { margin-bottom: 5vw!important; }
	.mb30 { margin-bottom: 6vw!important; }
	.mb35 { margin-bottom: 7vw!important; }
	.mb40 { margin-bottom: 8vw!important; }
	.mb45 { margin-bottom: 9vw!important; }
	.mb50 { margin-bottom: 10vw!important; }
	.mb60 { margin-bottom: 12vw!important; }
	.mb70 { margin-bottom: 14vw!important; }
	.mb80 { margin-bottom: 16vw!important; }
	.mb100 { margin-bottom: 20vw!important; }
}


/*color
-----------------------------------------------*/
.black { color: #000000!important;}
.white { color: #ffffff!important; }


/*font-size
-----------------------------------------------*/
.font20px { font-size: clamp(.67rem, 1.07vw, 1.25rem)!important; }
.font24px { font-size: clamp(.8rem, 1.28vw, 1.5rem)!important; }
.font26px { font-size: clamp(.87rem, 1.39vw, 1.625rem)!important; }
.font28px { font-size: clamp(.93rem, 1.49vw, 1.75rem)!important; }
.font30px { font-size: clamp(1rem, 1.6vw, 1.875rem)!important; }
.font32px { font-size: clamp(1.07rem, 1.71vw, 2rem)!important; }
.font36px { font-size: clamp(1.2rem, 1.92vw, 2.25rem)!important; line-height: 1.5; }
.font40px { font-size: clamp(1.33rem, 2.13vw, 2.5rem)!important; line-height: 1.4; }
.font50px { font-size: clamp(1.67rem, 2.67vw, 3.125rem)!important; line-height: 1.3; }
.font80px { font-size: clamp(2.67rem, 4.27vw, 5rem)!important; line-height: 1.2; }


/*font
-----------------------------------------------*/
.fontBold { font-weight: 700!important; }
.fontNormal { font-weight: normal!important; }

.underline { text-decoration: underline!important; }


/*align
-----------------------------------------------*/
.alright { text-align: right!important; }
.alcenter { text-align: center!important; }
.alleft { text-align: left!important; }


/* FOR smartphone landscape
***************************************************************************/
@media screen and (max-width:799px) {

	a[href^="tel:"] {
		pointer-events: auto;
	}


	a:hover img,
	input[type="submit"]:hover,
	input[type="image"]:hover {
		opacity: 1;
		filter: alpha(opacity=100);
	}
}

/* ----------------------------------- フォームのリセット -------- */
button,
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	background: transparent;
}


