@media print, screen and (min-width:641px), (min-device-width:1281px){

img {
	border: none;
	vertical-align: bottom;
}


.plan_bg {
	background-image: url(../../images/top_tech_bg.avif);
	padding-bottom: 80px;
}


.mainarea {
	max-width: 1200px;
	margin: 0 auto;
}
.mainarea h1 {
	margin-left: -30px;
	position: relative;
	z-index: 101;
}
.planArea {
	background-color: #FFF;
	margin-top: -130px;
	padding: 30px;

	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.planArea .subtitle {
	font-size: 38px;
	font-weight: bold;
	color: #F4834D;
	margin: 30px 0 20px 240px;
}
.planArea .spec {
	position: relative;
	z-index: 100;
}
.planArea .spec .price {
	position: absolute;
	top: 520px;
	left: 0px;
	width: 450px;
	text-align: center;
	line-height: 160%;
}
.planArea .spec .price2 {
	position: absolute;
	top: 300px;
	left: 0px;
	width: 450px;
	text-align: center;
	line-height: 160%;
}
.planArea .spec .price strong,
.planArea .spec .price2 strong {
	font-size: 42px;
}
.planArea .plan_line {
	margin: 50px 0;
}

.variation {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 20px;
	line-height: 180%;
	padding: 0 30px;
}
.variation02 {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 20px;
	line-height: 180%;
	padding: 0 30px;
}
.variation .var_boxL {
	max-width: 520px;
	width: 100%;
}
.variation .var_boxR {
	max-width: 520px;
	width: 100%;
}
.variation .var_txt {
	display: inline-block;
	max-width: 190px;
	width: 100%;
	margin-right: 20px;
	vertical-align: top;
}
.variation .var_txt span {
	display: block;
	font-size: 20px;
	font-weight: bold;
	color: #F4834D;
	margin-bottom: 15px;
	text-indent: -0.5em;
}
.variation .var_txt2 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
}
.variation .var_txt2 span {
	display: inline-block;
	color: #F4834D;
	text-indent: -0.5em;
}
.variation .var_txt3 {
	border: solid 1px #000;
	padding: 5px 10px;
	line-height: 120%;
	font-size: 16px;
	margin-bottom: 15px;
}
.variation .var_img {
	display: inline-block;
	max-width: 300px;
	width: 100%;
	vertical-align: top;
}
.var_ttl {
	font-size: 20px;
	color: #FFF;
	background-color: #F4834D;
	font-weight: bold;
	padding: 10px 20px;
	line-height: 120%;
	border-radius: 5px;
	margin: 60px 0 30px;
}
.variation .color_l {
	float: left;
	max-width: 694px;
	width: 100%;
	padding-right: 30px;
	border-right: dotted 4px #F4834D;
}
.list_3item {
	display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.list_3item_sec {

}
.variation .color_l li {
	margin-bottom: 30px;
}
.variation .color_r {
	max-width: 360px;
	float: right;
}
.var_line {
	clear: both;
	border-top: dotted 4px #F4834D;
	padding-top: 30px;
	overflow: hidden;
}
.var_dl {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 20px;
	align-items: center;
	margin-bottom: 40px;
}
.plan_link {
	text-align: center;
	margin-top: 30px;
}
.plan_link a {
	display: inline-block;
	font-size: 20px;
	line-height: 1;
	text-decoration: none;
	background-color: #FFF;
	background-image: url(../../common/images/arrow_s_b.avif);
	background-repeat: no-repeat;
	background-position: 95% center;
	padding: 15px 50px 15px 40px;

	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
}
.plan_link a:hover {
	color: #FFF;
	background-color: #0066A3;
	background-image: url(../../common/images/arrow_s_w.avif);
}
.plan_links {
    width: 900px;
    margin: 0 auto;
    padding-bottom: 30px;
}
.plan_link_l {
  	float: left;
}
.plan_link_r {
  	float: right;
}


.bnarea {
	margin-top: 60px;
}
.bnarea a:hover {
	opacity: 0.8;
}
}
@media only screen and (max-width:640px) and (max-device-width:1280px){

	img {
		border: none;
		vertical-align: bottom;
	}
	
	
	.plan_bg {
		background-image: url(../../images/top_tech_bg.avif);
		padding: 0px 10px 60px;
	}
	
	
	.mainarea {}
	.mainarea h1 {
		position: relative;
		width: 40%;
		z-index: 101;
	}
	.planArea {
		background-color: #FFF;
		margin-top: -20%;
		padding: 22% 15px 30px 15px;
	
		border-radius: 10px;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
	}
	.planArea .subtitle {
		font-size: 22px;
		font-weight: bold;
		line-height: 140%;
		color: #F4834D;
	}
	.planArea .spec {
		position: relative;
		z-index: 100;
	}
	.planArea .spec .price {
		position: absolute;
		bottom: 10%;
		left: 58%;
		font-size: 12px;
		line-height: 180%;
		margin-top: 20px;
	}
	.planArea .spec .price2 {
		font-size: 12px;
		line-height: 180%;
		margin-top: 20px;
	}
	.planArea .spec .price strong,
	.planArea .spec .price2 strong {
		font-size: 24px;
	}
	.planArea .plan_line {
		margin: 30px 0;
	}
	
	.variation {
		line-height: 180%;
	}
	.variation .var_boxL { margin-bottom: 30px;}
	.variation .var_boxR {}
	.variation .var_txt { margin-bottom: 15px;}
	.variation .var_txt span {
		display: block;
		font-size: 18px;
		font-weight: bold;
		color: #F4834D;
		text-indent: -0.5em;
	}
	.variation .var_txt2 {
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 15px;
	}
	.variation .var_txt2 span {
		display: inline-block;
		color: #F4834D;
		text-indent: -0.5em;
	}
	.variation .var_txt3 {
		border: solid 1px #000;
		padding: 5px 10px;
		line-height: 120%;
		font-size: 14px;
		margin-bottom: 10px;
	}
	.variation .var_img {
		padding: 0 20%;
	}
	.variation .var_ttl {
		font-size: 18px;
		color: #FFF;
		background-color: #F4834D;
		font-weight: bold;
		padding: 10px 20px;
		line-height: 120%;
		border-radius: 5px;
		margin: 60px 0 20px;
	}
	.variation .color_l {
		padding-bottom: 30px;
		margin-bottom: 30px;
		border-bottom: dotted 4px #F4834D;
	}
	.variation .color_l li,
	.variation .color_r li {
		margin-bottom: 20px;
		font-size: 10px;
		line-height: 140%;
	}
	.variation .color_r dl {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		align-items: center;
	}
	.variation .color_r dt {
		width: 60%;
		padding-right: 30px;
		margin-bottom: 40px;
	}
	.variation .color_r dd {
		margin-bottom: 40px;
	}
	.variation .color_r {
	}
	.variation .var_line {
		clear: both;
		border-top: dotted 4px #F4834D;
		padding-top: 30px;
		overflow: hidden;
	}
	.plan_link {
		text-align: center;
		margin-top: 30px;
	}
	.plan_link a {
		display: inline-block;
		font-size: 15px;
		line-height: 140%;
		text-decoration: none;
		background-color: #FFF;
		background-image: url(../../common/images/arrow_s_b.avif);
		background-repeat: no-repeat;
		background-position: 95% center;
		padding: 10px 40px 10px 30px;
	
		border-radius: 30px;
		-webkit-border-radius: 30px;
		-moz-border-radius: 30px;
	}
	.plan_link a:hover {
		color: #FFF;
		background-color: #0066A3;
		background-image: url(../../common/images/arrow_s_w.avif);
	}
	
	.bnarea {
		margin-top: 60px;
	}
	.bnarea a:hover {
		opacity: 0.8;
	}
}
.picture01 {
	aspect-ratio: 294/224;
	height: auto;
}
.picture02 {
	aspect-ratio: 1140/649;
	height: auto;
}
.picture03 {
	aspect-ratio: 660/1018;
	height: auto;
}
.picture-line {
	aspect-ratio: 1140/6;
	height: auto;
}
.picture04 {
	aspect-ratio: 300/240;
	height: auto;
}
.picture05 {
	aspect-ratio: 274/240;
	height: auto;
}
.picture06 {
	aspect-ratio: 220/180;
	height: auto;
	max-width: 220px;
	width: 100%;
}
.picture07 {
	aspect-ratio: 220/179;
	height: auto;
	max-width: 220px;
	width: 100%;
}
.picture08 {
	aspect-ratio: 220/192;
	height: auto;
	max-width: 220px;
	width: 100%;
}
.picture09 {
	aspect-ratio: 1200/160;
	height: auto;
}
.picture10 {
	aspect-ratio: 750/200;
	height: auto;
}

@media screen and (max-width:800px) {
	.list_3item {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.var_dl {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}
}
@media screen and (max-width:640px) {
	.variation02 {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}
	.picture06 {
		display: block;
		margin: 0 auto;
	}
	.picture08 {
		display: block;
		margin: 0 auto;
	}
	.picture04 {
		max-width: 300px;
		width: 100%;
		display: block;
		margin: 0 auto;
	}
	.picture05 {
		max-width: 274px;
		width: 100%;
		display: block;
		margin: 0 auto;
	}
	.var_ttl {
		font-size: 20px;
		color: #FFF;
		background-color: #F4834D;
		font-weight: bold;
		padding: 10px 20px;
		line-height: 120%;
		border-radius: 5px;
		margin: 60px 0 30px;
	}
}