@charset "UTF-8";
/*####################################

1. Fonts Lord
2. Element Settings
3. Plugin Settings
4. Bread Crumb
5. reCAPTCHA
6. WPcustom

####################################*/
/*====================================

1. Fonts Lord

====================================*/
@font-face {
	font-family: 'NotoSansJp';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/NotoSansJP-Light.woff2') format('woff2');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSansJp';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/NotoSansJP-Regular.woff2') format('woff2');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSansJp';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/NotoSansJP-Medium.woff2') format('woff2');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSansJp';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/NotoSansJP-SemiBold.woff2') format('woff2');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSerifJp';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/NotoSerifJP-Light.woff2') format('woff2');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSerifJp';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/NotoSerifJP-Regular.woff2') format('woff2');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSerifJp';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/NotoSerifJP-SemiBold.woff2') format('woff2');
	font-display: swap;
}
/*====================================

2. Element Settings

====================================*/
html {
	background-color: white;
	touch-action: manipulation;
}
body {
	line-height: 1.6;
	box-sizing: border-box;
	font-family: "NotoSansJp", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	word-break: break-word;
}
@media screen and (max-width: 1024px) {
	body {
		font-size: 0.875rem;
	}
	body::-webkit-scrollbar {
		display: none;
	}
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	object-fit: cover;
	transition: .3s;
	image-rendering: -webkit-optimize-contrast;
	user-drag: none;
	-webkit-user-drag: none;
	-moz-user-select: none;
}
ul {
	list-style: none;
}
h1, h2, h3, h4, h5, h6, dt, th {
	font-weight: 600;
}
h2, h3, h4, h5, h6, p, dd, li {
	text-align: justify;
}
a {
	text-decoration: none;
	color: inherit;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	transition: .3s;
}
@media screen and (min-width: 1025px) {
	a:hover {
		opacity: .7;
	}
}
iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	vertical-align: bottom;
}
@media screen and (min-width: 1025px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
input{
	-webkit-appearance: auto;
	appearance: auto;
}
@media screen and (max-width: 1024px) {
	input, select, textarea {
		font-size: 16px;
	}
}
/*====================================

3.Plugin Settings

====================================*/
/*
3.1 Slick
====================================*/
/* slick.css */
.slick-list {
	height: 100%;
}
.slick-track {
	height: 100%;
}
.slick-dots {
	bottom: 29px;
}
.slick-dots li {
	width: 9px;
	height: 9px;
	margin: 0 10px;
}
.slick-dots li button {
	width: 9px;
	height: 9px;
	background: white;
	border-radius: 22px;
}
.slick-dots li.slick-active button {
	background: #1B1B1B;
}
.slick-dots li button:before {
	display: none;
}
.slick-dotted.slick-slider {
	margin-bottom: 0px;
}
@media screen and (max-width: 1024px) {
	.slick-dots {
		bottom: 13px;
	}
}
/* slick-thema.css */
.slick-loading .slick-list{
	background: none;
}
.slick-prev,
.slick-next
{
	top: 0;
	display: block;
	width: 20%;
	height: 100%;
	-webkit-transform: translate(0, 0%);
	-ms-transform: translate(0, 0%);
	transform: translate(0, 0%);
}
.slick-prev::before {
	border-right: transparent!important;
	border-top: transparent!important;
	left: 15%;
}
.slick-arrow::before{
	width: 20px;
	height: 20px;
	display: block;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%) rotate(45deg);
	-webkit-transform: translate(0, -50%) rotate(45deg);
	-ms-transform: translate(0, -50%) rotate(45deg);
	border: 2px solid white;
	opacity: 1;
}
.slick-next::before {
	border-left: transparent!important;
	border-bottom: transparent!important;
	right: 15%;
}
@media screen and (max-width: 1024px) {
	.slick-prev::before {
		border-right: transparent!important;
		border-top: transparent!important;
		left: 25%;
	}
	.slick-arrow::before{
		width: 16px;
		height: 16px;
		display: block;
		position: absolute;
		top: 50%;
		transform: translate(0, -50%) rotate(45deg);
		-webkit-transform: translate(0, -50%) rotate(45deg);
		-ms-transform: translate(0, -50%) rotate(45deg);
		border: 2px solid white;
		opacity: 1;
	}
	.slick-next::before {
		border-left: transparent!important;
		border-bottom: transparent!important;
		right: 25%;
	}
}
.slick-prev{
	left: 0px;
	z-index: 1;
}
.slick-prev::before
{
	content: '';
}
[dir='rtl'] .slick-prev::before{
	content: '';
}
.slick-next{
	right: 0px;
}
.slick-next::before{
	content: '';
}
[dir='rtl'] .slick-next::before{
	content: '';
}
.slick-dotted.slick-slider{
	margin-bottom: 0px;
}
/*
3.2 PhotoSwipe
====================================*/
.pswp {
	z-index: 100000!important;
}
.pswp__top-bar{
	background:none!important;
}
.pswp__caption__center {
	text-align: center!important;
}
.pswp__button--share {
	display:none!important;
}
.pswp img:hover {
	transition: initial;
}
/*====================================

4. Bread Crumb

====================================*/
.breadcrumb {
	padding: 20px 0 0;
	font-size: 12px;
}
.breadcrumb .inner > span {
	margin: 0px 5px;
}
.breadcrumb a {
	text-decoration: underline;
}
.breadcrumb .inner > span:first-child {
	margin-left: 0;
}
/*====================================

5. reCAPTCHA

====================================*/
.grecaptcha-badge {
	visibility: hidden;
}
.recaptcha_txt {
	font-size: 10px;
	text-align: center;
	padding: 6px 10px;
	line-height: 16px;
	color: #fff;
}
.recaptcha_txt a {
	color: inherit;
}
/*====================================

6. WPcustom

====================================*/
/*
6.1 gallery
====================================*/
@media screen and (min-width: 1025px) {
	.gallery {
		display: grid;
		gap: 15px;
		margin:30px 0 0!important;
	}
	.gallery.gallery-columns-2,
	.gallery.gallery-columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
	.gallery.gallery-columns-3,
	.gallery.gallery-columns-5,
	.gallery.gallery-columns-6,
	.gallery.gallery-columns-7,
	.gallery.gallery-columns-8,
	.gallery.gallery-columns-9{
		grid-template-columns: repeat(3, 1fr);
	}
	.gallery-item {
		float: unset!important;
		margin: 0!important;
		width: 100%!important;
	}
	.gallery .gallery-icon{
		aspect-ratio: 16/10;
	}
	.gallery img {
		display: inline-block!important;
		border: unset!important;
		width: 100%;
		height: 100%;
		margin: unset!important;
		object-fit: contain;
	}
	.gallery .gallery-caption {
		margin: 5px 0 0!important;
		text-align: center;
	}
}
@media screen and (max-width: 1024px) {
	.gallery {
		display: grid;
		gap: 15px 10px;
		grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));

		margin:24px 0 0!important;
	}
	.gallery.gallery-columns-1 {
		grid-template-columns: repeat(1, 1fr);
	}
	.gallery-item {
		float: unset!important;
		margin: 0!important;
		width: 100%!important;
	}
	.gallery .gallery-icon{
		aspect-ratio: 16/10;
	}
	.gallery.gallery-columns-1 .gallery-icon{
		aspect-ratio: unset;
	}
	.gallery img {
		display: inline-block!important;
		border: unset!important;
		width: 100%;
		height: 100%;
		margin: unset!important;
		object-fit: contain;
	}
	.gallery .gallery-caption {
		margin: 5px 0 0!important;
		text-align: center;
	}
}
/*
6.2 caption
====================================*/
@media screen and (min-width: 1025px) {
	.wp-caption {
		width: 100%!important;
		text-align: center!important;
	}
	.wp-caption img {
	}
	.wp-caption p {
		text-align: center!important;
		margin: 5px 0 0!important;
	}
}
@media screen and (max-width: 1024px) {
	.wp-caption {
		width: 100%!important;
		text-align: center!important;
	}
	.wp-caption img {
	}
	.wp-caption p {
		text-align: center!important;
		margin: 5px 0 0!important;
	}
}