:not(span) {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	line-height: 1;
	list-style-type: none;
	color: #333;
	font-feature-settings: "palt";
	max-height: 99999px;
	font-family: sans-serif;
	
	letter-spacing: calc(1rem / 16);
}
a, a:visited {
	color: #333;
	text-decoration: none;
	transition: .5s;
}
a:hover {
	opacity: 0.75;
}
span {
	display: inline-block;
}
button {
	cursor: pointer;
}
body {
	-webkit-text-size-adjust: 100%;
}
body > section:nth-child(odd) {
	background: white;
}
body > section:nth-child(even),
footer {
	background: #F2F3F1;
}
section {
	padding-bottom: 5rem;
}
@media (max-width: 45rem) {
	section {
		padding-bottom: 10vw;
	}
}
#block1 {
	background: url(img/bg.jpg) left center;
	background-size: cover;
	padding-top: 3rem;
	border-top: solid 0.75rem #00A1B9;
}
#block1 h1 img {
	/* 558.592px 202.018px */
	width: 34.912rem;
	height: auto;
	display: block;
	margin: 0 auto 1rem;
}
@media (max-width: 60rem) {
	#block1 h1 img {
		width: 60vw;
	}
}
#block1 > div {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: calc(100% - 5vw);
	margin: 0 auto;
}
#block1 div div:first-child img {
	display: block:
	width: 30.8125rem;
	height: auto;
}

#block1 div div:last-child p {
	line-height: 1.5;
	font-size: 1.75rem;
}
#block1 div div:last-child em {
	display: inline-block;
	font-size: 2.25rem;
	margin-top: 2rem;
	margin-bottom: 1rem;
	font-style: normal;
	font-weight: bold;
	color: #666;
}
#block1 div div:last-child strong {
	display: inline-block;
	font-size: 3.5rem;
	margin-bottom: 2rem;
	font-style: normal;
	font-weifght: bold;
	color: #00A1B9;
}
#block1 div div:last-child p.tokkyo {
	display: inline-block;
	margin: 2rem 0 0;
	font-size: 1.25rem;
	padding: 0.5rem 0.75rem;
	border: solid thin #333;
	border-radius: 0.25rem;
	background: white;
	letter-spacing: 0.125em;
	line-height: 1;
}

@media (max-width: 70rem) {
	#block1 div div:first-child img {
		width: 40vw;
	}
	#block1 div div:last-child em {
		font-size: 1.75rem;
	}
	#block1 div div:last-child strong {
		font-size: 2.75rem;
	}
	#block1 div div:last-child p {
		font-size: 1.5rem;
	}
	#block1 div div:last-child p br {
		display: none;
	}
}
@media (max-width: 45rem) {
	#block1 {
		padding-top: 2rem;
		padding-bottom: 0;
	}
	#block1 > div {
		flex-direction: column;
		width: 100%;
		max-width: 100%;
	}
	#block1 div div:first-child img {
		width: 70vw;
		margin-bottom: 1rem;
	}
	#block1 div div:last-child {
		background: white;
		padding: 0 10vw;
	}

	#block1 div div:last-child em {
		display: block;
		width: 100%;
		font-size: 5vw;
		text-align: center;
	}
	#block1 div div:last-child strong {
		display: block;
		width: 100%;
		font-size: 8vw;
		text-align: center;
		margin-bottom: 1rem;
	}
	#block1 div div:last-child p {
		font-size: 4vw;
		margin: 0;
	}
	#block1 div div:last-child p br {
		display: none;
	}
	#block1 div div:last-child p.tokkyo {
		display: block;
		width: 8rem;
		text-align: center;
		margin: 1rem auto 2rem;
		font-size: 0.95rem;
		padding: 0.5em 0.75em;
	}
}


section h2 {
	width: 13rem;
	text-align: center;
	margin: 0 auto 2rem;
	padding: 1.5rem 0;
	font-size: 1.5rem;
	color: white;
	background: #00A1B9;
	font-weight: bold;
	
}
#block2 h2,
#block3 h2,
#block4 h2,
#block5 h2 {
	letter-spacing: 0.5em;
	text-indent: 0.5em;
}
#block6 h2,
#block7 h2 {
	letter-spacing: 0.25em;
	text-indent: 0.25em;
}
@media (max-width: 45rem) {
	section h2 {
		font-size: 1.125rem;
		padding: 1rem 0;
		width: 9.5rem;
		margin: 0 auto 5vw;
	}
	#block2 h2,
	#block3 h2,
	#block4 h2,
	#block5 h2 {
		letter-spacing: 0.5em;
		text-indent: 0.5em;
	}
	#block6 h2,
	#block7 h2 {
		letter-spacing: 0.25em;
		text-indent: 0.25em;
	}
}


/* ==================== 機能紹介 ==================== */
#block2 > div {
	display: flex;
	flex-wrap: wrap;
	width: 64rem;
	max-width: calc(100% - 2rem);
	justify-content: space-between;
	margin: 1rem auto;
}
#block2 > div div {
	width: calc((100% - 4rem) / 2);
	padding: 2rem;
	background: white;
	margin: 1rem;
}
#block2 > div div h3 {
	color: #E65513; /* オレンジ */
	font-size: 2.25rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 1rem;
}
@media (max-width: 60rem) {
	#block2 > div div h3 {
		font-size: 3.5vw;
	}
}
#block2 > div div p {
	line-height: 1.5;
	font-size: 1.25rem;
}
#block2 > div div p.waku {
	border: solid thin #333;
	margin-top: 2rem;
	padding: 0.25rem 0.5rem;
	border-radius: 0.25rem;
	font-size: 1.5rem;
	text-align: center;
}
#block2 > div div img { /* S・M・L */
	/* 325.449px 119.671px */
	display: block;
	margin: 1rem auto 0;
	width: 20.340rem;
	max-width: 100%;
	height: height;
}
@media (max-width: 45rem) {
	#block2 > div {
		display: block;
		max-width: calc(100% - 10vw);
		margin-top: 10vw;
	}
	#block2 > div div {
		width: 100%;
		margin: 0;
		padding: 7.5vw 5vw;
	}
	#block2 > div div + div {
		margin-top: 5vw;
	}
	#block2 > div div h3 {
		font-size: 6vw;
	}
	#block2 > div div p {
		font-size: 1rem;
	}
	#block2 > div div p.waku {
		font-size: 1.125rem;
	}
}

/* ==================== 使用方法 ==================== */

#block3 #youtube {
	/* width="560" height="315" */
	width: 48rem;
	height: 27rem;
	margin: 3rem auto;
	background: black;
}
#block3 #youtube iframe {
	width: 100%;
	height: 100%;
	border: none;
}
@media (max-width: 50rem) {
	#block3 #youtube {
		width: 95vw;
		height: 53.4375vw;
	}
}
#block3 ul {
	display: flex;
	justify-content: space-between;
	width: 64rem;
	max-width: calc(100% - 10vw);
	margin: 3rem auto 0;
	align-items: center;
}
#block3 ul li:nth-child(odd) {
	width: 18rem;
	font-size: 1.125rem;
	line-height: 1.25;
}
#block3 ul li:nth-child(even) {
	width: 2.5rem;
}
@media (max-width: 70rem) {
	#block3 ul li:nth-child(odd) {
		width: calc((100% - 12vw) / 3);
		height: 34vw;
		font-size: 1rem;
	}
	#block3 ul li:nth-child(even) { /* 矢印 */
		width: 4vw;
		position: relative;
		top: -2.5vw;
	}
}
@media (max-width: 45rem) {
	#block3 ul {
		flex-direction: column;
	}
	#block3 ul li:nth-child(odd) {
		width: 18rem;
		max-width: calc(100% - 20vw); 
		height: auto;
		font-size: 1rem;
	}
	#block3 ul li:nth-child(even) { /* 矢印 */
		width: 100%;
		height: 5vw;
		visibility: hidden;
		overflow: hidden;
	}
}
#block3 ul li img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0.5rem 0 0.25rem;
}
#block3 ul li span {
	display: inline-block;
	color: white;
	background: #E65513; /* オレンジ */
	font-size: 0.9rem;
	padding: 0.333rem 0.667rem;
	font-weight: bold;
}

/* ==================== 基本仕様 ==================== */
#block4 > img {
	/* 530px 430px */
	display: block;
	width: 33.125rem;
	max-width: calc(100% - 20vw);
	height: auto;
	margin: 3rem auto 2rem;
}
#block4 > ul {
	display: flex;
	justify-content: center;
}
#block4 > ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 22rem;
	margin: 1rem;
	border: solid thin #333;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	padding: 0.5rem 0;
	word-break: keep-all;
	line-height: 1.25;
}
@media (max-width: 60rem) {
	#block4 > ul li a {
		width: 19rem;
	}
}
@media (max-width: 45rem) {
	#block4 > ul {
		display: flex;
		justify-content: space-between;
		width: calc(100% - 5vw);
		margin: 0 auto;
	}
	#block4 > ul li {
		width: calc((100% - 2.5vw) / 2);
		margin: 0 auto;
	}
	#block4 > ul li a {
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		font-size: 1rem;
	}
}
@media (max-width: 30rem) {
	#block4 > ul li a {
		font-size: 3.75vw;
	}
}
#block4 > ul li:first-child a {
	background: white;
}
#block4 > ul li:first-child a::before { /* PDFアイコン */
	display: inline-block;
	content:'';
	width: 2.5rem;
	height: 2.5rem;
	background: url(img/icon_pdf.svg) center center no-repeat;
	background-size: contain;
	margin-right: 0.5rem;
}
#block4 > ul li:last-child a {
	background: #333;
	color: white;
	
}
#block4 > ul li:last-child a::before { /* 右向き三角アイコン */
	display: inline-block;
	content:'';
	width: 2.5rem;
	height: 2.5rem;
	background: url(img/icon_pdf.svg) center center no-repeat;
	background-size: 50% 50%;
	margin-right: 0.25rem;
}
@media (max-width: 45rem) {
	#block4 > ul li:first-child a::before {
		width: 1.75rem;
		height: 1.75rem;
		margin-right: 0.25rem;
	}
	#block4 > ul li:last-child a::before {
		width: 1.75rem;
		height: 1.75rem;
		margin-right: 0;
	}
}

#block4 > table {
	border-collapse: collapse;
	border: solid thin #333;
	margin: 3rem auto 0;
	max-width: 60rem;
	width: calc(100% - 5vw);
}
#block4 > table tr th,
#block4 > table tr td {
	border: solid thin #333;
	padding: 0.5rem;
	text-align: center;
	font-size: 1.125rem;
	line-height: 1.5;
	font-weight: 400;
	line-height: 1.5;
}
#block4 > table tr td {
	background: white;
	word-break: keep-all;
	width: 70%;
}
#block4 > table tr th {
	background: #E5F6F8;
	white-space: nowrap;
}
@media (max-width: 45rem) {
	#block4 > table tr th,
	#block4 > table tr td {
		font-size: 1rem;
	}
}
@media (max-width: 30rem) {
	#block4 > table tr th,
	#block4 > table tr td {
		font-size: 3.75vw;
	}
}
/* ==================== 製品保証・対応メディア ==================== */
#block5 ul,
#block6 ul {
	width: 50rem;
	margin: 3rem auto 0;
}
@media (max-width: 60rem) {
	#block5 ul,
	#block6 ul {
		width: calc(100% - 10vw);
	}
}
#block5 ul li,
#block6 ul li {
	display: flex;
	align-items: flex-start;
	font-size: 1.125rem;
	line-height: 1.5;
	margin: 0.75rem 0;
}
@media (max-width: 45rem) {
	#block5 ul li,
	#block6 ul li {
		font-size: 1rem;
	}
}
#block5 ul li::before,
#block6 ul li::before {
	content: '';
	display: inline-block;
	width: 0.667rem;
	height: 0.667rem;
	background: #333;
	border-radius: 50%;
	box-sizing: border-box;
	margin-right: 0.333rem;
	flex: none;
	position: relative;
	top: 0.5rem;
}

/* ==================== お問い合わせ ==================== */
#block7 h2 + p {
	margin-top: 3rem;
	text-align: center;
	font-size: 1.125rem;
}
@media (max-width: 45rem) {
	#block7 h2 + p {
		font-size: 1rem;
		text-align: left;
		width: calc(100% - 10vw);
		margin-left: auto;
		margin-right: auto;
		line-height: 1.5;
	}
}
#block7 ul {
	display: flex;
	justify-content: center;
	margin: 1rem 0 1rem;
}
#block7 ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20rem;
	margin: 1rem;
	border: solid medium #00A1B9;
	text-align: center;
	font-size: 1.5rem;
	padding: 0.5rem 0;
	font-weight: bold;
	letter-spacing: 0;
}
@media (max-width: 60rem) {
	#block7 ul li a {
		width: 18rem;
	}
}
#block7 ul li:first-child a::before { /* TELアイコン */
	display: inline-block;
	content:'';
	width: 3rem;
	height: 3rem;
	background: url(img/icon_tel.svg) center center no-repeat;
	background-size: contain;
	margin-right: min(3vw, 1.5rem);
}
#block7 ul li:last-child a::before { /* Mailアイコン */
	display: inline-block;
	content:'';
	width: 3rem;
	height: 3rem;
	background: url(img/icon_mail.svg) center center no-repeat;
	background-size: contain;
	margin-right: min(3vw, 1.5rem);
}
#block7 p:last-child {
	text-align: center;
	font-size: min(4vw, 1.125rem);
}


@media (max-width: 45rem) {
	#block7 > ul {
		display: flex;
		justify-content: space-between;
		width: calc(100% - 5vw);
		margin: 2rem auto;
	}
	#block7 > ul li {
		width: calc((100% - 2.5vw) / 2);
		margin: 0;
	}
	#block7 > ul li a {
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		font-size: 1rem;
		letter-spacing: 0;
	}
	#block7 ul li:first-child a::before,
	#block7 ul li:last-child a::before {
		width: 5vw;
		height: 5vw;
		margin-right: 0.5rem;
	}

}
@media (max-width: 30rem) {
	#block7 > ul li a {
		font-size: 3.75vw;
	}
}
/* ==================== フッター ==================== */
footer {
	padding-top: 3rem;
}
#footer_logo img {
	display: block;
	width: auto;
	height: auto;
	margin: 0 auto 2rem;
}
address div {
	text-align: center;
	font-style: normal;
	font-size: 1.125rem;
		line-height: 1.25;
	margin: 1rem 0;
}
#copy {
	border-top: solid thin #999;
	text-align: center;
	margin-top: 3rem;
	padding: 2.5rem 0;
	line-height: 1.25;
	font-size: min(2.5vw, 0.9rem);
}
@media (max-width: 45rem) {
	address div {
		font-size: 1rem;
	}
}
#gotop {
	position: fixed;
	bottom: 5rem;
	right: 0;
	opacity: 0;
	transition: .5s;
}
#gotop.is-animation {
	opacity: 0.5 !important;
}
#gotop img {
	display: block;
	width: 3rem;
	height: 3rem;
}
@media(max-width: 45rem) {
	#gotop {
		bottom: 3rem;
	}
	#gotop img {
		width: 2rem;
		height: 2rem;
	}
}



/* ==================== ページ下部 製品リストとトップページに戻る==================== */

#item_list {
	padding-block: min(8vw, 4rem);
	background: #00A1B9;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: min(8vw, 3rem);
}
#item_list hgroup {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
#item_list hgroup p {
	color: white;
	font-size: 1rem;
}
#item_list hgroup h5 {
	color: white;
	font-size: min(5vw, 1.75rem);
}
#item_list ul {
	display: flex;
	gap: 1rem;
}
#item_list ul li {
	border: solid thin white;
	width: 18rem;
	display: flex;
	justify-content: center;
}
#item_list ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 16rem;
	gap: 1rem;
	margin-block: 0.5rem;
}
#item_list ul li a img {
	width: 4rem;
	height: 5rem;
	object-fit: contain;
}
#item_list ul li a p {
	color: white;
	font-size: 1.25rem;
	display: flex;
	flex-direction: column;
	font-weight: 600;
	gap: 0.5rem;
}
#item_list ul li a p small {
	font-weight: 400;
	font-size: 0.85rem;
	color: white;
	white-space: nowrap;
}

#item_list > p a:any-link {
	display: flex;
	background: white;
	border-radius: 2rem;
	justify-content: center;
	align-items: center;
	width: 18rem;
	height: 3rem;
	color: #00A1B9;
	font-weight: 600;
	font-size: 1.125rem;
}
@media (max-width: 60rem) {
	#item_list ul {
		flex-direction: column;
	}
}

