@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
body {
	font-weight: 500;
}
#main .sec01 {
	padding: 290px 0 0;
	box-sizing: border-box;
	height: 770px;
	overflow: inherit;
	background: url("../img/main_bg.jpg") no-repeat top center / cover;
	background-size: cover;
}
#main .sec01 .inner {
	margin: 0 0 0 140px;
	width: 499px;
	text-align: right;
}
#main .sec01 .image {
	margin: 0 auto 41px;
	width: 417px;
}
#main .sec01 .heading {
	margin-bottom: 40px;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.3em;
	font-feature-settings: "palt";
}
#main .sec01 .tips {
	font-feature-settings: normal;
}
#main .tips {
	margin-top: 24px;
	font-size: 1.3rem;
	line-height: 1.5;
	letter-spacing: 0.03em;
	text-indent: -21px;
	padding-left: 21px;
	font-feature-settings: "palt";
}
#main sup {
	font-size: 60%;
	letter-spacing: 0;
}
.content {
	margin: 0 auto;
	width: 600px;
}
@media all and (max-width: 767px) {
	#main .sec01 {
		padding: 30px 1.3333vw 15.2vw;
		height: 160.8vw;
		background-image: url("../img/main_bg_sp.jpg")
	}
	#main .sec01 .comBox {
		height: 100%;
	}
	#main .sec01 .inner {
		margin: 0;
		width: 100%;
		height: 100%;
		position: relative;
		display: flex;
		align-items: flex-end;
		text-align: left;
	}
	#main .sec01 .image {
		width: 22.6666vw;
		position: absolute;
		left: -0.8vw;
		bottom: 2.9333vw;
	}
	#main .sec01 .imgTtl {
		width: 13.3333vw;
		position: absolute;
		right: 6.6666vw;
		bottom: 6.6666vw;
	}
	#main .tips {
		margin-top: 17px;
		padding-left: 10px;
		font-size: 10px;
		line-height:1.5; 
		letter-spacing: 0.07em;
		text-indent: -10px;
	}
}
@media all and (max-width: 374px) {
	#main .sec01 .imgTtl {
		bottom: 12vw;
	}
}
/* sec02 */
#main .sec02 {
	padding: 147px 0 0;
	box-sizing: border-box;
	height: 748px;
	font-weight: 500;
	overflow: inherit;
	background: url("../img/sec02_bg.jpg") no-repeat top center / cover;
	background-size: cover;
}
#main .sec02 .imgBox {
	width: 748px;
	position: relative;
}
#main .sec02 .photo {
	width: 780px;
	position: absolute;
	right: -350px;
	top: 9px;
}
#main .sec02 h2 {
	font-weight: 500;
	line-height: 1.3;
	font-size: 3rem;
	letter-spacing: 0.15em;
	font-feature-settings: "palt";
}
#main .sec02 h2 .col {
	color: #3D738D;
}
#main .sec02 h2 sup {
	font-size: 50%;
}
#main .sec02 .border {
	margin: 1.7rem 0 3.2rem;
	padding: 0.6rem 1.1rem 0.4rem;
	width: fit-content;
	font-size: 3.6rem;
	line-height: 1.2;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	border: 4px solid #000;
}
#main .sec02 p {
	letter-spacing: 0.04em;
	font-feature-settings: "palt";
}
#main .sec02 .textBox {
	margin-right: auto;
	width: 432px;
	text-align: justify;
	position: relative;
	z-index: 1;
}
@media all and (min-width: 768px) {
	#main .sec02 .col {
		color: #4d4d4d;
	}

}
@media all and (max-width: 767px) {
	#main .sec02 {
		padding: 1px 0 89px;
		height: auto;
		background-image: url("../img/sec02_bg_sp.jpg")
	}
	#main .sec02 .imgBox {
		width: auto;
	}
	#main .sec02 .image {
		margin: 46px -18px -30.1333vw;
		width: auto;
	}
	#main .sec02 .textBox {
		width: auto;
	}
	#main .sec02 h2 {
		font-size: 2rem;
		letter-spacing: 0.1em;
		line-height: 1.3;
		text-align: center;
	}
	#main .sec02 .border {
		margin: 10px auto 19px;
		padding: 2px 13px;
		font-size: 25px;
		border-width: 2px;
	}
	#main .sec02  .tips {
		letter-spacing: 0;
	}
	#main .sec02 .title {
		margin: 48px 0 0;
		text-align: center;
		font-size: 3.5rem;
		font-weight: 500;
		line-height: 1;
	}
	#main .sec02 .title small {
		margin-bottom: 8px;
		display: block;
		font-size: 1.5018rem;
		letter-spacing: 0.035em;
	}
}
@media all and (max-width: 374px) {
	#main .sec02 .border {
		margin: 10px -5px 19px;
		width: auto;
		font-size: 6.6666vw;
		text-align: center;
	}
}
/* sec03 */
#main .secBox {
	padding: 250px 0 0;
	box-sizing: border-box;
	height: 980px;
	font-weight: 500;
	overflow: inherit;
	background: url("../img/sec03_bg.jpg") no-repeat top -1px center / cover;
	background-size: cover;
	position: relative;
}
#main .secBox .imgBox {
	max-width: 746px;
	margin: 0 auto;
	display: flex; 
	align-items: flex-start;
	justify-content: space-between;
}
#main .secBox .imgBox .photoBox {
	width: 37rem;
	position: relative;
}
#main .secBox .imgBox .photoBox img {
	width: 100%;
}
#main .numImg {
	width: 29rem;
	position: absolute;
	left: 50%;
	transform: translateX(-44.5%);
	top: -10.8rem;
}
@media all and (max-width: 767px) {
	#main .numImg {
		width: 11.9rem;
		top: -4.4rem;
	}
	#main .secBox {
		padding: 108px 0 90px;
		height: auto;
		background: url("../img/sec03_bg_sp.jpg") no-repeat top center / cover;
	}
}
#main .sec03 .imgBox {
	flex-direction: row-reverse;
}
#main .sec03 .imgBox .photoBox {
	box-shadow: 3rem 2.9rem 1rem rgba(183,194,208,0.5)
}
#main .secBox .imgBox .textBox {
	margin-top: -0.6rem;
	text-align: justify;
	width: 34rem;
	font-feature-settings: "palt";
	letter-spacing: 0.04em;
	color: #4D4D4D;
	position: relative;
	z-index: 1;
}
#main .lightBg {
	width: 412px;
	display: block;
	position: absolute;
	top: -110px;
	right: -140px;
	mix-blend-mode: screen;
	pointer-events: none;
}
#main .sec04 .lightBg {
	left: 184px;
	top: -29px;
	opacity: 0.6;
}
@media all and (max-width: 767px) {
	#main .secBox .imgBox {
		display: block;
		max-width: inherit;
	}
	#main .secBox .imgBox .photoBox {
		margin: 0 auto 42px;
		width: 86.9vw;
	}
	#main .tips {
		margin-top: 20px;
		letter-spacing: 0.05em;
	}
	#main .secBox .imgBox .textBox {
		width: auto;
	}
	#main .sec03 .imgBox .textBox{
		color: #000;
	}
}
#main .headLine01 {
	margin-bottom: 8.9rem;
	text-align: center;
	font-size: 4rem;
	letter-spacing: 0.27em;
	line-height: 1.591;
	font-weight: 500;
	font-feature-settings: "palt";
}
#main .headLine01 span {
	display: block;
}
#main .headLine01 .sml {
	margin-bottom: 0.6rem;
	font-size: 2.1rem;
	letter-spacing: 0.3em;
	line-height: 1.75;
	font-weight: 500;
}
#main .headLine01 .sml sup {
	font-size: 50%;
}
@media all and (max-width: 767px) {
	#main .headLine01 {
		margin: 0 -7px 33px;
		font-size: 3.5rem;
		letter-spacing: 0.02em;
		line-height: 1.5;
		font-feature-settings: "palt";
	}
	#main .headLine01 .sml {
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		line-height: 1.437;
	}
}
@media all and (max-width: 374px) {
	#main .headLine01 {
		font-size: 9.333vw;
	}
}

@media all and (min-width: 768px) { 
	#main .sec04 .numImg {
		top:-9.6rem;
	}
	#main .sec04 {
		margin: -0.5rem 0 0;
		padding-top: 268px;
		height: 100.3rem;
		background: url("../img/sec04_bg.jpg") no-repeat top center / cover;
	}
	#main .sec04 .imgBox .photoBox {
		margin: -10.2rem 0 0 -5rem;
		width: 40.8rem;
	}
	#main .sec05 {
		margin: 0 0 0;
		padding-top: 257px;
		height: 102.5rem;
		background: url("../img/sec05_bg.jpg") no-repeat top center / cover;
	}
	#main .sec05 .imgBox {
		flex-direction: row-reverse;
	}
	#main .sec05 .imgBox .photoBox {
		margin: -43px -5.8rem 0 -56px;
		width: 52.5rem;
	}
	#main .sec06 {
		margin: 0 0 0;
		padding-top: 257px;
		height: 1173.5px;
		background: url("../img/sec06_bg.jpg") no-repeat top center / cover;
	}
	#main .sec06 .imgBox .photoBox {
		margin: -43px -5.8rem 0 -56px;
		width: 35.2rem;
	}
	#main .sec06 .headLine01 {
		margin-bottom: 8.3rem;
	}
	#main .sec06 .headLine01 img {
		width: 6.8rem;
		vertical-align: -0.2rem;
		margin-right: 15px;
	}
	#main .sec06 .imgBox .textBox {
		margin-top: 6.8rem;
	}
	#main .sec06 .image {
		margin: -10px auto 0;
		width: 755px;
	}
}
@media all and (max-width: 767px) {
	#main .sec04 {
		padding-bottom: 77px;
		background-image: url("../img/sec04_bg_sp.jpg")
	}
	#main .sec04 .imgBox .photoBox {
		width: auto;
		margin:-1.7rem -0.8rem 4.6rem;
	}
	#main .sec04 .tips {
		color: #000;
	}
	#main .sec05 .imgBox .photoBox {
		width: auto;
		margin:-2.2rem 0.3rem 1rem -3rem;
	}
	#main .sec05 {
		padding: 100px 0 73px;
		background-image: url("../img/sec05_bg_sp.jpg");
	}
	#main .sec06 {
		padding: 97px 0 30px;
		background-image: url("../img/sec06_bg_sp.jpg")
	}
	#main .sec06 .imgBox .photoBox {
		width: 64vw;
		margin:-2.1rem 7.3rem 3.1rem auto;
	}
	#main .sec06 .headLine01 img {
		margin-right: 10px;
		width: 4.6rem;
		vertical-align: 1px;
	}
	#main .sec06 .image {
		margin: 2rem auto 0;
	}
}
#main .useBox {
	padding:97px 0 157px;
}
#main .useBox .heading {
	margin-bottom: 182px;
}
#main .useBox .heading span {
	display: block;
	text-align: center;
	line-height: 1.5;
	font-weight: 500;
}
#main .useBox .heading .jp {
	margin-bottom: 10px;
	font-size: 2.05rem;
	letter-spacing: 0.43em;
	color: #90AAAB;
}
#main .useBox .heading .en {
	font-size: 3.05rem;
	letter-spacing: 0.22em;
}
#main .useBox .imgBox {
	margin: 0 auto 134px;
	width: 690px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#main .useBox .imgBox .textBox {
	width: 305px;
	letter-spacing: 0.02em;
	color: #4D4D4D;
	text-align: justify;
	font-feature-settings: "palt";
}
#main .useBox .imgBox .photoBox {
	width: 330px;
	position: relative;    
	box-shadow: 3rem 3rem 0 rgba(218,229,235,0.5)
}
#main .useBox .imgBox .num {
	position: absolute;
	top: -8rem;
	right: -6.3rem;
	display: block;
	font-size: 109.13px;
	letter-spacing: 0.06em;
	line-height: 1;
	color: #90AAAB;
	font-weight: 200;
	font-family: "Inter", sans-serif;
}
#main .useBox .imgBox:nth-of-type(2n){
	flex-direction: row-reverse;
}
#main .useBox .imgBox:nth-of-type(2n) .num {
	right: auto;
	left: -5rem;
}
#main .useBox .imgBox:last-of-type {
	margin-bottom: 0;
}
@media all and (max-width: 767px) {
	#main .useBox {
		padding: 50px 0;
	}
	#main .useBox .heading {
		margin-bottom: 38px;
	}
	#main .useBox .heading .jp {
		margin-bottom: 4px;
		font-size: 1.25rem;
		letter-spacing: 0;
	}
	#main .useBox .heading .en {
		font-size: 3rem;
		letter-spacing: 0.26em;
	}
	#main .useBox .imgBox {
		margin: 0 -18px 50px;
		width: auto;
		display: block;
	}
	#main .useBox .imgBox .num {
		font-size: 5.45rem;
		top: -3rem;
		right: -2rem;
	}
	#main .useBox .imgBox .photoBox {
		width: 80vw;
		height: 53.333vw;
		box-shadow: 1.5rem 1.5rem 0 rgba(218,229,235,0.5)
	}
	#main .useBox .imgBox img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#main .useBox .imgBox:nth-of-type(2n) .num {
		left: -2rem;
	}
	#main .useBox .imgBox .textBox {
		width: 79vw;
		margin: 2.8rem auto 0 1.8rem;
	}
	#main .useBox .imgBox:nth-of-type(2n) .photoBox {
		box-shadow: -1.5rem 1.5rem 0 rgba(218,229,235,0.5);
		margin-left: auto;
	}
	#main .useBox .imgBox .photoBox img {
		box-shadow: 5px 5px 3px rgba(128,129,133,0.2);
	}
	#main .useBox .imgBox:nth-of-type(2n) .textBox {
		margin: 2.8rem 1.2rem 0 auto;
	}
}
#main .sec07 {
	padding: 100px 0 78px;
	background: #EDEFF0
}
#main .sec07 .priceBox {
	padding: 60px 32px 21px;
	width: 850px;
	margin: 0 auto;
	text-align: center;
	background: #fff;
	border: 1px solid #9EB8B9;
	box-shadow: 11px 11px 22px rgba(99,99,112,0.2);
	box-sizing: border-box;
}
#main .sec07 .ttl {
	margin-bottom: 10px;
	font-size: 2.3rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	text-align: center;
}
#main .sec07 .textImg02 {
	margin: 38px auto;
	display: flex;
	justify-content: space-between;
}
#main .sec07 .textImg02 span {
	display: block;
	width: 524px;
}
#main .sec07 .textImg02 a {
	width: 237px;
	display: block;
	transition: 0.3s;
}
@media all and (min-width: 768px) {
	#main .sec07 .textImg02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 767px) {
	#main .sec07 {
		padding: 0;
	}
	#main .sec07 .priceBox {
		padding: 100px 0 96px;
		width: auto;
		border: none;
		box-shadow: 0 0.1rem 0 #E4E4E4;
	}
	#main .sec07 .priceBox .textImg img {
		width: 16.7rem;
	}
	#main .sec07 .ttl {
		margin-bottom: 4px;
		font-size: 1.4rem;
	}
	#main .sec07 .textImg02 {
		margin: 20px 16px 0;
		width: auto;
		display: block;
	}
	#main .sec07 .textImg02 span {
		width: auto;
	}
	#main .sec07 .textImg02 a {
		margin: 27px auto 0;
		width: 281px;
	}
}
/* footlink */
.footlink {
    text-align: center;
    margin-bottom: 10px;
}
.footlink li {
    color: #b3b3b3;
    display: contents;
    font-size: 0.8em;
}
.footlink li a {
    padding: 0 10px;
    text-decoration: none;
    color: #b3b3b3;
}
@media all and (max-width: 767px) {
	
}