/* ---------------- // reset ---------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
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, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: none;
font-style: normal;
text-align: left;
zoom: 1;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
/* ---------------- base ---------------- */
body {
font-family: var(--fontfamily);
font-style: normal;
font-weight: 400;
color: #373737;
line-height: 2;
font-size: 13px;
position: relative;
}
@media only screen and (min-width: 768px) {
	body {
		font-size: clamp( 13px, 1.41vw, 18px) ;
	}
}
@media only screen and (min-width: 1280px) {
	body {
		font-size: 18px;
	}
}
table {
border-collapse: collapse;
font-family: inherit;
}
h1,h2,h3,h4,h5 {
font-size: 100%;
font-weight: normal;
}
input,textarea,select {
font-family: inherit;
font-size: 16px;
}
input[type="button"],input[type="text"],input[type="submit"] {
-webkit-appearance: none;
border-radius: 0;
}
textarea {
resize: none;
}
th,td {
border-collapse: collapse;
}
table th,table td {
white-space: normal;
}
ul,ol {
list-style-type: none;
}
img {
vertical-align: text-bottom;
vertical-align: -webkit-baseline-middle;
}
img{
max-width: 100%;
height: auto;
width /***/:auto;
}
/* ---------------- link ---------------- */
a {transition: all .3s ease-out;}
a:link { text-decoration:none; color:#222; }
a:visited { text-decoration:none; color:#222; }
a:hover { text-decoration:none; color:#222; }
a:active { text-decoration:none; color:#222; }
/* ---------------- reset // ---------------- */
/* ---------------- font ---------------- */
@font-face {
  font-family: "josefinsans";
  src: url("../fonts/JosefinSans-Regular.woff") format("woff"),
    url("../fonts/JosefinSans-Regular.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "josefinsans_b";
  src: url("../fonts/JosefinSans-Bold.woff") format("woff"),
    url("../fonts/JosefinSans-Bold.ttf") format("truetype");
  font-display: swap;
}
.century {
  font-family: "josefinsans", sans-serif;
  font-weight: normal;
}
.century_b {
  font-family: "josefinsans_b", sans-serif;
}
.shuei {
	font-family: dnp-shuei-gothic-gin-std, sans-serif;
	font-style: normal;
	font-weight: 400;
}
.zen {
	font-family: zen-old-mincho, sans-serif;
	font-style: normal;
	font-weight: 400;
}
/*--------------------------------------
nowrap
--------------------------------------*/
.nowrap {
	white-space: nowrap;
}
/*--------------------------------------
blank
--------------------------------------*/
.pc_br {
	display: none;
}
@media only screen and (min-width: 768px) {
	.sp_br {
		display: none;
	}
	.pc_br {
		display: block;
	}
}
/*--------------------------------------
box-sizing
--------------------------------------*/
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-mos-box-sizing: border-box;
	-mz-box-sizing: border-box;
	-o-box-sizing: border-box;
}
/*--------------------------------------
transition
--------------------------------------*/
.tra {
	transition: all 0.5s ease-out;
	-o-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	-webkit-transition: all 0.5s ease-out;
	-ms-transition: all 0.5s ease-out;
}
.preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}