@charset "utf-8";
.second_hdr {
		background: #DCDDDD;
		height: 380px;
		display: flex;
		justify-content: center;
}
.second_hdr_inner {
		padding: 90px 40px 0;
		text-align: center;
}
.second_hdr_no {
		font-family: "Jost", sans-serif;
		font-size: 34px;
		font-weight: 500;
		margin: 0 0 50px
}
.second_hdr_no span {
		display: inline-block;
		position: relative;
}
.second_hdr_no span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -20px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #094DA4;
}
.second_hdr_title {
		font-weight: 600;
		font-size: 36px;
		line-height: 1.4;
}
@media(max-width: 767px) {
		.second_hdr {
				height: 250px;
		}
		.second_hdr_inner {
				padding: 70px 0 0;
		}
		.second_hdr_no {
				font-size: 22px;
				margin: 0 0 35px
		}
		.second_hdr_no span::after {
				bottom: -15px;
		}
		.second_hdr_title {
				font-size: 22px;
		}
}
/* =========== */
.second_outer {
		position: relative;
}
@media(min-width: 2000px) {
		.second_outer::before, .second_outer::after {
				content: '';
				display: block;
				position: absolute;
				width: 100%;
				height: 100%;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				pointer-events: none
		}
		.second_outer::before {
				background-image: url("../images/second_line-1_pc.png");
				width: 1075px;
				height: 1650px;
				top: -650px;
				left: -50px;
		}
		.second_outer::after {
				background-image: url("../images/second_line-2_pc.png");
				width: 680px;
				height: 1790px;
				bottom: -660px;
				right: 0;
		}
}
.wrap {
		max-width: 1002px;
		margin: 0 auto;
		padding: 0 40px;
		padding-top: 170px;
		position: relative;
}
@media(max-width: 1999px) {
		.wrap::before, .wrap::after {
				content: '';
				display: block;
				position: absolute;
				width: 100%;
				height: 100%;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				pointer-events: none
		}
		.wrap::before {
				background-image: url("../images/second_line-1_pc.png");
				width: 1075px;
				height: 1650px;
				top: -650px;
				left: -450px;
		}
		.wrap::after {
				background-image: url("../images/second_line-2_pc.png");
				width: 680px;
				height: 1790px;
				bottom: -660px;
				right: -500px;
		}
}
@media(max-width: 1430px) {
		.wrap::before {
				left: -400px
		}
}
@media(max-width: 960px) {
		.wrap {
				padding-top: 120px;
		}
}
@media(max-width: 767px) {
		.wrap {
				padding: 0 20px;
		}
}
.story_section {
		padding-bottom: 180px;
}
@media(max-width: 960px) {
		.story_section {
				padding-bottom: 120px;
		}
}
.story_inner {
		display: flex;
}
.story_caption {
		flex: 1;
}
.story_caption p {
		line-height: 2.0;
		text-align: justify;
}
.story_hd {
		font-family: 'Jost', sans-serif;
		font-size: 30px;
		font-weight: 500;
		margin: 0 0 25px;
		line-height: 1;
}
.story_sb {
		font-size: 28px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 30px
}
.story_figure {
		width: 580px;
		margin-left: 60px;
}
.story_figure img {
		width: 100%;
		height: auto;
		border-radius: 24px;
}
.overview_section {
		padding-bottom: 180px;
}
.products_overview {
		max-width: 840px;
		margin: 0 auto;
}
.products_overview.upper {
		border-bottom: 1px solid #094DA4;
		padding-bottom: 50px;
		margin-bottom: 50px;
}
.products_overview.spec {
		display: flex;
}
.products_overview_left {
		width: 90px;
}
.products_overview_right {
		flex: 1
}
.overview_hd {
		font-family: 'Jost', sans-serif;
		font-size: 30px;
		font-weight: 500;
		line-height: 1.6;
		margin: 0 0 45px
}
.overview_sb {
		font-family: 'Jost', sans-serif;
		font-size: 20px;
		font-weight: 500;
		margin: 0 0 45px;
		line-height: 1.8;
}
dl.overview {
		margin: 0 0 35px;
		margin-left: 1em;
		line-height: 2.0;
}
dl.overview:last-child {
		margin-bottom: 0;
}
.overview dt {
		font-weight: 600;
		margin: 0 0 10px;
		position: relative;
}
.overview dt::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.products_overview p {
		line-height: 1.8;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.material {
		display: flex;
		margin: 0;
		line-height: 1.8;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.material dt {
		white-space: nowrap;
}
.material dd {
		flex: 1;
}
@media(max-width: 1100px) {
		.story_figure {
				width: 50%;
				margin-left: 40px;
		}
}
@media(max-width: 960px) {
		.wrap::before {
				left: -530px;
				top: -590px
		}
		.story_sb {
				font-size: 24px;
				margin: 0 0 20px;
		}
		.story_figure img {
				border-radius: 20px;
		}
		.overview_section {
				padding-bottom: 120px;
		}
}
@media(max-width: 767px) {
		.wrap::before {
				left: 0;
				top: -260px;
				background-image: url("../images/second_line-1_sp.png");
				width: 100%;
				height: 74vw
		}
		.wrap::after {
				width: 100%;
				height: 54vw;
				right: 0;
				bottom: 0;
				background-position: right bottom;
				background-size: 100%;
				background-image: url("../images/second_line-2_sp.png")
		}
		.overview_section {
				padding-bottom: 30px;
		}
		.story_inner {
				display: flex;
				flex-direction: column-reverse;
				padding-top: 40px;
		}
		.story_figure {
				width: 100%;
				margin: 0 0 30px
		}
		.story_figure img {
				border-radius: 16px;
		}
		.story_hd {
				font-size: 24px;
				margin: 0 0 15px;
		}
		.story_sb {
				font-size: 24px;
				margin: 0 0 25px
		}
		.products_overview.upper {
				padding-bottom: 30px;
				margin-bottom: 30px;
		}
		.products_overview {
				padding-top: 0;
				padding-bottom: 60px;
		}
		.products_overview.spec {
				display: block;
		}
		.products_overview.spec .overview_sb {
				margin: 0 0 10px
		}
		.overview_hd {
				font-size: 24px;
				margin: 0 0 25px
		}
		dl.overview {
				display: block;
				margin: 0 0 40px;
				line-height: 1.8;
		}
		dl.overview dt {
				width: auto;
				margin: 0 0 5px;
				margin-left: 1em;
				font-size: 18px;
		}
}
/* ============== */
.products_all {
		background: #094DA4;
		padding-top: 80px;
		padding-bottom: 180px;
}
@media(max-width: 767px) {
		.products_all {
				padding-bottom: 80px;
		}
}
.products_all_inner {
		max-width: 1000px;
		margin: 0 auto 65px;
		padding: 0 40px;
		color: #fff;
}
hgroup.products {
		display: flex;
		flex-direction: column-reverse;
}
hgroup.products .en {
		font-family: "Jost", sans-serif;
		font-size: 66px;
		font-weight: 400;
		margin: 0 0 15px;
}
hgroup.products .jp {
		font-size: 16px;
		font-weight: 500;
}
.products_grid {
		max-width: 1000px;
		margin: 0 auto;
		padding: 0 40px;
		padding-bottom: 100px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 35px 35px;
}
.products_tile {
		min-height: 250px;
		box-sizing: border-box;
		position: relative;
		border-radius: 16px;
		overflow: hidden;
		background: #fff;
}
.products_tile a {
		position: relative;
		display: block;
		text-decoration: none;
		color: #020202;
}
.products_thumbnail {
		position: relative;
		overflow: hidden;
		border-radius: 16px 16px 0 0;
		margin-bottom: 0;
}
.products_thumbnail img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.products_tile a:hover .products_thumbnail img {
				transform: scale(1.1)
		}
}
.products_caption {
		padding: 10px 25px;
		color: #094da4;
}
.products_caption .products_caption_no {
		font-family: "Jost", sans-serif;
		font-size: 26px;
		font-weight: 500;
		margin: 0 0 15px
}
.products_caption p {
		font-family: "Roboto", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-weight: 400;
		letter-spacing: 0.03em;
		line-height: 1.5;
		text-align: center;
}
@media(max-width: 1024px) {
		.products_grid {
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 30px 30px;
		}
}
@media(max-width: 840px) {
		.products_grid {
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 20px 20px;
		}
		.products_tile {
				min-height: 230px;
		}
}
@media(max-width: 960px) {
		hgroup.products .en {
				font-size: 52px;
		}
}
@media(max-width:767px) {
		.products_all_inner {
				margin: 0 auto 40px;
				padding: 0 20px;
		}
		hgroup.products .en {
				font-size: 36px;
				margin: 0 0 10px;
		}
		hgroup.products .jp {
				font-size: 16px;
		}
		.products_all_hd {
				max-width: 200px;
				margin: 0 auto 10px
		}
		.products_all_hd_jp {
				max-width: 200px;
				margin: 0 auto 35px;
				font-size: 18px;
		}
		.products_grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 17px;
				padding: 0 20px;
		}
		.products_tile {
				min-height: 150px;
		}
		.products_caption {
				padding: 15px;
		}
		.products_caption .products_caption_no {
				font-size: 15px;
				margin: 0 0 10px
		}
		.products_caption p {
				font-size: 14px;
		}
		.products_tile {
				border-radius: 10px;
		}
		.products_thumbnail {
				border-radius: 10px 10px 0 0;
		}
}
@media(max-width: 410px) {
		.products_caption p {
				font-size: 13px;
		}
}
.products_pagenation {
		padding: 10px 0 0;
}
.products_pagenation ul {
		display: flex;
		justify-content: space-between;
		list-style: none
}
.products_pagenation li {
		font-size: 24px;
		font-family: 'Roboto', sans-serif;
}
.products_pagenation li a {
		color: #fff;
		text-decoration: none;
		display: flex;
		align-items: center;
		border: 1px solid #fff;
		width: 320px;
		height: 120px;
		box-sizing: border-box;
}
.products_pagenation li span {
		position: relative;
		display: inline-block;
}
.products_pagenation li span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7.5px);
		width: 65px;
		height: 15px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 65px;
		pointer-events: none;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.products_pagenation li.prev span {
		padding-left: 85px;
}
.products_pagenation li.next span {
		padding-right: 85px;
}
.products_pagenation li.prev span::before {
		background-image: url("../images/products_prev_pc.png");
		left: 0;
}
.products_pagenation li.next span::before {
		background-image: url("../images/products_next_pc.png");
		right: 0;
}
@media (hover: hover) {
		.products_pagenation li.prev a:hover span::before {
				transform: translateX(-20px)
		}
		.products_pagenation li.next a:hover span::before {
				transform: translateX(20px)
		}
}
.products_pagenation li.prev a {
		padding-right: 90px;
		justify-content: flex-end;
}
.products_pagenation li.next a {
		padding-left: 90px;
}
.products_pagenation li.prev a {
		border-radius: 0 60px 60px 0;
}
.products_pagenation li.next a {
		border-radius: 60px 0 0 60px;
}
.products_pagenation li.prev a {
		border-left: none;
}
.products_pagenation li.next a {
		border-right: none;
}
@media(max-width: 1200px) {
		.products_pagenation li {
				font-size: 20px;
		}
		.products_pagenation li a {
				width: 260px;
				height: 96px;
		}
		.products_pagenation li span::before {
				top: calc(50% - 6px);
				width: 52px;
				height: 12px;
				background-size: 52px;
		}
		.products_pagenation li.prev span {
				padding-left: 65px;
		}
		.products_pagenation li.next span {
				padding-right: 65px;
		}
		.products_pagenation li.prev a {
				padding-right: 70px;
		}
		.products_pagenation li.next a {
				padding-left: 70px;
		}
}
@media(max-width: 767px) {
		.products_pagenation {
				padding-top: 60px;
				padding-bottom: 20px;
		}
		.products_pagenation li {
				font-size: 16px;
		}
		.products_pagenation li a {
				width: 150px;
				height: 60px;
		}
		.products_pagenation li span::before {
				top: calc(50% - 7px);
				width: 44px;
				height: 15px;
				background-size: 44px;
		}
		.products_pagenation li.prev span {
				padding-left: 55px;
		}
		.products_pagenation li.next span {
				padding-right: 55px;
		}
		.products_pagenation li.prev a {
				padding-right: 40px;
		}
		.products_pagenation li.next a {
				padding-left: 40px;
		}
		.products_pagenation li.prev span::before {
				background-image: url("../images/products_prev_sp.png");
				left: 0;
		}
		.products_pagenation li.next span::before {
				background-image: url("../images/products_next_sp.png");
				right: 0;
		}
}