@charset "UTF-8";
/* base
------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Spartan:wght@400;700&display=swap");
:root {
	--easing: cubic-bezier(.2, 1, .2, 1);
	--transition: .8s var(--easing);
	--color-base: #f8f8f8;
	--color-gray: #ddd;
	--color-theme: #f5695f;
	--color-theme-darken: #f12617;
	--box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
	--box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
	--box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
	--box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
}
::selection {
	color: #fff;
	background: var(--color-theme);
}

img {
	border: 0;
	margin: 0;
}

figure {
	margin: 0;
}

p {
	margin: 0;
	padding: 0;
}

a {
	text-decoration: none;
	color: #333;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 1.6rem;
	margin: 0;
	padding: 0;
}

main {
	display: block;
}

.l-inner {
	position: relative;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10rem;
}
@media only screen and (max-width: 1024px) {
	.l-inner {
		padding: 0 4rem;
	}
}

.l-section {
	border-top: 1px solid #eee;
}
.l-section .l-inner {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

@media only screen and (max-width: 599px) {
	.pc-tab {
		display: none !important;
	}
}
/* design
------------------------------*/
.c-temp {
	line-height: 1;
}
.c-temp .l-inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
			-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
			-ms-flex-pack: justify;
	justify-content: space-between;
	padding-top: 4rem;
	padding-bottom: 4rem;
}
@media only screen and (max-width: 1024px) {
	.c-temp .l-inner {
		padding: 3.2rem;
	}
}
.c-temp .text {
	font-size: 2.4rem;
	font-weight: bold;
}
.c-temp .button {
	font-size: 1.4rem;
	font-weight: bold;
	display: block;
	width: 12rem;
	padding: 1.6rem 0 1.2rem;
	text-align: center;
	letter-spacing: 0.1em;
	color: #fff;
	border-radius: 100px;
	background-color: var(--color-theme);
}
@media only screen and (max-width: 599px) {
	.c-temp .button {
		font-size: 1.2rem;
		width: 9rem;
	}
}
@media only screen and (min-width: 1025px) {
	.c-temp .button {
		-webkit-transition: var(--transition);
		transition: var(--transition);
	}
	.c-temp .button:hover {
		background-color: var(--color-theme-darken);
	}
}

.c-footer .l-inner {
	padding-top: 0;
}
.c-footer .text {
	color: var(--color-gray);
}

.c-info {
	font-size: 1.4rem;
	display: inline-block;
	margin-top: 4rem;
	margin-bottom: 6.4rem;
}
@media only screen and (max-width: 1200px) {
	.c-info {
		display: block;
		margin-top: 0;
		margin-bottom: 6.4rem;
	}
}
.c-info li {
	position: relative;
	padding-left: 16px;
}
.c-info li::before {
	position: absolute;
	top: 0.6em;
	left: 0;
	display: inline-block;
	width: 8px;
	height: 2px;
	content: "";
	background-color: var(--color-gray);
}
.c-info li + li {
	margin-top: 0.8rem;
}

.c-title {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
	display: inline-block;
	min-width: 32rem;
	margin-bottom: 6.4rem;
	vertical-align: top;
}
@media only screen and (max-width: 1200px) {
	.c-title {
		margin-bottom: 3.2rem;
	}
}
@media only screen and (max-width: 599px) {
	.c-title {
		min-width: 100%;
	}
}
.c-title [class*=ico-] {
	font-size: 1.3rem;
	line-height: 1;
	display: block;
	width: 10rem;
	margin-bottom: 1.2rem;
	padding: 0.8rem 0 0.6rem;
	text-align: center;
	letter-spacing: 0.05em;
	border-radius: 100px;
	background-color: var(--color-gray);
}
.c-title .ico-advanced {
	color: #fff;
	background-color: #333;
}

/* slider */
[class*=swiper]:focus {
	outline: none;
}

.slide-media,
.thumb-media {
	position: relative;
	overflow: hidden;
}
.slide-media img,
.thumb-media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
		 object-fit: cover;
}

/* 前へ / 次へボタン */
.swiper-button-prev,
.swiper-button-next {
	display: grid;
	place-content: center;
	width: 4rem;
	height: 4rem;
	color:var(--color-theme-darken);
	background-color:var(--color-base);
	cursor: pointer;
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
@media only screen and (min-width: 1025px) {
	.swiper-button-prev::before, .swiper-button-next::before {
		-webkit-transition: var(--transition);
		transition: var(--transition);
	}
	.swiper-button-prev:hover::before, .swiper-button-next:hover::before {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
}
.swiper-button-prev::before,
.swiper-button-next::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	border-radius: 50%;
	-webkit-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);
}
.swiper-button-prev::after,
.swiper-button-next::after {
	width: 1.2rem;
	height: 1.2rem;
	content: "";
	border: solid var(--color-theme-darken);
	border-width: 3px 3px 0 0;
}
.swiper-button-prev::after {
	margin-left: 0.4rem;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.swiper-button-next::after {
	margin-right: 0.4rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.swiper-button-disabled {
	pointer-events: none;
	opacity: 0;
}

.gallery {
	/* コンテナ */
	overflow: hidden;
	/* フェードモード時 共通調整 */
	/* コントローラー */
	/* 前へ / 次へボタン */
	/* スライド */
	/* サムネイル */
}
.swiper-wrapper{
	position:relative;
}
.gallery .swiper {
	max-width: 100%;
	margin: auto;
}
.gallery .thumb-wrapper {
	max-width: 100%;
	margin: auto;
}
.gallery .swiper {
	overflow: visible;
}
.gallery .swiper-fade .swiper-slide {
	-webkit-transition-property: opacity, -webkit-transform !important;
	transition-property: opacity, -webkit-transform !important;
	transition-property: opacity, transform !important;
	transition-property: opacity, transform, -webkit-transform !important;
	pointer-events: none;
}
.gallery .swiper-fade .swiper-slide-active {
	pointer-events: auto;
}
.gallery .swiper-controller {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 62.5%;
}
.gallery .swiper-button-prev,
.gallery .swiper-button-next {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius:50%;
	overflow:hidden;
}
.gallery .swiper-button-next {right:8px;}
@media only screen and (max-width: 1024px) {
	.gallery .swiper-button-prev::before,
	.gallery .swiper-button-next::before {
		background-color: rgba(248, 248, 248, 0.5);
		-webkit-box-shadow: var(--box-shadow-dark);
		box-shadow: var(--box-shadow-dark);
	}
}
@media only screen and (max-width: 1024px) {
	.gallery .swiper-button-prev::after,
	.gallery .swiper-button-next::after {
		border-color: var(--box-shadow-dark);
	}
}
.gallery .swiper-button-prev {
	right: calc(100% + 3.2rem);
}
@media only screen and (max-width: 1024px) {
	.gallery .swiper-button-prev {
		right: calc(100% - 3.2rem);
	}
}
/*.gallery .swiper-button-next {
	left: calc(100% + 3.2rem);
}
@media only screen and (max-width: 1024px) {
	.gallery .swiper-button-next {
		left: calc(100% - 3.2rem);
	}
}*/
.gallery .slide {
	display: block;
	margin-left:auto;
	margin-right:auto;
	width:80%;
	overflow: hidden;
}
@media screen and (max-width: 1024px){
	.gallery .slide {height:auto;}
}
@media screen and (max-width: 767px){
	.swiper-wrapper {height:auto;}
	.gallery .slide {height:auto;}
	.gallery .swiper-button-prev::before,
	.gallery .swiper-button-next::before {
		background-color: rgba(248, 248, 248, 0.5);
	}
}
/*-
.gallery .slide-media {
	display: block;
	padding-top: 56.25%; /* 16:9 の比率（9 ÷ 16 = 0.5625 → 56.25%）
	border-radius: 4px;
}
.gallery .slide-media img {
	-o-object-fit: contain;
		 object-fit: contain;
}
-*/
.gallery .slide-media {
	display: block;
	padding-top: 62.5%;
	border-radius: 4px;
	position: relative;
	overflow: hidden;
}
.gallery .slide-media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 全体に広げる。containにすると余白が出る */
}

.gallery .slide-title {
	position:absolute;
	bottom:0;
	font-size:0.9em;
	color:#f8f8f8;
	line-height: 1.6;
	padding: 0.2em 0.6em;
	background-color:rgba(0,0,0,0.3);
}
.gallery .thumb-wrapper {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 8px;
}
@media only screen and (max-width: 599px) {
	.gallery .thumb-wrapper {
		grid-template-columns: repeat(4, 1fr);
	}
	.gallery .slide-title {
		padding: 0.1em 0.4em;
		font-size:0.8em;
		line-height: 1.4;
		letter-spacing:0.02em;
		left:-8px;
		bottom:-20px;
	}
	.c-box-caption,
	.c-list > li{letter-spacing:0.02em;}
}
.gallery .thumb-media {
	padding-top: 100%;
	cursor: pointer;
	-webkit-transition: var(--transition);
	transition: var(--transition);
	border-radius: 4px;
}
@media only screen and (min-width: 1025px) {
	.gallery .thumb-media:hover {
		-webkit-transform: scale(0.9);
		transform: scale(0.9);
	}
	.gallery .thumb-media:hover img {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
}
.gallery .thumb-media img {
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
.gallery .thumb-media-active {
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
	opacity: 0.3;
}
.gallery .thumb-media-active img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.c-list > li{word-break: break-all;}
.c-list > li.list-none::before{content: none;}
@media only screen and(max-width: 768px) {
	.c-imageset__image {
	    	margin-right: 30px;
	}
}
header#masthead{height:200px!important;}
hgroup h2.site-description{display:none;}
#main{max-width:1280px;}
section{padding-bottom:50px;}
h2,h3 {font-size: 1em;margin:30px 0 0;}
h4{font-size:1em;padding:2px 15px;color:#fff;background-image: linear-gradient(180deg, rgba(135, 39, 50, 1), rgba(85, 40, 45, 1) 100%, rgba(40, 40, 40, 1));}
p {margin-bottom:0.2em;} 
a{color: #127548;}
.entry-content img{margin-bottom:0;}
.c-caption{margin-top:8px;}
.c-host{margin:3em 0 1em;padding:8px 15px;background:#eee;}
.c-imageset-small__inner{padding:0;border:none;}
ul{margin:1em 0;}
@media (min-width: 768px) {.
	.c-imageset__content {padding-top: 0;}
	h4{font-size:1.4em;}
}