@charset "UTF-8";
/*####################################

1. Fonts Lord
2. Element Settings
3. Plugin Settings
4. Bread Crumb
5. 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;
}
@font-face {
	font-family: 'MPLUSRounded1c';
	src: url('../fonts/MPLUSRounded1c-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'ZenMaruGothic';
	src: url('../fonts/ZenMaruGothic-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'ZenMaruGothic';
	src: url('../fonts/ZenMaruGothic-Medium.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'ZenMaruGothic';
	src: url('../fonts/ZenMaruGothic-Regular.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/*====================================

2. Element Settings

====================================*/
html {
	background-color: white;
	touch-action: manipulation;
}
body {
	line-height: 1.6;
	box-sizing: border-box;
	font-family: "ZenMaruGothic", "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.slick-arrow::before {
	left: -12px;
}
.top_pickup .slick-prev.slick-arrow::before{
	left: calc(50% - 20px);
}
.slick-prev.slick-arrow::after {
	transform: translate(8px, -50%) scale(-1, 1);
	background: url('../images/icon_arrow.svg');
	background-size: contain;
	left: -12px;
}
.top_pickup .slick-prev.slick-arrow::after{
	left: calc(50% - 20px);
}
.slick-arrow::before{
	content: "";
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(49, 40, 40, 0.65);
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}
.slick-arrow::after{
	content: "";
	width: 37.58px;
	height: 37.58px;
	display: block;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	-webkit-transform: translate(-8px, -50%);
	-ms-transform: translate(-8px, -50%);
	opacity: 1;
}
.slick-next.slick-arrow::before {
	right: -12px;
}
.top_pickup .slick-next.slick-arrow::before{
	right: calc(50% - 20px);
}
.slick-next.slick-arrow::after {
	background: url('../images/icon_arrow.svg');
	background-size: contain;
	right: -12px;
}
.top_pickup .slick-next.slick-arrow::after{
	right: calc(50% - 20px);
}
@media screen and (max-width: 1024px) {
	.slick-prev::before {
		border-right: transparent!important;
		border-top: transparent!important;
		left: 25%;
	}
	.slick-arrow::before{
		width: 40px;
		height: 40px;
		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);
		opacity: 1;
	}
	.slick-next::before {
		border-left: transparent!important;
		border-bottom: transparent!important;
		right: 25%;
	}
	.slick-arrow::after{
		content: "";
		width: 26px;
		height: 26px;
		display: block;
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
		-webkit-transform: translate(-8px, -50%);
		-ms-transform: translate(-8px, -50%);
		opacity: 1;
	}
}
.slick-prev{
	left: 0px;
	z-index: 1;
}
[dir='rtl'] .slick-prev::before{
	content: '';
}
.slick-next{
	right: 0px;
}
[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-weight: 500;
	font-size: 15px;
	line-height: 21px;
	color: #7b7f85;
}
.breadcrumb .inner > span {
	margin: 0px 7px;
}
.breadcrumb .inner > span:first-child {
	margin-left: 0;
}
@media screen and (max-width: 1024px) {
	.breadcrumb {
		padding: 15px 0 0;
		font-weight: 500;
		font-size: 12px;
		line-height: 17px;
		color: #7b7f85;
	}
	.breadcrumb .inner > span {
		margin: 0px 7px;
	}
	.breadcrumb .inner > span:first-child {
		margin-left: 0;
	}
}
/*====================================

5. WPcustom

====================================*/
/*
5.1 gallery
====================================*/
.gallery {
	margin: calc(clamp(0.875rem, 0.818rem + 0.24vw, 1rem) * 1.6) 0 0!important;
}
@media screen and (min-width: 1025px) {
	.gallery {
		display: grid;
		gap: 15px;
	}
	.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));
	}
	.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;
	}
}
/*
5.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;
	}
}

input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
} 