@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	padding-bottom: 3.2rem;
	position: relative;
	z-index: 1;
}
.mainVisual .imgtext01 {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0.7rem;
	text-align: center;
}
.mainVisual .imgtext01 img {
	width: 139rem;
}
.mainVisual .mvInner {
	position: relative;
}
.mainVisual .mvInner::after {
	width: 101.7rem;
	max-width: 75%;
	position: absolute;
	left: 0;
	bottom: -3.3rem;
	background: url(../img/index/bg01.png) no-repeat left bottom / 100%;
	aspect-ratio: 1017/674;
	content: '';
}
.mainVisual .mainImg {
	margin: 0 auto;
	width: 120rem;
	max-width: 100%;
	aspect-ratio: 1200/944;
	position: relative;
	z-index: 1;
}
.mainVisual .mainImg .img {
	position: absolute;
}
.mainVisual .mainImg .img img {
	width: 100%;
	opacity: 0;
	transform: translateX(-100%);
	transition: ease-out .4s;
}
.mainVisual .mainImg .img01 {
	width: 31.667%;
	left: 6.5%;
	top: 8.72%;
	z-index: 1;
}
.mainVisual .mainImg .img02 {
	width: 27.916%;
	top: 5.1%;
	left: 16.7%;
}
.mainVisual .mainImg .img02 img {
	transition-delay: 0.8s;
}
.mainVisual .mainImg .img03 {
	width: 29.417%;
	top: 1.2%;
	left: 35%;
	z-index: 3;
}
.mainVisual .mainImg .img03 img {
	transition-delay: 1.6s;
}
.mainVisual .mainImg .img04 {
	width: 29.667%;
	top: 4.25%;
	left: 53.3%;
	z-index: 1;
}
.mainVisual .mainImg .img04 img {
	transform: translateX(100%);
	transition-delay: 1.2s;
}
.mainVisual .mainImg .img05 {
	width: 52.333%;
	top: 0;
	left: 55.85%;
}
.mainVisual .mainImg .img05 img {
	transform: translateX(100%);
	transition-delay: 0.4s;
}
.mainVisual .mainImg .img06 {
	width: 58.085%;
	left: 42.78%;
	bottom: 20.3%;
	transform: translateX(-50%);
	z-index: 5;
}
.mainVisual .mainImg .img06 img {
	transform: translateX(50%);
	transition-delay: 2.6s;
}
.mainVisual .mainImg .img07 {
	position: absolute;
	right: 10.2%;
	bottom: 5.8%;
	width: 20.667%;
	z-index: 5;
}
.mainVisual .mainImg .img07 a {
	display: block;
}
.mainVisual .mainImg .img07 a:hover {
	opacity: 0.7;
}
.mainVisual .mainImg .img.on img {
	opacity: 1;
	transform: translateX(0) !important;
}
.mainVisual .imgtext02 {
	margin: -2.7rem 3rem 1.6rem;
	text-align: center;
	position: relative;
	z-index: 1;
}
.mainVisual .imgtext02 img {
	width: 100rem;
}
.mainVisual .banner {
	margin-bottom: 2.2rem;
	text-align: center;
}
.mainVisual .banner a {
	display: inline-block;
}
.mainVisual .banner a:hover {
	opacity: 0.7;
}
.mainVisual .banner img {
	width: 99.4rem;
}
.mainVisual .ahcList {
	margin: 0 auto;
	padding: 0 3rem;
	max-width: 126rem;
	gap: 1.2rem;
}
.mainVisual .ahcList li {
	width: calc((100% - 2.4rem) / 3);
}
.mainVisual .ahcList li a {
	display: block;
}
.mainVisual .ahcList li a:hover {
	opacity: 0.7;
}
.mainVisual .ahcList li img {
	width: 100%;
}
#main .sec01 {
	padding: 3rem 0 6.3rem;
	position: relative;
	background: #040000;
}
#main .sec01::before {
	content: '';
	width: 68rem;
	position: absolute;
	left: 0;
	top: -11.3rem;
	aspect-ratio: 1360/1478;
	background: url(../img/index/bg02.png) no-repeat left top / 100%;
}
#main .sec01::after {
	content: '';
	width: 37.5rem;
	position: absolute;
	right: 0;
	top: -11.3rem;
	aspect-ratio: 750/1478;
	background: url(../img/index/bg03.png) no-repeat left top / 100%;
}
#main .sec01 h2 {
	margin: 0 1rem 2.1rem 0;
	text-align: center;
}
#main .sec01 h2 img {
	width: 59.1rem;
}
#main .sec01 .topBox {
	margin-bottom: 5.6rem;
	padding-top: 2.2rem;
	background: url(../img/index/bg04.jpg) no-repeat center top / cover;
	border-radius: 0.6rem;
	border: 0.2rem solid #fff;
}
#main .sec01 .topBox .innerBox {
	margin: 0 auto;
	max-width: 70rem;
}
#main .sec01 .topBox .text01 {
	margin: 0 -2rem 1.8rem 0;
	font-size: 4rem;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.06em;
}
#main .sec01 .topBox .color {
	font-size: 4.6rem;
	color: #FF6E3D;
}
#main .sec01 .topBox .lineBtn {
	margin-bottom: 1.6rem;
	padding: 1.9rem 2.1rem 1.8rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	text-align: center;
	border: 0.1rem solid rgba(255, 255, 255, 0.3);
	background: rgba(4, 0, 0, 0.3);
	border-radius: 0.6rem;
}
#main .sec01 .topBox .lineBtn p {
	flex: 1;
	color: #fff;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: 0.04em;
}
#main .sec01 .topBox .lineBtn a {
	width: 36.8%;
	display: block;
}
#main .sec01 .topBox .text02 {
	margin-bottom: 0.7rem;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 900;
	letter-spacing: 0.02em;
}
#main .sec01 .topBox .text03 {
	margin: 0 -3rem 2.4rem;
	text-align: center;
	font-size: 3rem;
	font-weight: 900;
	letter-spacing: 0.01em;
}
#main .sec01 .topBox .text03 .color {
	font-size: 3rem;
}
#main .sec01 .topBox .text03 .lrg {
	font-size: 4.4rem;
	font-family: "Roboto", sans-serif;
	line-height: 1.1;
	display: inline-block;
	vertical-align: bottom;
}
#main .sec01 .topBox .ahcList {
	display: flex;
}
#main .sec01 .topBox .ahcList li {
	width: 50%;
}
#main .sec01 .topBox .ahcList li a {
	display: block;
}
#main .sec01 .topBox .ahcList li img {
	width: 100%;
}
#main .sec01 h3 {
	margin: 0 0 2.3rem -10rem;
}
#main .sec01 h3 img {
	width: 105.1rem;
}
#main .sec01 .imgtext01 {
	margin-bottom: 2.3rem;
	text-align: center;
}
#main .sec01 .imgtext01 img {
	width: 62.3rem;
}
#main .sec01 .subBox {
	margin-bottom: 6.4rem;
}
#main .sec01 .subBox .inWrap {
	padding: 2.6rem 6.9rem 1.5rem;
	border-radius: 0.6rem;
	border: 0.1rem solid #fff;
	background: url(../img/index/bg04.jpg) no-repeat center center / cover;
}
#main .sec01 .subBox .ttl {
	margin-bottom: 4rem;
	text-align: center;
}
#main .sec01 .subBox .ttl img {
	width: 57.9rem;
}
#main .sec01 .subBox .imgBox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#main .sec01 .subBox .imgBox .photoBox {
	width: 55%;
	text-align: center;
}
#main .sec01 .subBox .imgBox .photoBox img {
	width: 55.5rem;
}
#main .sec01 .subBox .imgBox .photoBox .note {
	margin: 3rem auto 0;
	max-width: 55.4rem;
	font-size: 1.4rem;
	text-align: left;
	letter-spacing: 0.07em;
}
#main .sec01 .subBox .productBox {
	padding: 1.8rem 2rem 7.5rem;
	color: #fff;
	border-radius: 0.6rem;
	background: rgba(0, 76, 74, 0.9);
}
#main .sec01 .subBox .imgBox .productBox {
	margin: 0.3rem 2.8% 0 0;
	width: 39.2%;
}
#main .sec01 .subBox .productBox .subTtl {
	margin-bottom: 3.2rem;
	text-align: center;
	font-size: 3rem;
	font-weight: 900;
}
#main .sec01 .subBox .productBox .subTtl .note {
	display: block;
	font-size: 1.2rem;
	font-weight: 400;
	margin-top: 0.7rem;
}
#main .sec01 .subBox .productBox .prdList {
	margin-left: 1.1rem;
	display: flex;
	justify-content: center;
	gap: 4.9rem;
}
#main .sec01 .subBox .productBox .prdList li {
	width: 12.3rem;
	min-width: 0;
	text-align: center;
}
#main .sec01 .subBox .productBox .prdList li .txt {
	margin-bottom: 0.6rem;
	display: block;
	font-weight: 700;
	line-height: 1.2;
}
#main .sec01 .subBox .productBox .prdList li img {
	width: 100%;
}
#main .sec01 .sub02 {
	margin-bottom: 2.7rem;
}
#main .sec01 .sub02 .imgtext01 {
	margin-bottom: 2.5rem;
}
#main .sec01 .sub02 .imgtext01 img {
	width: 60rem;
}
#main .sec01 .sub02 .pho {
	margin: 0 -5.6rem 2rem 2.9rem;
}
#main .sec01 .sub02 .pho img {
	width: 108.7rem;
}
#main .sec01 .sub02 .noteTxt {
	margin: 0 3rem 0.6rem;
	display: block;
	text-align: right;
	font-size: 1.4rem;
	letter-spacing: 0.07em;
}
#main .sec01 .sub02 .inWrap {
	padding-top: 2rem;
	padding-bottom: 3.3rem;
}
#main .sec01 .sub02 .productBox {
	margin: 0 auto;
	padding: 2.1rem 2rem 2.1rem;
	max-width: 100rem;
}
#main .sec01 .sub02 .productBox .subTtl {
	margin-bottom: 1.6rem;
}
#main .sec01 .sub02 .productBox .prdList {
	margin-left: 0.5rem;
	gap: 1.8rem;
}
#main .sec01 .sub02 .productBox .prdList li {
	width: 11.9rem;
}
#main .sec01 .sub02 .productBox .prdList li.wid01 {
	width: 12.4rem;
}
#main .sec01 .sub02 .productBox .prdList li .txt {
	margin-bottom: 0.7rem;
}
#main .sec01 .btnList {
	gap: 5.6rem;
}
#main .sec01 .btnList li {
	width: 36.4rem;
	text-align: center;
}
#main .sec01 .btnList li .txt {
	display: block;
	font-weight: 900;
	font-size: 2rem;
	color: #fff;
	letter-spacing: 0.05em;
	margin-bottom: 0.3rem;
}
#main .sec01 .btnList li a {
	display: block;
}
#main .sec02 {
	padding: 3.7rem 0 6.1rem;
	position: relative;
}
#main .sec02::before {
	width: 100%;
	height: 74rem;
	position: absolute;
	left: 0;
	top: -13.7rem;
	background: url(../img/index/bg05.png) no-repeat left top / 56.5rem, url(../img/index/bg06.png) no-repeat right top / 40rem;
	content: '';
}
#main .sec02 .content {
	width: 89rem;
}
#main .sec02 h2 {
	margin-bottom: 2rem;
	text-align: center;
}
#main .sec02 h2 img {
	width: 78.2rem;
}
#main .sec02 .pho01 {
	margin: 0 -0.6rem 1.3rem 0.1rem;
	text-align: center;
}
#main .sec02 .pho01 img {
	width: 89.5rem;
}
#main .sec02 .pho02 {
	margin-bottom: -0.5rem;
}
#main .sec02 .note {
	margin: 0 auto 0.9rem;
	max-width: 68rem;
	text-align: right;
	font-size: 1.4rem;
	letter-spacing: 0.07em;
}
#main .sec02 .ttl {
	margin: 0 auto 1.5rem;
	max-width: 69.2rem;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
#main .sec02 .ttl .num {
	width: 8.6rem;
	flex-shrink: 0;
}
#main .sec02 .ttl .txt {
	padding-top: 4.4rem;
	margin-right: -2em;
	min-width: 0;
	font-size: 2.2rem;
	font-weight: 900;
	letter-spacing: 0.07em;
}
#main .sec02 .ttl01 {
	margin: 0 auto 2.7rem;
}
#main .sec02 .btnList {
	margin-bottom: 1.5rem;
	gap: 1.9rem;
}
#main .sec02 .btnList li {
	width: 40.8rem;
}
#main .sec02 .btnList li a {
	display: block;
	position: relative;
}
#main .sec02 .btnList li.tgBtn {
	width: 36.4rem;
}
#main .sec02 .btnList li.tgBtn a::after {
	margin-top: -0.2rem;
	width: 2rem;
	height: 2rem;
	position: absolute;
	right: 3rem;
	top: 50%;
	background: url(../img/index/icon01.png) no-repeat center center / 100%;
	transform: translateY(-50%) rotate(45deg);
	content: '';
	transition: 0.3s;
}
#main .sec02 .btnList li.tgBtn.on a::after {
	transform: translateY(-50%) rotate(0deg);
}
#main .application {
	margin: 0 auto;
	width: 80rem;
	color: #fff;
	border-radius: 0.5rem;
	background: #269E75;
	display: none;
}
#main .application dl {
	padding: 1.8rem 3.3rem 2rem;
}
#main .application dt {
	margin: 0 auto 0.8rem;
	width: 36.5rem;
	padding: 0.6rem 1rem 0.6rem;
	text-align: center;
	color: #040000;
	font-weight: 900;
	font-size: 2rem;
	border-radius: 5rem;
	background: #fff;
}
#main .application dd {
	margin-bottom: 2.4rem;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: justify;
	line-height: 1.58;
}
#main .application dd:last-child {
	margin-bottom: 0;
}
#main .application dd p {
	margin-bottom: 0.5rem;
}
#main .application dd p:last-child {
	margin-bottom: 0;
}
#main .application dd .subTtl {
	margin-bottom: 0.5rem;
	position: relative;
	padding-left: 1rem;
}
#main .application dd .subTtl::before {
	width: 0.2rem;
	height: 80%;
	position: absolute;
	left: 0;
	top: 50%;
	background: #FFF300;
	transform: translateY(-50%);
	content: '';
}
#main .application dd a {
	font-weight: 900;
	text-decoration: underline;
}
#main .application dd .txtList li {
	position: relative;
	padding-left: 1.5rem;
}
#main .application dd .txtList li::before {
	width: 1.3rem;
	height: 1.3rem;
	position: absolute;
	top: 0.25em;
	left: -0.3rem;
	background-color: #FFF300;
	border-radius: 50%;
	content: "";
}
#main .sec03 {
	padding: 7.1rem 0 7.9rem;
	position: relative;
	color: #fff;
	background: #040000;
}
#main .sec03::before {
	width: 100%;
	height: 74rem;
	position: absolute;
	left: 0;
	top: -15.7rem;
	background: url(../img/index/bg07.png) no-repeat left top 1.6rem / 67.4rem, url(../img/index/bg06.png) no-repeat right top / 40rem;
	content: '';
}
#main .sec03 .content {
	width: 100rem;
}
#main .sec03 .ttlBox {
	margin: 0 10.5rem;
	padding-bottom: 2.8rem;
	position: relative;
}
#main .sec03 .ttlBox .img {
	width: 39.1rem;
	position: absolute;
	right: -5.4rem;
	top: -4.5rem;
	z-index: -1;
}
#main .sec03 .ttlBox .img img {
	width: 100%;
}
#main .sec03 .ttlBox h2 {
	margin-bottom: 1.3rem;
}
#main .sec03 .ttlBox h2 img {
	width: 42rem;
}
#main .sec03 .ttlBox p {
	max-width: 54rem;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.54;
	letter-spacing: 0.04em;
}
#main .sec03 .innerBox {
	padding: 3.6rem 0 3.9rem;
	color: #140700;
	border-radius: 0.6rem;
	border: 0.1rem solid #fff;
	background: url(../img/index/bg04.jpg) no-repeat center top / cover;
}
#main .sec03 .heading {
	margin-bottom: 1.2rem;
	padding: 1rem 9.8rem 1.1rem;
	min-height: 12.4rem;
	position: relative;
	display: flex;
	align-items: center;
	gap: 2rem;
	background: url(../img/index/bg08.png) no-repeat left top / 100%;
}
#main .sec03 .heading .num {
	width: 6.7rem;
	flex-shrink: 0;
}
#main .sec03 .heading .img {
	width: 14.7rem;
	position: absolute;
	right: 20.5rem;
	bottom: -0.1rem;
}
#main .sec03 .heading .ttlTxt {
	min-width: 0;
	font-size: 4.1rem;
	font-weight: 900;
	color: #FFF300;
	line-height: 1.2;
	letter-spacing: 0.03em;
}
#main .sec03 .imgBox {
	margin: 0 9.8rem 6.7rem 9.8rem;
	display: flex;
	justify-content: space-between;
	gap: 3rem;
}
#main .sec03 .imgBox:last-child {
	margin-bottom: 0 !important;
}
#main .sec03 .imgBox .textBox {
	margin-top: 0.5rem;
	flex: 1;
}
#main .sec03 .imgBox .textBox p {
	text-align: justify;
	font-weight: bold;
	font-size: 2.4rem;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'Yu Gothic', YuGothic, 'MS PGothic', Osaka, arial, sans-serif;
	line-height: 1.74;
}
#main .sec03 .imgBox .photoBox {
	width: 15.1rem;
}
#main .sec04 {
	padding: 6rem 0 3rem;
	position: relative;
}
#main .sec04::before {
	width: 100%;
	height: 74rem;
	position: absolute;
	left: 0;
	top: -19.4rem;
	background: url(../img/index/bg09.png) no-repeat left top / 67.4rem, url(../img/index/bg10.png) no-repeat right top / 40rem;
	content: '';
}
#main .sec04 h2 {
	margin-bottom: 1.6rem;
	text-align: center;
}
#main .sec04 h2 img {
	width: 57.1rem;
}
#main .sec04 .videoList {
	margin: 0 auto 3.8rem;
	max-width: 100rem;
	align-items: flex-start;
	align-content: flex-start;
	gap: 3.1rem 0;
}
#main .sec04 .videoList li {
	padding: 1.5rem 2.7rem 3.2rem;
	width: 48.5rem;
	color: #fff;
	border-radius: 0.6rem;
	border: 0.2rem solid #fff;
	background: #004C4A;
}
#main .sec04 .videoList .mark {
	margin: 0.7rem 0 0.6rem -0.9rem;
}
#main .sec04 .videoList .mark img {
	width: 27.4rem;
}
#main .sec04 .videoList .imgBox {
	margin-bottom: 0.3rem;
	display: flex;
	justify-content: space-between;
	gap: 1.5rem;
}
#main .sec04 .videoList .imgBox .photoBox {
	display: flex;
	flex-shrink: 0;
	align-items: flex-end;
}
#main .sec04 .videoList .imgBox .textBox {
	min-width: 0;
	flex: 1;
}
#main .sec04 .videoList .ttl {
	margin-top: 0.4rem;
	font-size: 3.4rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.25;
}
#main .sec04 .videoList .ttl .sm {
	margin-top: 0.3rem;
	display: block;
	font-size: 2.3rem;
	font-weight: 900;
	line-height: 1.434;
	letter-spacing: 0.03em;
	color: #FFF300;
}
#main .sec04 .videoList p {
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: bold;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'Yu Gothic', YuGothic, 'MS PGothic', Osaka, arial, sans-serif;
	text-shadow: 0.1rem 0.1rem 0rem rgba(0, 0, 35, 1);
	letter-spacing: 0.1em;
	text-align: justify;
	line-height: 1.6;
}
#main .sec04 .videoList p:last-child {
	margin-bottom: 0 !important;
}
#main .sec04 .videoList .movieBox {
	width: 100%;
	position: relative;
	background: #000;
	aspect-ratio: 16/9;
}
#main .sec04 .videoList .movieBox iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
#main .sec04 .btn {
	margin: 0 0 3.9rem 2.5rem;
}
#main .sec04 .btn a {
	margin: 0 auto;
	display: block;
	width: 44.4rem;
}
#main .sec04 .sns {
	margin: 0 auto;
	width: 10rem;
}
#main .sec04 .sns a {
	display: block;
}
#main a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
	#main .sec04 .videoList .item01 {
		margin: 0 auto;
		padding: 3.7rem 4.6rem 3.6rem;
		width: 74.7rem;
	}
	#main .sec04 .videoList .item01 .ttl {
		margin-bottom: 1.5rem;
		font-size: 3.6rem;
		letter-spacing: 0.05em;
		line-height: 1.3125;
	}
	#main .sec04 .videoList .item01 .ttl .sm {
		margin-top: 1.4rem;
		font-size: 2.8rem;
		line-height: 1.6;
		letter-spacing: 0.05em;
	}
	#main .sec04 .videoList .item01 .imgBox {
		margin: 0 -0.5rem 1rem -1rem;
		gap: 1rem;
	}
	#main .sec04 .videoList .item01 p {
		letter-spacing: 0.05em;
	}
	#main .sec04 .videoList .item04 {
		margin-top: -7rem;
	}
	#main .sec04 .videoList .item07 {
		margin-top: -16.4rem;
	}
	#main .sec04 .videoList .item09 {
		margin-top: -8rem;
	}
}
@media all and (min-width: 897px) and (max-width: 1200px) {
	#main .sec04 .videoList .ttl {
		margin-right: -0.5rem;
		font-size: 3.3rem;
		letter-spacing: 0;
	}
	#main .sec04 .videoList .item01 .ttl {
		font-size: 3.5rem;
		letter-spacing: 0;
	}
}
@media all and (max-width: 896px) {
	.mainVisual {
		padding-bottom: 1.8rem;
	}
	.mainVisual .imgtext01 {
		padding: 0 1.1rem 0 0.4rem;
		top: 0;
	}
	.mainVisual .imgtext01 img {
		width: 100%;
	}
	.mainVisual .mvInner {
		padding-top: 3.7rem;
	}
	.mainVisual .mvInner::after {
		width: 34.3rem;
		max-width: 100%;
		bottom: -1rem;
		background-image: url(../img/index/bg01_sp.png);
		aspect-ratio: 686/500;
	}
	.mainVisual .mainImg {
		margin-bottom: 2.3rem;
		width: 100%;
		aspect-ratio: 375/366;
	}
	.mainVisual .mainImg .img01 {
		width: 38.65%;
		left: 2.55%;
		top: 8.5%;
	}
	.mainVisual .mainImg .img02 {
		width: 34%;
		top: 5%;
		left: 12.9%;
	}
	.mainVisual .mainImg .img03 {
		width: 36%;
		top: 2.1%;
		left: 32%;
	}
	.mainVisual .mainImg .img04 {
		width: 36.2%;
		top: 4%;
		left: 50.3%;
	}
	.mainVisual .mainImg .img05 {
		width: 63.8%;
		left: 50.4%;
	}
	.mainVisual .mainImg .img06 {
		width: 77.4%;
		left: 43.3%;
		bottom: 22.25%;
	}
	.mainVisual .mainImg .img07 {
		right: 0.1rem;
		bottom: -1.6rem;
		width: 27.5%;
	}
	.mainVisual .mainImg .img07 img {
		width: 100%;
	}
	.mainVisual .imgtext02 {
		margin: 0 1.3rem 1.5rem;
	}
	.mainVisual .imgtext02 img {
		width: 100%;
	}
	.mainVisual .banner {
		margin: 0 1.3rem 1.6rem 1.4rem;
	}
	.mainVisual .banner img {
		width: 100%;
	}
	.mainVisual .ahcList {
		margin: 0 1.3rem 0 1.2rem;
		padding: 0 0;
		max-width: initial;
		gap: 0.7rem;
	}
	.mainVisual .ahcList li {
		width: calc((100% - 1.4rem) / 3);
	}
	#main .sec01 {
		padding: 2.3rem 0 4.2rem;
	}
	#main .sec01::before {
		width: 18.2rem;
		top: -0.9rem;
		aspect-ratio: 364/398;
		background-image: url(../img/index/bg02_sp.png);
	}
	#main .sec01::after {
		width: 10.5rem;
		top: -0.9rem;
		aspect-ratio: 210/398;
		background-image: url(../img/index/bg03_sp.png);
	}
	#main .sec01 h2 {
		margin: 0 0 0.9rem 0.3rem;
	}
	#main .sec01 h2 img {
		width: 34.4rem;
	}
	#main .sec01 .topBox {
		margin-bottom: 2.7rem;
		padding-top: 0.3rem;
		border-radius: 0.3rem;
		border-width: 0.1rem;
	}
	#main .sec01 .topBox .innerBox {
		max-width: initial;
	}
	#main .sec01 .topBox .text01 {
		margin: 0 0.5rem 0.9rem 1.1rem;
		font-size: 1.85rem;
		line-height: 1.25;
	}
	#main .sec01 .topBox .color {
		font-size: 2.2rem;
	}
	#main .sec01 .topBox .lineBtn {
		margin: 0 1.1rem 0.6rem 1.2rem;
		padding: 0.8rem 1rem 0.7rem 0.6rem;
		gap: 0.5rem;
		border-radius: 0.3rem;
	}
	#main .sec01 .topBox .lineBtn p {
		font-size: 1.4rem;
		letter-spacing: 0.08em;
	}
	#main .sec01 .topBox .lineBtn a {
		width: 11.2rem;
	}
	#main .sec01 .topBox .text02 {
		margin-bottom: 0.4rem;
		font-size: 1.15rem;
	}
	#main .sec01 .topBox .text03 {
		margin: 0 0 1.3rem;
		font-size: 1.85rem;
		line-height: 1.1;
	}
	#main .sec01 .topBox .text03 .color {
		font-size: 1.85rem;
	}
	#main .sec01 .topBox .text03 .lrg {
		font-size: 2.4rem;
		vertical-align: 0;
	}
	#main .sec01 h3 {
		margin: 0 0 1rem -1.3rem;
	}
	#main .sec01 h3 img {
		width: 36rem;
	}
	#main .sec01 .imgtext01 {
		margin: 0 0 0.7rem 0.3rem;
	}
	#main .sec01 .imgtext01 img {
		width: 34.3rem;
	}
	#main .sec01 .subBox {
		margin-bottom: 2.5rem;
	}
	#main .sec01 .subBox .inWrap {
		padding: 0.9rem 0.6rem 1rem;
		border-radius: 0.3rem;
	}
	#main .sec01 .subBox .ttl {
		margin-bottom: 1.0rem;
		text-align: left;
	}
	#main .sec01 .subBox .ttl img {
		width: 23.3rem;
	}
	#main .sec01 .subBox .imgBox {
		display: block;
	}
	#main .sec01 .subBox .imgBox .photoBox {
		padding: 0 3.5rem 0.7rem 2.2rem;
		width: auto;
	}
	#main .sec01 .subBox .imgBox .photoBox .note {
		margin: 1rem -3.5rem 0 -1.9rem;
		max-width: initial;
		font-size: 0.9rem;
	}
	#main .sec01 .subBox .productBox {
		padding: 1rem;
		border-radius: 0.3rem;
	}
	#main .sec01 .subBox .imgBox .productBox {
		margin: 0 0.2rem;
		padding: 0.8rem 1.2rem 0.7rem;
		width: auto;
		display: flex;
		align-items: center;
		gap: 2rem;
	}
	#main .sec01 .subBox .productBox .subTtl {
		margin-bottom: 0.6rem;
		font-size: 2rem;
		white-space: nowrap;
	}
	#main .sec01 .subBox .productBox .subTtl .note {
		font-size: 0.9rem;
		margin-top: -0.2rem;
	}
	#main .sec01 .subBox .productBox .prdList {
		margin-left: 0;
		justify-content: flex-start;
		gap: 6%;
	}
	#main .sec01 .subBox .productBox .prdList li {
		width: 29.65%;
	}
	#main .sec01 .subBox .productBox .prdList li .txt {
		margin-bottom: 0.3rem;
		font-size: 0.8rem;
	}
	#main .sec01 .sub02 {
		margin-bottom: 2.1rem;
	}
	#main .sec01 .sub02 h3 {
		margin-bottom: 1.4rem;
	}
	#main .sec01 .sub02 .imgtext01 {
		margin-bottom: 0.8rem;
	}
	#main .sec01 .sub02 .imgtext01 img {
		width: 33rem;
	}
	#main .sec01 .sub02 .pho {
		margin: 0 -0.4rem 1rem 0.5rem;
		text-align: center;
	}
	#main .sec01 .sub02 .pho img {
		width: auto;
	}
	#main .sec01 .sub02 .noteTxt {
		margin: 0 0 0.9rem;
		text-align: left;
		font-size: 0.9rem;
	}
	#main .sec01 .sub02 .inWrap {
		padding: 1.6rem 0.8rem 1rem;
	}
	#main .sec01 .sub02 .productBox {
		padding: 1.3rem 1rem 1rem;
		max-width: initial;
		position: relative;
	}
	#main .sec01 .sub02 .productBox .subTtl {
		margin-bottom: 0;
		position: absolute;
		left: 1rem;
		top: 17.2vw;
		width: 26%;
	}
	#main .sec01 .sub02 .productBox .prdList {
		margin-left: 0;
		gap: 1.4rem 3.1%;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#main .sec01 .sub02 .productBox .prdList li {
		width: 21.2%;
	}
	#main .sec01 .sub02 .productBox .prdList li:first-child {
		margin-left: 30.1%;
	}
	#main .sec01 .sub02 .productBox .prdList li.wid01 {
		width: 22%;
	}
	#main .sec01 .sub02 .productBox .prdList li .txt {
		margin-bottom: 0.3rem;
	}
	#main .sec01 .btnList {
		display: block;
	}
	#main .sec01 .btnList li {
		margin-bottom: 1rem;
		width: auto;
	}
	#main .sec01 .btnList li .txt {
		margin-bottom: 1rem;
		font-size: 1.85rem;
		letter-spacing: 0.02em;
	}
	#main .sec01 .btnList li .txt01 {
		margin-bottom: 0.7rem;
	}
	#main .sec01 .btnList li img {
		width: 32.7rem;
	}
	#main .sec02 {
		padding: 1.9rem 0 5.2rem;
	}
	#main .sec02::before {
		height: 20rem;
		top: -3rem;
		background: url(../img/index/bg05_sp.png) no-repeat left top / 15rem, url(../img/index/bg06_sp.png) no-repeat right top / 10rem;
	}
	#main .sec02 h2 {
		margin: 0 0 1.2rem 1rem;
	}
	#main .sec02 h2 img {
		width: 25.1rem;
	}
	#main .sec02 .pho01 {
		margin: 0 -0.1rem 0.8rem 0.9rem;
		text-align: center;
	}
	#main .sec02 .pho01 img {
		width: auto;
	}
	#main .sec02 .pho02 {
		margin: 0 1.2rem;
		text-align: center;
	}
	#main .sec02 .note {
		margin: 0 auto 0.5rem;
		padding: 0 1rem;
		max-width: min(35rem, 682px);
		text-align: left;
		font-size: min(0.9rem, 16px);
	}
	#main .sec02 .ttl {
		margin: -0.8rem 0 -0.1rem 1.1rem;
		width: auto;
		gap: 0.4rem;
	}
	#main .sec02 .ttl .num {
		width: 5.4rem;
	}
	#main .sec02 .ttl .txt {
		padding-top: 1.8rem;
		font-size: 1.3rem;
		flex: 1;
		line-height: 1.32;
	}
	#main .sec02 .ttl01 {
		margin: 0 0 1.6rem 1.1rem;
	}
	#main .sec02 .ttl01 .txt {
		padding-top: 1.6rem;
	}
	#main .sec02 .btnList {
		margin: 0 auto 0.9rem;
		display: block;
		width: 32.7rem;
		max-width: 100%;
	}
	#main .sec02 .btnList li {
		margin-bottom: 1.3rem;
		width: 100%;
	}
	#main .sec02 .btnList li:last-child {
		margin-bottom: 0;
	}
	#main .sec02 .btnList li.tgBtn {
		width: 100%;
	}
	#main .sec02 .btnList li.tgBtn a::after {
		width: 1.9rem;
		height: 1.9rem;
		right: 2rem;
	}
	#main .sec02 .btnList li img {
		width: 100%;
	}
	#main .application {
		width: auto;
		border-radius: 0.3rem;
	}
	#main .application dl {
		padding: 1.5rem 2rem 1.3rem;
	}
	#main .application dt {
		margin-bottom: 1rem;
		width: auto;
		padding: 0.4rem;
		font-size: 1.5rem;
	}
	#main .application dd {
		margin-bottom: 1.5rem;
		font-size: 1.1rem;
		line-height: 1.73;
	}
	#main .application dd:last-child {
		margin-bottom: 0;
	}
	#main .application dd p {
		margin-bottom: 0.5rem;
	}
	#main .application dd p:last-child {
		margin-bottom: 0;
	}
	#main .application dd .subTtl {
		margin-bottom: 0.1rem;
		padding-left: 0.7rem;
		font-size: 1.1rem;
		line-height: 1.65;
	}
	#main .application dd .subTtl::before {
		margin-top: 0.1rem;
		width: 0.15rem;
		height: 1.35rem;
	}
	#main .application dd .txtList li {
		padding-left: 0;
		text-indent: 1.6rem;
	}
	#main .application dd .txtList li::before {
		width: 1rem;
		height: 1rem;
		left: 0.1rem;
		top: 0.43em;
	}
	#main .sec03 {
		padding: 1.3rem 0 6.1rem;
	}
	#main .sec03::before {
		height: 22rem;
		top: -5.8rem;
		background: url(../img/index/bg02_sp.png) no-repeat left top 1.6rem / 18.2rem, url(../img/index/bg06_sp.png) no-repeat right top 1.6rem / 10rem;
	}
	#main .sec03 .ttlBox {
		margin: 0 1.3rem;
		padding-bottom: 2.4rem;
	}
	#main .sec03 .ttlBox .img {
		width: 19.5rem;
		right: -0.4rem;
		top: 7.9rem;
	}
	#main .sec03 .ttlBox h2 {
		margin-bottom: 1.3rem;
	}
	#main .sec03 .ttlBox h2 img {
		width: 32.2rem;
	}
	#main .sec03 .ttlBox p {
		margin-right: 15.2rem;
		min-height: 16rem;
		max-width: initial;
		font-size: 1.3rem;
	}
	#main .sec03 .innerBox {
		padding: 1.2rem 0;
		border-radius: 0.3rem;
	}
	#main .sec03 .heading {
		margin: 0 -3rem 1rem 0;
		padding: 0.4rem 1.1rem 0.6rem;
		max-width: 37.7rem;
		min-height: 6.3rem;
		gap: 0.8rem;
		background-image: url(../img/index/bg08_sp.png);
	}
	#main .sec03 .heading .num {
		width: 3.35rem;
	}
	#main .sec03 .heading .img {
		width: 7.3rem;
		right: 3.9rem;
		bottom: -0.5rem;
	}
	#main .sec03 .heading .ttlTxt {
		font-size: 1.95rem;
		line-height: 1.28;
	}
	#main .sec03 .imgBox {
		margin: 0 1.2rem 3.6rem;
		gap: 1rem;
	}
	#main .sec03 .imgBox .textBox {
		margin-top: -0.2rem;
	}
	#main .sec03 .imgBox .textBox p {
		font-size: 1.3rem;
		line-height: 1.55;
	}
	#main .sec03 .imgBox .photoBox {
		width: 9.8rem;
	}
	#main .sec04 {
		padding: 2.2rem 0 2.7rem;
	}
	#main .sec04::before {
		height: 20rem;
		top: -5.2rem;
		background: url(../img/index/bg09_sp.png) no-repeat left top / 18.4rem, url(../img/index/bg10_sp.png) no-repeat right top / 10rem;
	}
	#main .sec04 h2 {
		margin-bottom: 0.7rem;
	}
	#main .sec04 h2 img {
		width: 34rem;
	}
	#main .sec04 .videoList {
		margin: 0 0 1.5rem;
		max-width: initial;
		display: block;
	}
	#main .sec04 .videoList li {
		margin: 0 !important;
		padding: 1.3rem 1rem 1.5rem;
		width: auto;
		border-width: 0.1rem;
		border-radius: 0.3rem;
	}
	#main .sec04 .videoList .mark img {
		width: 100%;
	}
	#main .sec04 .videoList .imgBox {
		margin-bottom: 0.9rem;
		gap: 0.5rem;
		position: relative;
	}
	#main .sec04 .videoList .imgBox .photoBox {
		margin-left: 0.3rem;
		width: 15rem;
		display: block;
	}
	#main .sec04 .videoList .imgBox .photoBox img {
		width: 100%;
	}
	#main .sec04 .videoList .item01 .mark {
		margin: 0;
		width: 15.7rem;
		position: absolute;
		left: -0.5rem;
		top: 0;
	}
	#main .sec04 .videoList .ttl {
		margin: 0.2rem 0 0.6rem;
		font-size: 2.2rem;
		line-height: 1.2;
	}
	#main .sec04 .videoList .ttl .sm {
		margin-top: 0.7rem;
		font-size: 1.6rem;
		font-weight: 700;
	}
	#main .sec04 .videoList p {
		margin-bottom: 0;
		font-size: 1.3rem;
		line-height: 1.4;
	}
	#main .sec04 .videoList .item01 .photoBox {
		padding-top: 3.8rem;
	}
	#main .sec04 .videoList .item02 {
		padding-top: 1.7rem;
	}
	#main .sec04 .videoList .item02 .imgBox .photoBox {
		margin-left: -0.4rem;
		width: 8.85rem;
	}
	#main .sec04 .videoList .item03 {
		padding-top: 1.7rem;
	}
	#main .sec04 .videoList .item03 .imgBox .photoBox {
		margin-left: -0.2rem;
		width: 8.7rem;
	}
	#main .sec04 .videoList .item04 {
		padding-top: 1.6rem;
		padding-bottom: 8.2rem;
	}
	#main .sec04 .videoList .item04 .imgBox {
		gap: 0.3rem;
		margin-bottom: 0.2rem;
	}
	#main .sec04 .videoList .item04 .imgBox .photoBox {
		margin-left: -0.2rem;
		width: 12.4rem;
	}
	#main .sec04 .videoList .item04 p {
		margin: 0 0.8rem;
	}
	#main .sec04 .videoList .item05 {
		padding-top: 1.5rem;
	}
	#main .sec04 .videoList .item05 .imgBox {
		gap: 0.2rem;
	}
	#main .sec04 .videoList .item05 .imgBox .photoBox {
		margin-left: -0.2rem;
		margin-top: 0;
		width: 11.4rem;
	}
	#main .sec04 .videoList .item06 {
		padding-top: 1.5rem;
	}
	#main .sec04 .videoList .item06 .imgBox {
		gap: 0.2rem;
	}
	#main .sec04 .videoList .item06 .imgBox .photoBox {
		margin-left: -0.5rem;
		width: 11.2rem;
	}
	#main .sec04 .videoList .item07 .imgBox {
		gap: 0.3rem;
	}
	#main .sec04 .videoList .item07 .imgBox .photoBox {
		margin-left: -0.4rem;
		margin-top: 0.2rem;
		width: 10.8rem;
	}
	#main .sec04 .videoList .item08 {
		padding-top: 1.6rem;
		padding-bottom: 3.3rem;
	}
	#main .sec04 .videoList .item08 .imgBox {
		margin-bottom: 0.1rem;
	}
	#main .sec04 .videoList .item08 .imgBox .photoBox {
		margin-left: -0.3rem;
		margin-top: -0.2rem;
		width: 10rem;
	}
	#main .sec04 .videoList .item09 {
		padding-top: 1.7rem;
	}
	#main .sec04 .videoList .item09 .imgBox .photoBox {
		margin-left: -0.4rem;
		margin-top: -0.5rem;
		width: 10.4rem;
	}
	#main .sec04 .btn {
		margin: 0 0 3.7rem;
	}
	#main .sec04 .btn a {
		width: 32.7rem;
		max-width: 100%;
	}
	#main .sec04 .btn a img {
		width: 100%;
	}
	#main .sec04 .sns {
		width: 5rem;
	}
	#main .sec04 .sns img {
		width: 100%;
	}
	#main .slick-arrow {
		margin-top: 0.1rem;
		padding: 0;
		width: 2.2rem;
		height: 2.4rem;
		position: absolute;
		top: 50%;
		display: block;
		cursor: pointer;
		color: transparent;
		font-size: 0;
		line-height: 0;
		border: none;
		outline: none;
		transform: translateY(-50%);
		background: no-repeat center center / cover;
		z-index: 1;
	}
	#main .slick-prev {
		left: 0.5rem;
		background-image: url(../img/index/arrow01.png);
	}
	#main .slick-next {
		right: 0.5rem;
		background-image: url(../img/index/arrow02.png);
	}
}