@charset "utf-8";
#index_wrap, #content_wrap{
	margin-top: 80px;
}
.content_area{
	max-width: 1160px;
	margin: auto;
	padding: 0 30px;
}

/* ----- MV ----- */
.mv_area{position: relative;}
.mv_img{width: 100%;}
.mv_copy{
	position: absolute;
	bottom: 52px;
	left: 59px;
	z-index: 1;
}
.mv_copy_ttl{
	font-weight: bold;
	font-size: 3.8rem;
	letter-spacing: 3.8px;
	line-height: 5.7rem;
	color: #fff;
	text-shadow: 0px 3px 10px #00000080;
}
.home_h2{
	text-align: center;
	font-weight: bold;
	font-size: 3.6rem;
	letter-spacing: 3.6px;
	line-height: 5.2rem;
}
.home_h2::before{
	content: attr(data-slug);
	display: block;
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
	color: #1B4EB0;
}

/* ----- NEWS ----- */
.news_area{padding: 50px 0 80px;}
.news_area .home_h2{margin-bottom: 38px;}
.news_item{
	border-bottom: 1px solid #ccc;
	padding: 20px;
	display: flex;
	gap: 38px;
}
.news_item:first-child{border-top: 1px solid #ccc;}
.news_date{
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
	color: #888;
}
.news_ttl{
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
}
.news_ttl + .news_txt{margin-top: 10px;}
.news_txt{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
}

/* ----- ORIGINAL ----- */
.original_area{
	position: relative;
	padding: 90px 0 30px;
}
.original_area::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	height: 100%;
	background:#E6EDFE;
	z-index: -1;
}
.original_area .home_h2{margin-bottom: 38px;}
.lead_box{
	display: grid;
	grid-template-columns: auto 55%;
	gap: 50px;
	background: #1B4EB0;
	border-radius: 10px;
	margin-bottom: 100px;
	padding: 0 20px;
}
.lead_box_pic{position: relative;}
.lead_box_img{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	max-width: 386px;
}
.lead_box_txt{
	font-weight: 500;
	font-size: 1.8rem;
	letter-spacing: 1.8px;
	line-height: 3.5rem;
	color: #fff;
	padding: 56px 0;
}
.original_h3{
	font-weight: bold;
	font-size: 3.2rem;
	letter-spacing: 3.2px;
	line-height: 4.6rem;
	text-align: center;
	margin-bottom: 10px;
}
.original_copy{
	font-size: 2.8rem;
	letter-spacing: 2.8px;
	line-height: 4rem;
	color: #1B4EB0;
	text-align: center;
	margin-bottom: 30px;
}
.slide_list .slick-list{
	border-radius: 10px;
	background: #fff;
	margin-bottom: 50px !important;
}
.slide_img{
	margin: auto;
	display: block;
	max-height: 400px;
}
.slick-prev, .slick-next{
	width: 50px;
	height: 50px;
	z-index: 1;
}
.slick-prev:before, .slick-next:before{
	content: '' !important;
	width: 22px;
	height: 22px;
	border-top: 2px solid #1B4EB0;
	border-right: 2px solid #1B4EB0;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	opacity: 1;
}
.slick-prev{left: 30px;}
.slick-prev::before{transform: translateY(-50%) translateX(-50%) rotate(225deg);}
.slick-next{right: 30px;}
.slick-next::before{transform: translateY(-50%) translateX(-50%) rotate(45deg);}
.slick-dots{
	display: flex;
	justify-content: center;
	gap: 11px;
	bottom: -30px;
}
.slick-dots li{
	width: 12px;
	height: 12px;
	margin: 0;
	display: flex;
}
.slick-dots li button{
	width: 8px;
	height:8px;
	padding: 0;
	margin: auto;
	background: #AFB8C2;
	border-radius: 50%;
	transition: background .3s;
}
.slick-dots li:hover button{background:#1B4EB0;}
.slick-dots li button::before{display:none;}
.slick-dots .slick-active button{
	background:#1B4EB0;
}
.slide_nav_list{
	display: flex ;
	justify-content: center;
	margin: auto;
	gap: 20px;
	margin-bottom: 30px;
}
.slide_nav_item{
	position: relative;
	cursor: pointer;
}
.slide_nav_item::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 2px solid transparent;
	border-radius: 5px;
	transition: border 0.3s;
}
.slide_nav_item:hover::after,
.slide_nav_item.active::after{border-color: #1B4EB0;}
.slide_nav_img{
	width: 120px;
	height: 90px;
	object-fit: cover;
	border-radius: 5px;
}
.info_block{padding-bottom: 35px;}
.info_block h4{
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	color: #1B4EB0;
	margin-bottom: 13px;
}
.info_txt{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
	margin-bottom: 35px;
}
.info_note{
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.56rem;
	margin-bottom: 8px;
}
.info_txt_small{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.7rem;
}
.target_box{
	position: relative;
	text-align: center;
	padding: 35px 40px 40px;
	border-radius: 10px;
	background: #fff;
	margin-bottom: 30px;
}
.target_box h4{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 2.88rem;
	margin-bottom: 22px;
	color: #1B4EB0;
	font-weight: bold;
}
.target_col{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 460px));
	justify-content: center;
	gap: 80px;
	position: relative;
}
.target_col::after{
	content: '';
	position: absolute;
	width: 1px;
	height: 100%;
	background: #ddd;
	right: 0;
	left: 0;
	margin: auto;
}
.target_col_item{
	display: grid;
	grid-template-columns: 230px minmax(0, 220px);
	gap: 10px;
	align-items: center;
	justify-content: center;
}
.target_col_img{border-radius: 10px;}
.target_col_txt{
	font-weight: bold;
	font-size: 1.8rem;
	letter-spacing: 1.8px;
	line-height: 3.24rem;
	color: #333;
}
.point_box{
	background: #1B4EB0;
	border-radius: 10px;
	padding: 30px;
	margin: 20px 0 40px;
}
.point_box h4{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 3.5rem;
	margin-bottom: 20px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
.point_list{
	display: grid;
	grid-template-columns: repeat(auto-fit, calc((100% - 50px) / 3));
	gap: 25px;
}
.point_item{
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 3.2rem;
	padding: 22px 20px 24px 80px;
	margin: 0;
	color: #1B4EB0;
	background: #fff;
	position: relative;
	border-radius: 10px;
	display: flex;
	align-items: center;
}
.point_item::before{
	content: '';
	position: absolute;
	background: url(/img/index/icon_point.svg) no-repeat center;
	width: 35px;
	height: 35px;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 30px;
}
.cost_box{
	position: relative;
	text-align: center;
	padding: 35px 40px;
	border-radius: 10px;
	margin-bottom: 50px;
	background: #fff;
}
.cost_box::after{
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	background: url(/img/index/icon_fukidashi_white.svg) no-repeat;
	width: 60px;
	height: 20px;
	translate: -50% -100%;
}
.cost_box h4{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 2.88rem;
	margin-bottom: 22px;
		color: #0854AA;
	font-weight: bold;
}
.cost_col{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 470px));
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-bottom: 18px;
}
.cost_col_item{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 70px;
	padding: 20px;
	background: #1B4EB0;
	border-radius: 40px;
	color: #fff;
	font-weight: bold;
	font-size: 2.2rem;
	letter-spacing: 2.2px;
	line-height: 2.88rem;
}
.cost_col_item span{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	margin-left: 5px;
}
.cost_box_txt{
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.52rem;
}
.movie_box h4{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 2.88rem;
	margin-bottom: 30px;
	color: #1B4EB0;
	font-weight: bold;
	text-align: center;
}
.movie_col{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
	margin-bottom: 50px;
}
.movie_wrap{
	position:relative;
	height:0;
	padding-bottom:56.19%;
	overflow:hidden;
	border-radius: 10px;
}
.movie_wrap iframe, .movie_wrap object, .movie_wrap embed{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
}
.movie_col p{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
	font-weight: 500;
	text-align: center;
	margin-top: 12px;
}

.lineup_block{
	padding-top: 70px;
	border-top: 1px solid #AEBFD8;
}
.lineup_block h3{
	font-weight: bold;
	font-size: 3.2rem;
	letter-spacing: 3.2px;
	line-height: 4.6rem;
	margin-bottom: 50px;
}
.lineup_block h4{
	font-weight: bold;
	font-size: 2.6rem;
	letter-spacing: 2.6px;
	line-height: 3.7rem;
	margin-bottom: 29px;
	padding-left: 16px;
	position: relative;
}
.lineup_block h4::before{
	content: '';
	position: absolute;
	width: 3px;
	height: 24px;
	background: #1B4EB0;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.lineup_block h5{
	font-weight: 500;
	font-size: 1.8rem;
	letter-spacing: 1.8px;
	line-height: 2.6rem;
	margin: 14px 0 10px;
}
.lineup_note{margin-bottom: 20px;}
.lineup_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin-bottom: 48px;
}
.lineup_item{
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
}
.lineup_img{border-radius: 10px;}
.lineup_txt{
	font-size: 1.5rem;
	letter-spacing: 1.5px;
	line-height: 2.7rem;
}
.purpose_txt{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
	margin-bottom: 28px;
}
.purpose_box{
	border: 1px solid #1B4EB0;
	border-radius: 10px;
	padding: 24px 23px 22px;
	margin-bottom:15px;
}
.purpose_box:last-of-type{margin-bottom: 30px;}
.purpose_box h5{
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.88rem;
	color: #1B4EB0;
	margin:0 0 10px;
}
.purpose_box p{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
}

/* ----- PRODUCT ----- */
.product_area{padding: 80px 0 0;}
.product_area .home_h2{margin-bottom: 38px;}
.product_txt{
	text-align: center;
	margin-bottom: 30px;
}
.product_item{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}
.product_link{
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
}
.product_link_txt{
	padding-left: 22px;
	background:url(/img/common/icon_pdf.svg) no-repeat top 6px left;
	margin-top: 10px;
}
.product_link_img{
	border-radius: 10px;
	border: 2px solid transparent;
	transition: border .3s;
}
.product_link:hover .product_link_img{border-color: #1B4EB0;}
.product_area h3{
	font-weight: bold;
	font-size: 3.2rem;
	letter-spacing: 3.2px;
	line-height: 4.6rem;
	margin: 70px 0 30px;
}
.partner_list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-left: 1px solid #ddd;
}
.partner_item{
	box-sizing: border-box;
	border: 1px solid #ddd;
	border-left: none;
	padding: 26px 25px;
}
.partner_item:nth-child(n+5){border-top: none;}

/* ----- ABOUT ----- */
.about_area{padding: 100px 0 0;}
.about_area .home_h2{margin-bottom: 50px;}
.about_col{
	display: grid;
	grid-template-columns: auto 45%;
	align-items: center;
	gap: 50px;
	margin-bottom: 82px;
}
.about_col h3{
	font-weight: bold;
	font-size: 2.8rem;
	letter-spacing: 2.8px;
	line-height: 4rem;
	color: #1B4EB0;
	margin-bottom: 26px;
}
.about_col_txt{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 3rem;
}
.about_col_img{border-radius: 10px;}
.feature_box{
	position: relative;
	padding: 50px 0 65px;
}
.feature_box::before{
	content: '';
	position: absolute;
	background: #1B4EB0;
	width: 100svw;
	left: calc(50% - calc(100svw / 2));
	height: 100%;
	z-index: -1;
	top: 0;
}
.feature_box::after{
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	background: url(/img/index/icon_fukidashi_blue.svg) no-repeat;
	width: 70px;
	height: 22px;
	translate: -50% -100%;
}
.feature_box h3{
	font-weight: bold;
	font-size: 3rem;
	letter-spacing: 3px;
	line-height: 4.4rem;
	color: #fff;
	margin-bottom: 30px;
	text-align: center;
}
.feature_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
}
.feature_item{
	background: #fff;
	padding: 25px 30px 30px;
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	border-radius: 10px;
}
.feature_box h4{
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	text-align: center;
	margin-bottom: 8px;
}
.feature_h4::before{display: none;}
.feature_box h4 br{display: none;}
.feature_img{
	width: 120px;
	height: 140px;
	margin: 0 auto 10px;
}
.feature_txt{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 3rem;
}

/* ----- COMPANY ----- */
.company_area{padding: 100px 0 0;}
.company_area .home_h2{margin-bottom: 33px;}
table{
	table-layout: fixed;
	width: 100%;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
th, td{
	padding: 14px 20px;
	border-bottom: 1px solid #ccc;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
	vertical-align: top;
}
th{
	width: 220px;
	background: #F4F4F4;
	font-weight: bold;
	text-align: left;
	border-right: 1px solid #ccc;
}
td{border-right: 1px solid #ccc;}
td *:last-child{margin-bottom: 0;}

/* ----- ACCESS ----- */
.access_area{padding: 100px 0;}
.access_area .home_h2{margin-bottom: 28px;}
.access_txt{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
	margin-bottom: 20px;
}
.map{
	position: relative;
	width: auto;
	min-height: 300px;
	padding-bottom: 43.64%;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 10px;
}
.map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.content_area.error{
	padding: 85px 30px 95px;
	max-width: 1060px;
}
.page_ttl{
	font-weight: bold;
	font-size: 3.2rem;
	letter-spacing: 3.2px;
	line-height: 4.6rem;
	margin-bottom: 67px;
}
.content_area.error p{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 3rem;
}
.error_txt{margin-bottom: 30px;}

@media screen and (max-width:1024px){

/* ----- MV ----- */
.mv_copy{
	bottom: 30px;
	left: 30px;
}
.mv_copy_ttl{
	font-size: 3.1rem;
	letter-spacing: 3.1px;
	line-height: 4.6rem;
}
.home_h2{
	font-size: 2.6rem;
	letter-spacing: 2.6px;
	line-height: 3.7rem;
}
.home_h2::before{
	font-size: 1.2rem;
	letter-spacing: 1.2px;
}

/* ----- NEWS ----- */
.news_area{padding: 48px 0 60px;}
.news_area .home_h2{margin-bottom: 30px;}
.news_item{
	padding: 15px 20px 16px;
	gap: 28px;
}
.news_date{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	color: #888888;
}
.news_ttl{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
}
.news_ttl + .news_txt{margin-top: 3px;}
.news_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.7rem;
}

/* ----- ORIGINAL ----- */
.original_area{padding: 47px 0 1px;}
.original_area .home_h2{margin-bottom: 46px;}

.lead_box{
	grid-template-columns: auto 53%;
	gap: 20px;
	background: #1B4EB0;
	margin-bottom: 49px;
}
.lead_box_img{max-width: 295px;}
.lead_box_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 3rem;
	padding: 40px 0 38px;
}
.original_h3{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 3.5rem;
	margin-bottom: 6px;
}
.original_copy{
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	margin-bottom: 20px;
}
.slide_list .slick-list{margin-bottom: 64px !important;}
.slide_img{max-height: 300px;}
.slick-prev{left: 20px;}
.slick-next{right: 20px;}
.slick-dots{bottom: -37px;}
.slide_nav_list{gap: 18px;}
.slide_nav_img{
	width: 100px;
	height: 75px;
}
.info_block{padding-bottom: 25px;}
.info_block h4{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
	margin-bottom: 11px;
}
.info_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
}
.info_note{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	margin-bottom: 4px;
}
.target_box{
	padding: 30px 20px 28px;
	margin-bottom: 20px;
}
.target_box h4{
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	margin-bottom: 17px;
}
.target_col{gap: 40px;}
.target_col_item{grid-template-columns: 165px minmax(0, 175px);}
.target_col_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.6rem;
}
.point_box{
	padding: 30px 20px;
}
.point_box h4{
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
}
.point_list{
	grid-template-columns: repeat(auto-fit, calc((100% - 20px) / 3));
	gap: 10px;
}
.point_item{
	font-size: 1.5rem;
	letter-spacing: 1.5px;
	line-height: 2.56rem;
	padding: 18px 20px 18px 60px;
}
.point_item::before{left: 14px;}
.cost_box{padding: 30px 40px 28px;}
.cost_box h4{
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	margin-bottom: 20px;
}
.cost_col{
	grid-template-columns: repeat(2, minmax(0, 295px));
	gap: 10px;
}
.cost_col_item{
	height: 53px;
	padding: 10px;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.1rem;
}
.cost_col_item span{
	font-size: 1.2rem;
	letter-spacing: 1.2px;
	margin-left: 3px;
}
.cost_box_txt{
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	line-height: 2.34rem;
}
.movie_box h4{
	font-size: 2rem;
	letter-spacing: 2px;
	margin-bottom: 20px;
}
.movie_col{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 25px;
}
.movie_col p{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.7rem;
	margin-top: 10px;
}
.lineup_block{padding-top: 60px;}
.lineup_block h3{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 3.5rem;
	margin-bottom: 40px;
}
.lineup_block h4{
	font-size: 2.2rem;
	letter-spacing: 2.2px;
	line-height: 3.2rem;
	margin-bottom: 25px;
}
.lineup_note{margin-bottom: 15px;}
.lineup_list{
	grid-template-columns: repeat(2, 1fr);
	gap: 38px;
}
.lineup_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
}
.purpose_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.7rem;
	margin-bottom: 25px;
}
.purpose_box{padding: 20px 20px 15px;}
.purpose_box h5{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
	margin:0 0 8px;
}
.purpose_box p{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.7rem;
}

/* ----- PRODUCT ----- */
.product_area{padding: 55px 0 0;}
.product_area .home_h2{margin-bottom: 18px;}
.product_txt{
	margin-bottom: 15px;
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
}
.product_item{gap: 25px;}
.product_link_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
	margin-top: 5px;
}
.product_area h3{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 3.5rem;
	margin: 45px 0 20px;
}
.partner_list{grid-template-columns: repeat(3, 1fr);}
.partner_item{
	font-size: 1.4rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
	padding: 19px 20px 20px;
}
.partner_item:nth-child(n+4){border-top: none;}

/* ----- ABOUT ----- */
.about_area{padding: 65px 0 0;}
.about_area .home_h2{margin-bottom: 30px;}
.about_col{
	gap: 32px;
	margin-bottom: 67px;
}
.about_col h3{
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	margin-bottom: 12px;
}
.about_col_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
}
.feature_box{padding: 40px 0 50px;}
.feature_box h3{
	font-size: 2.2rem;
	letter-spacing: 2.2px;
	line-height: 3.2rem;
	margin-bottom: 28px;
}
.feature_list{gap: 16px;}
.feature_item{padding: 20px 20px 25px;}
.feature_box h4{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.56rem;
	margin-bottom: 8px;
}
.feature_box h4 br{display: block;}
.feature_img{
	width: 100px;
	height: 115px;
	margin: 0 auto 12px;
}
.feature_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
}

/* ----- COMPANY ----- */
.company_area{padding: 58px 0 0;}
.company_area .home_h2{margin-bottom: 30px;}
th, td{
	padding: 12px 20px;
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
}
th{width: 160px;}

/* ----- ACCESS ----- */
.access_area{padding: 67px 0 70px;}
.access_area .home_h2{margin-bottom: 26px;}
.access_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
	margin-bottom: 16px;
}
.content_area.error{padding: 45px 30px 65px;}
.page_ttl{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 3.84rem;
	margin-bottom: 35px;
}
.content_area.error p{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
}
}

@media screen and (max-width:1099px){
#index_wrap, #content_wrap{margin-top: 60px;}
}

@media screen and (max-width:767px){
.content_area{padding: 0 20px;}
/* ----- MV ----- */
.mv_copy{
	bottom: 24px;
	left: 20px;
}

/* ----- NEWS ----- */
.news_area{padding: 48px 0 50px;}
.news_item{
	flex-direction: column;
	gap: 0;
	padding: 16px 10px;
}

/* ----- ORIGINAL ----- */
.original_area .home_h2{margin-bottom: 40px;}
.lead_box{
	grid-template-columns: 1fr;
	grid-template-rows: 202px auto;
	gap: 15px;
	margin-bottom: 58px;
}
.lead_box_img{
	left: 0;
	right: 0;
	margin: auto;
}
.lead_box_txt{
	padding: 0 0 26px;
	display: flex;
	justify-content: center;
}
.slide_nav_list{gap: 8px;}
.slide_img{max-height: 223px;}
.slick-prev, .slick-next{
	width: 30px;
	height: 30px;
	bottom: -61px;
	top: auto;
}
.slick-prev:before, .slick-next:before{
	width: 17px;
	height: 17px;
}
.slick-prev{left: 0;}
.slick-next{right: 0;}
.slide_nav_img{
	width: 78px;
	height: 59px;
}
.target_col::after{
	height: 1px;
	width: 100%;
	top: 0;
	bottom: 0;
	margin: auto;
}
.target_col{grid-template-columns: 1fr;}
.target_col_item{
	grid-template-columns: 1fr;
	gap: 12px;
}
.target_col_img{
	max-width: 220px;
	margin: auto;
}
 .point_box{
	padding: 32px 20px 30px;
}
.point_list{
	grid-template-columns: 1fr;
}
.point_item{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.56rem;
	padding-left: 80px;
	min-height: 115px;
}
.point_item::before{left: 30px;}
.cost_box{
	padding: 30px 20px 28px;
	margin-bottom: 40px;
}
.cost_col{grid-template-columns: repeat(1, minmax(0, 295px));}
.lineup_list{grid-template-columns: 1fr;}

/* ----- PRODUCT ----- */
.product_txt{text-align: left;}
.product_item{grid-template-columns: 1fr;}
.partner_list{grid-template-columns: 1fr;}
.partner_item:nth-child(n+2){border-top: none;}

/* ----- ABOUT ----- */
.about_col{
	display: flex;
	flex-direction: column-reverse;
	gap: 30px;
	margin-bottom: 57px;
}
.about_col h3{text-align: center;}
.feature_list{
	grid-template-columns: 1fr;
	gap: 20px;
}
.feature_box h4 br{display: none;}

/* ----- COMPANY ----- */
table, tbody, tr, th, td{
	display: block;
	width: 100%;
}
th, td{padding: 10px 15px 11px;}
.content_area.error{padding: 45px 20px 65px;}
}