.header{
	position:relative;
}

main{
	text-align: center;
	font-family: "source-han-serif-japanese",serif;
	overflow-x: hidden;
	background-color:#FFF;
	color: #2E2E2E;
}

section{
	display: block;
	max-width: 100%;
 	height: auto;
 	position: relative;
}

.eng{
	font-family: 'Euphoria Script';
}

.jp{
	font-family: "source-han-serif-japanese",serif;
}

.gothic{
	font-family: 'Noto Sans Japanese', sans-serif;
}

.circle{
	background: url('../img/mask_circle_01.png') 0% 0% no-repeat padding-box;
	background-size: contain;
	mix-blend-mode: multiply;
}

.background_circle{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	background:none;
	opacity: 0.28;
}

.background_circle .circle{
	position:absolute;
}

.header{
	aspect-ratio: 335 / 59;
	width:93.75vw;
	margin:3.541vh auto 0 auto;
	text-align:center;
	background: url('../img/header_banner.png') no-repeat;
	background-size: 100%;
}

.header h1{
	width:calc(93.75vw - 20.83vw);
	height: auto;
	padding-top:5px;
	padding-left:10.41vw;
	font-size: 5.83vw;
	letter-spacing: 0.55px;
	line-height: 130%;
	color: #FFFFFF;
	opacity: 1;
	float:left;
	display: block;
}

.header h2{
	width:18.75vw;
	height:18.75vw;
	position:relative;
	top:-1.041vh;
	left:2.08vw;
	padding-top: 6%;
	display: block;
	background: transparent url('../img/header_circle_gold.png') 0% 0% no-repeat padding-box;
	background-size: cover;
	opacity: 1;
	float:left;
	text-align:center;
	border-radius:50%;
}

.header h2 p{
	font-size:2.5vw;
	letter-spacing: 0.23px;
	line-height:150%;
}

.header h2::first-line{
	font-size:5.208vw;
	letter-spacing: 0.5px;
}

.header h2 span{
	font-size:3.75vw;
	letter-spacing: 0.5px;
}

#main_visual{
	margin-top:12px;
}

#main_visual h3{
	font-size:5.625vw;
	letter-spacing: 0.3px;
	margin:15px auto 15px auto;
}

#main_visual h3 p::before{
	content: url('../img/header_side_01.svg');
	display: inline-block;
	background: none;
}

#main_visual h3 p::after{
	content: url('../img/header_side_02.svg');
	display: inline-block;
	background: none;
}

#main_visual h4 img{
	width:83.33vw;
}

.mv{
	width: 100%;
}

.mv .circle.small{
	width:4.33vw;
	height:4.33vh;
}

.mv .circle.middle{
	width:7.87vw;
	height:7.87vh;
}

.mv .circle_01{
	top: 14%;
	left: 1%;
}

.mv .circle_02{
	top: 21%;
	right: -1.5%;
}

.mv .circle_03{
	top: 21%;
	left: -3%;
}

.mv .circle_04{
	top: 15%;
	right: -3%;
}

#main_visual .bg img{
	width: 100vw;
}

#main_visual .bg .tab{
	display: none;
}

#three_cells{
	display:flex;
	justify-content: space-evenly;
	font-family: "source-han-serif-japanese",serif;
	font-weight: 500;
}

#three_cells div{
	width:27.5vw;
	height:27.5vw;
}

#three_cells p{
	font-size:3.33vw;
	letter-spacing: 0.28px;
	line-height: 250%;
}

#three_cells p.first{
	margin-top:15%;
}

#three_cells .circle:nth-of-type(2) p.first{
	margin-top:12%;
}

#three_cells p.middle{
	font-size:5vw;
	letter-spacing: 0.65px;
	line-height: 20px;
}

#three_cells p.large{
	font-size:6.25vw;
	letter-spacing: 3px;
	line-height: 20px;
}

.inquiry{
	font-size:4.583vw;
	letter-spacing: 1.3px;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
	font-weight: 600;
	margin:25px auto;
	background-color: #FFF;
}

.inquiry p::before{
	content: url('../img/path_01.svg');
}

.inquiry p::after{
	content: url('../img/path_02.svg');
}

.inquiry img{
	height: 3.125vh;
}

.inquiry .circle.small{
	width:8.541vw;
	height:8.541vh;
}

.inquiry .circle.middle{
	width:18.95vw;
	height:18.95vH;
}

.inquiry .circle_01{
	top: 88%;
	left: -2%;
}

.inquiry .circle_02{
	top: 88%;
	right: -1.5%;
}

.inquiry .circle_03{
	top: 90%;
	left: -16%;
}

.inquiry .circle_04{
	top: 90%;
	right: -16%;
}

.inquiry .background_circle{
	z-index: 0;
}

button{
	aspect-ratio: 432 / 58;
	width:90%;
	cursor: pointer;
	transition-duration: .2s;
	z-index: 1;
	position: relative;
}

button:hover{
	opacity: 0.8;
}

button:active{
	opacity: 0.6;
}

.inquiry button{
	border:none;
	font-weight: bold;
	color: #2E2E2E;
	background: transparent url('../img/button_01.png') 0% 0% no-repeat padding-box;
	background-size: 100% 100%;
	font-size:5.208vw;
	letter-spacing: 1px;
}
 
#merit{
	width: 100%;
	background: transparent url('../img/merit_bg_sp.png') 0% 0% no-repeat padding-box;
	background-size: 100% 100%;
	aspect-ratio: 380 / 634;
/*	padding-bottom: 50px;*/
}

#merit_title .strong{
	text-decoration: underline 1px;
	text-underline-offset: 5px;
	background-position: bottom 20px right;
}

#merit h2{
	padding-top:40px;
	width:100%;
	color:#FFF;
	font-family: "source-han-serif-japanese",serif;
	font-weight: 500;
	font-size:6.25vw;
	letter-spacing: 0.6;
	margin-top:20px;
}

.strong{
	color:#E9EE4C;
}

#merit h2 .strong{
	text-decoration: underline;
	text-decoration-thickness: 1px;
	font-size:7.5vw;
	letter-spacing: 0.75px;
	text-underline-offset: 5px;
}

.four_cells{
	width:100%;
	display:grid;
	grid-template-columns: 50% 50%;
	grid-template-rows: 260px 260px;
}

#merit .four_cells{
	aspect-ratio: 380 / 520;
	grid-template-rows: 50% 50%;
}

#merit .four_cells div{
	aspect-ratio: 152 / 220;
	width: 100%;
	height:220px;
	margin: 0 auto;
}

.four_cells .image{
	width:100%;
}

#merit h2 img{
	width:91.66vw;
	margin:0 auto 28px auto;
}

.four_cells .image img{
	margin-bottom: 10px;
	width:35.41vw;
}

.four_cells div:nth-child(n+3) img{
/*	margin-top: 20px;*/
}

#merit .four_cells p{
	font-size:4.166vw;
	letter-spacing: 1px;
	line-height: 25px;
	color: #FFF;
}

.four_cells p.merit::before{
	content:"";
	display: inline-block;
	background: transparent url('../img/check.svg') 0% 0% no-repeat padding-box;
	background-size: 100%;
	background-position: center 100%;
}

#sec_base{
	margin:10px auto 10px auto;
	background:none;
}

#sec_base .background{
	width:95%;
	margin:0 auto;
}

#sec_base h2{
	width:62.5vw;
	margin: 0 auto;
	padding-top:0;
}

#sec_base h3{
	font-size:5.208vw;
	letter-spacing: 0.15px;
	margin:10px auto;
	font-weight: bold;
	background: linear-gradient(transparent 80%, #E9EE4C 60%);
	background-position: bottom 5px left;
}

#sec_base p{
	font-size:5vw;
	letter-spacing: 0.47px;
	line-height:40px;
	font-weight: 600;
	text-decoration:underline;
	text-decoration-color: #EBACC7;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
	padding-bottom:0;
}

#sec_base img:nth-child(1){
	width:62.5vw;
	margin-top:0;
}

#sec_base img:nth-child(2){
	width:52.08vw;
	margin-top:10px;
	margin-bottom:0px;
}

#sec_base .background{
	width:95%;
	padding:20px auto;
	display: block;
}

#sec_base h3{
	font-weight: bold;
	display:inline-block;
}

#point{
	margin-top:30px;
}

#point::before{
	width:29.16vw;
	height:6.25vw;
	margin:0 auto;
	content: "";
	background: transparent url('../img/triangle_01.png') 0% 0% no-repeat padding-box;
	background-size: 100% 100%;
	display: block;
}

#point::after{
	width:29.16vw;
	height:6.25vw;
	margin:30px auto;
	content: "";
	background: transparent url('../img/triangle_01.png') 0% 0% no-repeat padding-box;
	background-size: 100% 100%;
	display: block;
}

#point h2{
	font-family: 'Euphoria Script';
	font-weight: 400;
	font-size:5vw;
	letter-spacing: 0.5px;
	margin-top: 30px;
}

#point h3{
	font-family: "source-han-serif-japanese",serif;
	font-weight: bold;
	color: #2E2E2E;
	font-size:6.25vw;
	letter-spacing: 0.2px;
	margin-bottom: 33px;
}

#point h3::before{
	display: inline-block;
	width:1.66vw;
	height: 3vh;
	content: "";
	background: transparent url('../img/path_01.svg') 0% 0% no-repeat padding-box;
	background-size: 100% 100%;
	background-position: bottom left;
}

#point h3::after{
	display: inline-block;
	width:1.66vw;
	height: 3vh;
	content: "";
	background: transparent url('../img/path_02.svg') 0% 0% no-repeat padding-box;
	background-size: 100% 100%;
	background-position: bottom left;
}


#point section h4{
	width:100%;
	height:60px;
	text-align:center;
	position:relative;
	background: transparent url('../img/bg_01.png') 0% 0% no-repeat padding-box;
	background-size: cover;
	display: inline-block; 
}

#point section h4 p{
	width:100%;
	font-size:40px;
	line-height:60px;
	left:0;
	margin:0 auto;
	position:absolute;
	color:#FFF;
	z-index:0;
	font-family: 'Euphoria Script';
	font-weight: 400;
}

#point section h4 .title{
	height:40px;
	top:10px;
	line-height: 40px;
	font-size:5vw;
	letter-spacing: 2px;
	display: inline-block; 
	background: rgba(255,255,255,0.45) 0% 0% no-repeat padding-box;
	position:absolute;
	z-index:1;
	vertical-align:middle;
	font-family: "source-han-serif-japanese",serif;
	font-weight: bold;
	color: #2E2E2E;
	opacity:1;
}

#point .point_datail span.underline{
	text-decoration:underline;
	text-decoration-color: #EBACC7;
	text-underline-offset: 5px;
}

	
#point .point_datail{
	margin:0 auto 45px auto;
	padding-bottom:0px;
	font-weight:600;
	font-size:3.33vw;
	letter-spacing: 1.44px;
	line-height:32px;
	text-align: left;
}

#point .point_datail p{
	margin:0 auto;
}

.img_area{
	height:68.75vw;
	position:relative;
}

.img_area img{
	position: absolute;
}

.img_area .background_circle{
	display: none;
}

.img_area .point_circle{
	position: absolute;
	aspect-ratio: 1 / 1;
	width: 19.16vw;
}

.img_area .point_circle .eng{
	color:#FFF;
	padding-top:20%;
	font-size:4.16vw;
	letter-spacing: 0.8;
}

.img_area .point_circle .jp{
	font-weight: 500;
	font-size:3.33vw;
	letter-spacing: 1;
	line-height: 10px;
}

.bg_img_first{
	aspect-ratio: 1 / 1;
	width:47.5vw;
}

.bg_img_last{
	aspect-ratio: 1 / 1;
	width:25.8vw;
}

.point_01 .bg_img_first{
	top:10%;
	right:15%;
}

.point_01 .bg_img_last{
	top:45%;
	left:25%;
}

.point_02 .bg_img_first{
	top:12%;
	left:17%;
}

.point_02 .bg_img_last{
	top:45%;
	right:20%;
}

.point_03 .bg_img_first{
	top:10%;
	left:25%;
	z-index: 0;
}

.point_03 .bg_img_last{
	top:45%;
	right:15%;
	z-index: 1;
}

.point_04 .bg_img_first{
	top:10%;
	left:11%;
}

.point_04 .bg_img_last{
	top:50%;
	right:26%;
}

.point_01 .point_circle{
	top:13%;
	left: 15%;
}

.point_02 .point_circle{
	top:14%;
	right: 15%;
}

.point_03 .point_circle{
	top:52%;
	left: 12%;
	z-index:2;
}

.point_04 .point_circle{
	top:12%;
	right: 15%;
}

.detail_header{
	width:15vw;
	height:15vw;
	margin-top:30px;
	padding-top:15px;
	margin-bottom:20px;
}

.detail_header_eng{
	font-size:3.33vw;
	letter-spacing: 0.4px;
}

.detail_header_jp{
	font-size:2.5vw;
	letter-spacing: 0.6px;
}

#detail_area{
	color: #2E2E2E;
	background: transparent url('../img/detail_bg.png') 0% 0% no-repeat padding-box;
	background-size: cover;
	background-position: left 0 bottom 1px;
	padding-top:10px;
}

#detail_area h2{
	aspect-ratio: 327 / 44;
	width: 86.05vw;
	height: auto;
	margin:0 auto;
	background-color: #FFF;
}

#detail_area h2 p{
	display: inline-block;
	margin-top:2%;
	/*position: relative;
	top: 50%;
	transform: translateY(-50%);*/
	background-position: left 0 bottom 1px;
	background: linear-gradient(transparent 80%, rgba(233,238,76,0.5) 80%);
	font-size:6.25vw;
	font-weight: bold;
	letter-spacing: 2px;
}

#detail_area h2 span.large{
	font-size:7.5vw;
	letter-spacing: 2.4px;
}

#detail_area h2 span.small{
	font-size:5vw;
	letter-spacing: 2.4px;
}

#detail_area h3{
	font-size:5.83vw;
	letter-spacing: 2px;
	margin-bottom:20px;
}

#detail_area .four_cells{
	grid-template-rows: 220px 200px;
}

#detail_area.four_cells div{
	aspect-ratio: 152 / 220;
	height: 220px;
	margin: 0 auto;
}

#detail_area .four_cells p{
	font-weight: bold;
	display: inline-block;
	font-size:4.21vw;
	line-height:19px;
	letter-spacing: 0.4px;
}

#detail_area .four_cells .image img{
	aspect-ratio: 1 / 1;
}

#detail_area .four_cells img{
	display: inline-block;
}

#detail_area .detail_link{
	margin:10px auto 0 auto;
	font-size:5vw;
	letter-spacing: 2.4px;
	background-position:50%;
	border:none;
	background-position:50%;
	font-weight: bold;
	background: transparent url('../img/button_02.png') 0% 0% no-repeat padding-box;
	background-size: 100% 100%;
}

#detail_area .inquiry{
	padding-top:30px;
}

#price{
	position: relative;
}

#price h2{
	width:100%; 
	margin:70px auto 60px auto;
}

#price h2 p{
	font-size:5.26vw;
	letter-spacing: 0.5px;
	font-weight:400;
}

#price h2 p.jp{
	font-size:5.789vw;
	letter-spacing: 2.2px;
}

#price h2 p::last-of-type{
	font-family: "source-han-serif-japanese",serif;
	font-weight: bold;
	color: #2E2E2E;
}

.table{
	width:90%;
	margin:0 auto;
	border: solid 2px #EBACC7;
	outline: solid 5px #EBACC7;
	outline-offset: 5px;
}

.price_table{
	width:90%;
	line-height: 35px;
	margin:20px auto;
	font-size: 2.91vw;
	letter-spacing: 1.1px;
	text-align: left;
	font-weight: 400;
	color: #2E2E2E;
	border-collapse: collapse;
}

table tr td:first-child{
	padding-left:20px;
	vertical-align: top;
}

table tr ::first-child{
	width:40%;
}

table tr::nth-child(1){
	height:50px;
}

table tr::nth-child(2){
	height:150px;
}

table tr td{
	padding: 0 10px;
}

table tr:nth-child(-n+2) td{
	border-bottom:2px solid #A5A5A5;
}


table tr:nth-child(-n+2) td:after{
	border-bottom:2px solid #A5A5A5;
}

.notice{
	width:80%;
	margin:20px auto 75px auto;
	font-size: 14px;
	letter-spacing: 1.5px;
	font-weight: 400;
	text-align: left;
}

#price .circle.small{
	width: 10.62vw;
	height: 10.62vh;
}

#price .circle.middle{
	width: 27.08vw;
	height: 27.08vw;
}

#price .background_side{
	display: none;
}

#price .circle_01{
	top:-40px;
	left:10%;
}

#price .circle_02{
	top:-20px;
	right:8%;
}

#price .circle_03{
	top:-35px;
	left:-12%;
}

#price .circle_04{
	top:-30px;
	right:-15%;
}

footer{
	width:100%;
	height:53px;
	background: transparent url('../img/bg_01.png') 0% 0% no-repeat padding-box;
	background-size: cover;
	position: relative;
	display: flex;
	align-items: center;
	font-weight:400;
	line-height: 10px;
}

footer p{
	margin:0 auto;
	color: #2E2E2E;
}

.company{
	display: inline-block;
	font-size:2.91vw;
	letter-spacing: 1.1px;
	padding-bottom: 10px;
}

.copyright{
	font-family: "Arno Pro";
	font-size:2.29vw;
	letter-spacing: 0.5px;
}

.copy_company_name{
	font-size:2.08vw;
	letter-spacing: 0.9px;
}

@media screen and (max-width:480px){
	p.merit::before{
		width:3.125vw;
		height:3.125vh;
	}

	#merit .four_cells{
/*		padding-bottom: 100px;*/
	}

	#point .point_datail p{
		width:calc(100% - 8.33vw);
	}
}

@media screen and (max-width:380px){
	#detail_area h2 p{
		letter-spacing: 0.5px;
	}
}
