@charset "UTF-8";
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: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	word-break : break-all;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
	-webkit-font-smoothing: antialiased;
	moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}
/* noto-sans-regular - latin */
@font-face {
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Noto Sans JP'), url('../fonts/NotoSans-Regular.ttf') format('truetype');
}
/* noto-sans-700 - latin_ */
@font-face {
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 700;
	src: local('Noto Sans JP'), url('../fonts/NotoSans-SemiBold.ttf') format('truetype');
}
/* noto-sans-regular-italic - latin */
@font-face {
	font-family: 'Noto Sans';
	font-style: italic;
	font-weight: 400;
	src: local('Noto Sans JP'), url('../fonts/NotoSans-Italic.ttf') format('truetype');
}
/* noto-sans-700-italic  - latin_ */
@font-face {
	font-family: 'Noto Sans';
	font-style: italic;
	font-weight: 700;
	src: local('Noto Sans JP'), url('../fonts/NotoSans-SemiBoldItalic.ttf') format('truetype');
}
/* noto-sans-jp-regular - latin_japanese */
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: local('Noto Sans JP'), url('../fonts/NotoSansJP-Regular.ttf') format('truetype');
}
/* noto-sans-jp-700 - latin_japanese */
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: local('Noto Sans JP'), url('../fonts/NotoSansJP-Bold.ttf') format('truetype');
}
html { font-size: 62.5%; }
body {
	font-family: 'Noto Sans', 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', -apple-system, BlinkMacSystemFont, Meiryo, メイリオ, 'ＭＳ Ｐゴシック', sans-serif!important;
	font-size: calc(1.4rem + 8 * (100vw - 320px)/1600); /*ベースサイズ最小1.4rem - 最大2.2rem*/
	line-height: 2;
	letter-spacing: 0.05rem;
	color: #191919;
	overflow-x: hidden!important;
}



@media (prefers-reduced-motion: no-preference) {
	:root { scroll-behavior: auto!important; }
}



h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1,p,ol,ul,dl {
	margin: 0;
	padding: 0;
	margin-block-start: 0!important;
	margin-block-end: 0!important;
	margin-inline-start: 0!important;
	margin-inline-end: 0!important;
	padding-inline-start: 0!important;
	font-weight: 400;
	list-style: none;
}



h1 { font-size: calc(2.2rem + 6 * (100vw - 320px)/1600); } /*ベースサイズ最小2.2rem - 最大3.0rem*/



a {
	color: #7c7c7c;
	text-decoration: none!important;
	transition: all .25s ease!important;
}
a h1,
a.current { color: #191919; }
a > * { transition: all .25s ease!important; }
a:hover {
	color: #191919;
	opacity: 1;
}

a.hover-zoom,
a.hover-zoom .img {
	display: block!important;
	overflow: hidden;
}
a.hover-zoom .img img { transition: all 2s ease!important; }
a.hover-zoom:hover .img img { transform: scale(1.1)!important; }
a.hover-zoom:hover { opacity: 1!important; }
a.hover-zoom .plus {
	position: absolute;
	width: 2rem;
	height: 2rem;
	top: .8rem;
	left: 2rem;
}
a.hover-zoom .plus img {
	width: 2rem;
	height: 2rem;
}
img {
	white-space: pre;/**title, alt属性内の「&#13;&#10;」で改行**/
	line-height: 1;
}

.border-top { border-top: 1px solid #191919!important; }
.border-end { border-right: 1px solid #191919!important; }
.border-bottom { border-bottom: 1px solid #191919!important; }
.border-start { border-left: 1px solid #191919!important; }
.border { border: 1px solid #191919!important; }


.w-95 { width: 95%!important; }
.mw-1200 { max-width: 120rem!important; }
.mw-1920 { max-width: 192rem!important; }

@media (min-width: 576px) {
	.w-sm-95 { width: 95%!important; }
}



.bg-black { background-color: #191919!important; }
.bg-white { background-color: #fff!important; }



.fc-white { color: #fff!important; }
.fc-gray { color: #7c7c7c!important; }
.fc-lightgray { color: #c9c9c9!important; }

.lh-0 { line-height: 0!important; }
.lh-75 { line-height: 0.75!important; }
.lh-s { line-height: 1.2!important; }
.lh-sm { line-height: 1.5!important; }
.lh-m { line-height: 1.8!important; }
.lh-23 { line-height: 2.3!important; }

.ls-005 { letter-spacing: .05rem!important; }
.ls-palt { font-feature-settings: "palt"; }

.fs-italic { font-style: italic; }

b, strong, .fw-bold { font-weight: 600!important; }
.text-justify {
	text-align: justify!important;
	text-justify: auto!important;
}


.fs-11-13 { font-size: calc(1.1rem + 2 * (100vw - 320px)/1600); } /*最小1.1rem - 最大1.3rem*/
.fs-12-15 { font-size: calc(1.2rem + 3 * (100vw - 320px)/1600); } /*最小1.2rem - 最大1.5rem*/
.fs-13-18 { font-size: calc(1.3rem + 5 * (100vw - 320px)/1600); } /*最小1.3rem - 最大1.8rem*/
.fs-14-22 { font-size: calc(1.4rem + 8 * (100vw - 320px)/1600); } /*基準：最小1.4rem - 最大2.2rem*/
.fs-82 { font-size: calc(5.2rem + 30 * (100vw - 320px)/1600); } /*ベースサイズ最小5.2rem - 最大8.2rem*/



.fs-10 { font-size: 1rem!important; }
.fs-11 { font-size: calc(1rem + 1 * (100vw - 320px)/1600); }   /*ベースサイズ最小1rem - 最大1.1rem*/
.fs-12 { font-size: calc(1rem + 2 * (100vw - 320px)/1600); }   /*ベースサイズ最小1rem - 最大1.2rem*/
.fs-14 { font-size: calc(1.2rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.2rem - 最大1.4rem*/
.fs-15 { font-size: calc(1.3rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.3rem - 最大1.5rem*/
.fs-16 { font-size: calc(1.4rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.4rem - 最大1.6rem*/
.fs-17 { font-size: calc(1.5rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.5rem - 最大1.7rem*/
.fs-18 { font-size: calc(1.6rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.6rem - 最大1.8rem*/
.fs-19 { font-size: calc(1.7rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.7rem - 最大1.9rem*/
.fs-20 { font-size: calc(1.8rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.8rem - 最大2.0rem*/
.fs-21 { font-size: calc(1.9rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.9rem - 最大2.1rem*/
.fs-22 { font-size: calc(2.0rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.0rem - 最大2.2rem*/
.fs-23 { font-size: calc(2.1rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.1rem - 最大2.3rem*/
.fs-24 { font-size: calc(2.2rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.2rem - 最大2.4rem*/
.fs-25 { font-size: calc(2.3rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.3rem - 最大2.5rem*/
.fs-26 { font-size: calc(2.4rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.4rem - 最大2.6rem*/
.fs-27 { font-size: calc(2.5rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.5rem - 最大2.7rem*/
.fs-28 { font-size: calc(2.6rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.6rem - 最大2.8rem*/
.fs-29 { font-size: calc(2.7rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.7rem - 最大2.8rem*/
.fs-30 { font-size: calc(2.8rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.8rem - 最大3.0rem*/
.fs-31 { font-size: calc(2.9rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.9rem - 最大3.1rem*/
.fs-32 { font-size: calc(3.0rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小3.0rem - 最大3.2rem*/



@media (min-width: 576px) {
}
@media (min-width: 768px) {
}
@media (min-width: 992px) {
}


.ms-50 { margin-left: 5rem!important; }
.mt-10 { margin-top: 1rem!important; }
.mt-20 { margin-top: 2rem!important; }
.mt-25 { margin-top: 2.5rem!important; }
.mt-30 { margin-top: 3rem!important; }
.mt-45 { margin-top: 4.5rem!important; }
.mt-50 { margin-top: 5rem!important; }
.mt-55 { margin-top: 5.5rem!important; }
.mt-60 { margin-top: 6rem!important; }
.mt-65 { margin-top: 6.5rem!important; }
.mt-70 { margin-top: 7rem!important; }
.mt-75 { margin-top: 7.5rem!important; }
.mt-80 { margin-top: 8rem!important; }
.mt-100 { margin-top: 10rem!important; }
.mt-120 { margin-top: 12rem!important; }
.mt-180 { margin-top: 18rem!important; }
.mb-30 { margin-bottom: 3rem!important; }
.mb-50 { margin-bottom: 5rem!important; }
.mb-60 { margin-bottom: 6rem!important; }
.mb-80 { margin-bottom: 8rem!important; }
.pt-15 { padding-top: 1.5rem!important; }
.pt-30 { padding-top: 3rem!important; }
.pt-80 { padding-top: 8rem!important; }
.pt-120 { padding-top: 12rem!important; }



@media (min-width: 576px) {
	.mt-sm-20 { margin-top: 2rem!important; }
	.mt-sm-45 { margin-top: 4.5rem!important; }
	.mt-sm-50 { margin-top: 5rem!important; }
	.mt-sm-60 { margin-top: 6rem!important; }
	.mt-sm-65 { margin-top: 6.5rem!important; }
	.mt-sm-75 { margin-top: 7.5rem!important; }
	.mt-sm-80 { margin-top: 8rem!important; }
	.mt-sm-120 { margin-top: 12rem!important; }
	.mt-sm-180 { margin-top: 18rem!important; }
	.pt-sm-30 { padding-top: 3rem!important; }
}
@media (min-width: 992px) {
	.ms-lg-col-3 { margin-left: 25%; }
	.mt-lg-0 { margin-top: 0!important; }
	.mt-lg-025 { margin-top: .25rem!important; }
	.mt-lg-10 { margin-top: 1rem!important; }
	.mt-lg-40 { margin-top: 4rem!important; }
	.mt-lg-50 { margin-top: 5rem!important; }
	.mt-lg-60 { margin-top: 6rem!important; }
	.mt-lg-80 { margin-top: 8rem!important; }
	.mt-lg-85 { margin-top: 8.5rem!important; }
	.mt-lg-95 { margin-top: 9.5rem!important; }
	.mt-lg-110 { margin-top: 11rem!important; }
	.mt-lg-120 { margin-top: 12rem!important; }
	.mb-lg-0 { margin-bottom: 0!important; }
	.pt-lg-0 { padding-top: 0!important; }
}
@media (min-width: 1200px) {
}
@media (min-width: 1400px) {
}