﻿@charset "utf-8";
/* secHero */
.secHero{
	height: 100vh;
	background: url(../img/index/bgHero.jpg) center top / cover no-repeat;
	position: relative;
}
.secHero .boxTit{
	position: absolute;
	bottom: 150px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
}
.secHero .boxTit .txtTit{
	font-size: 40px;
	letter-spacing: 1px;
}
.secHero .boxTit .txtTitEng{
	font-size: 30px;
	margin-top: 49px;
}
@media only screen and (max-width:767px){
	.secHero{
		background: url(../img/index/bgHero_sp.jpg) center top / cover no-repeat;
	}
	.secHero .boxTit{
		bottom: 60px;
		left: 13px;
		transform: unset;
	}
	.secHero .boxTit .txtTit{
		font-size: 24px;
		line-height: calc(45/24);
		letter-spacing: 0.5px;
	}
	.secHero .boxTit .txtTitEng{
		font-size: 12px;
		margin-top: 17px;
	}
}

/* bgGray */
.bgGray{
	background: linear-gradient(90deg, #fcfcfa, #efebe7);
	padding: 140px 0 200px;
}
@media only screen and (max-width:767px){
	.bgGray{
		padding: 0;
	}
}

/* secContactBtn */
.secContactBtn .boxContactBtn{
	height: 160px;
	background: #333333;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.secContactBtn .imgCatalog{
	position: absolute;
	left: 60px;
	top: -56px;
}
.secContactBtn .boxTxt{
	display: flex;
	flex-direction: column;
    align-items: center;
	color: #fff;
}
.secContactBtn .txtTitTop{
	font-size: 20px;
}
.secContactBtn .txtTitBottom{
	font-size: 32px;
	margin-top: 25px;
}
.secContactBtn .boxBtn{
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
}
.secContactBtn .btnCatalog{
	width: 300px;
	height: 60px;
	background: #fff;
	display: flex;
    align-items: center;
	padding-left: 26px;
	font-size: 18px;
	color: #333;
	text-decoration: none;
	position: relative;
	transition: all 0.2s ease;
}
.secContactBtn .btnCatalog::after{
	content: "";
	width: 21px;
	height: 21px;
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.2s ease;
}
.secContactBtn .btnCatalog.lazyloaded::after{
	background: url(../img/common/iconArrow.png) center top / cover;
}
.secContactBtn .boxContactBtn:hover .btnCatalog{
	background: #04603c;
	color: #fff;
}
.secContactBtn .boxContactBtn:hover .btnCatalog.lazyloaded::after{
	background: url(../img/common/iconArrowAfter.png) center top / cover;
}
@media only screen and (max-width:767px){
	.secContactBtn .boxContactBtn{
		height: 100px;
		padding: 0 4%;
	}
	.secContactBtn .imgCatalog{
		width: 113px;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.secContactBtn .boxTxt{
		align-items: flex-start;
		padding-left: 61px;
	}
	.secContactBtn .txtTitTop{
		font-size: 12px;
	}
	.secContactBtn .txtTitBottom{
		font-size: 18px;
		margin-top: 12px;
	}
	.secContactBtn .boxBtn{
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.secContactBtn .btnCatalog{
		width: 25px;
		height: 25px;
		background: unset;
		padding-left: 0;
		font-size: 0;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
	}
	.secContactBtn .btnCatalog::after{
		width: 25px;
		height: 25px;
		right: 0;
	}
	.secContactBtn .btnCatalog.lazyloaded::after{
		background: url(../img/common/iconArrowAfter.png) center top / cover;
	}
	.secContactBtn .btnCatalog:hover{
		background: unset;
	}
	.secContactBtn .btnCatalog.lazyloaded:hover::after{
		background: url(../img/common/iconArrow.png) center top / cover;
	}
}
@media only screen and (max-width:350px){
	.secContactBtn .imgCatalog{
        width: 100px;
    }
}
@media only screen and (max-width:330px){
	.secContactBtn .txtTitTop{
        font-size: 11px;
    }
	.secContactBtn .txtTitBottom{
        font-size: 17px;
    }
}

/* secConcept */
.secConcept{
	display: flex;
	margin-top: 150px;
}
.secConcept .imgLeft{
	width: 46.4789%;
}
.secConcept .boxTxt{
	width: calc(100% - 46.4789% - 120px);
	margin-left: 120px;
}
.secConcept .txtTitEng{
	font-size: 20px;
	color: #9d831c;
}
.secConcept .txtTit{
	font-size: 40px;
	line-height: calc(80/40);
	letter-spacing: 1px;
	margin-top: 31px;
	position: relative;
	padding-bottom: 60px;
}
.secConcept .txtTit::after{
	content: "";
	width: 100px;
	height: 1px;
	background: rgba(34, 34, 34, 0.3);
	position: absolute;
	bottom: 0;
	left: 0;
}
.secConcept .txtAbout{
	font-size: 24px;
	line-height: calc(60/24);
	margin-top: 42px;
}
.secConcept .txtAboutMin{
	font-size: 17px;
	line-height: calc(50/17);
	margin-top: 16px;
}
@media only screen and (max-width:767px){
	.secConcept{
		flex-direction: column;
		margin-top: 50px;
		padding-bottom: 74px;
	}
	.secConcept .imgLeft{
		width: 100%;
	}
	.secConcept .boxTxt{
		width: 100%;
		margin-left: 0;
		margin-top: 30px;
	}
	.secConcept .txtTitEng{
		font-size: 14px;
	}
	.secConcept .txtTit{
		font-size: 22px;
		line-height: calc(40/22);
		letter-spacing: 0.5px;
		margin-top: 11px;
		padding-bottom: 21px;
	}
	.secConcept .txtTit::after{
		width: 40px;
	}
	.secConcept .txtAbout{
		font-size: 18px;
		line-height: calc(36/18);
		margin-top: 21px;
	}
	.secConcept .txtAboutMin{
		font-size: 13px;
		line-height: calc(26/13);
		margin-top: 14px;
	}
}
@media only screen and (max-width: 366px){
    .secConcept .txtAbout{
        font-size: 17px;
    }
}
@media only screen and (max-width: 350px){
    .secConcept .txtAbout{
        font-size: 17px;
    }
	.secConcept .txtAboutMin{
        font-size: 12px;
    }
}
@media only screen and (max-width: 350px){
    .secConcept .txtAbout{
        font-size: 16px;
    }
	.secConcept .txtAboutMin{
        font-size: 11px;
    }
}

/* secConceptImg */
.secConceptImg{
	padding: 80px 0;
}
.secConceptImg.lazyloaded{
	background: url(../img/index/bgConcept.jpg) center top / cover;
}
.secConceptImg .boxFlex{
	display: flex;
	align-items: center;
}
.secConceptImg .boxTxt{
	width: calc(100% - 47.375%);
	color: #fff;
}
.secConceptImg .txtTit{
	font-size: 34px;
	line-height: calc(78/34);
	letter-spacing: 1px;
	position: relative;
	padding-bottom: 27px;
}
.secConceptImg .txtTit::after{
	content: "";
	width: 100px;
	height: 1px;
	background: rgba(255, 255, 255, 0.5);
	position: absolute;
	bottom: 0;
	left: 0;
}
.secConceptImg .txtAbout{
	font-size: 17px;
	line-height: calc(50/17);
	letter-spacing: 0.5px;
	margin-top: 27px;
}
.secConceptImg .boxImg{
	width: 47.375%;
}
@media only screen and (max-width:767px){
	.secConceptImg{
		padding: 70px 0 59px;
	}
	.secConceptImg.lazyloaded{
		background: url(../img/index/bgConcept_sp.jpg) center top / cover;
	}
	.secConceptImg .boxFlex{
		flex-direction: column;
	}
	.secConceptImg .boxTxt{
		width: 92%;
	}
	.secConceptImg .txtTit{
		font-size: 18px;
		line-height: calc(36/18);
		letter-spacing: 0;
		padding-bottom: 16px;
	}
	.secConceptImg .txtTit::after{
		width: 40px;
	}
	.secConceptImg .txtAbout{
		font-size: 13px;
		line-height: calc(26/13);
		letter-spacing: 0;
		margin-top: 19px;
	}
	.secConceptImg .boxImg{
		width: 100%;
		margin-top: 31px;
	}
}

/* secConceptFive */
.secConceptFive{
	text-align: center;
	margin-top: 120px;
}
.secConceptFive .txtTop{
	font-size: 22px;
	color: #04603c;
	letter-spacing: 1px;
	padding-bottom: 10px;
	border-bottom: 1px solid #04603c;
	display: inline-block;
}
.secConceptFive .txtTit{
	font-size: 28px;
	line-height: calc(54/28);
	letter-spacing: 1px;
	margin-top: 32px;
}
.secConceptFive .txtGreen{
	color: #04603c;
}
.secConceptFive .txtAbout{
	font-size: 17px;
	line-height: calc(45/17);
	letter-spacing: 0.5px;
	margin-top: 18px;
}
.secConceptFive .boxList{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	gap: 115px 43px;
	margin-top: 111px;
}
.secConceptFive .boxList .item{
	width: calc((100% - 86px) / 3);
	height: 360px;
	background: #eae2d0;
	text-align: center;
	padding: 105px 10px 0;
	position: relative;
}
.secConceptFive .boxList .boxIcon{
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: #04603c;
	display: flex;
	justify-content: center;
    align-items: center;
	position: absolute;
	top: -75px;
	left: 50%;
	transform: translateX(-50%);
}
.secConceptFive .boxList .txtNum{
	font-size: 26px;
	letter-spacing: 0.5px;
	color: #04603c;
}
.secConceptFive .boxList .txtConceptTit{
	font-size: 20px;
	letter-spacing: 1px;
	margin-top: 30px;
}
.secConceptFive .boxList .txtConceptAbout{
	font-size: 14px;
	line-height: calc(30/14);
	margin-top: 22px;
}
@media only screen and (max-width:767px){
	.secConceptFive{
		margin-top: 60px;
	}
	.secConceptFive .txtTop{
		font-size: 15px;
		letter-spacing: 0.5px;
		padding-bottom: 10px;
	}
	.secConceptFive .txtTit{
		font-size: 20px;
		line-height: calc(36/20);
		letter-spacing: 0.5px;
		margin-top: 17px;
	}
	.secConceptFive .txtAbout{
		font-size: 13px;
		line-height: calc(26/13);
		letter-spacing: 0;
		margin-top: 11px;
	}
	.secConceptFive .boxList{
		flex-direction: column;
		gap: 20px;
		margin-top: 24px;
	}
	.secConceptFive .boxList .item{
		width: 100%;
		height: 227px;
		text-align: left;
		padding: 34px 15px 0;
	}
	.secConceptFive .boxList .boxIcon{
		width: 80px;
		height: 80px;
		border-radius: 50%;
		top: 15px;
		left: unset;
		right: 15px;
		transform: unset;
	}
	.secConceptFive .boxList .item:nth-child(1) img{
		width: 40px;
	}
	.secConceptFive .boxList .item:nth-child(2) img{
		width: 41px;
	}
	.secConceptFive .boxList .item:nth-child(3) img{
		width: 54px;
	}
	.secConceptFive .boxList .item:nth-child(4) img{
		width: 53px;
	}
	.secConceptFive .boxList .item:nth-child(5) img{
		width: 44px;
	}
	.secConceptFive .boxList .txtNum{
		font-size: 18px;
		letter-spacing: 0.5px;
	}
	.secConceptFive .boxList .txtConceptTit{
		font-size: 17px;
		letter-spacing: 0.5px;
		margin-top: 15px;
	}
	.secConceptFive .boxList .txtConceptAbout{
		font-size: 13px;
		line-height: calc(26/13);
		margin-top: 30px;
	}
}
@media only screen and (max-width: 335px){
	.secConceptFive .boxList .txtConceptTit{
        font-size: 16px;
    }
    .secConceptFive .boxList .txtConceptAbout{
        font-size: 12px;
    }
}

/* secCatalogPresent */
.secCatalogPresent{
	padding: 100px 0 150px;
	background: #333;
	color: #fff;
	margin-top: 150px;
}
.secCatalogPresent .boxFlex{
	display: flex;
	align-items: center;
}
.secCatalogPresent .boxImgLeft{
	width: 45.986%;
}
.secCatalogPresent .boxTxt{
	width: calc(100% - 45.986%);
}
.secCatalogPresent .txtTitEng{
	font-size: 20px;
	color: #9d831c;
}
.secCatalogPresent .txtTitJp{
	font-size: 40px;
	line-height: calc(75/40);
	letter-spacing: 1px;
	position: relative;
	padding-bottom: 28px;
	margin-top: 17px;
}
.secCatalogPresent .txtTitJp::after{
	content: "";
	width: 100px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}
.secCatalogPresent .txtAbout{
	font-size: 17px;
	line-height: calc(40/17);
	letter-spacing: 0.5px;
	margin-top: 34px;
}
.secCatalogPresent .txtAboutBottom{
	font-size: 20px;
	letter-spacing: 0.5px;
	margin-top: 29px;
}
.secCatalogPresent .boxTxtSliderTop{
	text-align: center;
}
.secCatalogPresent .txtSliderTop{
	display: inline-block;
	font-size: 22px;
	text-align: center;
	padding-bottom: 15px;
	border-bottom: 1px solid #fff;
	position: relative;
	margin-top: 100px;
}
.secCatalogPresent .txtSliderTop::after{
	content: "";
	width: 30px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: -30px;
	left: 50%;
	transform: translateX(-50%) rotate(-45deg);
	display: none;
}
.secCatalogPresent .btnCatalog{
	width: 468px;
	height: 88px;
	background: #fff;
	display: flex;
    align-items: center;
	padding-left: 49px;
	font-size: 20px;
	color: #333;
	text-decoration: none;
	position: relative;
	margin: 80px auto 0;
	transition: all 0.2s ease;
}
.secCatalogPresent .btnCatalog::after{
	content: "";
	width: 30px;
	height: 30px;
	position: absolute;
	right: 50px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.2s ease;
}
.secCatalogPresent .btnCatalog.lazyloaded::after{
	background: url(../img/common/iconArrow.png) center top / cover;
}
.secCatalogPresent .btnCatalog:hover{
	background: #04603c;
	color: #fff;
}
.secCatalogPresent .btnCatalog.lazyloaded:hover::after{
	background: url(../img/common/iconArrowAfter.png) center top / cover;
}
@media only screen and (max-width:767px){
	.secCatalogPresent{
		padding: 0 0 70px;
		margin-top: 80px;
	}
	.secCatalogPresent .boxFlex{
		flex-direction: column-reverse;
	}
	.secCatalogPresent .boxImgLeft{
		width: 90.7247%;
		margin-top: -15px;
	}
	.secCatalogPresent .boxTxt{
		width: 100%;
		text-align: center;
	}
	.secCatalogPresent .txtTitEng{
		font-size: 14px;
		margin-top: 24px;
	}
	.secCatalogPresent .txtTitJp{
		font-size: 20px;
		line-height: calc(36/20);
		letter-spacing: 0.5px;
		padding-bottom: 0;
		margin-top: 10px;
	}
	.secCatalogPresent .txtTitJp::after{
		display: none;
	}
	.secCatalogPresent .txtAbout{
		font-size: 13px;
		line-height: calc(24/13);
		letter-spacing: 0;
		margin-top: 12px;
	}
	.secCatalogPresent .txtAboutBottom{
		font-size: 15px;
		letter-spacing: 0;
		margin-top: 20px;
	}
	.secCatalogPresent .boxTxtSliderTop{
		text-align: center;
		margin-top: 40px;
		position: relative;
	}
	.secCatalogPresent .txtSliderTop{
		font-size: 15px;
		line-height: calc(34/15);
		padding-bottom: 0;
		margin-top: 0;
		display: inline;
		position: unset;
	}
	.secCatalogPresent .txtSliderTop::after{
		width: 20px;
		height: 1px;
		bottom: -10px;
	}
	.secCatalogPresent .btnCatalog{
		width: 88.406%;
		height: 65px;
		padding-left: 25px;
		font-size: 15px;
		margin: 40px auto 0;
	}
	.secCatalogPresent .btnCatalog::after{
		width: 25px;
		height: 25px;
		right: 25px;
	}
}
@media only screen and (max-width: 360px){
    .secCatalogPresent .txtAboutBottom{
        font-size: 14px;
    }
	.secCatalogPresent .txtSliderTop{
        font-size: 14px;
    }
}
@media only screen and (max-width: 335px){
    .secCatalogPresent .txtAboutBottom{
        font-size: 13px;
    }
	.secCatalogPresent .txtSliderTop{
        font-size: 13px;
    }
}

.secCatalogPresent .boxSlider{
	position: relative;
}
.secCatalogPresent .boxSlider .swiper{
    max-width: 734px;
	overflow: visible;
	position: relative;
}
.secCatalogPresent .swiper-slide .boxImg{
	text-align: center;
}
.secCatalogPresent .swiper-slide .boxImg img{
	transition: transform 0.35s ease;
}
.secCatalogPresent .swiper-slide-active .boxImg img{
	transform: scale(1.32)!important;
	z-index: 2;
}
.secCatalogPresent .txtCatalog{
	font-size: 14px;
	line-height: calc(30/14);
	text-align: center;
	margin-top: 87px;
}
@media only screen and (max-width:767px){
    .secCatalogPresent .boxSlider .swiper{
		max-width: 315px;
	}
	.secCatalogPresent .boxImg img{
		transform: scale(0.857)!important;
	}
	.secCatalogPresent .swiper-slide-active .boxImg img{
		transform: scale(1)!important;
	}
	.secCatalogPresent .txtCatalog{
		font-size: 13px;
		line-height: calc(26/13);
		text-align: left;
		margin-top: 19px;
		padding: 0 20px;
	}
	.secCatalogPresent .swiper-slide-active .txtCatalog{
		padding: 0;
	}
}

/* sliderCatalog */
.secCatalogPresent .boxSlider_wide{
	margin-top: 122px;
}
.secCatalogPresent .swiper-button-custom{
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid #fff;
	background: #333;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 180px;
	z-index: 10;
}
.secCatalogPresent .swiper-button-prev{
	left: -50px;
}
.secCatalogPresent .swiper-button-next{
	right: -50px;
}
.secCatalogPresent .swiper-button-custom::after{
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
.secCatalogPresent .swiper-button-next::after{
	transform: rotate(45deg);
	margin-right: 2px;
}
.secCatalogPresent .swiper-button-prev::after{
	transform: rotate(-135deg);
	margin-left: 2px;
}
@media only screen and (max-width:767px){
	.secCatalogPresent .boxSlider_wide{
		margin-top: 40px;
	}
	.secCatalogPresent .swiper-button-custom{
		width: 25px;
		height: 25px;
		top: 105px;
	}
	.secCatalogPresent .swiper-button-prev{
		left: -12.5px;
	}
	.secCatalogPresent .swiper-button-next{
		right: -12.5px;
	}
	.secCatalogPresent .swiper-button-custom::after{
		width: 6px;
		height: 6px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	.secCatalogPresent .swiper-button-next::after{
		margin-right: 2px;
	}
	.secCatalogPresent .swiper-button-prev::after{
		margin-left: 2px;
	}
}

.secWorks{
    margin-top: 120px;
}
.secWorks .boxTit{
	text-align: center;
}
.secWorks .txtTit{
	display: inline-block;
	font-size: 22px;
	letter-spacing: 1px;
	color: #04603c;
	padding-bottom: 10px;
	border-bottom: 1px solid #04603c;
}
.secWorks .txtTitSub{
	font-size: 28px;
	line-height: calc(56/28);
	letter-spacing: 1px;
	margin-top: 45px;
}
.secWorks .txtAbout{
	font-size: 17px;
	letter-spacing: 0.5px;
	margin-top: 45px;
}
.secWorks .boxSlider_wide{
	margin-top: 50px;
}
.secWorks .boxSlider{
	position: relative;
}
.secWorks .boxSlider .swiper{
    width: 700px;
	overflow: visible;
	position: relative;
}
@media only screen and (max-width:767px){
    .secWorks{
		margin-top: 60px;
	}
	.secWorks .txtTit{
		font-size: 15px;
		letter-spacing: 0.5px;
		padding-bottom: 10px;
	}
	.secWorks .txtTitSub{
		font-size: 20px;
		line-height: 1;
		letter-spacing: 0.5px;
		margin-top: 25px;
	}
	.secWorks .txtAbout{
		font-size: 13px;
		line-height: calc(26/13);
		letter-spacing: 0;
		margin-top: 19px;
	}
	.secWorks .boxSlider_wide{
		margin-top: 24px;
	}
	.secWorks .boxSlider .swiper{
		width: 315px;
	}
}

/* sliderWorks */
.secWorks .swiper-button-custom{
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid #333;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.secWorks .swiper-button-prev{
	left: -20px;
}
.secWorks .swiper-button-next{
	right: -20px;
}
.secWorks .swiper-button-custom::after{
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
}
.secWorks .swiper-button-next::after{
	transform: rotate(45deg);
	margin-right: 2px;
}
.secWorks .swiper-button-prev::after{
	transform: rotate(-135deg);
	margin-left: 2px;
}
@media only screen and (max-width:767px){
	.secWorks .swiper-button-custom{
		width: 25px;
		height: 25px;
		transform: translateY(50%);
	}
	.secWorks .swiper-button-prev{
		left: -12.5px;
	}
	.secWorks .swiper-button-next{
		right: -12.5px;
	}
	.secWorks .swiper-button-custom::after{
		width: 6px;
		height: 6px;
		border-top: 1px solid #333;
		border-right: 1px solid #333;
	}
	.secWorks .swiper-button-next::after{
		margin-right: 2px;
	}
	.secWorks .swiper-button-prev::after{
		margin-left: 2px;
	}
}
@media only screen and (max-width: 360px){
	.secWorks .swiper-button-prev{
		left: -10.5px;
	}
	.secWorks .swiper-button-next{
		right: -10.5px;
	}
}
@media only screen and (max-width: 335px){
	.secWorks .swiper-button-prev{
		left: -7.5px;
	}
	.secWorks .swiper-button-next{
		right: -7.5px;
	}
}
@media only screen and (max-width: 330px){
	.secWorks .swiper-button-prev{
		left: -2.5px;
	}
	.secWorks .swiper-button-next{
		right: -2.5px;
	}
}

/* swiper-scrollbar */
.boxSwiperScroll .swiper-horizontal>.swiper-scrollbar,
.boxSwiperScroll .swiper-scrollbar.swiper-scrollbar-horizontal{
    position: static;
    margin-top: 50px;
    width: 100%;
    height: 5px;
    background: #C2C2C2;
    border-radius: 0;
}
#sliderCatalog .boxSwiperScroll .swiper-horizontal>.swiper-scrollbar,
#sliderCatalog .boxSwiperScroll .swiper-scrollbar.swiper-scrollbar-horizontal{
    margin-top: 110px;
}
.boxSwiperScroll .swiper-scrollbar-drag{
    border-radius: 0;
    background-color: #717171;
}
#sliderCatalog .boxSwiperScroll .swiper-scrollbar-drag{
    background-color: #fff;
}
/* disabled */
.secBnrSlider .disabled .swiper{
    width: 100%;
}
.secBnrSlider .disabled .swiper-wrapper{
    display: flex;
    justify-content: center;
    gap: 46px;
}
.secBnrSlider .disabled .swiper-slide{
    width: 19.115%;
}
.boxSwiperScroll{
    position: relative;
    z-index: 1;
}
@media only screen and (max-width:767px){
    .boxSwiperScroll .swiper-horizontal>.swiper-scrollbar,
    .boxSwiperScroll .swiper-scrollbar.swiper-scrollbar-horizontal{
        position: static;
        margin-top: 30px;
    }
	#sliderCatalog .boxSwiperScroll .swiper-horizontal>.swiper-scrollbar,
	#sliderCatalog .boxSwiperScroll .swiper-scrollbar.swiper-scrollbar-horizontal{
		margin-top: 24px;
	}
    .boxSliderRight .swiper-scrollbar-drag{
        max-width: 100% !important;
    }
    /* disabled */
    .secBnrSlider .disabled .swiper-slide{
        width: 100%;
    }
}

/* secVoice */
.secVoice{
	background: linear-gradient(90deg, #fcfcfa, #efebe7);
	padding: 120px 0;
	margin-top: 150px;
}
.secVoice .boxVoice{
	display: block;
	padding: 74px 20px;
	color: #fff;
}
.secVoice .boxVoice.lazyloaded{
	background: url(../img/index/bgVoice.jpg) center top / cover;
}
.secVoice .txtTitEng{
	font-size: 80px;
	letter-spacing: 5px;
	text-align: center;
}
.secVoice .txtTitJp{
	font-size: 17px;
	line-height: calc(50/17);
	text-align: center;
	margin-top: 29px;
}
.secVoice .btnLink{
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 1px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 29px auto 0;
}
.secVoice .btnLink::after{
	content: '';
	display: block;
	width: 9px;
	height: 9px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
.secVoice .boxList{
	display: flex;
	justify-content: center;
	gap: 55px;
	margin-top: 50px;
}
.secVoice .item{
	width: 368px;
}
.secVoice .txtTit{
	display: inline-block;
	padding: 12px 12px;
	background: #9d831c;
	font-size: 17px;
	letter-spacing: 0.5px;
}
.secVoice .txtAbout{
	font-size: 14px;
	line-height: calc(30/14);
	margin-top: 22px;
}
@media only screen and (max-width:767px){
	.secVoice{
		padding: 60px 0;
		margin-top: 60px;
	}
	.secVoice .boxVoice{
		padding: 40px 20px;
	}
	.secVoice .boxVoice.lazyloaded{
		background: url(../img/index/bgVoice_sp.jpg) center top / cover;
	}
	.secVoice .txtTitEng{
		font-size: 36px;
		letter-spacing: 3px;
	}
	.secVoice .txtTitJp{
		font-size: 12px;
		line-height: calc(30/12);
		margin-top: 17px;
	}
	.secVoice .btnLink{
		width: 30px;
		height: 30px;
		margin: 16px auto 0;
	}
	.secVoice .btnLink::after{
		width: 7px;
		height: 7px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		margin-right: 2px;
	}
	.secVoice .boxList{
		flex-direction: column;
		gap: 23px;
		margin-top: 25px;
	}
	.secVoice .item{
		width: 100%;
	}
	.secVoice .txtTit{
		display: inline-block;
		padding: 9px 9px;
		font-size: 14px;
		letter-spacing: 0;
	}
	.secVoice .txtAbout{
		font-size: 12px;
		line-height: calc(26/12);
		margin-top: 8px;
	}
}
@media only screen and (max-width: 355px){
    .secVoice .txtTitJp{
        font-size: 11px;
    }
	.secVoice .txtAbout{
        font-size: 11px;
    }
}
@media only screen and (max-width: 340px){
	.secVoice .txtTitEng{
        font-size: 34px;
        letter-spacing: 2px;
    }
}
@media only screen and (max-width: 330px){
    .secVoice .txtTitJp{
        font-size: 10px;
    }
	.secVoice .txtAbout{
        font-size: 10px;
    }
}

/*-----------------------------------------------
	secForm
-----------------------------------------------*/
.wrapper900{
	width:900px;
	margin:0 auto;
}
/* secForm */
.secForm .titForm{
	font-size:22px;
	font-weight:bold;
	letter-spacing:5px;
	line-height:1.5;
	position:relative;
	padding:0 0 54px;
	text-align:center;
	color:#000;
}
.secForm .titForm .fGreen{
	color:#04603c;
}
.secForm .btnForm{
	display:block;
	width:280px;
	height:88px;
	text-align:center;
	text-decoration:none;
	letter-spacing:1.5px;
	font-size:20px;
	border-radius:1000px;
	color:#fff;
	background:#04603c;
	margin:0 auto;
	padding:31px 0 0;
	box-sizing: border-box;
	box-shadow:0 -6px rgba(100,100,100,0.3) inset;
}
.secForm .btnForm.catalog{
	letter-spacing: 0.25px;
}
@media only screen and (max-width:767px){
	.wrapper900,
	.wrapper970{
		width:100%;
		margin:30px auto 0;
	}
	.secForm .titForm{
		font-size:18px;
		letter-spacing:2.5px;
		padding:0 0 30px;
	}
	.secForm .titForm::after{
		margin:20px auto 0;
	}
	.secForm .btnForm{
		height:60px;
		font-size:15px;
		padding:22px 0 0;
	}
}

/* secFormStep */
.secFormStep{
	text-align:center;
	font-size:0;
	padding:0 0 50px;
}
.secFormStep li{
	display:inline-block;
	vertical-align:top;
	font-size:16px;
	letter-spacing:2px;
	width:260px;
	padding:25px 0 27px;
	margin-right:30px;
	color:#000;
	background:#fff;
	border:solid 1px #04603c;
	border-radius:4px;
	box-sizing: border-box;
}
.secFormStep li:last-child{
	margin-right:0;
}
.secFormStep li.on{
	color:#fff;
	background:#04603c;
	border-color:#04603c;
}
@media only screen and (max-width:767px){
	.secFormStep{
		padding:0 3% 30px;
	}
	.secFormStep li{
		width:32%;
		padding:10px 0;
		font-size:14px;
		margin-right:2%;
	}
}

/* secFormTable */
.secFormTable{
	width:100%;
	margin:0 0 50px;
}
.secFormTable th{
	width:250px;
	font-size:14px;
	letter-spacing:0.5px;
	vertical-align:middle;
	line-height:24px;
	padding:14px 19px 15px;
	border:solid 1px #D6D6D6;
	background:#F8F8F8;
	box-sizing: border-box;
}
.secFormTable th .inner{
	display:block;
	position:relative;
}
.secFormTable th .must{
	display:block;
	width:42px;
	height:32px;
	font-size:12px;
	text-align:center;
	letter-spacing:0.5px;
	line-height:100%;
	border-radius:4px;
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	margin:auto 0;
	padding:8px 0 0;
	color:#923930;
	border:solid 1px #D17D74;
	background:#fff;
	box-sizing: border-box;
}
.secFormTable th .must.mustWide{
	width:auto;
	padding-left:8px;
	padding-right:8px;
}
.secFormTable td{
	font-size:14px;
	vertical-align:middle;
	line-height:1.5;
	padding:14px 19px 15px;
	border:solid 1px #D6D6D6;
	background:#fff;
}
.secFormTable td .txtContact{
	display:inline-block;
	vertical-align:top;
	padding:10px 20px 10px 0;
}
.secFormTable td .row{
	padding-bottom:15px;
}
.secFormTable td .note{
	font-size:11px;
	line-height:20px;
	letter-spacing:-1px;
}
.secFormTable td .note li{
	position:relative;
	padding:0 0 0 10px;
}
.secFormTable td .note li::before{
	content:"・";
	position:absolute;
	top:0;
	left:0;
}
.secFormTable td a{
	color:#00396B;
}
.secFormTable td .tit{
	padding:0 0 7px;
}
.secFormTable .mark{
	display:inline-block;
	vertical-align:top;
	padding:10px 0 0;
}
.secFormTable .btnZip{
	display:inline-block;
	vertical-align:top;
	font-size:13px;
	text-decoration:none;
	height:40px;
	border-radius:20px;
	padding:9px 23px 0;
	color:#fff;
	background:#333;
	box-sizing: border-box;
}
.secFormTable .boxInline{
	display:inline-block;
	vertical-align:top;
}
.secFormTable .boxInputLeft{
	float:left;
	padding-right:10px;
}
.secFormTable .boxInputRight{
	overflow:hidden;
}
.secFormTable .boxList li{
	padding:0 0 7px;
}
.secFormTable input[type="text"],
.secFormTable input[type="tel"],
.secFormTable input[type="email"],
.secFormTable input[type="password"]{
	height:40px;
	background:#fff;
	border:solid 1px #ccc;
	padding:10px;
	box-sizing: border-box;
}
.secFormTable select{
	max-width:100%;
	height:40px;
	background:#fff;
	border:solid 1px #ccc;
}
.secFormTable input[type="text"].inputRequired,
.secFormTable input[type="tel"].inputRequired,
.secFormTable input[type="email"].inputRequired,
.secFormTable input[type="password"].inputRequired,
.secFormTable select.inputRequired{
	background:#FBF3F2;
	border:solid 1px #DFA69F;
}
.secFormTable textarea{
	width:100%;
	background:#fff;
	border:solid 1px #ccc;
	padding:10px;
	box-sizing: border-box;
	height: 50px !important;
}
.secFormTable .fRed{color:#f00;}
.secFormTable .w100{width:100px;}
.secFormTable .w150{width:150px;}
.secFormTable .w400{width:400px;}
.secFormTable .w440{width:440px;}
.secFormTable .w100p{width:100%;}
.secFormTable .mw300{max-width:300px;}
form .txtError{
	color:#f00;
	font-size:12px;
	background:url(../img/common/iconError.png) left top no-repeat;
	background-size:14px;
	padding:0 0 0 17px;
	margin-top:20px;
	line-height:14px;
}
form .txtError2{
	color:#f00;
	font-size:12px;
	margin-top:20px;
	line-height:14px;
}
@media only screen and (max-width:767px){
	.secFormTable{
		display:block;
		margin:0 0 50px;
		border-top:solid 1px #D6D6D6;
	}
	.secFormTable tbody,
	.secFormTable tr,
	.secFormTable th,
	.secFormTable td{
		display:block;
	}
	.secFormTable tr:last-child{
		border-bottom:none;
	}
	.secFormTable th{
		width:100%;
		font-size:13px;
		line-height:1.5;
		padding:15px 3%;
		border:none;
		border-bottom:solid 1px #D6D6D6;
	}
	.secFormTable td{
		padding:15px 3% 20px;
		border:none;
		border-bottom:solid 1px #D6D6D6;
	}
	.secFormTable td.boxDate{
		padding-top:5px;
	}
	.secFormTable .btnZip{
		display:inline-block;
		vertical-align:top;
		text-decoration:none;
		height:40px;
		border-radius:20px;
		padding:11px 23px 0;
		color:#fff;
		background:#333;
	}
	.secFormTable .boxInputLeft{
		float:none;
		padding:0 0 10px;
	}
	.secFormTable .boxInputRight{
		overflow:visible;
	}
	.secFormTable input[type="text"],
	.secFormTable input[type="tel"],
	.secFormTable input[type="email"],
	.secFormTable input[type="password"]{
		height:40px;
		background:#fff;
		border:solid 1px #ccc;
	}
	.secFormTable input[type="text"].inputRequired,
	.secFormTable input[type="tel"].inputRequired,
	.secFormTable input[type="email"].inputRequired,
	.secFormTable input[type="password"].inputRequired{
		background:#FBF3F2;
		border:solid 1px #DFA69F;
	}
	.secFormTable select{
		height:40px;
		background:#fff;
		border:solid 1px #ccc;
	}
	.secFormTable textarea{
		width:100%;
		background:#fff;
		border:solid 1px #ccc;
	}
	.secFormTable .ws25p{width:25%;}
	.secFormTable .ws30p{width:30%;}
	.secFormTable .w400{width:80%;}
	.secFormTable .ws100p{width:100%;}
	.secFormTable .mw100p_sp{max-width:100%;}
	.secFormTable .pt10s{padding-top:10px;}
}

/* secFormCo */
.secForm.co{
	padding: 90px 0 192px;
}
.secFormCo{
	font-size:13px;
	line-height:2;
	padding:0 0 30px;
}
.secFormCo a{
	color:#00396B;
	text-decoration: none;
}
@media only screen and (max-width:767px){
	.secForm.co{
		padding: 20px 0 70px;
	}
	.secFormCo{
		line-height:1.5;
		padding:0 3% 30px;
	}
}

/* secFormOk */
.secFormOk{
	text-align:center;
	font-size:15px;
	line-height:1.5;
	padding:0 0 50px;
}
.secFormOk .txtOk{
	font-size:20px;
	font-weight:bold;
	margin:0 0 30px;
}
.secForm .btnForm.ok{
	background:#6FBA2C;
}
@media only screen and (max-width:767px){
	.secFormOk{
		font-size:12px;
		padding:0 3% 30px;
	}
	.secFormOk .txtOk{
		margin:0 0 20px;
	}
	.secFormOk .txtOk02{
		text-align:left;
	}
}
/* secForm */
.secForm{
	padding:100px 0 150px;
}
.secForm.secFormContact{
	padding-top:70px;
}
@media only screen and (max-width:767px){
	.secForm{
		padding:30px 0 70px;
	}
	.secForm.secFormContact{
		padding-top:0;
	}
}
.box1 .txt2{
	display: inline-block;
	width: 32px;
	height: 30px;
	font-size: 16px;
	color: #FFF;
	text-align: center;
	box-sizing: border-box;
	padding-top: 5px;
	margin-right: 5px;
}
.box1 .txt2.txtS{ background: #D4893B;}
.box1 .txt2.txtM{ background: #69AD2C;}
.box1 .txt3{
	display: inline-block;
	font-size: 13px;
	padding-top: 8px;
}
.box1 .txt3.txtS{ color: #D3883A;}
.box1 .txt3.txtM{ color: #69AD2C;}
.txtPrivacy{
	margin-bottom: 30px;
	font-size: 14px;
	display: flex;
	display: -webkit-flex;
	flex-direction: column;
	-webkit-flex-direction: column;
	align-items: center;
	-webkit-align-items: center;
}
.txtPrivacy a{
	color: #00396B;
}
@media only screen and (max-width:767px){
	.box1 .txt2{
		display: block;
		width: 28px;
		height: 26px;
		font-size: 14px;
		padding-top: 5px;
		margin-right: 5px;
	}
	.box1 .txt2.txtS{ background: #D4893B;}
	.box1 .txt2.txtM{ background: #69AD2C;}
	.box1 .txt3{
		display: inline-block;
		font-size: 11px;
		padding-top: 8px;
	}
	.box1 .txt3.txtS{ color: #D3883A;}
	.box1 .txt3.txtM{ color: #69AD2C;}
}
/* formUnder */
.formUnder{
	border: 1px solid #ce3333;
	color: #ce3333;
	width: 430px;
	margin: 60px auto 0;
	text-align: center;
    padding: 30px 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.formUnder .txt1{
	font-size:14px;
    line-height: 30px;
}
.formUnder a{
	color: #ce3333;
	text-decoration: underline;
}
@media only screen and (max-width:767px){
	.formUnder{
		width: 93.75%;
		margin: 20px auto 0;
		padding: 10px 15px;
	}
	.formUnder .txt1{
        font-size: 10px;
        line-height: 20px;
	}
}

.txtContactNote{
    width: 900px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 1px;
    margin: 40px auto 0;
    text-align: center;
    color: #cd2929;
    border: 1px solid #cd2929;
    padding: 5px;
}
.txtContactNote a{
    color: #0078ff;
	text-decoration: underline;
    text-underline-offset: 4px;
}
@media only screen and (max-width:767px){
    .txtContactNote{
        width: 275px;
        font-size: 10px;
        letter-spacing: 0;
        line-height: 2;
        margin: 20px auto 25px;
        padding: 5px;
    }
}

/* secPresentBox */
.secPresentBox{
	margin: 150px auto 0;
}
.secPresentBox .imgBox,
.secPresentBox .txtBox{
	text-align: center;
}
.secPresentBox .tit{
	font-size: 20px;
}
.secPresentBox .txt{
	font-size: 16px;
	line-height: 36px;
	margin-top: 35px;
}
.secPresentBox .txt2{
	font-size: 18px;
	font-weight: bold;
	margin-top: 30px;
}
.secPresentBox .txt3{
	font-size: 16px;
	margin-top: 25px;
}
.secPresentBox .txt4{
	font-size: 14px;
	line-height: 30px;
	margin-top: 46px;
}
.secPresentBox .bgYl{
    display: inline;
    background: #fffc00;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0 2px;
}
@media only screen and (max-width:767px){
	.secPresentBox{
		width: 92%;
		margin: 70px auto 0;
	}
	.secPresentBox .imgBox{
		width: 88.41%;
		margin: 0 auto;
	}
	.secPresentBox .tit{
		font-size: 20px;
		line-height: 30px;
	}
	.secPresentBox .txt{
		font-size: 12px;
		line-height: 22px;
		margin-top: 15px;
	}
	.secPresentBox .txt2{
		font-size: 16px;
		margin-top: 14px;
	}
	.secPresentBox .txt3{
		font-size: 12px;
		margin-top: 10px;
	}
	.secPresentBox .txt4{
		margin-top: 10px;
		font-size: 10px;
		line-height: 20px;
	}
}
@media only screen and (max-width: 365px){
    .secPresentBox .tit{
        font-size: 19px;
    }
	.secPresentBox .txt {
        font-size: 11px;
    }
	.secPresentBox .txt3{
		font-size: 15px;
	}
}
@media only screen and (max-width: 350px){
    .secPresentBox .tit{
        font-size: 18px;
    }
	.secPresentBox .txt{
        font-size: 10px;
    }
	.secPresentBox .txt2{
		font-size: 17px;
	}
	.secPresentBox .txt3{
		font-size: 14px;
	}
}
@media only screen and (max-width: 330px){
    .secPresentBox .tit{
        font-size: 17px;
    }
}