@charset "UTF-8";

.inview05 {
	opacity: 0;
	transform: translateY(100px);
}
.inview05.show {
	animation-fill-mode: forwards;
	animation-duration: 1.6s;
	animation-name: movey;
	filter: blur(0);
}
@keyframes movey {
	0% {
		opacity: 0;
		transform: translateY(100px);
		/* filter: blur(5px); */
	}
	100% {
		opacity: 1;
		transform: translateY(0);
		/* filter: blur(0); */
	}
}
/* main_copy
----------------------------------------*/
.main_copy {
	padding: 8rem 10.6rem;
	text-align: center;
}
.main_copy h3 {
	max-width: 73.6rem;
	margin: 0 auto;
}
.main_copy h4 {
	font-size: 3rem;
	margin-top: 4rem;
	letter-spacing: 0.05em;
}
.main_copy h5 {
	font-size: 2.4rem;
	margin-top: 2rem;
	letter-spacing: 0.05em;
}
.main_copy p {
	font-size: 1.4rem;
	margin-top: 4.1rem;
	line-height: 2.28;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
	.main_copy {
		padding: 2rem 1.5rem;
	}
	.main_copy h3 {
		max-width: 100%;
		margin-top: 5rem;
	}
	.main_copy h4 {
		font-size: 2.2rem;
		text-align: left;
	}
	.main_copy h5 {
		font-size: 2rem;
		text-align: left;
	}
	.main_copy p {
		text-align: left;
		margin-top: 1rem;
		line-height: 2;
	}
}


.block_inner {
    width: 98rem;
    margin: 0 auto 8rem;
}
@media only screen and (max-width: 768px) {
	.block_inner {
		width: 100%;
		margin: 0 0 5rem 0;
		padding: 0 2rem 0 2rem;

	}
}
/* ページナビ
----------------------------------------*/
.pagenavi {
}


.pagenavi_inner {
  max-width: 98rem;
	margin: 0 auto;
	padding-top: 6rem;
}

.pagenavi_inner ul {
    width: 100%;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-around;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.pagenavi_inner ul li {
	width: 20%;
	background: #e6e6e6;
	padding: 7px;
	text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #fff;
}

.pagenavi_inner ul li:last-child {
	border-right: none;
}

.pagenavi ul li.current {
	width: 20%;
	background: #97d5e8;
	margin: 0;
	text-align: center;
}

.pagenavi_inner ul li a{
	text-decoration: none;
	display: block;
	padding: 25px 0;
	transition: 0.3s;
	font-size: 1.6rem;
}
.pagenavi_inner ul li:nth-of-type(1) a {
	padding-inline: 0;
}
.pagenavi_inner ul li:nth-of-type(2) a {
	padding-inline: 64px;
}
.pagenavi_inner ul li:nth-of-type(3) a {
	padding: 15px 0;
}
.pagenavi_inner ul li:nth-of-type(4) a {
	padding-inline: 15px;
}
.pagenavi_inner ul li:nth-of-type(5) a {
	padding-inline: 15px;
}
.pagenavi_inner ul li.current a {
	display: block;
	font-size: 1.6rem;
	text-decoration: none;
	color: #fff !important;
}

.pagenavi_inner ul li a:hover{
	opacity: .5;

}

.pagenavi_inner ul li a > span {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 3.2rem;
	line-height: 1.4;
	overflow: hidden;
	font-size: 1.6rem;
}
.pagenavi_inner ul li:nth-of-type(3) a > span {
	height: 5.2rem;
}
.pagenavi_inner ul li a > span > span {
	transition: 0.4s;
  padding: 5px 0;
}
.pagenavi_inner ul li a > span > span:last-of-type {
	font-size: 1.5rem;
}
.pagenavi_inner ul li a:hover > span > span {
  transform: translateY(-3.2rem);
}
.pagenavi_inner ul li:nth-of-type(3) a:hover > span > span {
	transform: translateY(-5.2rem);
}


@media only screen and (max-width: 768px) {
	.pagenavi_inner {
		width: 100%;
		font-size: 1.8rem;
		margin: 0;
		padding: 2rem 2rem 0 2rem;
	}
	.pagenavi_inner ul{
		display: block;
	}
	.pagenavi_inner ul li {
		width: 100%;
	}

	.pagenavi_inner ul li.current {
		width: 100%;
	}

	.pagenavi_inner ul li a {
		padding: 10px 0;
	}
	.pagenavi_inner ul li:nth-of-type(1) a {
		padding-inline: 70px;
	}
	.pagenavi_inner ul li:nth-of-type(2) a {
		padding-inline: 125px;
	}
	.pagenavi_inner ul li:nth-of-type(3) a {
		padding: 5px 32px;
	}
	.pagenavi_inner ul li:nth-of-type(4) a {
		padding-inline: 95px;
	}
	.pagenavi_inner ul li:nth-of-type(5) a {
		padding-inline: 90px;
	}

	.pagenavi_inner ul li a > span {
		overflow: visible;
		height: auto;
	}
	.pagenavi_inner ul li:nth-of-type(3) a > span {
		justify-content: center;
	}
	.pagenavi_inner ul li a > span > span {
		padding: 0;
	}
	.pagenavi_inner ul li a > span > span:last-child  {
		font-size: 11px;
	}
	.pagenavi_inner ul li a:hover > span > span {
		transform: none;
	}
	.pagenavi_inner ul li:nth-of-type(3) a:hover > span > span {
		transform: none;
	}
}

/* 5カラム
----------------------------------------*/
.grid_5 {
	display: grid;
	gap: 3.2rem 2rem;
	grid-template-columns: repeat(5, 1fr);
	margin-bottom: 3rem;
}

.grid_5 .long {
  grid-column: span 2; /* 2カラム分を使う */
}

@media only screen and (max-width: 736px) {
	.grid_5 {
		margin-bottom: 1rem;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.8rem 2rem;
	}
	.grid_5 div{
		margin-bottom: 2rem;
	}
}

/* 4カラム
----------------------------------------*/
.grid_4 {
	display: grid;
	gap: 3.2rem 3rem;
	grid-template-columns: repeat(4, 1fr);
	margin-bottom: 4rem;
}

.grid_4 .long {
  grid-column: 1 / span 3;
}

@media only screen and (max-width: 736px) {
	.grid_4 {
		margin-bottom: 1rem;
		display: block;
		overflow: hidden;
	}
	.grid_4 div{
		margin-bottom: 2rem;
	}
}

/* 3カラム
----------------------------------------*/
.grid_3 {
	display: grid;
	gap: 3.2rem 3rem;
	grid-template-columns: repeat(3, 1fr);
	margin-bottom: 4rem;
}

.grid_3 .long {
 	grid-column: span 2;
}

@media only screen and (max-width: 736px) {
	.grid_3 {
		margin-bottom: 1rem;
		display: block;
		overflow: hidden;
	}
	.grid_3 div{
		margin-bottom: 2rem;
	}
}

/* 2カラム
----------------------------------------*/
.grid_2 {
	display: grid;
	gap: 3.2rem 3rem;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 4rem;
}

@media only screen and (max-width: 736px) {
	.grid_2 {
		margin-bottom: 1rem;
		display: block;
		overflow: hidden;
	}
	.grid_2 div{
		margin-bottom: 2rem;
	}
}

/* 1カラム
----------------------------------------*/
.grid_1 {
	display: grid;
	row-gap: 3.2rem;
	grid-template-columns: repeat(1, 1fr);
	margin-bottom: 4rem;
}

/* 見出し
----------------------------------------*/
h3.sub {
	font-size: 4.5rem;
	margin-bottom: 2rem;
	letter-spacing: 0.05em;
	background: linear-gradient(90deg, #66bf97 0%, #9fd9f6 50%, #5eb7e8 100%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	text-align: center;
}
.equipment h4 {
	font-size: 3rem;
	margin-top: 4rem;
	letter-spacing: 0.05em;
}
.equipment h4.sub {
	font-size: 2.2rem;
	margin-top: 4rem;
	letter-spacing: 0.05em;
}
.equipment h5 {
	font-size: 1.6rem;
	margin: 10px 0;
}

.equipment .grid_4 h5 {
	font-size: 1.6rem;
	margin: 0;
}

.equipment h5.sub {
	background: #66BF97;
	background: linear-gradient(90deg,rgba(102, 191, 151, 1) 0%, rgba(159, 217, 246, 1) 44%, rgba(94, 183, 232, 1) 68%);
	font-size: 1.8rem;
	margin: 1rem 0 3rem;
	color: #fff;
	padding: 0.5em;
}

.equipment h5.sub02 {
	font-size: 1.6rem;
	margin: 1rem 0;
	border-bottom: solid .1rem #231815;
}
.slideBox .swipeIcon {
	display: none;
}
@media only screen and (max-width: 736px) {
	h3.sub {
		font-size: 3.6rem;
	}
	.equipment h4.sub{
		font-size: 1.8rem;
	}
	.equipment h5.sub{
		margin: 1rem 0 1.8rem;
	}

	.equipment h4 {
		font-size: 2.6rem;
		margin-top: 3rem;
		letter-spacing: -0.03em;
	}
  .slideBox {
    overflow-x: auto;
    position: relative;
  }
  .slideBox .swipeIcon {
    display: block;
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 50%;
    left: 100px;
    z-index: 5;
    width: 50px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    animation: horizontal 1s ease-in-out infinite alternate;
  }
	.security_img05 {
		width: 200vw;
    max-width: initial;
	}
}
@keyframes horizontal {
	0% {
		transform: translate(-30%, -50%);
	}
	100% {
		transform: translate(-70%, -50%);
	}
}

/* 本文
----------------------------------------*/
.equipment p{
	font-size: 1.3rem;
	margin-top: .5rem;
	letter-spacing: 0.05em;
}
.equipment small{
	font-size: 1rem;
    display: block;
    text-align: right;
}
.equipment span.small{
	font-size: 1.1rem;
}

.equipment figure figcaption{
	font-size: .9rem !important;
}


.modal_list {
	display: flex;
	column-gap: 2rem;
	margin-bottom: 1rem;
}
.modal_list a {
	transition: .4s;
}
.modal_list a:hover {
	opacity: .7;
}
/*.modal_list figure::after {
	content: "";
	width: 3rem;
	height: 4rem;
	background: url("../img/equipment/color/icon_zoom.svg") no-repeat left top / 100% auto;
	position: absolute;
	right: .5rem;
	top: .5rem;
}*/
.modal_list figure figcaption {
	position: relative;
	font-size: 2rem !important;
	font-weight: 200;
	letter-spacing: 0.1em;
	text-align: center;
	padding: .3em;
}
.modal_list li:nth-child(1) figcaption {
	background: #554232;
}
.modal_list li:nth-child(2) figcaption {
	background: #928068;
}
.modal_list li:nth-child(3) figcaption {
	color: #231815;
	background: #E6D7C4;
}
.modal_list + p {
	margin-bottom: 4rem;
}
#lean_overlay {
  position: fixed;
  z-index:9999;
  top: 0px;
  left: 0px;
  height:100%;
  width:100%;
  background: #000;
  display: none;
}
.modal_box {
	text-align: center;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
	display: none;
	padding: 0 0 15px;
	top: 50% !important;
	transform: translateY(-50%);
	max-width: 800px;
	width: 90%;
}
.modal_box.modal01 {
	color: #ffffff;
	background-color: #554232;
}
.modal_box.modal02 {
	color: #ffffff;
	background-color: #928068;
}
.modal_box.modal03 {
	color: #231815;
	background-color: #E6D7C4;
}
.modal_box h5 {
	font-size: 2.4rem;
	font-weight: 200;
	margin: 10px 0 0;
}
.modal_box p {
	font-size: 1.4rem;
	line-height: 1.7;
}
.modal_close{ 
  position: absolute;
  top: -20px;
  right: -20px;
  display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border-radius: 20px;
  z-index: 2;
  font-size: 20px;
  line-height: 1;
  color: #FFFFFF;
	background: rgba(0,0,0,.8);
  cursor: pointer;
}
@media only screen and (max-width: 736px) {
	.modal_list {
		column-gap: 1rem;
	}
	.modal_list figure figcaption {
		font-size: 3.5vw !important;
		letter-spacing: 0.05em;
		padding: .3em 0;
	}
	.modal_list + p {
		font-size: 1.1rem;
		margin-bottom: 3rem
	}
	.modal_box {
		padding: 0 0 10px;
	}
	.modal_box h5 {
		font-size: 2rem;
		margin: 5px 0 0;
	}
	.modal_box p {
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.modal_close{ 
		top: -15px;
		right: -15px;
		width: 30px;
		height: 30px;
		border-radius: 15px;
		font-size: 15px;
	}
}


