img {
	width: auto;
}
.cf {
	*zoom: 1
}
.cf:after {
	content: "";
	display: block;
	clear: both
}
.clear, hr {
	clear: both
}
.fll {
	float: left
}
.flr {
	float: right
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.tac {
	text-align: center !important
}
.tar {
	text-align: right !important
}
.tal {
	text-align: left !important
}
.caution {
	text-indent: -1em;
	padding-left: 1em
}
.outBound {
	display: block;
	padding: 1ex;
	border: solid 2px #666666;
	border-radius: 1ex;
	clear: both;
	text-align: center;
	color: #666666;
	text-decoration: none
}
.outBound img {
	float: right;
	margin: 1em 0 0 0
}
.btn {
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 20px 40px;
	margin-bottom: 50px;
	background: #eaeaea;
	color: #000 !important;
	font-size: 120%;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-align: center;
	border-radius: 50px;
	-webkit-transition: 0.5s;
	transition: 0.5s
}
.btn:hover {
	-webkit-transition: 0.5s;
	transition: 0.5s;
	opacity: 0.5
}
.btn:after {
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}
.btn.detail {
	text-align: center;
	margin-bottom: 5%;
	display: inline-block;
	width: 37%;
	background: url(/prdct/telecom/office/phone/lineup/img/common/arrow.gif) right 60px center no-repeat;
	position: relative;
}
.btn.detail a {
	display: block;
	border: 1px solid #bebfc1;
	color: #333333;
	padding: 5% 8%;
	width: 100%;
	font-size: 120%;
}
.btn.detail:after {
	display: none;
}
.over-flow-visible {
	overflow: visible;
}

/*Q&A
---------------------------------*/
.faq .faqList h3 {
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: normal;
	margin-top: 40px;
	position: relative;
}
.faq .faqList h3 span {
	position: absolute;
	top: -65.91px;
}
.faq .faqList {
	font-size: 18px;
	line-height: 1.2;
	text-align: left;
	margin-bottom: 60px;
}
.faq .faqList dt {
	position: relative;
	margin-bottom: 2px;
	padding: 30px 100px;
	background: #f6f6f6;
	cursor: pointer;
}
.faq .faqList dd {
	position: relative;
	margin-left: 0;
	margin-bottom: 10px;
	padding: 30px 30px 30px 100px;
	background: #edf4fb;
}
.faq .faqList dt .icon, .faq .faqList dd .icon {
	position: absolute;
	left: 30px;
	top: 20px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 22px;
	border-radius: 5px;
}
.faq .faqList dt .icon {
	background-color: #999;
}
.faq .faqList dd .icon {
	background-color: #829bb8;
}
.faq .faqList dt:after {
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	background: url(/prdct/telecom/office/phone/lineup/img/common/ico_open_arw.png) no-repeat;
	background-size: cover;
}
.faq .faqList dt.op:after {
	transform: scale(1, -1);
}
@media (min-width: 767px) {
	.faq .anchor {
		position: sticky;
	}
}
.faq .anchor {
	/*position: sticky;*/
	top: 0;
	z-index: 2;
	background-color: #fff;
	padding: 10px 0 !important;
}

main a {
	transition: .5s;
}
main a:hover {
	opacity: 0.7;
}
#products_content .p_inr_col2 div a.outBound.ico_blank::after {
	content: "\EA08";
	display: inline-block;
	margin-left: 5px;
}
#products_content .p_inr_col1 a.outBound.ico_blank::after {
	content: "\EA08";
	display: inline-block;
	margin-left: 5px;
}
#products_content .p_box .p_inr_col1+a.outBound.ico_blank::after {
	content: "\EA08";
	display: inline-block;
	margin-left: 5px;
}
.infoBlock .infoInner .infoBody .ico_blank::after {
	content: "\EA0A";
}

@media (max-width: 767px) {
	.btn.detail {
		width: 100%;
	}
	#products_menus {
		position: relative;
		width: 100%;
		padding: 10px 10px 0 10px;
		background: #e8e8e8
	}
	#products_menus ul {
		padding-left: 0
	}
	#products_menus li {
		display: inline-block;
		margin-right: 10px;
		margin-bottom: 10px
	}
	#products_menus li:last-child {
		margin-right: 0
	}
	#products_menus li a {
		padding: 5px 10px;
		background-color: #fff;
		display: block;
		text-decoration: none;
		font-size: 12px;
		color: #000;
		border-radius: 20px
	}
	#products_menus li .current {
		color: #fff;
		background-color: #818181
	}
	#products_content {
		width: 100%;
		text-align: left;
		padding: 50px 0
	}
	#products_content .sp {
		display: inline-block
	}
	#products_content .pc {
		display: none !important
	}
	#products_content p {
		font-size: 15px
	}
	#products_content small {
		font-size: 12px
	}
	#products_content iframe {
		max-width: 100%
	}
	#products_content .youtube {
		position: relative;
		width: 100%;
		height:0px;
		padding-top: 56.25%;
	}
	#products_content .youtube iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	#products_content .p_box {
		margin-bottom: 30px;
		padding: 0 15px
	}
	#products_content .p_box h2 {
		font-size: 18px;
		margin-bottom: 20px;
		text-align: center
	}
	#products_content .p_box h3 {
		font-size: 16px;
		margin-bottom: 20px;
		text-align: center
	}
	#products_content .p_box h4 {
		font-size: 15px;
		margin-bottom: 10px;
		text-align: center
	}
	#products_content .p_box p {
		margin-bottom: 20px
	}
	#products_content .p_box .figTitle {
		border-bottom: 2px solid #e8e8e8
	}
	#products_content .p_inr_col1 div {
		width: 100%
	}
	#products_content .p_inr_col1 div img {
		margin-bottom: 20px
	}
	#products_content .p_inr_col2 div {
		width: 100%
	}
	#products_content .p_inr_col2 div img {
		margin-bottom: 10px
	}
	#products_content .p_inr_col2 div:last-child {
		margin-top: 30px
	}
	#products_content .p_inr_col3 div + div {
		margin-top: 30px;
	}
	.spec table {
		width: 100%;
		border: 2px solid #e8e8e8;
		border-collapse: collapse;
		text-align: left;
		margin-bottom: 10px
	}
	.spec table th, .spec table td {
		padding: 10px;
		border-top: 1px dotted #b9b9b9;
		font-size: 12px;
		font-weight: normal;
	}
	.spec table th {
		background: #f3f3f3
	}
	.spec table p {
		margin: 0 !important
	}
	.spec .caution {
		margin-bottom: 0 !important
	}
	.faq ul {
		padding-left: 0
	}
	.faq ul li {
		list-style-type: none
	}
	.faq .question_ttl_list {
		margin-bottom: 50px
	}
	.faq .question_ttl_list li {
		text-align: left;
		border-left: 5px solid #f15264;
		margin-bottom: 15px
	}
	.faq .question_ttl_list li:before {
		content: '';
		margin-right: 10px;
		float: left
	}
	.faq .question_ttl_list li a {
		display: block;
		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 10px;
		color: #000;
		text-decoration: none;
		font-size: 90%;
		font-weight: bold
	}
	.faq .question_cont_list li {
		text-align: left;
		margin-bottom: 60px
	}
	.faq .question_cont_list li div:first-child {
		padding-left: 10px;
		border-bottom: 2px solid #969696;
		border-left: 5px solid #969696;
		padding-top: 5px;
		padding-bottom: 5px;
		margin-bottom: 10px;
		font-size: 105%;
		font-weight: bold
	}
	.faq .question_cont_list li div:last-child {
		padding-left: 10px;
		font-size: 90%
	}
	#kyv44 .aer_icon {
		position: absolute;
		left: 60%;
		bottom: 19%;
		width: 19%;
	}
	#kyv44 .aer_icon img {
		width: 100%;
	}

	/*Q&A
  ---------------------------------*/
	.faq .anchor {
		margin: -10px 0 10px!important;
	}
	.faq .anchor > div {
		display: flex;
		justify-content: space-between;
	}
	.faq .anchor > div > div {
		width: 32%;
	}
	.faq .anchor > div > div .outBound {
		display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 3.5vw;
	}
	.faq .anchor > div > div:nth-of-type(n+2) {
		margin-top: 0 !important;
	}
	.faq .faqList h3 {
    font-size: 16px;
    margin-bottom: 20px;
    margin-top: 20px;
	}
	.faq .faqList h3 span {
		top: calc(-11.28266667vw + -20px);
	}
  .faq .faqList {
    font-size: 12px;
    line-height: 1.4;
    margin-bottom: 20px;
  }
  .faq .faqList img {
    max-width: 100% !important;
    width: auto !important;
    height: auto;
  }
  .faq .faqList dt {
    margin-bottom: 5px;
    padding: 10px 40px;
    background: #f6f6f6;
    cursor: pointer;
  }
  .faq .faqList dd {
    padding: 10px 10px 10px 40px;
  }
  .faq .faqList dd p {
    font-size: 12px !important;
  }
  .faq .faqList dt .icon,
  .faq .faqList dd .icon {
    left: 10px;
    top: 10px;
    width: 20px;
    height: 20px;
    font-size: 14px;
    border-radius: 3px;
  }
  .faq .faqList dt:after {
    width: 20px;
    height: 20px;
  }
}

@media (min-width: 768px) {
	#products_menus {
		position: relative;
		width: 100%;
		max-width: 1200px;
		padding: 0px 15px;
		margin: 0 auto;
	}
	#products_menus ul {
		display: flex;
		justify-content: flex-start;
		padding: 0px;
		flex-wrap: wrap;
	}
	#products_menus li {
		display: block;
	}
	#products_menus li:last-child {
		margin-right: 0
	}
	#products_menus li a {
		display: block;
		text-decoration: none;
		font-size: 16px;
		color: #FFF;
		border-right: 1px solid;
		border-bottom: 1px solid;
		text-align: center;
		padding: 0.5em 1em;
		background: #999999;
	}
	#products_menus li .current {
		color: #FFF;
		text-decoration: underline;
		background: #000;
		text-decoration: none;
	}
	#products_content {
		max-width: 1200px;
		width: 100%;
		text-align: center;
		margin: 0 auto;
		padding: 50px 15px 100px
	}
	#products_content .sp {
		display: none !important
	}
	#products_content .pc {
		display: inline-block
	}
	#products_content p {
		font-size: 16px
	}
	#products_content small {
		font-size: 14px
	}
	#products_content .p_box {
		margin-bottom: 60px
	}
	#products_content .p_box h2 {
		font-size: 26px;
		margin-bottom: 40px;
		font-weight: normal
	}
	#products_content .p_box h3 {
		font-size: 20px;
		margin-bottom: 20px;
		font-weight: normal
	}
	#products_content .p_box h4 {
		font-size: 18px;
		margin-bottom: 10px;
		font-weight: normal
	}
	#products_content .p_box p {
		margin-bottom: 30px
	}
	#products_content .p_box .red {
		color: #f00;
	}
	#products_content .p_box .figTitle {
		border-bottom: 2px solid #e8e8e8;
		padding-bottom: 20px
	}
	#products_content .p_inr_col1 div {
		display: inline-block;
		vertical-align: top;
		width: 100%
	}
	#products_content .p_inr_col1 div>img {
		margin-bottom: 40px
	}
	#products_content .p_inr_col2 {
		display: flex;
    justify-content: space-between;
		flex-wrap: wrap;
	}
	#products_content .p_inr_col2 > div {
		text-align: center;
		display: inline-block;
		vertical-align: top;
		width: 48%;
	}
	#products_content .p_inr_col2 div.ms {
		width: 100%;
		margin-top: 20px;
	}
	#products_content .p_inr_col2 div img {
		margin-bottom: 10px
	}
	#products_content .p_inr_col3 div {
		display: inline-block;
		vertical-align: top;
		width: 31%
	}
	#products_content .p_inr_col3 div:nth-child(2) {
		margin: 0 2%
	}
	#products_content .p_inr_col3 .p_inr_col2 {
		width: 100%;
		margin: 0
	}
	#products_content .p_inr_col3 .p_inr_col2 div {
		width: 46% !important
	}
	#products_content .p_inr_col4 > div {
		display: inline-block;
		vertical-align: top;
		width: 23%;
		margin-left: 2%
	}
	#products_content .p_inr_col4 > div:first-child {
		margin-left: 0
	}
	#products_content .p_inr_col4 > div:nth-child(4n+1) {
		margin-left: 0
	}
	#products_content .p_inr_col6 div {
		display: inline-block;
		vertical-align: top;
		width: 16%;
		margin-left: 1%
	}
	#products_content .p_inr_col6 div:first-child {
		margin-left: 0
	}
	#products_content .p_inr_col6 div:nth-child(6n+1) {
		margin-left: 0
	}
	#products_content .contact a {
		display: inline-block;
		margin: 0 20px;
		-webkit-transition: 0.5s;
		transition: 0.5s
	}
	#products_content .contact a:hover {
		-webkit-transition: 0.5s;
		transition: 0.5s;
		opacity: 0.5
	}
	.spec table {
		width: 100%;
		border: 2px solid #e8e8e8;
		border-collapse: collapse;
		text-align: left;
		margin-bottom: 10px
	}
	.spec table th, .spec table td {
		text-align: left;
		padding: 20px 30px;
		border-top: 1px dotted #b9b9b9;
		font-size: 16px;
		font-weight: normal
	}
	.spec table th {
		background: #f3f3f3;
		white-space: nowrap
	}
	.spec table p {
		margin: 0 !important
	}
	.spec .caution {
		margin-bottom: 0 !important
	}
	.faq ul li {
		list-style-type: none
	}
	.faq .question_ttl_list {
		margin-bottom: 50px
	}
	.faq .question_ttl_list li {
		text-align: left;
		border-left: 5px solid #f15264;
		margin-bottom: 15px
	}
	.faq .question_ttl_list li:before {
		content: '';
		margin-right: 10px;
		float: left
	}
	.faq .question_ttl_list li a {
		display: block;
		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 10px;
		color: #000;
		text-decoration: none;
		font-size: 90%;
		font-weight: bold;
		-webkit-transition: 0.5s;
		transition: 0.5s
	}
	.faq .question_ttl_list li a:hover {
		-webkit-transition: 0.5s;
		transition: 0.5s;
		opacity: 0.5
	}
	.faq .question_cont_list li {
		text-align: left;
		margin-bottom: 60px
	}
	.faq .question_cont_list li div:first-child {
		padding-left: 20px;
		border-bottom: 2px solid #969696;
		border-left: 5px solid #969696;
		padding-bottom: 5px;
		padding-top: 5px;
		margin-bottom: 10px;
		font-size: 120%;
		font-weight: bold
	}
	.faq .question_cont_list li div:last-child {
		padding-left: 20px
	}
	#kyv44 .aer_icon {
		position: absolute;
		left: 60%;
		bottom: 20%;
		width: 20%;
	}
	#kyv44 .aer_icon img {
		width: 100%;
	}
}
/* PC表示ここまで */

.spec table {
	border-collapse: separate;
	border-spacing: 0;
}
.spec table thead th {
	border-bottom: 1px dotted #b9b9b9;
}
.spec table thead th+th {
	border-left: 1px dotted #b9b9b9;
}
.spec table tr:first-child th, .spec table tr:first-child td {
	border-top: none;
}
.spec table th[rowspan] {
	border-right: 1px dotted #b9b9b9
}
#products_content .p_box .figTitle img {
	height: 60px;
}
@media screen and (max-width:769px) {
	.cautionBlock {
		margin: 0 0px;
		padding: 15px;
		border: 2px solid #dcdcdc;
		border-radius: 20px;
		text-align: left;
	}
	.cautionTitle {
		vertical-align: middle;
		text-align: center;
		font-size: 22px;
	}
	.cautionTitle img {
		width: 35px !important;
		margin-bottom: 10px;
		vertical-align: middle;
	}
	.cautionBody {
		vertical-align: middle;
	}
	.cautionBody p {
		margin: 0 !important;
	}
	.cautionBody strong {
		font-weight: normal;
	}
	.cautionText {
		color: #c11a1a;
		text-align: left;
	}
}
@media print, screen and (min-width:770px) {
	.cautionBlock {
		padding: 20px 30px;
		border: 4px solid #dcdcdc;
		border-radius: 20px;
		text-align: left;
	}
	.cautionInner {
		display: table;
		table-layout: fixed;
		width: 100%;
	}
	.cautionTitle {
		display: table-cell;
		width: 170px;
		border-right: 2px solid #dcdcdc;
		vertical-align: middle;
		font-size: 157%;
		/*22px*/
	}
	.cautionTitle img {
		margin-right: 10px;
		vertical-align: middle;
	}
	.cautionBody {
		display: table-cell;
		padding-left: 30px;
		vertical-align: middle;
		font-size: 114%;
		/*16px*/
	}
	.cautionBody p {
		margin: 0 !important;
	}
	.cautionText {
		color: #c11a1a;
		text-align: left;
	}
}
@media screen and (min-width: 768px) and (max-width: 1150px) {
	#products_menus li a {
		font-size: 1.4vw;
	}
}
@media print, screen and (max-width:767px) {
	#products_content .p_inr_col2 {
		display: block;
	}
}