@media screen and (min-width:481px){
	.header{
		width:450px;
		height:80px;
		margin:17px auto 0 auto;
	}

	.header h1{
		width:calc(450px - 100px);
		height:70px;
		padding-top:5px;
		padding-left:50px;
		font-size: 28px;
		letter-spacing: 0.55px;
		line-height: 35px;
	}

	.header h2{
		top:-5px;
		left:10px;
		width:88px;
		height:88px;
		padding-top: 25px;
	}

	.header h2 p{
		font-size:12px;
		letter-spacing: 0.23px;
		line-height:20px;
	}

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

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

	#main_visual{
		margin-top:12px;
		background: none;
	}

	#main_visual h3{
		font-size:34px;
		letter-spacing: 0.85px;
		margin:30px auto 20px auto;
	}

	#main_visual h4{
		margin-bottom: 20px;
	}

	#main_visual h4 img{
		width:411px;
	}

	#main_visual img.background{
		display:block;
	}

	.mv .circle.small{
		aspect-ratio: 16 / 16;
		width: 2.1vw;
		height: 3.2vh;
	}

	.mv .circle.middle{
		aspect-ratio: 33 / 33;
		width: 4.31vw;
		height: 6.6vh;
	}

	.mv .circle_01{
		top: 140px;
		left: 6%;
	}

	.mv .circle_02{
		top: 80px;
		right: 3%;
	}

	.mv .circle_03{
		top: 185px;
		left: 5%;
	}

	.mv .circle_04{
		top: 170px;
		right: 1%;
	}

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

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

	#three_cells div{
		width:180px;
		height:180px;
	}

	#three_cells p.first{
		margin-top:35px;
	}

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

	#three_cells p{
		font-size:20px;
		letter-spacing: 0.38px;
		line-height: 42px;
	}

	#three_cells p.middle{
		font-size:34px;
		letter-spacing: 0.65px;
		line-height: 30px;
	}

	#three_cells p.large{
		font-size:54px;
		letter-spacing: 3px;
		line-height: 60px;
	}

	.inquiry{
		margin:30px auto;
	}

	.inquiry p{
		font-size:22px;
		letter-spacing: 1.3px;
	}

	.inquiry img{
		height: 15px;
	}

	.inquiry .background_circle{
		display: none;
	}

	button{
		width:75%;
		height:62px;
	}

	.inquiry button{
		font-size:25px;
		letter-spacing: 2.4px;
	}

	#merit{
		aspect-ratio: 768 / 753;
		background: transparent url(../img/merit_bg_tab.png) 0% 0% no-repeat padding-box;
	}

	#merit_title .strong{
		background-position: bottom 20px right;
	}

	#merit h2{
		padding-top:40px;
		width:100%;	
		font-size:24px;
		letter-spacing: 0.6;
		margin-top:20px;
	}

	#merit h2 .strong{
		font-size:34px;
		letter-spacing: 0.85px;
	}

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

	.four_cells{
		width:80%;
		margin:0 auto;
		padding-bottom:70px;
	}

	.four_cells div{
		aspect-ratio: 304 / 120;
	}

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

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

	#merit .four_cells{
		aspect-ratio: 768 / 450;
		grid-template-rows:220px 230px;
	}

	#merit .four_cells p{
		font-size:2.604vw;
		letter-spacing: 0.5px;
		line-height: 20px;
	}

	p.merit::before{
		width:15px;
		height:15px;
	}

	#sec_base{
		aspect-ratio: 768 / 547;
		background: transparent url('../img/bg_02_tab.png') 100% 100% no-repeat padding-box;
		background-size: 100% 100%;
		background-position: left;
	}

	#sec_base h2{
		width:279px;
		padding-top:12%;
	}

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

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

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

	#sec_base h3{
		font-size:34px;
		letter-spacing: 0.85px;
		margin:20px auto;
		background: linear-gradient(transparent 80%, #E9EE4C 60%);
		background-position: bottom 5px left;
	}

	#sec_base p{
		font-size:24px;
		letter-spacing: 0.47px;
		line-height:40px;
		padding-bottom:9%;
	}

	#point{
		margin-top:30px;
	}

	#point::before{
		width:300px;
		height:50px;
	}

	#point::after{
		width:300px;
		height:50px;
		margin: 80px auto 70px auto;
	}	

	#point h2{
		font-size:32px;
		letter-spacing: 0.8px;
		margin-top: 80px;
	}

	#point h3{
		font-size:34px;
		letter-spacing: 3.4px;
		margin-bottom: 50px;
	}

	#point h3::before{
		width:15px;
		height: 26px;
	}

	#point h3::after{
		width:15px;
		height: 26px;
	}


	#point section h4{
		height:100px;
	}

	#point section h4 p{
		width:100%;
		font-size:76px;
		line-height:90px;
		left:0;
		margin:0 auto;
	}

	#point section h4 .title{
		height:70px;
		top:15px;
		line-height: 70px;
		font-size:27px;
		letter-spacing: 2.7px;
	}

	.img_area{
		width:508px;
		height:500px;
		margin:0 auto;
		position:relative;
	}

	.img_area .point_circle{
		width: 130px;
		height: 130px;
	}

	.img_area .point_circle .eng{
		padding-top:30px;
		font-size:26px;
		letter-spacing: 0.65;
	}

	.img_area .point_circle .jp{
		font-size:20px;
		letter-spacing: 1;
		line-height: 10px;
	}

	.detail_header{
		width:72px;
		height:72px;
	}

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

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

	#point .point_datail{
		font-size:16px;
		letter-spacing: 1.92px;
		line-height:32px;
	}

	#point .point_datail p{
		width: 508px;
	}

	.bg_img_first{
		width:265px;
	}

	.bg_img_last{
		width:185px;
	}

	.point_01 .bg_img_first{
		top:80px;
		right:0;
	}

	.point_01 .bg_img_last{
		top:260px;
		left:26%;
	}

	.point_02 .bg_img_first{
		top:80px;
		left:0;
		z-index: 1;
	}

	.point_02 .bg_img_last{
		top:265px;
		right:26%;
	}

	.point_03 .bg_img_first{
		top:80px;
		left:22%;
		z-index: 1;
	}

	.point_03 .bg_img_last{
		top:250px;
		right:0;
		z-index: 0;
	}

	.point_04 .bg_img_first{
		top:80px;
		left:0;
		z-index:1;
	}

	.point_04 .bg_img_last{
		top:260px;
		right:25%;
	}

	.point_01 .point_circle{
		top:135px;
		left: 0;
	}

	.point_02 .point_circle{
		top:60px;
		right: 0;
	}

	.point_03 .point_circle{
		top:265px;
		left: 0;
		z-index:2;
	}

	.point_04 .point_circle{
		top:135px;
		right: 0;
	}

	#detail_area{
		margin-top:30px;
		padding-top:15px;
		margin-bottom:20px;
	}

	#detail_area h2{
		aspect-ratio: 611 / 69;
		width: 80%;
	}

	#detail_area h2 p{
		/*top: 50%;
		transform: translateY(-50%);*/
		margin-top: 3%;
		background: linear-gradient(transparent 80%, rgba(233,278,76,0.5) 40%);
		background-position: left 0 bottom 1px;
		font-size:6.25vw;
		letter-spacing: 2.76px;
	}

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

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

	#detail_area h3{
		font-size:34px;
		letter-spacing: 4.08px;
		margin:10px auto 20px auto;
	}

	#detail_area .four_cells{
		grid-template-rows: 300px 300px;
		padding-bottom: 0;
		margin: 40px auto 20px auto;
	}

	#detail_area .four_cells p.image img{
		aspect-ratio: 210 / 210;
		width: 210px;
	}

	#detail_area .four_cells img:nth-child(n+2){
		height: 41px;
	}

	#detail_area .four_cells p{
		font-size:24px;
		line-height:31px;
		letter-spacing: 0.6px;
	}

	#detail_area .detail_link{
		margin:40px auto;
		font-size:24px;
		letter-spacing: 2.4px;
		background-position:50%;
	}

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

	#price h2{
		width:100%;
		margin-top:60px;
		margin-bottom:33px;
	}

	#price h2 p{
		font-size:32px;
		letter-spacing: 0.8px;
		line-height:50px;
	}

	#price h2 p.jp{
		font-size:34px;
		letter-spacing: 3.4px;
	}

	.table{
		width:80%;
	}

	.price_table{
		width:80%;
		line-height: 40px;
		margin:30px auto 60px auto;
		font-size: 16px;
		letter-spacing: 1.6px;
	}

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

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

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

	table tr td{
		padding: 10px;
	}

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

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

	.notice{
		width:60%;
		margin:30px auto 120px auto;
		font-size: 16px;
		letter-spacing: 1.6px;
	}

	#price .circle.small{
		width: 51px;
		height: 51px;
	}

	#price .circle.middle{
		width: 130px;
		height: 130px;
	}

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

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

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

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

	footer{
		height:114px;
		line-height: 10px;
	}

	.company{
		font-size:16px;
		letter-spacing: 1.6px;
		padding-bottom: 10px;
	}

	.copyright{
		font-size:13px;
		letter-spacing: 0.65px;
	}

	.copy_company_name{
		font-size:12px;
		letter-spacing: 1.2px;
	}
}

@media screen and (min-width:481px) and (max-width:720px){
	#main_visual h3{
		font-size:27px;
		letter-spacing: 0.3px;
		margin:10px auto;
	}
	
	#detail_area h2 {
		aspect-ratio: 576 / 69;
		width: 80%;
		margin: 3% auto;
	}
}

@media screen and (max-width:550px) and (min-width:481px){
	#three_cells div{
		width:132px;
		height:132px;
	}

	#three_cells p{
		font-size:16px;
		letter-spacing: 0.28px;
		line-height: 42px;
	}

	#three_cells p.first{
		margin-top:20px;
	}

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

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

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