@charset "UTF-8";

/* シールドブラスト */

.plain_heading {
	background: none !important;
	color: #333 !important;
	padding: 0 !important;
	letter-spacing: .04em !important;
}

.note,
.white_bg_box figcaption{
	font-size: 1.4rem;
	font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
	line-height: 1.5;
}

.white_bg_box img {
	display: block;
}

.result_info h4,
.material_group.half .graph_pair > figure > figcaption,
.durability h4{
	font-size: 1.8rem;
	font-size: clamp(calc((1.8rem * 0.739)), 1.38vw, 1.8rem);
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	letter-spacing: .04em;
	border: 2px solid #6f8e9d;
	padding: .3em .2em;
	margin-bottom: .8em;
}

.durability h4{
	max-width: 11em;
	margin: 0 auto .8em;
}

.result_info > p {
	font-size: 1.3rem;
	font-size: clamp(calc((1.3rem * 0.739)), 1vw, 1.3rem);
	line-height: 1.4;
	margin-bottom: .4em;
}

.result_info table {
	width: 100%;
	font-size: 1rem;
	font-size: clamp(calc((1rem * 0.739)), 0.76vw, 1rem);
	line-height: 1.25;
	text-align: center;
	border-collapse: collapse;
	margin-bottom: 1.5em;
}

.result_info th,
.result_info td {
	font-weight: 400;
	white-space: nowrap;
	border: 1px solid #8fa6b2;
	padding: .42em .2em;
}

.result_info th {
	color: #667f8c;
	background: #dce7ed;
}

.result_info table tr:last-of-type{
	color: #738ea1;
}

.result_info figure > figcaption {
	display: flex;
	justify-content: space-around;
	margin-top: .35em;
}

#page_title sup,
.page_info sup,
.white_bg_box h2 sup {
	font-size: .48em;
	line-height: 1;
	vertical-align: super;
}

@media print, screen and (min-width: 961px) {
	.page_info_inner .ag_logo {
		width: 16%;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	.page_info_inner > p {
		max-width: 83%;
	}
	
	section.intro div.fl_block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	section.intro div.fl_block div.block > p {
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		line-height: 1.85;
		letter-spacing: .04em;
	}

	section.intro div.fl_block div.block p.note {
		font-size: 75%;
		margin-top: 1em;
	}
	
	section.intro div.fl_block div.block{
		width: 46%;
	}
	
	section.intro div.fl_block div.block:first-of-type{
		width: 48%;
	}
	
	section.intro div.fl_block div.block:last-child figure figcaption {
        margin-top: .65em;
        padding-left: 5%;
    }

	.industry_list {
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin-top: 4.5vw;
		margin-top: 4.5cqw;
	}

	.industry_list figure {
		width: 31.5%;
	}

	.industry_list figcaption,
	.portfolio figcaption {
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
		margin-top: .55em;
	}

	.industry_list figcaption::before,
	.portfolio figcaption::before,
	.mapping figcaption::before {
		content: "□ ";
	}

	.sem .plain_heading,
	.durability .plain_heading,
	.combined .plain_heading {
		font-size: 2rem;
		font-size: clamp(calc((2rem * 0.739)), 1.53vw, 2rem);
		font-weight: 500;
		margin-bottom: .8em;
	}

	.sem p,
	.durability > p,
	.combined_text p {
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		line-height: 1.85;
		letter-spacing: .08em;
	}

	.sem_lead {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	.sem_lead > p {
		width: 43%;
	}

	.sem_photos {
		width: 54%;
		position: relative;
		z-index: 10;
	}

	.sem_photos h5 {
		font-size: 1.3rem;
		font-size: clamp(calc((1.3rem * 0.739)), 1vw, 1.3rem);
		font-weight: 400;
		text-align: center;
		margin-bottom: .45em;
	}
	
	.sem_photos  div.fl_block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.sem_photos  div.fl_block figure{
		width: 48%;
	}
	
	.sem_photos figure > figcaption {
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
		text-align: right;
		margin-top: .45em;
	}

	.sem_photos figure > div {
		line-height: 0;
	}
	
	.sem_photos  div.fl_block figure:last-of-type{
		position: relative;
	}
	
	.sem_photos  div.fl_block figure:last-of-type::before{
		content: "";
		width: 0.53vw;
		width: 0.53cqw;
		max-width: 7px;
		height: 19vw;
		height: 19cqw;
		max-height: 248px;
		background: #2a71b7;
		display: inline-block;
		position: absolute;
		bottom: -76%;
		left: 47.5%;
	}
	
	.sem_photos  div.fl_block figure:last-of-type::after {
		content: "";
		width: 5.6vw;
		width: 5.6cqw;
		max-width: 72px;
		height: 3vw;
		height: 3cqw;
		max-height: 37px;
		background: url("../images/shieldblast/arrow_y.svg") center / contain no-repeat;
		position: absolute;
		bottom: -78%;
		left: 36.25%;
	}

	.sem > .plain_heading {
		margin-top: 2.5em;
	}

	.mapping {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 2%;
	}

	.mapping figure {
		position: relative;
	}

	

	.mapping figcaption {
		margin-bottom: .5em;
	}

	.features_block {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin-top: 3vw;
	}

	.features_block > figure {
		width: 29%;
	}

	.features_block .feature_text {
		width: 68%;
	}

	.feature_text ul.num_type {
		display: block;
	}

	.feature_text ul.num_type li {
		min-height: 4em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
		line-height: 1.7;
		letter-spacing: .04em;
		position: relative;
		padding-left: 4em;
		padding-bottom: .75em;
		border-bottom: 1px solid #e5e5e5;
	}

	.feature_text ul.num_type li + li {
		margin-top: .75em;
	}

	.feature_text ul.num_type li span.num {
		display: inline-block;
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0;
		border-radius: 3px;
		background: #333;
		color: #fff;
		padding: .2em .5em .3em;
		position: absolute;
		left: 0;
		top: calc(50% - 1em);
	}

	.test_data h2 small {
		font-size: 42%;
		font-weight: 400;
		color: #333;
		margin: 0 0 .35em 1em;
	}

	.test_grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2.3vw 3%;
	}

	.material_group {
		grid-column: 1 / -1;
	}

	.material_group.half {
		width: 97%;
		grid-column: auto;
		position: relative;
	}
	
	.material_group.half:nth-child(even) {
		margin-left: 3%;
	}
	
	.material_group.half:nth-child(even)::after {
		content: "";
		width: 1px;
		height: 80%;
		display: block;
		border-right: 1px solid #333;
		position: absolute;
		bottom: 0;
		left: -6.5%;
	}

	.material_group > h3,
	.durability_grid h3,
	.combined_data > h3 {
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		font-weight: 500;
		letter-spacing: .06em;
	}

	.result_pair {
		display: flex;
		justify-content: space-between;
	}

	.result_pair > .bacteria_result {
		width: 50%;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	.result_pair > .bacteria_result:first-child {
		position: relative;
		padding-right: 3.5%;
	}
	
	.result_pair > .bacteria_result:first-child::after {
		content: "";
		width: 1px;
		height: 100%;
		display: block;
		border-right: 1px dashed #333;
		position: absolute;
		top: -4%;
		right: 0;
	}

	.result_pair > .bacteria_result:last-child {
		padding-left: 3.5%;
	}

	.result_pair .result_info,
	.result_pair .test_graph {
		width: 46%;
	}
	
	.result_pair .test_graph {
		padding-top: 2.8%;
	}

	.material_group.half .graph_pair {
		display: flex;
		justify-content: space-around;
		gap: 3%;
	}

	.material_group.half .graph_pair figure {
		width: 48%;
	}
	
	.material_group.half .graph_pair > figure > figcaption {
		width: 80%;
		margin-left: 19%;
	}

	.material_group.half .graph_pair img {
		width: 100%;
	}

	.test_data > .note {
		margin-top: 2.5em;
	}

	.durability > .plain_heading {
		margin-top: 2em;
	}

	.durability_grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 4%;
	}

	.durability_grid > div,
	.durability_grid > figure {
		min-width: 0;
	}

	.durability_grid figcaption {
		margin-top: .5em;
	}
	
	.durability_grid figure.graf{
		width: 73%;
		margin-left: 7%;
	}

	.combined_inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	.combined_text {
		width: 48%;
	}

	.combined_text h2 {
		margin-bottom: 1.25em;
	}

	.combined_text > img {
		margin-top: 2em;
	}

	.combined_data {
		width: 48%;
		padding-top: 2.2vw;
	}

	.combined_results .bacteria_result {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	.combined_results .bacteria_result + .bacteria_result {
		margin-top: 2vw;
	}

	.combined_results .result_info,
	.combined_results .test_graph {
		width: 46%;
	}
	
	.combined_results .test_graph {
		padding-top: 1.8%;
	}

	.portfolio ul {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 2vw 2.5%;
	}

	.portfolio a {
		display: block;
		line-height: 0;
	}

	.portfolio .photo {
		border-radius: 3px;
		overflow: hidden;
	}
}

@media screen and (max-width: 960px) {
	.page_info_inner .ag_logo {
		width: 26%;
		position: absolute;
        top: 0;
        right: 0;
	}

	.note,
	.white_bg_box figcaption,
	.sem_photos h5{
		font-size: calc(3rem * 0.375);
		font-size: clamp(calc((3rem * 0.375)), 3.12vw, 3rem);
	}

	section.intro div.fl_block div.block p,
	.sem p,
	.durability > p,
	.combined_text p {
		font-size: calc(3.4rem * 0.375);
		font-size: clamp(calc((3.4rem * 0.375)), 3.54vw, 3.4rem);
		line-height: 1.8;
		letter-spacing: .04em;
	}

	section.intro .note {
		margin-top: 5vw;
	}

	section.intro div.fl_block div.block p.note {
		margin-top: 1em;
		text-indent: -1.25em;
		padding-left: 1.25em;
	}
	
	section.intro div.fl_block div.block {
        margin-top: 10vw;
    }
	
	section.intro div.fl_block div.block:last-child figure figcaption {
        margin-top: .65em;
		letter-spacing: -0.02em;
    }

	.industry_list {
		display: grid;
		gap: 6vw;
		margin-top: 7vw;
	}

	.industry_list figcaption,
	.portfolio figcaption {
		margin-top: .5em;
	}

	.industry_list figcaption::before,
	.portfolio figcaption::before,
	.mapping figcaption::before {
		content: "□ ";
	}

	.sem .plain_heading,
	.durability .plain_heading,
	.combined .plain_heading {
		font-size: calc(4rem * 0.375);
		font-size: clamp(calc((4rem * 0.375)), 4.16vw, 4rem);
		font-weight: 500;
		margin-bottom: .7em;
	}
	
	.sem_photos h5 {
		font-weight: 400;
		text-align: center;
		margin-top: 1em;
		margin-bottom: 0.75em;
	}

	.sem_photos {
		margin-top: 8vw;
		position: relative;
		z-index: 10;
	}
	
	.sem_photos  div.fl_block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.sem_photos  div.fl_block figure{
		width: 48%;
	}

	.sem_photos figure > figcaption {
		text-align: right;
		margin-bottom: .6em;
	}

	.sem_photos figure > div {
		line-height: 0;
	}
	
	.sem_photos  div.fl_block figure:last-of-type{
		position: relative;
	}
	
	.sem_photos  div.fl_block figure:last-of-type::before{
		content: "";
		width: 1vw;
		width: 1cqw;
		height: 43vw;
		height: 43cqw;
		background: #2a71b7;
		display: inline-block;
		position: absolute;
		bottom: -91%;
		left: 47.5%;
	}
	
	.sem_photos  div.fl_block figure:last-of-type::after {
		content: "";
		width: 10.52vw;
		width: 10.52cqw;
		height: 5.64vw;
		height: 5.64cqw;
		background: url("../images/shieldblast/arrow_y.svg") center / contain no-repeat;
		position: absolute;
		bottom: -94%;
		left: 35.25%;
	}

	.sem > .plain_heading {
		margin-top: 8vw;
	}

	.mapping {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 7vw 4%;
	}

	.mapping figcaption {
		margin-bottom: .5em;
	}

	.features_block {
		margin-top: 10vw;
	}

	.features_block > figure {
		width: 68%;
		margin: 0 auto 8vw;
	}

	.feature_text ul.num_type {
		display: block;
	}

	.feature_text ul.num_type li {
		min-height: 4em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		font-size: calc(3.2rem * 0.375);
		font-size: clamp(calc((3.2rem * 0.375)), 3.33vw, 3.2rem);
		line-height: 1.7;
		letter-spacing: .04em;
		position: relative;
		padding-left: 3em;
		padding-bottom: .75em;
		border-bottom: 1px solid #e5e5e5;
	}

	.feature_text ul.num_type li + li {
		margin-top: .75em;
	}

	.feature_text ul.num_type li span.num {
		display: inline-block;
		font-size: calc(3.6rem * 0.375);
		font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0;
		border-radius: .6vw;
		background: #333;
		color: #fff;
		padding: .2em .5em .3em;
		position: absolute;
		left: 0;
		top: .25em;
	}

	.test_data h2 small {
		display: block;
		width: 100%;
		font-size: 48%;
		font-weight: 400;
		color: #333;
		margin-top: .5em;
	}

	.material_group + .material_group {
		margin-top: 9vw;
	}

	.result_pair,
	.material_group.half .graph_pair,
	.combined_results {
		display: grid;
		gap: 8vw;
	}

	.bacteria_result {
		display: grid;
		gap: 6vw;
	}

	.result_info h4,
	.material_group.half .graph_pair > figure > figcaption,
	.durability h4{
		font-size: calc(3.6rem * 0.375);
		font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
	}
	
	.durability h4{
        max-width: 100%;
        margin: 0 auto .8em;
    }

	.result_info > p {
		font-size: calc(3rem * 0.375);
		font-size: clamp(calc((3rem * 0.375)), 3.12vw, 3rem);
	}

	.result_info table,
	.result_info figure > figcaption {
		font-size: calc(2.6rem * 0.375);
		font-size: clamp(calc((2.6rem * 0.375)), 2.7vw, 2.6rem);
	}

	.test_graph {
		width: 100%;
	}

	.test_data > .note {
		margin-top: 8vw;
	}

	.durability > .plain_heading {
		margin-top: 8vw;
	}

	.durability_grid {
		display: grid;
		gap: 9vw;
	}

	.durability_grid figcaption {
		margin-top: .5em;
	}

	.combined_text > img {
		margin-top: 6vw;
	}

	.combined_data {
		margin-top: 9vw;
	}

	.portfolio ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 7vw 4%;
	}

	.portfolio a {
		display: block;
		line-height: 0;
	}

	.portfolio .photo {
		border-radius: 1vw;
		overflow: hidden;
	}
}
