@charset "UTF-8";
/* CSS Document */
/* mainArea */
.mainArea {
	padding-top: 76px;
	height: 100%;
}
.mainArea .inner {
	padding: 0 16px;
	height: 100%;
	position: relative;
}
.mainArea .inner .m_inner {
	background-image: url("../img/top/main_bg_sp.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius: 16px;
	aspect-ratio: 800/680;
}
.mainArea .inner .txtArea {
	position: absolute;
	bottom: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
}
.mainArea .inner .txtArea .m_txt_sp {
	width: 90%;
	margin: 0 auto;
}

/* top共通 */
/* btn */
.btn01,
.btn02 {
	display: inline-block;
	border-radius: 50px;
	font-weight: 700;
	position: relative;
	transition: all .2s linear;
}
.btn01 {
	font-size: 18px;
}
.btn02 {
	font-size: 16px;
}
.btn01:before,
.btn02:before {
	position: absolute;
}
.btn01:before {
	top: calc(50% - 16px);
	right: 32px;
	width: 32px;
	height: 32px;
	transition: all .2s linear;
}
.btn02:before {
	top: calc(50% - 13px);
	right: 32px;
	width: 26px;
	height: 26px;
	transition: all .2s linear;
}
.btn01:hover:before {
	right: 26px;
}
.btn02:hover:before {
	right: 26px;
}

/* btn_bl */
.btn_bl {
	background-color: #001d89;
	color: #fff;
	padding: 12px 72px 12px 30px;
}
.btn_bl:hover {
	background-color: #001d89;
	color: #fff;
}
.btn_bl:before {
	content: url("../img/common/wy_btn.svg");
}
.btn_bl:hover:before {
	content: url("../img/common/wy_btn_hover.svg");
}

/* btn_wy */
.btn_wy {
	background-color: #fff;
	color: #001d89;
	padding: 12px 72px 12px 30px;
}
.btn_wy:hover:before {
	background-color: #fff;
	color: #001d89;
}
.btn_wy:before {
	content: url("../img/common/bl_btn.svg");
}
.btn_wy:hover:before {
	content: url("../img/common/bl_hover.svg");
}

/* product01Area */
.product01Area .inner {
	padding: 200px 20px 150px;
}
.product01Area .inner .item01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}
.product01Area .inner .item01 .right {
	width: calc(50% - 70px);
}
.product01Area .inner .item01 .right .img {
	background-image: url("../img/top/product01_img.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	aspect-ratio: 488/462;
}
.product01Area .inner .item01 .left {
	width: calc(50% - 30px);
}
.product01Area .inner .item01 .left h2 {
	position: relative;
	padding-top: 40px;
	font-size: 40px;
	line-height: 1;
	font-weight: 700;
	color: #001d89;
	padding-bottom: 60px;
}
.product01Area .inner .item01 .left h2:before {
	content: "Product";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 18px;
	letter-spacing: 0;
}
.product01Area .inner .item01 .left h2 span {
	position: relative;
	padding-top: 40px;
}
.product01Area .inner .item01 .left h2 span:before {
	content: "";
	position: absolute;
	top: 30px;
	left: 0;
	width: 20px;
	height: 3px;
	background-color: #00b4ff;
}
.product01Area .inner .item01 .left p {
	font-size: 20px;
	line-height: 1.8;
}
.product01Area .inner .item02 ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 120px;
}
.product01Area .inner .item02 ul li {
	width: calc(25% - 16px);
	background-color: #fff;
	border-radius: 16px;
	padding: 36px 46px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.product01Area .inner .item02 ul li .icon {
	background-repeat: no-repeat;
	background-position: center center;
	max-width: 125px;
	margin: 0 auto;
	aspect-ratio: 125/125;
}
.product01Area .inner .item02 ul li .icon01 {
	background-image: url("../img/top/p_icon01.svg");
}
.product01Area .inner .item02 ul li .icon02 {
	background-image: url("../img/top/p_icon02.svg");
}
.product01Area .inner .item02 ul li .icon03 {
	background-image: url("../img/top/p_icon03.svg");
}
.product01Area .inner .item02 ul li .icon04 {
	background-image: url("../img/top/p_icon04.svg");
}
.product01Area .inner .item02 ul li dl {
	padding-top: 20px;
}
.product01Area .inner .item02 ul li dl dt {
	font-weight: 700;
	font-size: 30px;
	color: #001d89;
	text-align: center;
}
.product01Area .inner .item02 ul li dl dd {
	font-weight: 500;
	font-size: 20px;
	color: #001d89;
	padding-top: 10px;
}
.product01Area .inner .item02 .btn {
	padding-top: 80px;
	display: flex;
	justify-content: center;
}

/* product02Area */
.product02Area {
	position: relative;
}
.product02Area:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 110%;
	height: 100%;
	border-radius: 80% 80% 80% 80%/ 30% 30% 30% 30%;
	background: #e8f4ec;
}
/* 共通 */
.product02Area .descArea .inner {
	position: relative;
	z-index: 1;
	padding: 100px 20px;
}
.product02Area .descArea .inner .product {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 80px 0;
}
.product02Area .descArea .inner .product .left {
	width: calc(50% - 30px);
}
.product02Area .descArea .inner .product .right {
	width: calc(50% - 70px);
}
.product02Area .descArea .inner .product .left dl dt {
	position: relative;
	padding-top: 40px;
	font-size: 40px;
	line-height: 1;
	font-weight: 700;
	color: #001d89;
	padding-bottom: 40px;
}
.product02Area .descArea .inner .product .left dl dt:before {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 18px;
	letter-spacing: 0;
}
.product02Area .descArea .inner .product .left dl dt span {
	position: relative;
	padding-top: 40px;
}
.product02Area .descArea .inner .product .left dl dt span:before {
	content: "";
	position: absolute;
	top: 30px;
	left: 0;
	width: 20px;
	height: 3px;
	background-color: #ffff00;
}
.product02Area .descArea .inner .p_01 .left dl dt:before {
	content: "Product01";
}
.product02Area .descArea .inner .p_02 .left dl dt:before {
	content: "Product02";
}
.product02Area .descArea .inner .p_03 .left dl dt:before {
	content: "Product03";
}
.product02Area .descArea .inner .p_04 .left dl dt:before {
	content: "Product04";
}
.product02Area .descArea .inner .p_04 .left dl dt span:before {
	background-color: #00b4ff;
}
.product02Area .descArea .inner .product .left dl dd {
	font-size: 20px;
}
.product02Area .descArea .inner .product .left .btn {
	padding-top: 40px;
}
.product02Area .descArea .inner .product .right .img {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.product02Area .descArea .inner .p_01 .right .img {
	background-image: url("../img/top/product02_img1.png");
	aspect-ratio: 520/408;
}
.product02Area .descArea .inner .p_02 .right .img {
	background-image: url("../img/top/product02_img2.png");
	aspect-ratio: 514/380;
}
.product02Area .descArea .inner .p_03 .right .img {
	background-image: url("../img/top/product02_img3.png");
	aspect-ratio: 340/202;
}
.product02Area .descArea .inner .p_04 .right .img {
	background-image: url("../img/top/product02_img4.png");
	aspect-ratio: 512/385;
}
.product02Area .descArea01 {
	position: relative;
}
.product02Area .descArea01:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 110%;
	height: 100%;
	border-radius: 80% 80% 80% 80%/ 40% 40% 40% 40%;
	background: #f9f9f9;
	background: linear-gradient(to right, #f9f9f9 0%,#a3e8ff 53%,#728fff 100%);
}

/* newsArea */
.newsArea .n_inner {
	max-width: 1040px;
	margin: 0 auto;
	padding: 160px 20px 200px;
  position: relative;
}
.newsArea .n_inner .h2Area {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding-bottom: 60px;
}
.newsArea .n_inner .h2Area h2 {
	position: relative;
	padding-top: 40px;
	font-size: 40px;
	line-height: 1;
	font-weight: 700;
	color: #001d89;
}
.newsArea .n_inner .h2Area h2:before {
	content: "NEWS";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 18px;
	letter-spacing: 0;
}
.newsArea .n_inner .h2Area h2 span {
	position: relative;
	padding-top: 40px;
}
.newsArea .n_inner .h2Area h2 span:before {
	content: "";
	position: absolute;
	top: 30px;
	left: 0;
	width: 20px;
	height: 3px;
	background-color: #00b4ff;
}
.newsArea .n_inner ul {
	border-top: 1px solid #001d89;
}
.newsArea .n_inner ul li {
	margin: 22px 0;
	padding-bottom: 22px;
	border-bottom: 1px solid #001d89;
}
.newsArea .n_inner ul li .date {
	width: 100px;
	color: #6f6f6f;
	font-size: 13px;
	font-weight: 700;
}
.newsArea .n_inner ul li .ttlArea {
	padding-top: 6px;
}
.newsArea .n_inner ul li .ttlArea a {
	position: relative;
	display: block;
}
.newsArea .n_inner ul li .ttlArea a:before {
	position: absolute;
	content: url("../img/common/bl_btn.svg");
	top: calc(50% - 30px);
	right: 0;
	width: 40px;
	height: 40px;
	transition: all .3s;
}
.newsArea .n_inner ul li .ttlArea a:hover:before {
	position: absolute;
	content: url("../img/common/bl_hover.svg");
	top: calc(50% - 30px);
	right: 0;
	width: 40px;
	height: 40px;
 	transform: translateX(10px);
}

@media screen and (max-width: 1200px) {
/* product01Area */
	.product01Area .inner .item02 ul li {
		padding: 30px 20px;
	}	
}
	
@media screen and (max-width: 1000px) {
/* product01Area */
.product01Area .inner {
	padding: 160px 6vw 100px;
}
.product01Area .inner .item01 .left,
.product01Area .inner .item01 .right {
	width: calc(50% - 20px);
}
.product01Area .inner .item01 .left h2 {
	font-size: min(7vw,30px);
	padding-bottom: 30px;
}
.product01Area .inner .item01 .left p {
	font-size: 15px;
	line-height: inherit;
}
.product01Area .inner .item02 ul {
	padding-top: 80px;
}
.product01Area .inner .item02 ul li {
	width: calc(50% - 20px);
	padding: 30px 40px;
	margin-bottom: 40px;
}	
.product01Area .inner .item02 ul li dl dt {
	font-size: min(5vw,26px);
}	
.product01Area .inner .item02 ul li dl dd {
	font-size: 15px;
	line-height: 1.4;
	padding-top: 6px;
}
.product01Area .inner .item02 .btn {
	padding-top: 20px;
}	
	
/* product02Area */
	.product02Area:before {
		width: 145%;
		border-radius: 70% 70% 70% 70%/ 10% 10% 10% 10%;
	}	
/* 共通 */
	.product02Area .descArea .inner {
		padding: 60px 6vw;
	}	
	.product02Area .descArea .inner .product .left {
		width: calc(60% - 10px);
	}	
	.product02Area .descArea .inner .product .right {
		width: calc(40% - 10px);
	}	
	.product02Area .descArea .inner .product .left dl dt {
		font-size: min(7vw,30px);
		padding-bottom: 26px;
	}	
	.product02Area .descArea .inner .product .left dl dd {
		font-size: 15px;
	}	
	.product02Area .descArea01:before {
		width: 145%;
		border-radius: 70% 70% 70% 70%/ 14% 14% 14% 14%;
	}	
	
/* newsArea */
	.newsArea .n_inner {
		padding: 100px 6vw 120px;
		position: relative;
	}	
	.newsArea .n_inner .h2Area h2 {
		font-size: min(7vw,30px);
	}	
}
	
@media screen and (max-width: 767px) {
/* top共通 */
/* btn */
	.btn01 {
		font-size: 14px;
		letter-spacing: 0;
	}
	.btn02 {
		font-size: 12px;
		letter-spacing: 0;
	}
	.btn01:before {
		top: calc(50% - 14px);
		right: 20px;
		width: 28px;
		height: 28px;
	}
	.btn02:before {
		right: 20px;
	}
	.btn01:hover:before {
		right: 16px;
	}
	.btn02:hover:before {
		right: 16px;
	}
/* btn_bl */
	.btn_bl {
		padding: 12px 52px 12px 20px;
	}
/* btn_wy */
	.btn_wy {
		padding: 12px 52px 12px 20px;
	}
	
/* product01Area */
	.product01Area .inner {
		padding-top: 100px;
	}	
	.product01Area .inner .item01 {
		display: block;
	}	
	.product01Area .inner .item01 .left {
		width: 100%;
		padding-top: 30px;
	}	
	.product01Area .inner .item01 .right {
		width: 100%;
	}	
	.product01Area .inner .item01 .right .img {
		width: 80%;
		margin: 0 auto;
	}	
	.product01Area .inner .item02 ul {
		padding-top: 30px;
	}	
	.product01Area .inner .item02 ul li {
		width: calc(50% - 10px);
		padding: 30px;
		margin-bottom: 20px;
	}	
	
/* product02Area */
/* 共通 */
	.product02Area .descArea .inner .product {
		display: block;
		padding: 60px 0;
	}	
	.product02Area .descArea .inner .product .left {
		width: 100%;
		padding-top: 20px;
	}	
	.product02Area .descArea .inner .product .left dl dt {
		padding-bottom: 20px;
	}	
	.product02Area .descArea .inner .product .left .btn {
		padding-top: 26px;
	}	
	.product02Area .descArea .inner .product .right {
		width: 100%;
	}	
	.product02Area .descArea .inner .product .right .img {
		width: 70%;
		margin: 0 auto;
	}	
	.product02Area .descArea02 .inner {
		padding-top: 0;
	}	
	
/* newsArea */
	.newsArea .n_inner {
		padding-bottom: 100px;
	}
	.newsArea .n_inner .h2Area {
		padding-bottom: 40px;
	}	
	.newsArea .n_inner ul li {
		margin: 18px 0;
		padding-bottom: 18px;
	}	
	.newsArea .n_inner ul li .ttlArea {
		line-height: 1.4;
	}
	.newsArea .n_inner ul li .ttlArea a .ttl {
		width: calc(100% - 40px);
	}
	.newsArea .n_inner ul li .ttlArea a:before {
		top: calc(50% - 25px);
		width: 30px;
		height: 30px;
	}	
}	

@media screen and (max-width: 600px) {
/* product01Area */
	.product01Area .inner {
		padding-bottom: 60px;
	}	
	.product01Area .inner .item01 .left h2 {
		padding-bottom: 26px;
	}	
	.product01Area .inner .item01 .left h2 span {
		padding-top: 30px;
	}	
	.product01Area .inner .item01 .left h2:before {
		font-size: 15px;
	}	
	.product01Area .inner .item01 .left h2 span:before {
		top: 20px;
	}	
	.product01Area .inner .item02 ul li {
		width: calc(50% - 6px);
		padding: 20px 10px;
		margin-bottom: 12px;
		border-radius: 10px;
	}	
	.product01Area .inner .item02 ul li .icon {
		max-width: 80px;
	}	
	.product01Area .inner .item02 ul li dl {
		padding-top: 10px;
	}	
	
/* product02Area */
	.product02Area .descArea .inner .product {
		padding: 46px 0;
	}
	.product02Area .descArea .inner .product .left dl dt span {
		padding-top: 30px;
	}	
	.product02Area .descArea .inner .product .left dl dt:before {
		font-size: 15px;
	}	
	.product02Area .descArea .inner .product .left dl dt span:before {
		top: 20px;
	}	
	
/* newsArea */
	.newsArea .n_inner {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.newsArea .n_inner .h2Area h2 span {
		padding-top: 30px;
	}	
	.newsArea .n_inner .h2Area h2:before {
		font-size: 15px;
	}	
	.newsArea .n_inner .h2Area h2 span:before {
		top: 20px;
	}	
}

@media screen and (max-width: 460px) {
/* product01Area */
	.product01Area .inner .item01 .left h2 span:before {
		top: 16px;
	}	
	.product01Area .inner .item02 ul li dl dd {
    font-size: 14px;
	}
	
/* product02Area */
	.product02Area .descArea .inner .product .left dl dt span:before {
		top: 16px;
	}	
	
/* newsArea */
	.newsArea .n_inner .h2Area h2 span:before {
		top: 16px;
	}	
}

@media screen and (max-width: 340px) {
	.btn02 {
		font-size: 10px;
	}	
}
