/*---------------------
  Color
---------------------*/ :root {
	--text: #333;
	--blue: #007DCC;
	--deepblue: #2D3947;
	--orange: #FFAA00;
	--green: #93C125;
	--light_gray: #f0f0f0;
	--middle_gray: #ccc;
	--dark_gray: #999;
	--black_gray: #666;
	--white: #fff;
	
	--preview-wrap-height: 276px;
}
/*---------------------
  Responsible Triger
---------------------*/
@media screen and (max-width: 1200px) { /*Default*/
}
@media screen and (max-width: 1000px) {}
@media screen and (max-width: 767px) {}/*iPad mini*/
/*---------------------
  FadeIn

body {
	animation: fadeIn 0.5s ease 0s 0.5 normal;
	-webkit-animation: fadeIn 0.5s ease 0s 0.5 normal;
	background-color: var(--white);
}
@keyframes fadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
---------------------*/
/*---------------------
  Base
---------------------*/
html, body {
	font-family: 'Meiryo', Arial, "Myriad Pro", Myriad, 'Helvetica Neue', YuGothic, '游ゴシック', sans-serif;
	font-size: 14px;
	line-height: 1.5em;
	padding: 0px;
	margin: 0px;
	color: var(--text);
	background-color: var(--white);
	overflow: hidden;
}
html #index {
	background-color: var(--light_gray);
	height: 100svh;
}
img {
	max-width: 100%;
}
h3 {
	margin-top: 2em;
	margin-bottom: 0em;
}
a {
	text-decoration: none;
}
/*---------------------
  Layout base
---------------------*/
.wrap_All {
	display: flex;
	flex-direction: column;
	min-height: 100svh;
	overflow: hidden;
}
main {
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
}
footer {
	position: relative;
	margin-top: auto;
	height:30px;
}
/*---------------------
  Layout
---------------------*/
.index_wrap {
	max-width: 930px;
	height:calc(100svh - 168px);
	margin: 0 auto;
	position: relative; /*for absolute*/
}
.contents_wrap {
	max-width: 900px;
	margin: 0 auto;
}
.contents_scroll {
	width: 100%;
	height: calc(100svh - 128px);/*vh-h+f*/
	overflow-y: auto;
	overflow-x: hidden;
}
.contents_scroll_none {
	width: 100%;
	height: calc(100svh - 128px);/*vh-h+f*/
	overflow-y: hidden;
	overflow-x: hidden;
}
.wide_contents_wrap {
	max-width: 1100px;
	margin: 4em auto;
}
.pattern_contents_wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
}
/*Footer*/
.footer {
	text-align: center;
	font-size: 0.7rem;
}
@media screen and (max-width: 1100px) {
	.index_wrap, .contents_wrap, .pattern_contents_wrap {
		padding: 0 1em;
	}
}
/*for iPad*/
@media screen and (max-width: 1000px) {
	.index_wrap, .contents_wrap {
		max-width: initial;
		width: 100%;
		margin: 0 auto;
	}
	.pattern_contents_wrap {
		margin: 0 auto;
	}
}
/*---------------------
  Header
---------------------*/
.header_box {
	height: 98px;
	background-color: var(--middle_gray);
}
.head_bar {
	height: 48px;
	background-color: white;
}
.head_title {
	width: 100%;
	height: 50px;
	background-color: var(--deepblue);
	position: relative;
}
.head_title h1 img {
	margin: auto;
}
.back_top {
	position: absolute;
	color: var(--white);
	left: 1em;
	top: 15px;
	content: "";
	background-image: url("../img/common/ic_backtop.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-size: 16px 16px;
	background-position: left center;
	padding-left: 1.5em;
	opacity: 0.6;
	height: 25px;
}
.win_version {
	font-size: 0.9em;
	position: absolute;
	color: var(--white);
	right: 1em;
	top: 10px;
	border: solid 1px var(--white);
	border-radius: 20px;
	padding: 3px 1.5em 3px 3em;
	background-image: url("../img/common/ic_version.svg");
	background-repeat: no-repeat;
	background-size: 18px 18px;
	background-position: 10px center;
	opacity: 0.6;
	height: 25px;
}
.switch_unit {
	font-size: 0.9em;
	position: absolute;
	right: 13em;
	top: 10px;
	background-position: 10px center;
	opacity: 0.8;
	height: 25px;
	width: 90px;
	cursor: pointer;
}
@media (min-width: 1161px) {
	.switch_icon{
		display: none;
	}
}
.switch_icon{
	position: absolute;
	background-image: url("../img/common/ic_switch.png");
	background-repeat: no-repeat;
	background-size: 16px 19px;
	height: 19px;
	width: 20px;
	right: 6em;
}
.unit_icon{
	position: absolute;
	background-image: url("../img/common/透過アイコン(mm).png");
	background-repeat: no-repeat;
	background-size: 90px 25px;
	height: 25px;
	width: 90px;
}

#index .win_version, #index .switch_unit {
		top: 25px;
}
.switch_unit_big{
	background-color: var(--deepblue);
	font-size: 14px;
    font-weight: bold;
	color: var(--deepblue);
	top: 10px;
	margin-top: 1px;
	cursor: pointer;
    margin-right: 20px;
    padding: 3px 0;
    width: 80px;
	height: 70px;
    text-align: center;
}
.swicth_icon{
	background-image: url("../img/common/ic_switch.png");
	background-repeat: no-repeat;
	background-size: 16px 19px;
	height: 19px;
	width: 20px;
	margin-left: 30px;
	margin-top: 3px;
}
#unit_button{
    width: 80px;
	height: 30px;
	background-image: url("../img/common/アイコン(mm).png");
	background-repeat: no-repeat;
	background-size: 70px 30px;
    margin-left: 5px;
    margin-top: 10px;
}
@media (max-width: 1160px) {
	.win_version , .switch_unit{
		border: none;
		border-radius: 0px;
		padding: 3px 3px 3px 3em;
		top: 15px;
	}
	.switch_unit{
		width: 50px;
		right: 50px;
	}
	.switch_icon{
		right: 0px;
	}
	.win_version a, .switch_unit a {
		display: none;
	}
	.unit_icon {
		display: none;
	}
	.back_top {
		color: transparent; /* テキストを透明に */
	}
}
.back_top:hover, .win_version:hover, .switch_unit:hover {
	opacity: 1;
}
/*---------------------
  Index Page
---------------------*/
.index_header_box {
	height: 138px;
}
.index_header_box .head_title {
	height: 90px;
}
.head_bar {
	display: flex;
	height: 48px;
	justify-content: space-between;
	align-items: center;
}
.logo img {
	/*margin-left: 1em;*/
	height: 48px;
}
.logo_copy img {
	margin-right: 1em;
	height: 18px;
}
.top_title {
	background-color: var(--deepblue);
}
.top_title img {
	margin: auto;
	max-width: 100%;
	height: auto;
}
.index_massage {
	position: relative;
	text-align: center;
	margin-top: 10px;
	height: 70px;
	line-height: 70px;
}
.help_box {
	position: absolute;
	right: 15px;
	top: 0px;
	line-height: 1em;
}
.help_box span {
	display: block;
	font-size: 0.8em;
}
.help_box:hover {
	opacity: 0.8;
}
#site_operationLink{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.model_select {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	justify-content: flex-start;
	overflow: auto;
	overflow-y: auto;
	overflow-x: hidden;
}
.model_box {
	width: 290px;
	height: 220px;
	flex-shrink: 0;
	background-color: white;
	border: solid 1px var(--light_gray);
	margin: 0.3em;
	box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.22);
	padding: 1.5rem;
	-webkit-filter: brightness(97%) invert(0);
	filter: brightness(97%) invert(0);
}
.model_box:hover {
	-webkit-filter: brightness(100%) invert(0);
	filter: brightness(100%) invert(0);
	cursor: pointer; /* ホバー時に指の形のカーソルに変更 */
}
.model_box h2 {
	font-size: 20px;
	font-weight: 600;
	text-align: center;
}
.modex_box_image {
	width: 100%;
	height: 106px;
	text-align: center;
	padding-bottom: 0.5em;
	border-bottom: solid 1px var(--middle_gray);
	display: flex;
	align-items: flex-end;
}
.modex_box_image img {
	display: block;
	max-height: 106px;
}
.color_spec li {
	font-size: 12px;
	vertical-align: middle;
	line-height: 14px;
}
ul.color_spec {
	width: fit-content;
	padding-top: 0.5em;
	margin: auto;
}
.color_spec li {
	margin-bottom: 0.5em;
}
.color_spec li:nth-child(2) {
	margin-bottom: 0em;
}
li.icon_color::before {
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_color.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 14px;
	height: 14px;
	margin-right: 0.25em;
	vertical-align: middle;
}
li.icon_mono::before {
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_mono.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 14px;
	height: 14px;
	margin-right: 0.25em;
	vertical-align: middle;
}
@media screen and (max-width: 1000px) {
	.index_header_box {
		height: 118px;
	}
	.index_header_box .head_title {
	height: 70px;
	}
	.index_wrap {
		height: calc(100svh - 148px);
	}
	/*.top_title {
		margin-bottom: 2em;
	}*/
	.top_title img {
    width: auto;
    height: 70px;
	}
	.model_select {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.model_box {
		margin-top: 2em;
		margin-left: 1em;
		margin-right: 1em;
	}
}
/*---------------------
  Scroll Bar
---------------------*/
.pattern_L::-webkit-scrollbar, .pattern_R::-webkit-scrollbar, .op_view::-webkit-scrollbar, .memotab_textarea_inner::-webkit-scrollbar {
	background: var(--middle_gray);
	width: 10px;
}
.pattern_L::-webkit-scrollbar-thumb, .pattern_R::-webkit-scrollbar-thumb, .op_view::-webkit-scrollbar-thumb, .memotab_textarea_inner::-webkit-scrollbar-thumb {
	background-color: var(--white);
	border: solid 1px var(--middle_gray);
}
.pattern_L::-webkit-scrollbar-thumb:hover, .pattern_R::-webkit-scrollbar-thumb:hover, .op_view::-webkit-scrollbar-thumb:hover, .memotab_textarea_inner::-webkit-scrollbar-thumb:hover {
	background-color: var(--dark_gray);
}
/*---------------------
  Icons
---------------------*/
.ic_link {
	cursor: pointer;
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_link.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	margin-right: 0.25em;
	vertical-align: middle;
}
.win_info {
	cursor: pointer;
	margin-left: 0.25em;
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_info.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	margin-top: -5px;
}
.ic_link:hover, .win_info:hover {
	opacity: 0.8;
}
.op_view{
	padding-bottom:1.0em;
}
.op_view .win_info {
	margin-left: 0.2em;
}
.hint--bottom p{
	font-size: 8pt;
}
h4#hontaiOption_Required_title {
	font-size: 0.8em;
	color: var(--white);
	display: inline-block;
	padding: 2px 1em;
	background-color: var(--orange);
	border-radius: 1.2em;
	margin-bottom: 0.5em;
}
h4#hontaiOption_Option_title {
	font-size: 0.8em;
	color: var(--dark_gray);
	border: solid 1px var(--dark_gray);
	display: inline-block;
	padding: 2px 1em;
	border-radius: 1.2em;
	margin-bottom: 0.5em;
}
.ic_req {
	border: solid 1px var(--white);
	background-color: var(--white);
	color: var(--blue);
	font-size: 0.8em;
	font-weight: normal;
	padding: 1px 0.5em;
	margin-left: 0.5em;
}
.ic_arb {
	border: solid 1px var(--white);
	font-size: 0.8em;
	font-weight: normal;
	padding: 1px 0.5em;
	margin-left: 0.5em;
}
button img {
	display: inline-block;
	margin-right: 0.5em;
	vertical-align: middle;
}
.suboption_icon::after {
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_suboption_plus.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	margin-right: 5px;
	margin-top: -2px;
}
.suboption_icon_minus::after {
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_suboption_minus.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	margin-right: 5px;
	margin-top: -2px;
}
/*---------------------
  Option Page
---------------------*/
.option_wrap {
	display: flex;
}
.option_wrap > div {
	width: 100%;
	border: solid 1px var(--middle_gray);
	border-radius: 6px;
	padding: 1.2em 1.5em 1em 2em;
	margin-right: 1em;
}
.option_wrap > div:last-child {
	margin-right: 0;
}
.massage_area {
	max-width: 600px;
	margin: 2em auto 0 auto;
	background-color: var(--light_gray);
	border-radius: 6px;
}
.massage_area h2 {
	border-radius: 6px 6px 0 0;
	font-size: 20px;
	color: var(--white);
	background-color: var(--deepblue);
	padding: 0.5em 1em 0.3em 1em;
	text-align: center;
}
.massage_area p {
	padding: 1em;
}
.option_inner {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}
.option_inner ul {
	width: 280px; /* 3列 */
	flex-shrink: 0;
	border-right: solid 1px var(--dark_gray);
	padding: 0 15px;
	margin-bottom: 15px;
}
.option_inner ul:nth-of-type(3n) {
	border-right: none;
}
.option_wrap li, .option_inner li {
	font-size: 1.1rem;
	line-height: 1.2;
	margin-bottom: 0.5em;
	vertical-align: middle;
	position: relative;
}
.option_wrap li input[type=checkbox], .option_wrap li input[type=radio], .option_inner li input[type=checkbox], .option_inner li input[type=radio] {
	position: relative;
	width: 1.1rem;
	height: 1.1rem;
	vertical-align: middle;
	margin-right: 0.2em;
}
.option_inner .li {
	display: flex;
	align-items: flex-start;
}
.option_caution {
	margin-top: 0.5em;
}
.option_caution li {
	width: 100%;
	font-size: 0.9rem;
	line-height: 1.2;
	margin-bottom: 0.5em;
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_caution.svg");
	background-repeat: no-repeat;
	background-size: 18px;
	margin-right: 0.5em;
	vertical-align: middle;
	padding: 3px 0 0 23px
}
/*
.option_wrap li:hover, .option_inner li:hover {
	color: var(--blue);
}*/
.option_caution li:hover, .radio_set_title span {
	color: var(--text);
}
.radio_set {
	display: inline-block;
    vertical-align: top; /* 上端に配置 */
}
.radio_set_title {
	font-size: 10.5px;
	line-height: 1;
}
.radio_set_title span, .radio_set span {
	display: inline-block;
	width: 45px;
	text-align: center;
	vertical-align: bottom;
}
@media screen and (max-width: 970px) {
	.option_inner ul {
		width: 49%;
		border-right: none;
	}
	.option_inner ul:last-child {
		border-right: solid 1px var(--dark_gray);
	}
	.option_inner ul:nth-of-type(2n) {
		border-left: solid 1px var(--dark_gray);
		border-right: none;
	}
}
@media screen and (max-width: 767px) {
	.massage_area h2 {
		font-size: 18px;
	}
	.massage_area h2 span {
		display: block;
	}
	.option_wrap {
		display: block;
	}
	.option_wrap > div {
		margin-bottom: 0.5em;
	}
	.option_inner {
		flex-wrap: wrap;
	}
	.option_inner ul {
		width: 100%;
		flex-shrink: 0;
		border-right: none;
		border-left: none;
		padding: 0;
		border-bottom: dotted 1px var(--dark_gray);
	}
	.option_inner ul:nth-of-type(2n) {
		border-left: none;
	}
	.option_inner ul:last-child {
		border-right: none;
		border-bottom: none;
	}
}
/*---------------------
  Pattern Page
---------------------*/
.preview_wrap {
	height: 276px;
	display: flex;
	border-bottom: solid 4px var(--light_gray);
}
.preview_wrap.portrait  {
	height: 276px;
}
.preview_wrap.landscape  {
	height: 235px;
}
.pattern_wrap {
	display: flex;
	justify-content: space-between;
}
.pattern_L {
	width: calc(100% - 250px);
	height: calc(100svh - 458px);
	/*max-height: fit-content;*/
	overflow-y: auto;
	overflow-x: hidden;
	padding-bottom:2em;
}
.pattern_R {
	min-width: 250px;
	margin-left: 20px;
	height: calc(100svh - 458px);
	/*max-height: fit-content;*/
	overflow-y: auto;
	overflow-x: hidden;
	background-color: var(--light_gray);
}
.pattern_L.landscape,
.pattern_R.landscape {
	height: calc(100svh - 418px);
	/*max-height: fit-content;*/
}
.pattern_L.portrait {
	height: calc(100svh - 458px);
}
.pattern_R.portrait {
	/*height: calc(100svh - 458px);*/
	max-height: fit-content;
}
@media screen and (min-height: 1024px){
	.pattern_R {
		height: fit-content;
	}
}
.pattern_R_inner {
	padding: 1em;
}
.pattern_R hr {
	margin: 1em 0;
	border-color: var(--white);
}
.pattern_list_link img {
	display: inline-block;
	vertical-align: middle;
	margin: 0 2px;
}
.pattern_list_link:hover {
	background-color: var(--light_gray);
}

.pattern_list_link_firstPage{
}

.pattern_list_link_firstPage img {
	display: inline-block;
	vertical-align: middle;
	margin: 0 2px;
	margin-left: auto;
}
.pattern_list_link_firstPage:hover {
	background-color: var(--light_gray);
}
.info_exp{
    display: flex; 
    align-items: flex-start; /* 上に揃える */
}
.hosoku {
	font-size: 0.8em;
}
.bt_reset {
	background-image: url("../img/common/ic_reset.svg");
	background-repeat: no-repeat;
	background-position: 10px center;
	border: solid 1px var(--dark_gray);
	color: var(--dark_gray);
	border-radius: 1em;
	padding: 2px 1em 2px 2em;
}
.bt_reset:hover {
	background-color: var(--light_gray);
}
.title_with_title {
	display: flex;
	margin-bottom: 5px;
}
.title_with_title .bt_reset{
	margin-top: 2em;
	margin-left: 10px;
}
.op_view {
	overflow-y: auto;
	overflow-x: hidden;
	/*min-height: 200px;*/
	/*max-height: 350px;*/
	height: calc(100svh - 715px);
	margin-top: 1em;
	margin-left: 1.5em;
}
.portrait .op_view {
	height: fit-content;
}
@media screen and (max-height: 1025px){
	.landscape .op_view {
		height: fit-content;
		}
	.portrait .op_view {
		height: calc(100svh - 715px);
		}
}
.op_view ul {
	margin-left: 0.5em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.op_view_title {
	color: var(--blue);
	font-weight: bold;
	margin-top: 1em;
	font-size: 1.1em;
}
.op_view_title:first-child {
	margin-top: 0;
}
.op_view_title::before {
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_t01.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	margin-right: 5px;
	margin-top: -2px;
}
.op_view_title:nth-of-type(1)::before {
	background-image: url("../img/common/ic_t01.svg");
}
.op_view_title:nth-of-type(2)::before {
	background-image: url("../img/common/ic_t02.svg");
}
.op_view_title:nth-of-type(3)::before {
	background-image: url("../img/common/ic_t03.svg");
}
.op_view_title:nth-of-type(4)::before {
	background-image: url("../img/common/ic_t04.svg");
}
.op_view_title:nth-of-type(5)::before {
	background-image: url("../img/common/ic_t05.svg");
}
.preview_inner {
	width: 1100px;
	margin: auto;
	display: flex;
	height: 100%;
}
.main_view {
	position: relative;
	width: 100%;
	flex: 1;
	height: 100%;
}
.control_view {
	display: flex;
	height: 276px;
	height: 100%;
}
.control_tab {
	width: 30px;
	border-left: solid 1px var(--middle_gray);
	cursor: pointer;
	height: 100%;
}
.control_tab:before {
	display: block;
	background-image: url("../img/common/ic_arrow_right.svg"); 
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	height: 24px;
	margin-top: 125px;
	margin-left: 12px;
	cursor: pointer;
}
.control_tab.open:before {
	background-image: url("../img/common/ic_arrow_right.svg"); 
}
.control_tab.close:before {
	background-image: url("../img/common/ic_arrow_left.svg"); 
}
.control_inner{
	height: 100%;
}
.control_inner.v_open {
	/*width: 310px;*/
	padding-left: 1em;
}
.control_inner.v_close {
	display: none;
}
.control_inner h2 {
	font-size: 1rem;
	margin-top: 2em;
	font-weight: bold;
	color: var(--blue);
}
.control_inner.portrait h2 {
	margin-top: 2em;
}
.control_inner.landscape h2 {
	margin-top: 1em;
}
.control_inner h2::before {
	display: inline-block;
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 0.5em;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	/*margin-left: -5px;*/
	margin-top: -5px;
}
.control_inner h2:nth-of-type(1)::before {
	background-image: url("../img/common/ic_size.svg");
}
.control_inner h2:nth-of-type(2)::before {
	background-image: url("../img/common/ic_paper.svg");
}
.pattern_head {
	width: 255px;
	flex-shrink: 0;
}
.pattern_head p {
	background-color: var(--blue);
	height: 50px;
	color: white;
	padding-left: 4em;
	line-height: 50px;
	font-weight: bold;
	border-radius: 6px 0 0 6px;
	background-repeat: no-repeat;
	background-position: 0.7em center;
	font-size: 13px;
}
.pattern_head p.no01 {
	background-image: url("../img/common/title01.svg");
}
.pattern_head p.no02 {
	background-image: url("../img/common/title02.svg");
}
.pattern_head p.no03 {
	background-image: url("../img/common/title03.svg");
}
.pattern_head p.no04 {
	background-image: url("../img/common/title04.svg");
}
.pattern_head p.no05 {
	background-image: url("../img/common/title05.svg");
}
.suboption_box {
	border-top: dotted 1px var(--middle_gray);
}
.suboption_box button {
	margin-top: 0.5em;
	margin-left: 1em;
}
.suboption_box button:hover {
	background-color: var(--light_gray);
}
select.pattern_list {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	height: 50px;
	border: transparent;
	width: 100%;
	border-radius: 0px 6px 0px 0px;
	padding-left: 1em;
	background-color: transparent;
	background-image: url("../img/common/ic_select_arrow.svg");
	background-repeat: no-repeat;
	background-position: right 15px center;	
	padding-left: 1em;
	padding-right: 50px; /* 背景画像の幅に応じて調整 */
	text-overflow:ellipsis;
}
select.pattern_list:hover {
	background-color: var(--light_gray);
}
select.pattern_list:focus {
	outline: none;
	border-top: solid 1px var(--middle_gray);
	border-right: solid 1px var(--middle_gray);
}
.pattern_box {
	display: flex;
	margin-bottom: 1em;
}
.pattern_group {
	border: solid 1px var(--middle_gray);
	width: calc(100% - 0.2em);
	margin-right: 0.2em;
	border-radius: 0px 6px 6px 6px;
}
.sub_option_wrap {
	display: flex;
	margin: 0 1em;
	padding: 1em 0;
	border-bottom: dotted 1px #ccc;
}
.sub_option_wrap ul {
	margin-right: 2em;
	display: flex;
	flex-wrap: wrap;
	border-left: solid 2px var(--blue);
	width: calc(100% - 10em);
}
.sub_option_wrap li {
	margin-left: 1em;
	white-space: nowrap;
}
.sub_option_wrap li [class*=hint--] {
	white-space: normal;
}
.sub_option_wrap li:hover {
	cursor: default;
	/*color: var(--blue);*/
}
.sub_option_title {
	color: var(--blue);
	font-weight: bold;
	padding-right: 1em;
	width: 10em;
}
.pattern_massage {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 5px;
	height:45px;
}
@media screen and (max-width: 1000px) {
	.pattern_head {
		width: calc(100% - 0.2em);
	}
	.pattern_head p {
		border-radius: 6px 6px 0 0;
	}
	.pattern_box {
		display: block;
	}
	.pattern_group {
		border-radius: 0 0 6px 6px;
	}
	.hosoku {
		font-size: 0.7em;
	}

}
/*---------------------
  Pattern Page Off
---------------------*/
.pattern_box.off, .pattern_box.off .sub_option_title {
	color: var(--middle_gray);
	pointer-events: none;
}
.pattern_box.off .sub_option_wrap ul {
	border-left: solid 2px var(--middle_gray);
}
.sub_option_wrap.other ul, .pattern_box.off .sub_option_wrap.other ul {
	border: none;
}
.pattern_box.off .pattern_group {
	border: solid 1px var(--middle_gray);
	background-color: var(--light_gray);
}
.pattern_box.off .pattern_head p {
	background-color: var(--middle_gray);
}
.pattern_box.off option, .pattern_box.off select {
	border: transparent;
	background-color: var(--light_gray);
}
.pattern_box.off input[type=checkbox], .pattern_box.off input[type=radio] {
	opacity: 0.2;
}
.pattern_box.off .win_info, .pattern_box.off .ic_link, .pattern_box.off .suboption_icon, .pattern_box.off .suboption_icon_minus {
	opacity: 0.3;
}
.pattern_box.off .ic_req {
	color: var(--middle_gray);
}
/*---------------------
  Complete Page
---------------------*/
.complete_massage {
	text-align: center;
	margin-top: 1em;
}
.spec_area, .upper_area, .front_area, .upper_front_area {
	margin-top: 2em;
	display: flex;
}
.upper_front_area {
	align-items: flex-start;
}
.vertical-container{
	display: flex;
	flex-direction: column;
}
.lower{
	margin-top: 200px;
}
.spec_area {}
.com_option_box {
	display: flex;
}
.com_option_box ul {
	width: 50%;
}
.com_option_box li {
	background-color: var(--light_gray);
	border-bottom: solid 1px var(--white);
	border-right: solid 1px var(--white);
	padding: 0.5em 1em;
	/*cursor: pointer;*/
	font-size: 0.9em;
}
/*.com_option_box li:hover {
	background-color: var(--green);
	color: var(--white);
}**/
.spec_area h2 span, .upper_area h2 span, .front_area h2 span, .upper_front_area h2 span {
	background-color: var(--deepblue);
	display: inline-block;
	color: var(--white);
	font-size: 14px;
	font-weight: bold;
	padding: 3px 0;
	width: 80px;
	text-align: center;
	margin-right: 20px;
}
.upper_imagebox {
	width: calc(100% - 100px);
	height: 160px;
}
.front_imagebox {
	width: calc(100% - 100px);
	height: 230px;
}

.upper_front_imagebox {
	width:calc(100% - 100px);
	height:450px;
	background-color:#f0f0f0;
}

canvas#imageCanvas {
	width: 100%;
    height: 100%;
	outline: none; /* フォーカス時のアウトラインを無効化 */
	-webkit-tap-highlight-color: transparent; /* モバイルブラウザでのタップハイライトを無効化 */
}

.upper_imagebox img {
	height: 160px;
	width: auto;
	margin: auto;
}
.front_imagebox img {
	height: 230px;
	width: auto;
	margin: auto;
}
/* sakai
.spec_area {
	border-bottom: dotted 1px #ccc;
	padding-bottom: 1em;
}
*/
.spec_area{
  border-bottom: none;
  padding-bottom: 0;
}

table.spec_data {
	width: calc(100% - 100px);
	border-spacing: 2px;
	font-size: 10pt;
}
.spec_data th {
	width: 95px;
	background-color: var(--dark_gray);
	color: var(--white);
	padding: 0.3em;
}
.spec_data td {
	padding: 0.3em 0.3em 0.3em 0.5em;
	background-color: var(--light_gray);
	min-width: 120px;
}
.mobile_only_th{
	display: none;
}
.complete_navi {
	display: flex;
	justify-content: space-between;
	margin-top: 4em;
	margin-bottom: 4em;
}
.back_to_pattern button {
	width: 180px;
	background-image: url("../img/common/ic_arrowb_left.svg");
	background-position: 10px center;
	background-repeat: no-repeat;
}
.centernavi {
	width: calc(100% - 180px);
	display: flex;
	justify-content: center;
}
.centernavi > p {
	display: inline-block;
	width: 240px;
	margin: 0 5px auto 5px;
	text-align: center;
	vertical-align: top;
	line-height: 1;
}
@media screen and (max-width: 767px){
	table.spec_data {
		width: 100%;
	}
	.spec_data th, .spec_data td {
		display: block;
		width: 100%;
	}
	.mobile_only_th{
		display: block;
	}
	.spec_area, .upper_area, .front_area {
		margin-top: 2em;
		display: block;
	}
	.spec_area h2, .upper_area h2, .front_area h2 {
		margin-bottom: 0.5em;
	}
	.upper_imagebox, .front_imagebox {
		width: 100%;
		height: auto;
	}
	.front_imagebox img {
		height: auto;
	}
	.com_option_box {
		display: block;
	}
	.com_option_box ul {
		width: 100%;
	}
	.complete_navi {
		display: flex;
		flex-direction: column-reverse;
		margin-top: 2em;
		margin-bottom: 4em;
	}
	.centernavi {
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.centernavi > p {
		max-width: 200px;
	}
	.back_to_pattern {
		margin-top: 2em;
		text-align: center;
	}
}
/*---------------------
  View Area
---------------------*/
ul.bt_subinfo {
  width: calc(210px - 1em);
  margin: 2em 1em 0 0;
	display: flex;
	justify-content: space-between;
}
.bt_subinfo li {
	width: 70px;
	font-size: 12px;
	line-height: 1.1;
	color: var(--blue);
	text-align: center;
}
.bt_subinfo li:hover {
	opacity: 0.8;
}
.bt_subinfo li img {
	margin: auto;
	margin-bottom: 0.5em;
}
.main_view_image {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
}
canvas#mainCanvas {
	width: 100%;
    height: 100%;
}

.main_view_image img {
	display: block;
	margin: 0 auto;
}
.size_buton_area {
	position: absolute;
	right: 8px;
	top: 8px;
	z-index: 500;
	display: flex;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
}
.bt_resetSize{
	background-image: url("../img/common/ic_reset.svg");
	background-repeat: no-repeat;
	background-position: 6px center;
}
.bt_plus, .bt_minus, .bt_resetSize {
	margin: 0 3px; /* ボタン間のスペースを設定 */
	border: solid 1px var(--dark_gray);
	color: var(--dark_gray);
	text-align: center;
	font-weight: bold;
	background-color: var(--white);
	border-radius: 17px;
	width: 28px;
	height: 28px;
	font-size: 24px;
	line-height: 24px;
}
.bt_plus:hover, .bt_minus:hover {
	background-color: var(--light_gray);
}
@media screen and (max-width: 1100px) {
	.preview_inner {
		width: 100%;
	}
}
/*---------------------
  Mordal Window
---------------------*/
.mordal_window {
	display: none;
	position: absolute;
	width: 600px;
	height: 300px;
	background-color: white;
	border: solid 1px var(--dark_gray);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
/*---------------------
  UI Button
---------------------*/
.main_navi {
	margin-top: 4em;
	margin-bottom: 4em;
	text-align: center;
}
.ui_button {
	border: solid 1px var(--middle_gray);
	background-color: var(--middle_gray);
	padding: 15px;
	border-radius: 6px;
	font-size: 1.1em;
	width: 100%;
	max-width: 250px;
	box-sizing: border-box;
	text-align: center;
	margin-top: 0.5em;
	height:50px;
}
.ui_button span {
	display: block;
	font-size: 0.8em;
	line-height: 1;
}
.ui_button:hover {
	opacity: 0.7;
}
.pattern_R_inner .ui_button {
	padding: 12px 15px;
}
.ui_button.pre {
	background-color: var(--blue);
	border: solid 1px var(--blue);
	color: white;
	background-image: url("../img/common/ic_arroww_right.svg");
	background-repeat: no-repeat;
	background-position: right 10px center;
}
.ui_button.off {
	background-color: white;
	border: solid 1px var(--middle_gray);
	color: var(--middle_gray);
}
.ui_button.setting_off {
	background-color: white;
	border: solid 1px var(--middle_gray);
	text-align: left;
	padding-left: 50px;
	color: var(--middle_gray);
	background-image: url("../img/common/ic_setting_off.svg");
	background-repeat: no-repeat;
	background-position: right 45px center;
	display: flex;
    align-items: center;
}
.ui_button.setting_on {
	background-color: var(--orange);
	color: white;
	border: solid 1px var(--orange);
	text-align: left;
	padding-left: 50px;
	background-image: url("../img/common/ic_setting_on.svg");
	background-repeat: no-repeat;
	background-position: right 45px center;
	display: flex;
    align-items: center;
}
.ui_button.setting_long {
	background-color: var(--orange);
	color: white;
	border: solid 1px var(--orange);
	text-align: left;
	padding-left: 110px;
	padding-top: 10px;
	padding-bottom: 10px;
	background-image: url("../img/common/ic_setting_on.svg");
	background-repeat: no-repeat;
	background-position: 60px center;
}
.ui_button.print {
	background-color: var(--blue);
	border: solid 1px var(--blue);
	color: white;
	text-align: left;
	padding-left: 110px;
	padding-top: 10px;
	padding-bottom: 10px;
	background-image: url("../img/common/ic_print.svg");
	background-repeat: no-repeat;
	background-position: 70px center;
}
.ui_button.round {
	border-radius: 30px;
	background-color: var(--white);
	color: var(--black_gray);
	border: solid 1px var(--black_gray);
	background-image: url("../img/common/ic_arrowb_left.svg");
	background-repeat: no-repeat;
	background-position: 15px center;
}
.ui_button.back {
	background-image: url("../img/common/ic_arrowb_left.svg");
	background-repeat: no-repeat;
	background-position: 20px center;
}
@media screen and (max-width: 1000px) {
	.ui_button.setting_off {
		background-position: right 10px center;
	}
}
@media screen and (max-width: 767px) {
	.ui_button {
		width: 100%;
		max-width: 200px;
	}
	.ui_button.setting_long {
		padding-left: 70px;
		background-position: 15px center;
	}
	.ui_button.print {
		padding-left: 70px;
		background-position: 30px center;
	}
}
/*---------------------
  Memo Tab
---------------------*/
.memotabu_box {
	background-color: var(--white);
}
.memotab_box.open {
	position: fixed;
	top: 130px;
	left: 0;
	z-index: 999;
}
.memotab_box.close {
	position: fixed;
	top: 130px;
	left: -410px;
	z-index: 999;
}
.memotab_inner {
	position: relative;
	width: 450px;
}
.memotab_textarea {
	width: 410px;
	height: 260px;
	border-top: solid 1px var(--dark_gray);
	border-right: solid 1px var(--dark_gray);
	border-bottom: solid 1px var(--dark_gray);
	box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
	border-radius: 0px 0px 6px 0px;
	background-color: var(--white);
}
.memotab_textarea_inner {
	position: absolute;
	top: 30px;
	width: 380px;
	height: 220px;
	overflow-y: auto;
	flex-shrink: 0;
	padding: 1em 1.5em;
	font-size: 0.9em;
}
.memotab_textarea p {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: solid 1px var(--middle_gray);
	position: relative;
	padding-right: 1.5em;
}
.memotab_index {
	position: absolute;
	top: 0;
	right: 1px;
	width: 40px;
	height: 80px;
	flex-shrink: 0;
	background-color: var(--white);
	border-top: solid 1px var(--dark_gray);
	border-right: solid 1px var(--dark_gray);
	border-bottom: solid 1px var(--dark_gray);
	border-radius: 0 6px 6px 0;
	box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.22);
}
.memotab_index::after {
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_memotab.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 32px;
	height: 32px;
	margin-top: 25px;
	margin-left: 3px;
}

.memo_all_delete {
    cursor: pointer;
    position: absolute;
    top: 10px; 
    left: 10px; 
    padding: 5px 10px; /* パディングを調整 */
}

.memo_all_delete::after {
    display: inline-block;
    content: "";
    background-image: url("../img/common/ic_all_delete.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 16px;
    height: 16px;
    vertical-align: middle;
}
.memo_delete {
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 0;
}
.memo_delete::before {
	display: inline-block;
	content: "";
	background-image: url("../img/common/ic_delete.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 16px;
	height: 16px;
	margin-left: 3px;
	vertical-align: middle;
}

/*---------------------------------
  CSS for iPad mini
---------------------------------*/
/*@media screen and (max-height: 1134px) {
	.op_view {
		overflow-y: visible;
		overflow-x: hidden;
		height: max-content;
		margin-top: 1em;
		margin-left: 1.5em;
	}
	.control_view {
		display: flex;
		height: 240px;
	}
	.preview_wrap {
		height: 240px;
	}
	.main_view_image{
		height: 240px;
	}
	.control_inner h2 {
		margin-top: 1.2em;
	}
	ul.bt_subinfo {
		margin-top: 1em;
	}
	.pattern_L {
		height: calc(100svh - 525px);
	}
	.pattern_R {
		height: calc(100svh - 525px);
	}
}*/
/*---------------------------------
  Test View Area for iPad
---------------------------------*/
/*
.uptray_tab {
	display: none;
}
@media screen and (max-height: 820px) {
	.uptray_area {
		position: fixed;
		top: 82px;
		left: 0;
		right: 0;
		z-index: 900;
		background-color: var(--white);
	}
	.preview_wrap {
		height: 1px;
		overflow: hidden;
		border: none;
	}
	.preview_wrap.up_open {
		height: auto;
	}
	.uptray_tab {
		width: 100%;
		display: block;
		height: 30px;
		text-align: center;
		background-color: var(--white);
		border-radius: 0px 0px 6px 6px;
		border-bottom: solid 1px var(--middle_gray);
		border-left: solid 1px var(--middle_gray);
		border-right: solid 1px var(--middle_gray);
		background-image: url("../img/common/ic_arrow_down.svg");
		background-repeat: no-repeat;
		background-position: center;
		box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.22);
	}
	.pattern_L {
		height: auto;
		overflow-y: hidden;
		overflow-x: hidden;
	}
	.pattern_contents_wrap {
		margin-top: 60px;
	}
	.pattern_L {
		height: calc(100svh - 220px);
		overflow-y: auto;
		overflow-x: hidden;
	}
	.op_view {
		height: 100px;
	}
}
*/
/*---------------------------------
  Print mode
---------------------------------*/
@media print {
	*{
		-webkit-print-color-adjust: exact;
	}
	.complete_navi, .memotab_box, .back_top, .win_version, .switch_unit, .head_bar, .footer {
		display: none;
	}

	/* 余白を設定するためのスタイル */
    @page {
		margin-bottom: 20px;
    }

    li:last-child {
        margin-bottom: 10px; /* 最後のリストアイテムに余白を追加 */
    }

	.complete_massage{
		display: none;
	}
	.header_box {
		height: 50px;
	}
	#Site_title{
		display: block;
		position: relative;
		width: 100%;
		height: auto;
		background-color: var(--deepblue)!important;
	}
	.head_title a,.head_title .win_version, .switch_unit{
		display: none;
	}

	.contents_wrap {
		width: 95%;
		max-width: initial;
		overflow:visible;
	}

	.contents_scroll{
		overflow-y: visible;
		overflow-x: visible;
		height: 100%;
	}
	table.spec_data {
		width: 100%;
		font-size: small;
	}
	table.spec_data th, table.spec_data td{
		width: auto;
	}
	.spec_area, .upper_area, .front_area {
		margin-top: 2em;
		display: block;
	}
	.upper_front_area {
		margin-top: 2em;
		width: 100%;
	}
	.spec_area h2, .upper_area h2, .front_area h2, .upper_front_area h2 {
		margin-bottom: 0.5em;
	}
	.upper_imagebox, .front_imagebox {
		width: 100%;
		height: auto;
	}
	.upper_front_imagebox {
		position: relative;
		z-index: 1;
		height:auto;
		margin-right: 10px;
		background-color:#ffffff;
	}
	#imageCanvas {
		/*transform: scale(0.87);
		transform-origin: top left; /* 必要に応じて center などに変える */
		/* 余白や位置調整が必要なら以下を追加 */
		/* display: block; */
		/* margin: 0 auto; */
		width: 720px !important;
		height: 410px !important;
	}
	.vertical-container{
		position: absolute;
		z-index: 2;
	}
	.front_imagebox img {
		height: auto;
	}
	.com_option_box {
		display: block;
	}
	.com_option_box ul {
		width: 100%;
		margin-bottom: 20px;
	}
	.switch_unit_big{
		display: none;
	}
}

/**************************\
  Basic Modal Styles
\**************************/

#modal-1 {
    display: none;
  }
  
  #modal-1.is-open {
    display: block;
  }
  
  .modal {
    font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif;
  }
  
  .modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100000;
    background: rgba(0, 0, 0, 0);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .modal__container {
    background-color: #fff;
	border: 1px solid black;
    padding: 30px;
    margin-right: 20px;
    margin-left: 20px;
    max-width: 640px;
    max-height: 100svh;
    width: 100%;
    border-radius: 4px;
    overflow-y: auto;
    box-sizing: border-box;
  }
  
  .modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .modal__title {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.25;
    color: #00449e;
    box-sizing: border-box;
  }
  
  .modal__close {
    background: transparent;
    border: 0;
  }
  
  .modal__header .modal__close:before { content: "\2715"; }
  
  .modal__content {
    margin-top: 2rem;
    margin-bottom: 2rem;
    line-height: 1.5;
    color: rgba(0,0,0,.8);
  }
  
  .modal__btn {
    font-size: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #1B95E0;
    color: #fff;
    border-radius: 4px;
    border-style: none;
    border-width: 0;
    cursor: pointer;
    -webkit-appearance: button;
    text-transform: none;
    overflow: visible;
    line-height: 1.15;
    width: 100%;
    max-width: 320px;
    margin: 0;
    will-change: transform;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    transition: -webkit-transform .25s ease-out;
    transition: transform .25s ease-out;
    transition: transform .25s ease-out,-webkit-transform .25s ease-out;
  }
  
  .modal__btn:focus, .modal__btn:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  
  .modal__btn-primary {
    background-color: #00449e;
    color: #fff;
  }
  
  
  
  /**************************\
    Demo Animation Style
  \**************************/
  @keyframes mmfadeIn {
      from { opacity: 0; }
        to { opacity: 1; }
  }
  
  @keyframes mmfadeOut {
      from { opacity: 1; }
        to { opacity: 0; }
  }
  
  @keyframes mmslideIn {
    from { transform: translateY(15%); }
      to { transform: translateY(0); }
  }
  
  @keyframes mmslideOut {
      from { transform: translateY(0); }
      to { transform: translateY(-10%); }
  }
  
  .micromodal-slide {
    display: none;
  }
  
  .micromodal-slide.is-open {
    display: block;
  }
  
  .micromodal-slide[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .1s cubic-bezier(0.0, 0.0, 0.2, 1);
  }
  
  .micromodal-slide[aria-hidden="false"] .modal__container {
    animation: mmslideIn .1s cubic-bezier(0, 0, .2, 1);
  }
  
  .micromodal-slide[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .1s cubic-bezier(0.0, 0.0, 0.2, 1);
  }
  
  .micromodal-slide[aria-hidden="true"] .modal__container {
    animation: mmslideOut .1s cubic-bezier(0, 0, .2, 1);
  }
  
  .micromodal-slide .modal__container,
  .micromodal-slide .modal__overlay {
    will-change: transform;
  }

  h4.Required_title {
	font-size: 0.8em;
	color: var(--white);
	display: inline-block;
	padding: 2px 1em;
	background-color: var(--orange);
	border-radius: 1.2em;
	margin-bottom: 0.5em;
}
h4.Option_title {
	font-size: 0.8em;
	color: var(--dark_gray);
	border: solid 1px var(--dark_gray);
	display: inline-block;
	padding: 2px 1em;
	border-radius: 1.2em;
	margin-bottom: 0.5em;
}


.explanationImg {
	margin: auto;
    display: block;
}

#modal-3-title{
    background-image: url(../img/common/IntellisenseWarning.svg);
    background-repeat: no-repeat;
    background-size: 18px;
    margin-right: 0.5em;
    vertical-align: middle;
    padding: 0px 0 0 23px;
}

.micromodal-close{
	color: white;
    background-color: var(--blue);
    border: solid 1px var(--blue);
    margin-top: 20px;
    padding-top: 5px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 5px;
    border-radius: 1vh;
	display: block;
    margin-left: auto;
}

.micromodal-close:hover {
	color: white;
	background: lightblue;
	border: solid 1px lightblue;;
}

.regionBtn{
display: block;
text-align: center;
vertical-align: middle;
text-decoration: none;
width: calc(33% - 10px);
margin: 30px;
padding: 2rem;
font-size: medium;
font-weight: bold;
color: white;
background-color: var(--blue);
border: solid 1px var(--blue);
border-radius: 1vh;
transition: 0.2s;
height: auto;
}

.regionBtn:hover {
	color: white;
	background: lightblue;
	border: solid 1px lightblue;;
}

#modal-5-title{
    background-image: url(../img/common/ic_info.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    margin-right: 0.5em;
    vertical-align: middle;
    padding: 0px 0 0 23px;
}

#modal-4-content{
display: flex;
}

#regionModal_container{
 display: inline-table;
}

@media screen and (max-width: 750px) {
	#modal-4-content{
		display: block;
		justify-content: center;
	   }	   
	   #modal-4-content .regionBtn{
		width: 75%;
	   }
}




/* 選択オプションリスト 見出し行 */
.result-header{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 8px;
  align-items: center;
  margin: 12px 0;
}

/* 左ヘッダ：選択オプションリストタイトル */
#result-left-header{
  background: transparent;
  border: none;
  padding: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  color: #333;
}

/* 右：本体名＋アイコン */
#result-right-header{
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  justify-content: flex-start;
}
#result-right-header .main-title{
  font-weight: 600;
  white-space: nowrap;
}
#result-right-header .cell-icons{
  display: flex;
  gap: 6px;
}

/* アイコンサイズ（共通） */
.io{ 
	width: 18px;
	height: 18px; 
}

/* リスト行だけに“右端アイコンの絶対配置”を適用 */
.com_option_box li{ 
	position: relative; 
}
.com_option_box .cell-icons{
  position: absolute;
  right: .6rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 6px;
}

/* ==== 「選択オプションリスト」と「本体…」を2行に ==== */
@media (max-width: 640px) {

  /* 見出し行を縦積み */
  .result-header{
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 6px;
    align-items: start;
  }

  /* 右側（本体名＋アイコン）は左詰め・折り返し可 */
  #result-right-header{
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    width: 100%;
  }

  /* 本体タイトルは折り返しOKにしておく */
  #result-right-header .main-title{
    white-space: normal;
  }

  /* アイコンは横並び。数が多ければ次段に回る */
  #result-right-header .cell-icons{
    display: flex;
    flex-wrap: wrap;
    gap: 6px 6px;
  }
}








/* 仕様欄の電源コード・LAN */
.io_selector{
  width: calc(100% - 100px);
  margin-left: 100px;
  box-sizing: border-box;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  border-bottom: dotted 1px #ccc;
  padding-bottom: 1em;
  margin-top: .5em;
  margin-bottom: .5em;
}

.io_group{ 
	display:flex; 
	gap:12px; 
	flex-wrap:wrap; 
}
.io_item{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:6px 10px;
  border:1px solid #ddd; border-radius:6px; background:#fff;
}
.io_item input[type="checkbox"]{ 
	width:16px; 
	height:16px; 
}
.io_label{ 
	font-weight:700;
}
.io_count{ 
	opacity:.85; 
}
.io_link{ 
	white-space:nowrap; 
	text-decoration:underline; 
}

@media (max-width:640px){
	.io_selector{ 
		flex-wrap:wrap; 
	}
	.io_link{ 
		width:100%; 
	}
}
