@media screen and (min-width:769px){
	.header{
		width:803px;
		height:145px;
		margin:36px auto 0 auto;
	}

	.header h1{
		width:calc(803px - 170px);
		height:70px;
		padding-top:5px;
		padding-left:80px;
		font-size: 50px;
		letter-spacing: 1.25px;
		line-height: 68px;
	}

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

	.header h2 p{
		font-size:21px;
		letter-spacing: 0.53px;
		line-height:36px;
	}

	.header h2::first-line{
		font-size:48px;
		letter-spacing: 1.2px;
	}

	.header h2 span{
		font-size:30px;
		letter-spacing: 0.75px;
	}

	.mv{
		min-height: 450px;
		aspect-ratio: 16 / 9;
		margin-top:12px;
		background: transparent url('../img/bg_head.png') 100% 100% no-repeat padding-box;
		background-size: 100% 100%;
		background-position:bottom 0px left;
	}


	#main_visual h3 p::before{
		display: inline-block;
		width:2%;
		height:5%;
		background: transparent url('../img/header_side_01.svg') 100% 100% no-repeat padding-box;
		background-size: contain;
		content:"";
	}

	#main_visual h3 p::after{
		display: inline-block;
		width:2%;
		height:5%;
		background: transparent url('../img/header_side_02.svg') 100% 100% no-repeat padding-box;
		background-size: contain;
		content:"";
	}

	#main_visual h4 img{
		width: 50%;
	}

	#main_visual img.background{
		display:none;
	}

	.mv .circle.small{
		width:8.3%;
		height:8.5%;
	}

	.mv .circle.middle{
		width:25%;
		height:22%;
	}

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

	.mv .circle_02{
		top: 7%;
		left: 0;
	}

	.mv .circle_03{
		top: -13%;
		left: 90%;
	}

	.mv .circle_04{
		display: none;
	}

	#three_cells{

	}

	#main_visual .bg{
		display: none;
	}

	.inquiry{
		margin:64px auto 100px auto;
	}

	.inquiry p{
		font-size:34px;
		letter-spacing: 3.4px;
		margin-bottom:18px;
	}

	.inquiry p::before{
		content: "";
		display: inline-block;
		width:29px;
		height:27px;
		background: transparent url('../img/path_01.svg') 100% 100% no-repeat padding-box;
		background-size: contain;
	}

	.inquiry p::after{
		content: "";
		display: inline-block;
		width:29px;
		height:27px;
		background: transparent url('../img/path_02.svg') 100% 100% no-repeat padding-box;
		background-size: contain;
	}

	.inquiry .background_circle{
		display: block;
	}

	.inquiry .circle.small{
		width:8.3%;
		height:8.5%;
	}

	.inquiry .circle.middle{
		width:8.3%;
		height:8.5%;
	}

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

	.inquiry .circle_02{
		top: 85%;
		right: -2%;
	}

	.inquiry .circle_03{
		top: 93%;
		left: 7%;
	}

	.inquiry .circle_04{
		top: 93%;
		right: 7%;
	}

	.inquiry img{
		height: 15px;
	}

	button{
		max-width: 650px;
		width:75%;
		height:87px;
	}

	.inquiry button{
		font-size:34px;
		letter-spacing: 3.4px;
	}

	#merit{
		background: transparent url(../img/merit_bg_pc.png) 0% 0% no-repeat;
		background-size: 100% 100%;
		aspect-ratio: 1920 / 833;
	}

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

	#merit h2{
		padding-top:80px;
		width:100%;	
		font-size:clamp(60px,4.687vw,90px);
		letter-spacing: 2.25px;
		margin-top:60px;
	}

	#merit h2 .strong{
		text-underline-offset: 10px;
		text-decoration-thickness: 3px;
		font-size:clamp(60px,4.687vw,90px);
		letter-spacing: 2.25px;
	}

	#merit h2 img{
		width:70%;
		max-width:1227px;
		margin:0 auto 28px auto;
	}

	.four_cells{
		max-width:70%;
		margin:0 auto;
		display:flex;
		justify-content: space-around;
		flex-shrink: 0;
	}

	.four_cells div{
		flex-grow: 1;
		max-width:400px;
		min-width:252px;
	}

	.four_cells .image img{
		margin-bottom: 15px;
		width:240px;
	}

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

	#merit .four_cells p{
		font-size:clamp(25px,1.77vw,34px);
		letter-spacing: 0.85px;
		line-height: 43px;
	}

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

	#sec_base h2{
		width:33%;
		max-width:625px;
		padding-top:13%;
	}

	#sec_base img:nth-child(1){
		width:100%;
		max-width:625px;
		margin-top:0;
	}

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

	#sec_base p{
		text-decoration-thickness: 2px;
		padding-bottom:230px;
	}

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

	#sec_base h3{
		font-size:clamp(25px,2.5vw,48px);
		letter-spacing: 1.2px;
		margin:2.5% auto;
		background: linear-gradient(transparent 80%, #E9EE4C 60%);
		background-position: bottom 5px left;
	}

	#sec_base p{
		font-size:clamp(25px,2.5vw,48px);
		letter-spacing: 1.2px;
		line-height:normal;
	}

	#point{
		margin-top:30px;
		margin-bottom:140px;
	}

	#point::before{
		width:280px;
		height:60px;
	}

	#point::after{
		width:280px;
		height:60px;
	}

	#point h2{
		font-size:55px;
		letter-spacing: 1.38px;
	}

	#point h3{
		font-size:60px;
		letter-spacing: 6px;
		margin-bottom: 118px;
	}

	#point h3::before{
		width:22px;
		height: 45px;
	}

	#point h3::after{
		width:22px;
		height: 45px;
	}

	#point section h4{
		height:300px;
	}

	#point section h4 p{
		width:100%;
		font-size:180px;
		letter-spacing: 5px;
		line-height:300px;
		left:0;
		margin:0 auto;
	}

	#point section h4 .title{
		height:180px;
		top:60px;
		line-height: 180px;
		font-size:48px;
		letter-spacing: 4.8px;
	}

	.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;
	}

	.img_area{
		width:100%;
		max-width: 1920px;
		height:auto;
		aspect-ratio: 16 / 9;
		margin:0 auto;
	}

	.img_area .background_circle{
		display: block;
	}

	.img_area .background_circle .circle.small{
		width:8%;
		height:14.1%;
	}

	.img_area .background_circle .circle.sem_small{
		width:11.5%;
		height:20.2%;
	}

	.img_area .background_circle .circle.large{
		width:21%;
		height:37.5%;
	}

	.img_area .point_circle{
		width:11.4%;
		height:20.3%;
		z-index: 2;
	}

	.img_area .point_circle .eng{
		padding-top:25.7%;
		font-size:clamp(24px,2.187vw,42px);
		letter-spacing: 1.05;
	}

	.img_area .point_circle .jp{
		font-size:clamp(16px,1.77vw,34px);
		letter-spacing: 1.07;
		line-height: 10px;
	}

	#point .point_datail{
		margin: 0 auto 200px auto;
		padding-bottom:0px;
		font-size:24px;
		letter-spacing: 2.88px;
		line-height:60px;
	}

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

	.bg_img_first{
		width:38.5%;
	}

	.bg_img_last{
		width:27.5%;
	}

	.point_01 .bg_img_first{
		top:9.5%;
		left:46.5%;
	}

	.point_01 .bg_img_last{
		top:35.5%;
		left:26.5%;
	}

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

	.point_02 .bg_img_last{
		top:35.5%;
		right:30%;
		z-index: 1;
	}

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

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

	.point_04 .bg_img_first{
		top:9.5%;
		left:10.5%;
	}

	.point_04 .bg_img_last{
		top:38.5%;
		right:30%;
	}

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

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

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

	.point_04 .point_circle{
		top:15.5%;
		right: 17%;
	}

	.point_01 .circle_01{
		top: 9.5%;
		left:35%;
	}

	.point_01 .circle_02{
		top:44%;
		left: 9%;
	}

	.point_01 .circle_03{
		top:39%;
		left: -10%;
	}

	.point_02 .circle_01{
		top:9%;
		right:35%;
	}

	.point_02 .circle_02{
		top:40.5%;
		right:0;
	}

	.point_02 .circle_03{
		top:60%;
		left:1%;
	}

	.point_02 .circle_04{
		top:36%;
		right:-18%;
	}

	.point_02 .circle_05{
		top:57.5%;
		left:-17%;
	}

	.point_03 .circle_01{
		top:18.5%;
		left:5%;
	}

	.point_03 .circle_02{
		top:38%;
		left:15%;
	}

	.point_04 .circle_01{
		top:9%;
		right:35%;
	}

	.point_04 .circle_02{
		top:57%;
		right:0.5%;
	}

	.point_04 .circle_03{
		top:54%;
		right:-19%;
	}

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

	#detail_area h2{
		aspect-ratio: 768 / 86;
		width: 80%;
		max-width: 768px;
		margin:0 auto;
	}

	#detail_area h2 p{
		margin-top: 4%;
		background: linear-gradient(transparent 80%, rgba(233,278,76,0.5) 40%);
		background-position: left 0 bottom 0;
		font-size:clamp(48px,3.125vw,60px);
		letter-spacing: 4.2px;
	}

	#detail_area h2 span.large{
		font-size:clamp(48px,3.125vw,60px);
		letter-spacing: 4.2px;
	}

	#detail_area h2 span.small{
		font-size:clamp(34px,2.5vw,48px);
		letter-spacing: 5.76px;
	}

	#detail_area h3{
		font-size:clamp(48px,3.125vw,60px);
		letter-spacing: 7.2px;
		margin:10px auto 72px auto;
	}

	#detail_area .four_cells{
		max-width:60%;
		gap:0 40px;
		padding-bottom: 0;
	}

	#detail_area .four_cells div{
		aspect-ratio: 260 / 327;
	}

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

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

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

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

	#price{
		padding-top: 40px;
	}

	#price h2{
		width:100%;
		margin-bottom:90px;
	}

	#price h2 p{
		font-size:55px;
		letter-spacing: 1.38px;
	}

	#price h2 p.jp{
		font-size:60px;
		letter-spacing: 6px;
		line-height: 120px;
	}

	.table{
		width:1400px;
	}

	.price_table{
		width:1050px;
		line-height: 60px;
		margin:130px auto 130px auto;
		font-size: 24px;
		letter-spacing: 2.4px;
	}

	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:50px;
	}

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

	.notice{
		width:1038px;
		margin:30px auto 200px auto;
		font-size: 24px;
		letter-spacing: 2.4px;
	}

	#price .background_circle .circle{
		display: none;
	}

	#price .background_side{
		display: block;
	}

	#price .background_side .left{
		position: absolute;
		top:-150px;
		left:-23%;
	}

	#price .background_side .right{
		position: absolute;
		top:-150px;
		right:-23%;
	}


	#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{
		height:300px;
		line-height: 60px;
	}

	.company{
		font-size:34px;
		letter-spacing: 3.4px;
		padding-bottom: 0;
	}

	.copyright{
		font-size:21px;
		letter-spacing: 1.05px;
	}

	.copy_company_name{
		font-size:16px;
		letter-spacing: 1.6px;
	}
}

@media screen and (min-width:1000px) and (max-width:1600px){
	#merit .four_cells{
		padding-bottom: 75px;
	}

	.table{
		width: 90%;
	}

	.price_table{
		width: calc(100% - 10px);
		margin:0 auto;
	}
}

@media screen and (min-width:1200px){
	#main_visual h3{
		font-size:clamp(34px,3.125vw,60px);
		letter-spacing: 1.5px;
		margin:3% auto 2% auto;
	}

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

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

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

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

	#three_cells p.middle{
		font-size:60px;
		letter-spacing: 1.14px;
		line-height: 60px;
	}

	#three_cells p.large{
		font-size:90px;
		letter-spacing: 1.71px;
		line-height: 100px;
	}
}

@media screen and (min-width:769px) and (max-width:1200px){
	.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{
		background-position: top 50px left;
	}

	#main_visual h3{
		font-size:clamp(27px,4.55vw,34px);
	}

	#main_visual h3 p::before{
		height: 34px;
	}

	#main_visual h3 p::after{
		height: 34px;
	}

	#main_visual h4{
		margin-top:3%;
	}

	.mv{
		background-position:bottom 30px left;
	}

	.mv .circle.small{
		width:80px;
		height:80px;
	}

	.mv .circle.middle{
		width:209px;
		height:209px;
	}

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

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

	.four_cells{
		width: 90%;
		max-width: 90%;
	}

	.four_cells div{
		flex-grow: 1;
		max-width:260px;
		min-width:0;
	}

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

	#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 .point_datail p {
		width: 90%;
		margin-top:10%;
	}

	#merit h2{
		padding-top:40px;
		width:100%;	
		font-size:clamp(30px,5vw,60px);
		letter-spacing: 0.9;
		margin-top:20px;
	}

	#merit h2 .strong{
		font-size:clamp(30px,5vw,60px);
		letter-spacing: 0.9px;
	}

	#detail_area .four_cells{
		max-width:90%;
	}

	.notice{
		width: 90%;
	}

	.table{
		width: 90%;
	}

	.price_table{
		width: 90%;
	}
}