main {
	position: relative;
}
.product_nav {
	position: absolute;
	top:0;
	width:100%;
	text-align: center;
	z-index: 1;
}
.product_nav ul {
	display: table;
	margin:0 auto;
	width:100%;
	max-width:640px;
	outline:solid 2px #FFF;
	box-sizing: border-box;
}
.product_nav ul li {
	display: table-cell;
    vertical-align: middle;
}
.product_nav ul li a {
    background: var(--DarkGray);
    padding:0.6em 0;
    color:#FFF;
    display: block;
    text-align: center;
    font-size: 3.2vw;
    font-weight:500;
}
.product_nav ul li.active a {
	background: #F7CB00;
	color:#222;
}
.product_nav ul li + li a {
	border-left:solid 1px rgba(255,255,255,0.1);
}

.product_nav ul li + li.active a {
	border-left:solid 1px var(--Yellow);
}

.product_nav ul li a:hover {
	text-decoration: none;
	background: #F7CB00;
	color:#222;
}

main .title_area {
	background: #666;
	overflow: hidden;
	margin-bottom:40px;
}

main .title_area .container {
	box-shadow: 0 36px 0px 0px #666, 0 -36px 0px 0px #666, 48px 0 60px -16px rgba(0,0,0,0.4), -48px 0 60px -16px rgba(0,0,0,0.4);
	padding:2em 0;
}

main .title_area h1 {
	font-size:1.5em;
	font-weight:bold;
	color:#FFF;
	text-align: center;
	line-height: 1.4;
}

main .container {
	position: relative;
}

main .container a:hover,
main .container a:active,
main .container a:focus,
main .container a:visited {
	text-decoration:none;
}

.blue {
	color:var(--Blue);
}

.green {
	color:var(--Green);
}

/* details ------------------------------ */

#details {
    position: fixed;
    z-index: 999;
    background: rgba(0,0,0,0.7);
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -999;
    opacity: 0;
    transition-duration: .3s;
}

#details.active {
	z-index: 999;
	opacity: 1;
}

#details > div {
	background: #FFF;
	position: absolute;
	top: 5vh;
    left: 5vw;
    padding: 2.5em 2em;
    width: 90vw;
    height:auto;
    max-height: 85vh;
    overflow-y: scroll;
    box-sizing: border-box;
    text-align: center;
}

#details > div.active {
	display: block;
}

#details > div:nth-of-type(2) {
	display: none;
}

#details > div h2 {
	font-weight:500;
	font-size:1.3em;
	margin-bottom:0.7em;
}

#details > div.methods_detail p {
	text-align: left;
	line-height: 1.8;
}

#details > div.methods_detail ul {
	margin:1em auto 2em;
	max-width: 280px;
}

#details > div.methods_detail ul li a.btn {
	display: block;
	font-weight: 600;
	font-size:1.2em;
	border-radius: 3em;
	position: relative;
	text-align: center;
	padding:1em 3em 1em 2em;
	border:solid 1px #CCC;
	margin-top:0.5em;
	line-height: 1em;
	box-sizing: border-box;
}

#details > div.methods_detail ul li a.btn:before {
	content:"";
	width: 19px;
    height: 19px;
    background: var(--Green);
    border-radius: 100%;
    display: block;
    margin: 0 auto;
    position: absolute;
    top: calc(50% - 10px);
    right: 19px;
}

#details > div.methods_detail ul li a.btn.blue:before {
	background: var(--Blue);
}

#details > div.methods_detail ul li a.btn:after {
	content: "";
    width: 4px;
    height: 4px;
    border-top: solid 1px #FFF;
    border-right: solid 1px #FFF;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 3px);
    right: 27px;
}

#details .close_details {
	color:var(--DarkGray);
	text-decoration: underline;
}

.group_head {
	display: flex;
	gap:6px;
	align-items: center;
	background: var(--PaleBlue);
	padding:0.4em 0.8em;
}

.methods_trigger,
.shapes_trigger {
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	background: var(--Orange);
	border-radius: 100%;
	color:#FFF;
	line-height: 1.1;
    padding: 0.2em;
    width: 1.4em;
    height: 1.4em;
    box-sizing: border-box;
    text-align: center;
}

.shapes_trigger {
	display: none;
}

/* --------------------------- */

#refine_box {
	border-bottom:solid 1px #CCC;
	margin-bottom: 2em;
}

#refine_box h2 {
	font-weight: 500;
	font-size: 1.3em;
}

#refine_box h3 {
	font-weight: 500;
	font-size: 1.1em;
}

#refine_box > div a {
	color:#888;
	position: relative;
	padding-left:12px;
	text-decoration: underline;
	margin: 0.6em 0 0.4em;
    display: block;
}

#refine_box > div a:before {
	content:"";
	display: block;
	width:4px;
	height:4px;
	border-right: solid 1px #888;
	border-bottom:solid 1px #888;
	transform: rotate(45deg);
	position: absolute;
	top:calc(50% - 2px);
	left:0;
}

#refine_box .group {
	margin-bottom:1em;
}

#refine_box input[type=checkbox] + label {
	display: inline-block;
    vertical-align: top;
    margin: 0;
    position: relative;
    padding: 2px 0 2px 24px;
    text-align: left;
    line-height: 1.2;
}

input[type=checkbox] + label {
	cursor: pointer;
	pointer-events: auto;
}

input[type=checkbox]:disabled + label {
	color:#BBB;
	cursor:not-allowed;
	pointer-events: none;
}

#refine_box input[type=checkbox] {
	display: none;
}

#refine_box input[type=checkbox] + label:before {
	position: absolute;
    content: "";
    top: 3px;
    left: 0;
    width: 14px;
    height: 14px;
    margin-top: 0;
    background: #FFF;
    border: 1px solid #666;
    border-radius: 2px;
}

#refine_box input[type=checkbox]:disabled + label:before {
	border: 1px solid #CCC;
}


#refine_box input[type=checkbox]:checked + label:before {
	background: #444;
    border: 1px solid #444;
}

#refine_box input[type=checkbox]:checked + label:after {
	position: absolute;
    content: "";
    top: 7px;
    left: 3px;
    width: 8px;
    height: 3px;
    margin-top: 0;
    border-bottom: solid 2px #FFF;
    border-left: solid 2px #FFF;
    transform: rotate(-45deg);
}

.group_body {
	padding:0.8em 0;
}

.group_body ul li {
	margin-bottom:0.5em;
}

.group_body ul li label img {
	width:80px;
	display: block;
}

.group_body ul li input[type=checkbox]:disabled + label img {
	opacity:0.3;
}

.group_body.shapes_group ul {
	display: flex;
	flex-wrap: wrap;
    gap: 14px;
}

.group_body.shapes_group ul {
	font-size: 12px;
}

#refine_box .shapes_group input[type=checkbox] + label {
	line-height: 1.4;
}

p.lead {
	line-height: 1.7;
}

p.lead a {
	color:var(--DarkGray);
	text-decoration:underline;
}

.hit_count {
	margin-top:2em;
	margin-bottom:0.5em;
	font-size:1.1em;
}

#results {
	margin-bottom:4em;
}

.result_box {
	margin-bottom:2em;
}

.result_box h2 {
	font-weight:600;
	font-size:1.2em;
	margin-bottom:0.3em;
}

.result_box > ul > li {
	display: none;
}

.result_box > ul {
	border-top:solid 1px #DDD;
}

.result_box > ul > li.show {
	display: flex;
	align-items: center;
	gap:0 5%;
	border: solid 1px #DDD;
    border-top: none;
}

.result_box > ul > li > figure {
	width: 100px;
    min-width: 100px;
    box-sizing: border-box;
    padding: 1em 0 1em 1em;
    text-align: center;
}

.result_box > ul > li > figure a {
	color:#333;
}

.result_box > ul > li > figure a span {
	display: block;
	border:solid 1px #CCC;
	border-radius: 1em;
	font-size:0.9em;
	line-height: 1.0;
	padding:0.4em 0.8em 0.5em;
	box-sizing: border-box;
	margin-top:1em;
}

.result_box ul li .txt_area {
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	padding:1em 1em 1em 0;
}

.result_box ul li .txt_area p.product_name {
	font-weight:500;
	font-size:1.2em;
	line-height: 1.3;
    margin-bottom: 0.4em;
    word-break: break-all;
}

.result_box ul li .txt_area dl {
	line-height:1.2;
	font-size: 0.9em;
}

.result_box ul li .txt_area dl + dl {
	margin-top:0.2em;
}

.result_box ul li .txt_area dl dt,
.result_box ul li .txt_area dl dd {
	display: inline-block;
	vertical-align: top;
	line-height:1.2;
	color:#666;
}

#sp_pad_printing.result_box h2,
#pc_pad_printing.result_box h2,
#sp_pad_printing.result_box ul li .txt_area p.product_name,
#pc_pad_printing.result_box table tr td p.product_name,
.pad_printing h3,
.pad_printing .result_box ul li .txt_area p.product_name,
.pad_printing .result_box table tr td p.product_name {
	color:var(--Blue);
}

#sp_hot_stamp.result_box h2,
#pc_hot_stamp.result_box h2,
#sp_roll_transfer.result_box h2,
#pc_roll_transfer.result_box h2,
#sp_rolling_stamp.result_box h2,
#pc_rolling_stamp.result_box h2,
#sp_hot_stamp.result_box ul li .txt_area p.product_name,
#pc_hot_stamp.result_box table tr td p.product_name,
#sp_roll_transfer.result_box ul li .txt_area p.product_name,
#pc_roll_transfer.result_box table tr td p.product_name,
#sp_rolling_stamp.result_box ul li .txt_area p.product_name,
#pc_rolling_stamp.result_box table tr td p.product_name,
.hot_stamp h3,
.hot_stamp .result_box ul li .txt_area p.product_name,
.hot_stamp .result_box table tr td p.product_name,
.rolling_stamp h3,
.rolling_stamp .result_box ul li .txt_area p.product_name,
.rolling_stamp .result_box table tr td p.product_name,
.roll_transfer h3,
.roll_transfer .result_box ul li .txt_area p.product_name,
.roll_transfer .result_box table tr td p.product_name {
	color:var(--Green);
}


@media screen and (min-width: 480px) {

.product_nav ul li a {
	font-size: 1.1em;
}

.result_box > ul > li > figure {
    width: 40vw;
	max-width: 140px;
}

.result_box > ul > li > figure a span {
	display: inline-block;
	width: 100%;
	max-width: 8em;
}

.result_box ul li .txt_area p.product_name {
	font-size:1.4em;
}

.result_box ul li .txt_area dl {
	font-size:1.0em;
}

}


@media screen and (min-width: 560px) {


}


@media screen and (min-width: 640px) {


}


@media screen and (min-width: 768px) {

main .title_area h1 {
	font-size:1.8em;
	margin:0 auto;
	box-sizing: border-box;
}

/* details ------------------------------ */

#details {
	position: relative;
	background: none;
	width:100%;
	height:0;
	overflow: hidden;
	z-index: 0;
	opacity: 1;
	transition-duration: .5s;
}

#details.active {
	z-index: 0;
    height: 440px;
}

#details > div {
	position: relative;
	top:0;
	left:0;
	background: #FFF;
	width:100%;
	height:0;
	padding:0;
	box-sizing: border-box;
	display: block;
	overflow: hidden;
	transition-duration: .5s;
}

#details > div:nth-of-type(2) {
	display: block;
}

#details > div.active,
#details > div:nth-of-type(2).active {
	height:440px;
}

#details > div .detail_inner {
	border: solid 1px #CCC;
	border-radius:14px;
	overflow: visible;
	height: 400px;
    padding: 2em;
	box-sizing: border-box;
	position: relative;
    transition-duration: .3s;
}

#details > div.active .detail_inner:before {
	content:"";
	display: block;
	width: 30px;
	height: 30px;
	background: #FFF;
	border-right:solid 1px #CCC;
	border-bottom:solid 1px #CCC;
	transform: rotate(45deg);
	position: absolute;
	bottom:-16px;
}

#details > div.methods_detail.active .detail_inner:before {
	left:2.6em;
}

#details > div.shapes_detail.active .detail_inner:before {
	left:calc((100% - 24px) / 3 + 3.4em);
}

#details > div.methods_detail p {
	display: block;
    max-width: 800px;
    margin: 0 auto;
}

#details > div.methods_detail ul {
	display: flex;
	gap: 6px;
	max-width: 840px;
	justify-content: center;
	margin:1em auto;
}

#details > div.methods_detail ul li {
	width: 100%;
}

#details > div.methods_detail ul li a.btn {
	font-size:15px;
	padding:1em 2em 1em 1em;
}

.shapes_trigger {
	display: block;
}

#details > div.shapes_detail ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	max-width: 540px;
	margin: 0 auto 2em;
}

#details > div.shapes_detail ul li figure {
	text-align: center;
	width: 10em;
}

#details > div.shapes_detail ul li figure img {
	width:90px;
}

/* --------------------------- */

#refine_box {
	border-bottom:none;
}

#refine_box h2 {
	font-size: 1.5em;
	line-height: 1.0;
}

#refine_box > div {
	display: flex;
	align-items: flex-end;
	justify-content: left;
	gap:0 30px;
	margin-bottom: 10px;
}

#refine_box > div a {
	padding-left:0;
	margin:0;
}

#refine_box > div a:before {
	display:none;
}

#refine_box .group {
	margin-bottom:0;
}

.group_body ul li {
	margin-bottom: 0.3em;
}

.group_body ul li label img {
	display: none;
}

.group_body.shapes_group ul {
	display: block;
}

.group_body.shapes_group ul {
	font-size: 1em;
}

#refine_box .shapes_group input[type=checkbox] + label {
	line-height: 1.2;
}

.groups-wrap {
	display: flex;
	align-items: stretch;
	font-size: 13px;
	flex-wrap: wrap;
	gap: 12px;
}

#refine_box .group {
	border: solid 1px #CCC;
	border-radius: 4px;
	box-sizing: border-box;
	overflow: hidden;
	width: calc((100% - 24px) / 3);
}

.group_body {
	padding:0.6em 1em 0.6em 1em;
}

.hit_count {
	margin:3em 0 1em;
}

/*---*/

#results .sp {
	display: none;
}
#results .pc {
	display: block;
}

#results table {
	width:100%;
	border-top:solid 1px #CCC;
	border-left:solid 1px #CCC;
}

#results table tr th,
#results table tr td {
	vertical-align: middle;
	border-bottom:solid 1px #CCC;
	padding:0.5em;
	text-align: center;
	min-width: 4em;
}

#results table tr th {
	font-size: 13px;
	font-weight:500;
	background: #EEE;
}

#results table tr td {
	padding:1em 0.5em;
	font-size:13px;
}

#results table tr td:first-child {
	padding:1em 0 1em 2em;
}

#results table tr th:last-child,
#results table tr td:last-child {
	border-right:solid 1px #CCC;
}

#results table tr td:nth-of-type(2) {
	max-width: 8.5em;
	min-width: 100px;
	font-size: 15px;
}

#results table tr td:nth-of-type(2) a {
	color:var(--DarkGray);
	display: inline-block;
	border:solid 1px #CCC;
	border-radius: 2em;
	font-size: 12px;
    padding: 0.4em 1em 0.5em;
	line-height: 1.0;
	margin-top:0.5em;
}

#results table tbody tr {
	display: none;
}

#results table tbody tr.show {
	display: table-row;
}

#results table tr td figure {
	width:80px;
	max-width: 80px;
	margin:0 0 0 auto;
}

#results table tr td.shape_box figure {
	width:80px;
	max-width: 80px;
	text-align: center;
}

#results table tr td.shape_box figure + figure {
	margin-top:0.6em;
}

#results table tr td p.product_name {
	word-break: break-all;
	font-weight:500;
}

#pc_pad_printing.result_box table tr th,
#results .pad_printing .result_box table tr th {
	background:#e9f7ff;
}

#pc_hot_stamp.result_box table tr th,
#pc_roll_transfer.result_box table tr th,
#pc_rolling_stamp.result_box table tr th,
#results .hot_stamp .result_box table tr th,
#results .roll_transfer .result_box table tr th,
#results .rolling_stamp .result_box table tr th {
	background:#edf9f2;
}

}


@media screen and (min-width: 1000px) {

#details > div h2 {
	font-size: 1.5em;
}

#details > div.methods_detail p {
	text-align: center;
	max-width: none;
}

#details > div.methods_detail ul {
	margin:1em auto 1.5em;
}

#details > div.methods_detail ul li a.btn {
	font-size:17px;
}

#details > div.shapes_detail.active .detail_inner:before {
	left:calc((100% - 48px) / 5 + 3.4em);
}

#details > div.shapes_detail ul {
	max-width: 1000px;
	margin:1.5em auto 2.5em;
}

#details > div.shapes_detail ul li figure img {
	width: 150px;
	margin-bottom: 5px;
}


/* --------------------------- */

#refine_box .group {
	width: calc((100% - 48px) / 5);
}

.group_body ul li {
	margin-bottom: 0.2em;
}

p.lead a:hover {
	text-decoration:none;
}

.result_box h2 {
	font-size: 1.5em;
}

#results table tr td figure {
	width:110px;
	max-width: 110px;
}

#results table tr th,
#results table tr td {
	font-size: 15px;
}

#results table tr td:nth-of-type(2) {
	font-size: 20px;
}

#pc_inkjet_printer.result_box table tr td:nth-of-type(2),
#results .inkjet_printer .result_box table tr td:nth-of-type(2) {
	font-size: 17px;
	max-width: 13em;
}

#results table tr td:nth-of-type(2) a {
	font-size: 14px;
}

#results table tr td a,
#results table tr td a figure {
	transition-duration: .3s;
}

#results table tr td:nth-of-type(2) a:hover {
	opacity: 0.6;
}

#results table tr td a:hover figure {
	transform: scale(1.05);
}

#results table tr td figcaption {
	font-size: 13px;
}


}


@media screen and (min-width: 1080px) {

.groups-wrap {
	font-size: 14px;
}


}


@media screen and (min-width: 1200px) {

#details > div.methods_detail ul li a.btn {
	font-size:18px;
}

#results table tr td figure {
	margin:0 auto;
}

#results table tr td:nth-of-type(2) {
	font-size: 24px;
}

#pc_inkjet_printer.result_box table tr td:nth-of-type(2) {
	font-size: 17px;
}

}