@charset "UTF-8";
/*design.css*/

/*-----------------------------------*
(torso-design.com)
テンプレート共通CSS + PC共通CSS
 *-----------------------------------*/

body {
	margin: 0px;
	padding: 0px;
	font-size: 10px;
	color: #333333;
	text-align: center;
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "ＭＳ Ｐゴシック", 'Lucida Grande', arial, verdana, sans-serif;
	line-height: 16px;
	background: #00000017;
}

a:link {
	color: #5C5C5C;
	text-decoration: none;
}

a:active {
	color: #FD746F;
	text-decoration: none;
}

a:hover {
	color: #FF00;
	text-decoration: underline;
}

a:visited {
	color: #004d2b;
	text-decoration: none;
}

a img {
	border: none;
}



@media (max-width: 991px) {
	body {
		overflow: hidden;
	}

	#wrapper {
		position: relative;
		height: 100vh;
		width: 100vw;
	}
}

#contents {
	margin: 0 auto;
	width: 100%;
}

@media (max-width: 991px) {
	#contents {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	#contents .container {
		transform: translateY(-48px);
	}
}

#container {
	margin: 0 auto;
	width: 100%;
}

/* swiper */
.swiper {
	position: relative;

	margin: 0 auto;
	text-align: center;
}

.swiper-slide {
	line-height: 0;
	width: 100%;
	max-width: 753px;
}

.swiper-slide-active {
	z-index: 1;
}

.swiper-slide img {
	transform: scale(.8);
	transition: 1.5s;
	opacity: .4;
}

.swiper-slide-active img {
	transform: scale(1);
	opacity: 1;
}

.swiper-slide img {
	height: 100vh;
	width: auto;
}

.swiper-button-prev,
.swiper-button-next {
	width: 50px;
	position: absolute;
	top: 50%;
	cursor: pointer;
	cursor: hand;
}

.swiper-button-prev {
	left: calc(50% - 451px);
	z-index: 60;
	transform: translateZ(1px);
}

.swiper-button-next {
	right: calc(50% - 451px);
	z-index: 61;
	transform: translateZ(1px);
}


.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
	content: none;
}

.swiper-slide {
	-webkit-backface-visibility: hidden;
}

@media (max-width: 991px) {
	.swiper-slide {
		width: 100%;
		max-width: none;
	}

	.swiper-slide img {
		height: auto;
		width: 100%;
	}

	.swiper-slide img {
		transform: scale(.9);
		transition: 1.5s;
		opacity: .3;
	}

	.swiper-slide-active img {
		transform: scale(1);
		opacity: 1;
	}


	.swiper-button-prev {
		display: none;
	}

	.swiper-button-next {
		display: none;
	}

}

/* ハンバーガーメニュー */

.btn-triggerWrap {
	position: fixed;
	top: 20px;
	right: 20px;
	width: 21px;
	height: 21px;
	z-index: 1020;

}

.btn-trigger {
	position: absolute;
	top: 0;
	right: 0;
	width: 21px;
	height: 21px;
	cursor: pointer;
	z-index: 1000;
}

.btn-trigger span {
	position: absolute;
	right: 0;
	width: 5px;
	height: 5px;
	background-color: #6E6E6E;
}
.btn-trigger span::before,
.btn-trigger span::after {
	position: absolute;
	left: -8px;
	width: 5px;
	height: 5px;
	background-color: #6E6E6E;
	content: "";
}
.btn-trigger span::after {
	left: -16px;
}

.btn-trigger,
.btn-trigger span {
	display: inline-block;
	transition: all .5s;
	box-sizing: border-box;
}

.btn-trigger span:nth-of-type(1) {
	top: 0px;
}

.btn-trigger span:nth-of-type(2) {
	top: 8px;
}

.btn-trigger span:nth-of-type(3) {
	bottom: 0;
}

.btn-trigger.active span {
	top: 0;
	bottom: 0;
    margin: auto 0;
    width: 26px;
    height: 2px;
    right: -2px;
}
.btn-trigger.active span::before,
.btn-trigger.active span::after {
	display: none;
}
.btn-trigger.active span:nth-of-type(1) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.btn-trigger.active span:nth-of-type(2) {
	left: 50%;
	opacity: 0;
	-webkit-animation: active-btn05-bar02 .8s forwards;
	animation: active-btn05-bar02 .8s forwards;
}

@-webkit-keyframes active-btn05-bar02 {
	100% {
		height: 0;
	}
}

@keyframes active-btn05-bar02 {
	100% {
		height: 0;
	}
}

.btn-trigger.active span:nth-of-type(3) {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.header_menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	background-color: #E3E3E3;
	overflow-y: scroll;
	height: 100%;
	z-index: 1010;
}

.header_menu__inner {
	max-width: 1240px;
	padding: 5% 20px;
	margin: 0 auto;
}

.header_menu__inner a {
	display: block;
	width: 45.53%;
	transition: all .3s;
}
.header_menu__inner li a:nth-child(1) {
	margin-right: 2.65%;
	width: 45.53%;
	transition: all .3s;
}

.header_menu__inner a:hover {
	opacity: .7;
}

.header_menu-link {
	display: flex;
	gap: 3.5%;
	flex-wrap: wrap;
}

.header_menu-link li {
    display: flex;
    justify-content: center;
	width: 31%;
	margin-bottom: 3.5%;
}

.header_menu-link li img {
	width: 100%;
	height: auto;
}

.header_menu-btn {
	display: flex;
	justify-content: center;
	align-items: center;
}

.header_menu-btn li {
	margin: 0 2%;
	padding: 3% 0;
}

.header_menu-copy {
	font-size: 14px;
	letter-spacing: .1em;
	text-align: center;
	font-family: 'Oxygen', sans-serif;
}

@media (max-width: 991px) {
	.btn-triggerWrap {
		top: 15px;
		right: 15px;
	}

	.header_menu__inner {
		padding: 15% 20px;
	}

	.header_menu-link {
		display: flex;
		gap: 0%;
		flex-wrap: wrap;
	}

	.header_menu-link li {
		width: 100%;
		margin-bottom: 4%;
	}

	.header_menu-btn {
		justify-content: space-around;
	}

	.header_menu-btn li {
		padding: 6% 0;
	}
}


/* -- navOuter -- */
#navOuter {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	padding-right: 39px;
	width: 417px;
	z-index: 1000;
	transform: translateX(-417px);
	transition: transform .6s;
	background: #fff;
}
/* - navBg - */
#navBg {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 900;
	background: #000;
	opacity: .6;
}
/* - navBtn - */
#navBtn {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 39px;
	background: #FFF;
	border-right: 1px solid #6E6E6E;
}
#navBtn a {
	color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	transition: opacity 0.6s;
}
#navBtn span {
	white-space: nowrap;
	font-family: "Jost", sans-serif;
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1;
	display: inline-block;
	padding: 0 26px;
	transform: rotate(90deg);
}
#navBtn span::after {
	position: absolute;
    top: 4px;
    right: 0;
    width: 16px;
    height: 5px;
    background: url(../img/arrow.svg) no-repeat 0 0 / 100% auto;
    transform: rotate(-90deg);
    content: "";
}
/* hover */
#navBtn a:hover {
	text-decoration: none;
	color: #000;
	opacity: .6;
}
/* - navCnt - */
#navCnt {
	overflow-y: scroll;
	height: 100%;
	min-height: 100vh;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
#navCnt::-webkit-scrollbar {
  display: none;
}
.navItem {
	padding: 40px;
}
.swiper .navItem {
	display: none;
}
.navItem > * {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.navItem > *:not(:last-child) {
	margin-bottom: 15px;
}
.navItem .img {
	width: 120px;
}
.navItem .item {
	text-align: left;
	font-family: "Jost", sans-serif;
	font-size: 12px;
	letter-spacing: 0.05em;
	margin-top: 1px;
	width: calc(100% - 140px);
}
.navItem .item li:not(:last-child) {
	margin-bottom: 12px;
}
.navItem .item a {
	text-decoration: underline;
	color: #333
}
.navItem .item span {
	font-size: 10px;
}
/* open */
.open#navOuter { transform: translateX(0); }
.open#navOuter #navBtn span::after { transform: rotate(90deg); }
/* hover */
.navItem .item a:hover {
	text-decoration: none;
}
@media (max-width: 991px) {
	#navOuter {
		top: 149px;
		padding: 0 0;
		width: 100%;
		transform: translate(0,100%);
	}
	/* - navBtn - */
	#navBtn {
		top: 1px;
		bottom: auto;
		margin: 0;
		width: 100%;
		height: 52px;
		border-top: 1px solid #6E6E6E;
		border-right: none;
		transform: translateY(-100%);
	}
	#navBtn span {
		padding: 0 25px;
		transform: rotate(0);
	}
	/* - navCnt - */
	#navCnt {
		min-height: auto;
	}
	.navItem {
		padding: 25px 30px 30px;
	}
	.navItem .img {
		width: 100px;
	}
	.navItem .img img {
		width: 100%;
		height: auto;
	}
	.navItem .item {
		width: calc(100% - 115px);
	}
}