/*
  Theme Name: スマート機器サポートのテーマ
  Theme URI: http://
  Description:スマート機器サポートのテーマ
  Version: 1.0.0
*/

body {
	box-sizing: border-box;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	background: #f9f9f9;
}
div {
	box-sizing: border-box;
}
ul:not(.wp-block-list) {
	list-style: none;
	padding: 0;
	box-sizing: border-box;
}
p, a, span {
	letter-spacing: 2px;
	line-height: 1.8;
}
p {}
a {
	color: inherit;
	text-decoration: none;
	transition: all 0.1s;
}
a:hover {
	opacity: 0.7;
}
img {
	display: block;
	max-width: 100%;
}
h1, h2, h3, h4, h5 {
	margin: 0;
	text-align: center;
	font-weight: 500;
}
h2 {
	margin: 4rem auto;
	font-size: 2rem;
	font-weight: 450;
	position: relative;
	letter-spacing: 2px;
}
h2::before {
	position: absolute;
	content: "";
	display: block;
	width: 7%;
	height: 10px;
	border-radius: 30px;
	background: #15A06E;
	left: 46%;
	margin: auto;
	text-align: center;
	top: -40%;
}
.flex {
	display: flex;
	align-items: center;
	justify-content: center;
}
.center {
	text-align: center;
}
.btn {
	position: relative;
	display: block;
	color: #15A06E;
	width: 100%;
	max-width: 280px;
	font-size: 1rem;
	font-weight: 450;
	margin: 2rem auto 4rem;
	padding: 1rem;
	border-radius: 40px;
	text-align: center;
	background: linear-gradient(145deg, #ededed, #ffffff);
	-webkit-box-shadow: 15px 15px 15px #ededed, -15px -15px 15px #ffffff;
	box-shadow: 15px 15px 15px #ededed, -15px -15px 15px #ffffff;
	transition: all 0.1s;
}
.btn:hover {
	-webkit-box-shadow: 5px 5px 5px #ededed, -5px -5px 5px #ffffff;
	box-shadow: 5px 5px 5px #ededed, -5px -5px 5px #ffffff;
}
.btn::after {
	content: "→";
	position: absolute;
	right: 20px;
	background: #15A06E;
	color: #fff;
	font-size: 1.3rem;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 20%;
}
.cont {
	width: 90%;
	max-width: 1200px;
	margin: auto;
	padding: 3rem 0;
}
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
/*fadeup*/
.fadeUpTrigger {
	opacity: 0;
}
.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.header_inner {
	justify-content: space-between;
	padding: 5px 0;
	max-width: 100vw;
	align-items: center;
}
h1 .logo {
	display: flex;
	align-items: center;
	font-size: 14px;
	font-weight: 450;
	white-space: nowrap;
}
.logo img {
	max-width: 100px;
	padding: 10px;
}
nav ul {
	gap: 2rem;
	font-family: "Montserrat", sans-serif;
	font-weight: 450;
}
nav ul li{
	position: relative;
}
nav ul li ul{
	position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    width: 200px;
}
nav ul li ul li{
	float: left;
    overflow: hidden;
    width: 100%;
    /* width: 20%; */
    height: 0;
    transition: .2s;
}
nav ul li:hover > ul > li{
	overflow: visible;
    padding: 10px;
    background: #f9f9f9;
    height: auto;
    top: 1.7rem;
    box-shadow: 0 0 5px #ddd;
}
header.fixed_header {
	position: fixed;
	width: 100%;
	background: #f9f9f9;
	z-index: 100;
	height: 80px;
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
	0% {
		opacity: 0;
		transform: translateY(-170px);
	}
	100% {
		opacity: 1;
		transform: translateY(0px);
	}
}
header.fixed_header .header_inner {
	align-items: center;
}
header.fixed_header .header_inner .logo img {
	max-height: 50px;
}
header.fixed_header .header_inner nav ul {
	margin: 0;
}
.mv {
	width: auto;
	margin-left: auto;
	height: calc(100vh - 120px);
	padding-bottom: 4rem;
	position: relative;
	max-width: 90%;
}
.mv .image {
	right: 0;
	position: absolute;
	z-index: -1;
	bottom: 0;
}
.mv .image img {
	max-width: 100%;
	height: 80vh;
	object-fit: contain;
	object-position: bottom;
}
.mv .image::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	box-shadow: inset 0 0 15px 15px #f9f9f9;
}
.catch {
	position: absolute;
	left: 0;
	top: 3%;
	font-size: 2.2vw;
	letter-spacing: 5px;
	line-height: 1.8;
	font-weight: 450;
}
.catch ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 100%;
	max-width: 450px;
	margin: 2rem 0;
}
.catch ul li {
	width: 120px;
	height: 120px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: linear-gradient(145deg, #ededed, #ffffff);
	-webkit-box-shadow: 15px 15px 15px #ededed, -15px -15px 15px #ffffff;
	box-shadow: 15px 15px 15px #ededed, -15px -15px 15px #ffffff;
	text-align: center;
	font-size: 0.9rem;
	letter-spacing: 3px;
	line-height: 1.4;
	font-weight: 600;
}
.catch ul li:nth-child(1) {
	color: #5F358B;
}
.catch ul li:nth-child(2) {
	color: #EC1E84;
}
.catch ul li:nth-child(3) {
	color: #3DBDEF;
}
.catch .btn {
	margin: 3rem 0;
	font-size: 0.9rem;
	text-align: center;
}
.home .main .flex {
	gap:2rem;
	align-items: baseline;

}
.home .main .flex li{
	height: 100%;
	margin: 4rem auto;
	width:100%;


}
.home .main .flex li a{
	display: block;
	background:#fff;
	text-align: center;
	padding: 2rem;
    border-radius: 20px;
	box-shadow: 1px 1px 15px #ddd;
	height: 100%;
}
.home .main .flex li a img{
    width: auto;
    height: 200px;
    object-fit: contain;
    margin: 2rem auto;
}
.home .main .flex li a h2{
	position: static;
	margin: 2rem auto;
	line-height: 1.2;
}
.home .main .flex li a h2 span{
	font-size:120%;
	font-weight: 600;
}
.home .main .flex li a h2::before{
display: none;
}

.maker {
	margin: 0 auto 6rem;
	text-align: center;
}
.maker img {
	width: 90%;
	margin: 2rem auto;
	max-width: 600px;
}
.top_product {
	text-align: center;
	margin-top:6rem;
}
.top_product span.color {
	font-size: 2rem;
	padding: 0 10px;
	/*color: #EE1372;*/
	font-weight: 600;
}
.top_product .for_home .slick-slide div.fadeUpTrigger {
	max-width: 400px;
	background: #fff;
	margin: 1rem auto;
	padding: 4rem 2rem 2rem;
	border-radius: 15px;
	box-shadow: 0px 0px 15px #ddd;
	position: relative;
	width: 90% !important;
	height: 580px;
}
.slick-cloned {
	display: none;
}
.cat {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 90%;
	font-weight: 450;
	background: #15A06E;
	color: #fff;
	padding: 8px 20px;
	border-radius: 20px 0 20px 0;
}
.top_product .for_home div h3 {
	font-size: 1.5rem;
}
.top_product .for_home div img {
	max-height: 240px;
	margin: 1rem auto;
}
.top_product .for_home div .label {
	background: #474747;
	color: #fff;
	padding: 10px;
	font-weight: 600;
}
.top_product .for_corp {
	margin: 6rem 0 0;
}
.top_product .for_corp div:not(.flex) {
	margin: 4rem auto;
	padding: 2rem;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0px 0px 15px #ddd;
	position: relative;
	width: 90%;
	height: 580px;
}
.top_product .for_corp .cat {
	background: #434343;
}
.top_product .for_corp div img {
	max-height: 240px;
	margin: 1rem 2rem;
}
.top_product .for_corp h3 img {
	width: 250px;
	margin: auto;
}
.use01 {
	position: relative;
	color: #fff;
}
.use01::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 50%;
	background: #318E8B;
	z-index: -1;
}
.use01 .cont, .use02 .cont {
	padding-top: 6rem;
}
.use01 .cont h3 {
	color: #fff;
	float: left;
	font-size: 1.6rem;
	position: relative;
}
.use01 .cont h3 span, .use02 .cont h3 span {
	position: absolute;
	top: -50px;
	border-bottom: 1px solid;
	width: 60%;
	text-align: left;
	letter-spacing: 0;
	font-weight: 400;
	line-height: 1.5;
}
.use01 .cont p {
	float: right;
}
.use01 ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	padding: 0;
	clear: both;
	color: #333;
	padding-top: 3rem;
	font-size: 0.9rem;
}
.use01 ul h4 {
	font-size: 1.3rem;
	padding-top: 1rem;
	font-weight: 450;
}
.use01 ul img, .use02 ul img {
	border-radius: 15px;
	margin: auto;
	width: 100%;
    height: 55%;
	object-fit: cover;
}
.use02 {
	position: relative;
	color: #fff;
	margin-bottom: 4rem;
}
.use02::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 50%;
	background: #318E78;
	z-index: -1;
}
.use02 .cont h3 {
	color: #fff;
	float: left;
	font-size: 1.6rem;
	position: relative;
}
.use02 .cont p:not(.use02 ul p) {
	float: right;
	width: 60%;
}
.use02 ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	padding: 0;
	clear: both;
	color: #333;
	padding-top: 3rem;
	font-size: 0.9rem;
}
.use02 ul h4 {
	font-size: 1.3rem;
	padding-top: 1rem;
	font-weight: 450;
}
.bg_color {
	background: #F0F4F5;
	padding: 4rem 0;
}
.bg_color h3 {
	font-size: 1.6rem;
	line-height: 1.8;
}
.bg_color h4:first-child {
	color: #15A06E;
	font-size: 1.3rem;
	text-align: left;
	font-weight: 450;
}
.bg_color h4:first-child span {
	background: #15A06E;
	color: #fff;
	width: 1.8rem;
	display: inline-flex;
	justify-content: center;
	height: 1.8rem;
	border-radius: 50%;
	align-items: center;
	font-size: 1.5rem;
	vertical-align: bottom;
	margin-right: 5px;
}
.bg_color .flex {
	gap: 2rem;
	align-items: baseline;
	margin: 2rem 0;
}
.bg_color .merit {
	width: 50%;
	background: #fff;
	position: relative;
	border-radius: 20px;
	padding: 2rem;
	border: 2px solid #EE1372;
}
.bg_color .merit span.label {
	position: absolute;
	top: 0;
	right: 0;
	background: #EE1372;
	color: #fff;
	border-radius: 0 15px 0 20px;
	padding: 7px 20px;
}
.bg_color .merit li {
	margin-bottom: 2rem;
}
.bg_color .merit h4 {
	color: #EE1372;
	text-align: left;
	font-size: 1.2rem;
}
.bg_color .merit li p {
	padding-left: 1rem;
}
.bg_color .demerit {
	width: 50%;
	background: #fff;
	position: relative;
	border-radius: 20px;
	padding: 2rem;
	border: 2px solid #13178B;
}
.bg_color .demerit span.label {
	position: absolute;
	top: 0;
	right: 0;
	background: #13178B;
	color: #fff;
	border-radius: 0 15px 0 20px;
	padding: 7px 20px;
}
.bg_color .demerit li {
	margin-bottom: 2rem;
}
.bg_color .demerit h4 {
	color: #13178B;
	text-align: left;
	font-size: 1.2rem;
}
.bg_color .demerit li p {
	padding-left: 1rem;
}
.warrant {
	margin: 5rem 0;
	text-align: center;
	border: 2px solid #707070;
	padding: 2rem 1rem;
	border-radius: 30px;
	position: relative;
}
.warrant h3 {
	position: absolute;
	top: -12%;
	text-align: center;
	width: 35%;
	margin: auto;
	background: #F0F4F5;
	left: 32%;
	padding:0!important;
}
.warrant span {
	/*color: #EE1372;*/
}
.bg_color .btn {
	box-shadow: 15px 15px 15px #ededed, -15px -15px 15px #f9f9f9;
}
.bg_color .btn:hover {
	box-shadow: 5px 5px 5px #ededed, -5px -5px 5px #f9f9f9;
}
.howto table {
	margin: 4rem 0;
	border-collapse: collapse;
}
table tr:nth-child(odd),
.cont .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: #f6f3ec;
}
.cont .wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th{
	padding: 2rem;
}
table th, table td {
	text-align: left;
	padding: 2rem;
}
table th {
	white-space: nowrap;
	font-weight: 450;
}
.device .flex {
	padding: 2rem 0;
	gap: 2rem;
}
.device .flex .image {
	width: 40%;
}
.device .flex .text {
	width: 60%;
	padding: 2rem;
	background: #F0F4F5;
	border-radius: 20px;
}
.device .flex .text h5 {
	font-size: 1.2rem;
}
.device .flex:nth-child(3) .text {
	background: #f6f3ec;
}
.scene ul li {
	width: 25%;
	height: calc(25vw* 1.45);
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2rem;
	cursor: pointer;
	background-blend-mode: overlay;
	background-color: #c9e2dfa1;
	transition: all 0.5s;
}
.scene ul li:first-child {
	background-image: url("img/scene01.jpg");
}
.scene ul li:nth-child(2) {
	background-image: url("img/scene02.jpg");
}
.scene ul li:nth-child(3) {
	background-image: url("img/scene03.jpg");
}
.scene ul li:nth-child(4) {
	background-image: url("img/scene04.jpg");
}
.scene ul li span {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #333;
	color: #fff;
	writing-mode: vertical-lr;
	padding: 15px;
	height: 140px;
	letter-spacing: 3.5px;
}
.scene ul li p {
	padding: 2rem;
	position: relative;
	z-index: 50;
	color: #fff;
	font-size: 0.9rem;
	line-height: 2.5;
	box-sizing: border-box;
	margin: 0;
	background: #0243318f;
	height: 100%;
	text-shadow: 2px 2px 3px #707070;
	align-items: center;
	display: none;
	transition: all 1s;
}
.scene ul li:hover {
	background-color: #454545b5;
}
.scene ul li:hover p {
	display: flex;
}
footer {
	background: #333;
	color: #fff;
	margin-top: 10rem;
}
.footer_inner {
	justify-content: space-between;
	align-items: flex-start;
}
.footer_inner p {
	font-size: 0.8rem;
}
.footer_inner .flex {
	gap: 2rem;
}
.footer_inner .logo {
	flex-direction: column;
	gap: 12px
}
.scrolldown {
	position: absolute;
	bottom: 5%;
	left: -5%;
	font-family: "Montserrat", sans-serif;
}
.scrolldown span {
	position: absolute;
	left: 5px;
	bottom: 20px;
	color: #707070;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
.scrolldown:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: -4px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #707070;
	animation:
		circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove {
	0% {
		bottom: 65px;
	}
	100% {
		bottom: -5px;
	}
}
@keyframes cirlemovehide {
	0% {
		opacity: 0
	}
	50% {
		opacity: 1;
	}
	80% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
	}
}
.scrolldown:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 70px;
	background: #707070;
}

#page-top {
	position: fixed;
	right: 3%;
    bottom: 2%;
	z-index: 2;
	opacity: 0;
	transform: translateY(100px);
}

#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	font-size:1.0rem;
	font-weight: 500;
	letter-spacing: 1.2px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	color: #777;
    text-align: center;
    background: linear-gradient(145deg, #ededed, #ffffff);
    -webkit-box-shadow: 5px 5px 5px #ededed, -3px -3px 3px #ffffff;
    box-shadow: 3px 3px 3px #ededed, -3px -3px 3px #ffffff;
    transition: all 0.1s;
}

#page-top a:hover{
    box-shadow: 1px 1px 1px #ededed, -1px -1px 1px #ffffff;
}
#page-top.UpMove{
	animation: TOPUp 0.5s forwards;
}
@keyframes TOPUp{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}
#page-top.DownMove{
	animation: TOPDown 0.5s forwards;
}
@keyframes TOPDown{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*ページ*/
.subvisual{
	width: 100%;
    height: 20vh;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    letter-spacing: 5px;
    background: linear-gradient(12deg, #009688, #95ceba, #009688, transparent);
}
.cont .column{
    border: 2px solid #707070;
    padding: 3rem;
    border-radius: 30px;
    position: relative;
}
.cont .column h3{
	position: absolute;
    top: -6%;
	font-size: 1.6rem;
    text-align: center;
    width: 100%;
	max-width:300px;
    margin: auto;
    background: #f9f9f9;
    left: 37%;
}
.cont .column h4{
	font-size:1.2rem;
	position: relative;
}
.cont .column h4 span{
	letter-spacing: normal;
    padding: 8px;
	margin-right: 8px;
    border-right: 1px solid;
}
input,textarea{
	border: 1px solid #bcbcbc;
}
input[type="submit"]{
	border:none;
}
input[type="text"],
input[type="email"],
textarea{
 padding:10px;
 width:100%;
 max-width:600px;
 box-sizing: border-box;
}
table.has-white-background-color tr:nth-child(odd){
 background-color:#fff;
}
.flow .wp-block-column{
 box-shadow:0 0 15px 2px #ddd;
 border-radius: 10px;
 padding:10px;
}
.index a{
	height: auto;
	aspect-ratio: 3/1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 10px #ddd;
	border-width: 3px;
	padding:10px;
	font-size: clamp(18px, 1.5vw, 22px);
    line-height: 1.2;
    letter-spacing: 3px;
}
.page-template-page-camera .title{
	position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 40vh;
    background-image: linear-gradient(0deg, #ffffff 1px, rgba(0, 0, 0, 0) 0), linear-gradient(90deg, #ffffff 1px, #009688 0);
    background-size: 20px 20px;
    background-position: center;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.page-template-page-camera .title .left {
    background-image: url(img/tplink-top.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 40vw;
    height: 40vh;
    display: block;
    /* background-color: #fff; */
    clip-path: circle(38vw at 0 0);
}
.page-template-page-camera .title .right {
    width: fit-content;
    padding: 0;
}
.page-template-page-camera main h1 {
    text-align: center;
    font-size: clamp(2rem, 4vw, 4rem);
    position: relative;
    background: #fff;
    padding: 10px 2.5rem;
    color: #00bcc7;
    font-weight: 800;
    white-space: nowrap;
}

/*レスポンシブ*/
@media(max-width:890px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	h2 {
		margin: 2rem auto;
		font-size: 1.5rem;
	}
	p {
		font-size: 0.8rem;
	}
	.flex {
		flex-direction: column;
	}
	header {
		position: fixed;
		width: 100%;
		z-index: 500;
		top: 0;
	}
	header.fixed_header {
		height: 60px;
	}
	.header_inner {
		margin: 0;
		width: 100%;
		padding: 0;
	}
	header .header_inner .logo img, header.fixed_header .header_inner .logo img {
		max-height: 40px;
	}
	header .openbtn {
		position: absolute;
		cursor: pointer;
		width: 40px;
		height: 40px;
		border-radius: 5px;
		z-index: 700;
		top: 1.2rem;
		right: 1rem;
	}
	header .openbtn span {
		display: inline-block;
		position: absolute;
		left: 0;
		height: 2px;
		border-radius: 5px;
		transition: all 0.4s;
		background: #242424;
		width: 100%;
	}
	header .openbtn span:nth-child(2) {
		top: 20%;
	}
	header .openbtn span:nth-child(3) {
		top: 40%;
	}
	header .openbtn.active span:nth-child(1) {
		transform: rotate(25deg);
		top: 6px;
	}
	header .openbtn.active span:nth-child(2) {
		display: none;
	}
	header .openbtn.active span:nth-child(3) {
		transform: rotate(-25deg);
		top: 6px;
	}
	header #g-nav {
		display: none;
	}
	header #g-nav.panelactive {
		display: block;
		width: 100%;
		padding-top: 3rem;
		background: #f9f9f9;
		height: 100vh;
	}
	header.panelactive .header_inner {
		height: 100vh;
		justify-content: flex-start;
	}
	header.fixed_header .header_inner {
		align-items: flex-start;
		padding: 0;
	}
	nav ul li ul{
		width: 100%;
		position: relative;
	}
	nav ul li ul li{
	height: auto;
    text-align: center;
    padding-top: 2rem;
	}
	.mv {
		margin-top: 60px;
		width: 100%;
		padding-bottom: 0;
		height: calc(100vh - 60px);
		margin: 60px 0;
		max-width: 100%;
	}
	.mv .image img {
		height: 55vh;
		object-fit: cover;
	}
	.catch {
		position: relative;
		top: 5%;
		font-size: 1.2rem;
		letter-spacing: 2px;
		padding: 0;
		white-space: nowrap;
	}
	.catch ul {
		margin: 1.5rem 0;
		max-width: 400px;
	}
	.catch ul li {
		width: 25vw;
		height: 25vw;
		font-size: 0.7rem;
		margin: auto;
		max-width: 120px;
		max-height: 120px;
	}
	.maker {
		margin: 0 auto 3rem;
	}
	.top_product .for_home .slick-slide div.fadeUpTrigger {
		height: 430px;
		padding: 2.5rem 1.5rem;
		margin: 1rem auto;
	}
	.top_product .for_home div h3 {
		font-size: 1.2rem;
		padding: 5px 15px;
	}
	.cat {
		font-size: 75%;
		padding: 5px 15px;
	}
	.top_product .for_home div img {
		max-height: 170px;
		margin: 5px auto;
	}
	.top_product span.color {
		font-size: 1.5rem;
		line-height: 1.2;
		letter-spacing: 1px;
	}
	.top_product .for_corp div:not(.flex) {
		margin: 2rem auto;
		padding: 2rem 1.5rem;
		height: 430px;
	}
	.top_product .for_corp .flex {
		flex-direction: row;
	}
	.top_product .for_corp h3 img {
		width: 180px;
	}
	.top_product .for_corp div img {
		max-width: 145px;
		margin: 5px auto;
	}
	.use01::before {
		height: 27%;
	}
	.use01 ul, .use02 ul {
		grid-template-columns: repeat(1, 1fr);
		padding-top: 1rem;
	}
	.use01 ul img, .use02 ul img {
		width: 80%;
		margin: auto;
	}
	.use01 .cont h3, .use02 .cont h3 {
		font-size: 1.3rem;
	}
	.use01 ul h4, .use02 ul h4 {
		font-size: 1.2rem;
	}
	.use02 {
		margin-bottom: 0;
	}
	.use02::before {
		height: 31%;
	}
	.use02 .cont p:not(.use02 ul p) {
		width: 100%;
	}
	.bg_color {
		padding: 0;
	}
	.bg_color h3 {
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.bg_color h4:first-child {
		font-size: 1.2rem;
	}
	.bg_color h4:first-child span {
		font-size: 1.2rem;
		width: 1.6rem;
		height: 1.6rem;
	}
	.bg_color .merit, .bg_color .demerit {
		width: 100%;
		padding: 2rem 1rem 1rem;
	}
	.bg_color .merit span.label, .bg_color .demerit span.label {
		padding: 5px 15px;
		font-size: 0.8rem;
	}
	.bg_color .merit li, .bg_color .demerit li {
		margin-bottom: 1rem;
	}
	.bg_color .merit h4, .bg_color .demerit h4 {
		font-size: 1.0rem;
		white-space: nowrap;
	}
	.warrant {
		margin: 3rem 0;
		padding: 1rem;
		text-align: left;
	}
	.warrant h3 {
		width: 70%;
		left: 15%;
	}
	.howto table {
		margin: 2rem 0 0;
	}
	table th, table td{
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 1rem;
		font-size: 0.8rem;
	}
	.cont .wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th{
		padding: 1rem;
	}
	table th,
	.cont .wp-block-table.is-style-stripes td:nth-child(odd) {
		font-size: 0.9rem;
		padding-bottom: 0;
	}
	.device .flex {
		padding: 1rem 0;
		gap: 1rem;
	}
	.device .flex:nth-child(odd) {
		flex-direction: column-reverse;
	}
	.device .flex .image {
		width: 80%;
	}
	.device .flex .text {
		width: 100%;
		padding: 1rem;
	}
	.device .flex .text h5 {
		margin: 0.2rem 0;
		font-size: 1rem;
	}
	.scene ul li {
		width: 100%;
		margin: 0;
		height: 30vh;
		background-position: center;
	}
	.scene ul li span {
		font-size: 0.8rem;
		height: 100px;
		padding: 10px;
	}
	.scene ul li p {
		line-height: 1.8;
		font-size: 0.9rem;
	}
	.footer_inner {
		align-items: center;
	}
	.footer_inner .flex {
		gap: 10px;
	}
	.footer_inner nav {
		font-size: 0.8rem;
	}
	#page-top a{
		width: 65px;
		height: 65px;
	}

	.subvisual{
		margin-top:60px;
	}
	:where(.wp-block-columns.has-background){
		padding: 1.25em 1.8em!important;
	}
	.cont .column .wp-block-group{
		display: block;
	}
	.cont .column h3{
		left: 15%;
		top: -3%;
		width: 70%;
	}
	.cont .column h4{
		margin-bottom: 12px;
		white-space: nowrap;
	}
}