@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Google Sans Regular'), local('GoogleSans-Regular'), url(/prdct/telecom/office/phone/common/font/GoogleSans-Regular.woff2) format('woff2');
}
.gsans {
  font-family: 'Google Sans', sans-serif;
}
.notosans {
	font-family: 'Noto Sans JP', sans-serif;
}
/* header */
.st-GlobalHeader {
	height: 85px;
}

@media screen and (max-width: 1023px) {
	.st-GlobalHeader {
		height: 65px;
	}
}

/* h1 */
.st-Title {
	font-size: 1.3rem;
}

@media (max-width: 1190px) {
	.st-Title {
		font-size: 1rem;
	}
	
}

/*icon*/
.ico_blank:after,
.ico_link:after {
	font-family: "template-iconfont";
	content:"\EA0A";
	display: inline-block;
	margin-left: 0.2em;
	vertical-align: baseline;
	line-height:0;
	font-size:1.5em;
	position:relative;
	bottom:-0.2em;
}
.ico_blank_2:after {
	font-family: "template-iconfont";
	content:"\EA0A";
	display: inline-block;
	margin-left: 10px;
	vertical-align: baseline;
	line-height:0;
	font-size:1.5em;
	position:relative;
	bottom:-0.2em;
}
.sp_display{
	display:none;
}
.mb0 {
	margin-bottom: 0px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mt0 {
	margin-top: 0px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.textlink {
	text-decoration: none;
	color: #333;
}
.withcap {
	margin: 0 auto 30px;
	display: table;
}
.withcap .cap {
	display: block;
	font-size: 80%;
	text-align: right;
}
.w100 {
	width: 100% !important;
}

/* ul, li */
.li-indent {
	list-style: none;
	padding-left: 0;
	text-align: left;
}
.li-indent li {
	padding-left: 1em;
	text-indent: -1em;
}

main .inner {
  max-width: 1150px;
  width: 95%;
  margin:0 auto;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}
/**共通ナビ**/
.navi_wrap {
	display: flex;
	justify-content: flex-end;
}

main ul.navi{
  padding-bottom: 0.5em;
  margin-bottom: 1.5em;
  padding-left: 0px;
  display: flex;
	align-items: center;
  margin-top: -43px;
  position: relative;
	width: auto;
}
@media (max-width: 1280px) {
  main ul.navi{
    margin-left: 35%;
    width: 70%;
  }
}
@media (max-width: 1170px) {
  main ul.navi{
		margin-left: 27%;
		width: 78%;
  }
}

@media (max-width: 1040px) {
  main ul.navi{
		margin: 0 auto;
		width: 100%;
  }
}

main ul.navi li{
  display:block;
  flex: auto;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
	margin-left: 10px;
}

main ul.navi li:first-child {
	margin-left: 0;
}

@media (max-width: 1280px) {
	main ul.navi li{
		font-size: 13px;
		margin-left: 5px;
	}
}

@media (max-width: 1025px) {
	main ul.navi li{
		margin-left: 2.2vw;
	}
}

main ul.navi li a {
	color: #000 !important;
	position: relative;
	text-decoration: none;
	color: inherit;
	padding: 0px 4px;
	border-radius: 5px;
	font-size: 14px;
	display: block;
	background-color: #fff;
}

@media (max-width: 1120px) {
	main ul.navi li a {
		font-size: 12px;
	}
}

main ul.navi li a::after {
	width: 0px;
	height: 0px;
	content: '';
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	position: relative;
	display: inline-block;
	margin-top: -0.2em;
	margin-left: 0.8em;
	vertical-align: middle;
	border-width: 4px 0 4px 5px;
	border-style: solid;
	border-color: transparent transparent transparent #1c2b56;
	font-size: 14px;
	padding-left: 0;
}

main ul.navi li a:hover{
  opacity: 0.8;
  transition: none !important;
}
main ul.navi li a.visited{
	color:#000 !important;
}
main ul.navi>li.is-info a {
	color: #fff !important;
	background: #1c2b56;
	padding: 0.3rem 0.7rem;
	border-radius: 5px;
}

main ul.navi>li.is-info a:after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	display: none;
}


/**メガメニュー**/
main ul.navi .navi_mega .navi_mega_menu {
  display: none;
  position: absolute;
  top: 25px;
  z-index: 3;
  right: 0;
  padding-top: 10px;
}
main ul.navi .navi_mega.active .navi_mega_menu {
  display: block;
}
main ul.navi .navi_mega .navi_mega_menu ul {
  display: flex;
  background: #fff;
}
main ul.navi .navi_mega .navi_mega_menu ul li figure {
  display: flex;
  align-items: center;
}
main ul.navi .navi_mega .navi_mega_menu ul li figure img {
  max-width: none;
}
main ul.navi .navi_mega .navi_mega_menu ul li figure figcaption {
  width: 100%;
}
main ul.navi .navi_mega .navi_mega_menu ul li a {
  color: #000;
  border: 1px solid #bebfc1;
  padding: 0;
}
main ul.navi .navi_mega .navi_mega_menu ul li a:hover {
  color: #df0522;
}
main ul.navi .navi_mega .navi_mega_menu ul li:nth-of-type(n+4) a {
  border-top: none;
}
main ul.navi .navi_mega .navi_mega_menu ul li + li a {
  border-left: 0;
}

/**コンセプトメニュー**/
main ul.navi .navi_concept .navi_concept_menu ul {
  flex-wrap: wrap;
  width: 842.5px;
  padding-left: 0;
}
main ul.navi .navi_concept .navi_concept_menu ul li {
  flex: inherit;
  width: 33.333333333%;
}
main ul.navi .navi_concept .navi_concept_menu ul li:last-of-type {
  flex: auto;
}

/**導入のヒントメニュー**/
main ul.navi .navi_hint .navi_hint_menu ul {
  width: 563px;
}
main ul.navi .navi_hint .navi_hint_menu ul li {
  flex: inherit;
  width: 50%;
}

@media screen and (max-width:900px){
  main ul.navi .navi_concept .navi_concept_menu ul {
    width: 730px;
  }
  main ul.navi .navi_hint .navi_hint_menu ul {
    width: 486.656px;
  }
}

/**ページ右お問い合わせボタン**/
main .contact_fixed a{
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  background: red;
  height: 31.5%;
  color: #fff !important;
  padding: 10px;
  margin: 0;
  height: 240px;
  text-align: center;
  z-index: 100;
  transition: 0.5s;
	position:fixed;
	right:0px;
}
/**ページ下部共通**/
main .bottom_area .banner{
	display:flex;
	justify-content:center;
	margin-bottom:3em;
	flex-wrap: wrap;
	padding:0px;
}
main .bottom_area .banner li{
	display:block;
  margin:0px!important;
  margin-bottom: 15px !important;
}
main .bottom_area .banner li a{
	transition-duration:0.3s;
	margin:0 1em;
}
main .bottom_area .banner li a:hover{
	opacity:0.7;
}


 @media (max-width: 769px) {
.withcap {
	margin: 0 auto 20px;
}
}
 @media screen and (min-width: 770px) {
.figTitle .icon {
	margin: 0px 0 0 0 !important;
}
.figTitle .new {
	vertical-align: top !important;
	margin: 5px 0 0 0 !important;
}
}
@media screen and (max-width: 769px) {
.figTitle .icon {
	margin: 0 0 10px 0 !important;
}
.figTitle .new {
	vertical-align: top !important;
	margin: 0 !important;
}
}


/* Info (H)　＋　News
-----------------------------------------------------------------*/

@media screen and (min-width: 770px) {
.infoBlock {
	max-width: 880px;
	margin: auto;
	padding: 30px;
	border: 2px solid #dcdcdc;
	border-radius: 10px;
	text-align: left;
	margin-bottom: 40px;
}
.infoInner {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.infoTitle {
	display: table-cell;
	width: 300px;
	border-right: 2px solid #dcdcdc;
	vertical-align: middle;
	font-size: 157%; /*22px*/
	text-align: center;
}
.infoBody {
	display: table-cell;
	padding-left: 40px;
	vertical-align: middle;
	font-size: 114%; /*16px*/
}
.infoBody ul {
	margin: 0;
	padding: 0;
}
.infoBody li {
	margin: 8px 0;
	list-style: none;
}
.infoBody a {
	color: inherit;
	text-decoration: underline;
}
.infoBody a:hover {
	text-decoration: none;
}
}
 @media screen and (max-width: 769px) {
.infoBlock {
	margin: auto;
	padding: 15px 30px;
	border: 2px solid #dcdcdc;
	border-radius: 10px;
	text-align: left;
	margin: 0 10px 20px;
}
.infoTitle {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 2px solid #dcdcdc;
	text-align: center;
}
.infoBody {
	font-size: 12px;
}
.infoBody ul {
	margin: 0;
	padding: 0;
}
.infoBody li {
	margin: 8px 0;
	list-style: none;
}
.infoBody a {
	color: inherit;
	text-decoration: underline !important;
}
}



/* table */

@media screen and (min-width: 770px) {
table.common {
	width: 100%;
	border: 2px solid #e8e8e8;
	border-collapse: collapse;
	text-align: left;
	margin-bottom: 10px
}
table.common th,  table.common td {
	text-align: left;
	padding: 20px 30px;
	border-bottom: 1px dotted #b9b9b9;
	font-size: 15px;
	font-weight: normal
}
table.common th {
	background: #f3f3f3;
	white-space: nowrap
}
table.common th+th {
	border-left: 1px dotted #b9b9b9
}
table.common p {
	margin: 0 !important
}
}
 @media screen and (max-width: 769px) {
table.common {
	width: 100%;
	border: 2px solid #e8e8e8;
	border-collapse: collapse;
	text-align: left;
	margin-bottom: 10px
}
table.common th, table.common td {
	padding: 10px;
	border-bottom: 1px dotted #b9b9b9;
	font-size: 12px;
	font-weight: normal
}
table.common th {
	background: #f3f3f3
}
table.common th + th {
	border-left: 1px dotted #b9b9b9
}
table.common p {
	margin: 0 !important
}
}



/* btn */

@media screen and (min-width: 770px) {
.btn2 {
	display: inline-block;
	min-width: 470px;
	padding: 20px 40px;
	background: #eaeaea;
	color: #000 !important;
	font-size: 128.57%; /*18px*/
	letter-spacing: 0.1em;
	text-decoration: none;
}
.btn2:hover {
	opacity: 0.7;
	text-decoration: none;
}
.btn2[class*="ico_"] {
	position: relative;
}
.btn2[class*="ico_download"]:after {
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 45px;
	height: 39px;
}
.btn2.ico_download_exe:after {
	background: url(/prdct/telecom/office/phone/common/img/ico_download_exe.png) no-repeat;
}
.btn2.ico_download_pdf:after {
	background: url(/prdct/telecom/office/phone/common/img/ico_download_pdf.png) no-repeat;
}
.btn2[class*="ico_arw"]: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;
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
}
.spec table thead th {
	white-space: normal;
}
.spec table td + td {
	border-left: 1px dotted #b9b9b9;
}
 @media screen and (max-width: 420px) {
.sp_scroll {
	width: 100%;
	overflow: auto;
}
.sp_scroll table {
	width: 420px;
}
} 

 @media screen and (max-width: 769px) {
.btn2 {
	display: block;
	padding: 15px 20px;
	background: #eaeaea;
	color: #000 !important;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}
.btn2:hover {
	opacity: 0.7;
	text-decoration: none;
}
.btn2[class*="ico_"] {
	position: relative;
}
.btn2[class*="ico_download"]:after {
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 30px;
	height: 30px;
}
.btn2.ico_download_exe:after {
	background: url(/prdct/telecom/office/phone/common/img/ico_download_exe.png) no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.btn2.ico_download_pdf:after {
	background: url(/prdct/telecom/office/phone/common/img/ico_download_pdf.png) no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.btn2[class*="ico_arw"]:after {
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
}
@media screen and (max-width: 340px) {
	.btn2[class*="ico_download"]:after {
		position: absolute;
		right: 15px;
		top: 30px;
		bottom: 0;
		margin: auto;
		content: "";
		display: block;
		width: 30px;
		height: 30px;
	}}
.pdf_link {
	text-decoration: none;
	position: relative;
	display: inline-block;
	max-width: 600px;
	width: 100%;
	padding: 20px 40px;
	background: #eaeaea;
	color: #000 !important;
	letter-spacing: 0.1em;
	margin-bottom: 20px
}
.pdf_link:after {
	background: url(/prdct/telecom/office/phone/common/img/ico_download_pdf.png) no-repeat;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 45px;
	height: 39px
}
.zip_link {
	text-decoration: none;
	position: relative;
	display: inline-block;
	max-width: 600px;
	width: 100%;
	padding: 20px 40px;
	background: #eaeaea;
	color: #000 !important;
	letter-spacing: 0.1em;
	margin-bottom: 20px
}
.zip_link:after {
	background: url(/prdct/telecom/office/phone/common/img/ico_download_zip.png) no-repeat;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 45px;
	height: 39px
}
.jpg_link {
	text-decoration: none;
	position: relative;
	display: inline-block;
	max-width: 600px;
	width: 100%;
	padding: 20px 40px;
	background: #eaeaea;
	color: #000 !important;
	letter-spacing: 0.1em;
	margin-bottom: 20px
}
.jpg_link:after {
	background: url(/prdct/telecom/office/phone/common/img/ico_download_jpg.png) no-repeat;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 45px;
	height: 39px
}
.none_link {
	text-decoration: none;
	position: relative;
	display: inline-block;
	max-width: 600px;
	width: 100%;
	padding: 20px 40px;
	background: #eaeaea;
	color: #000 !important;
	letter-spacing: 0.1em;
	margin-bottom: 20px
}
.none_link:after {
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 45px;
	height: 39px
}
.none_link.ico_blank:after {
  font-family: "template-iconfont";
  content:"\EA0A";
  display: inline-block;
  margin-left: 0.2em;
  vertical-align: baseline;
  line-height:0;
  font-size:1.5em;
  position:relative;
  bottom:-0.2em;
  right: auto;
  top: auto;
  width: auto;
  height: auto;
}
.exe_link {
	text-decoration: none;
	position: relative;
	display: inline-block;
	max-width: 600px;
	width: 100%;
	padding: 20px 40px;
	background: #eaeaea;
	color: #000 !important;
	letter-spacing: 0.1em;
	margin-bottom: 20px
}
.exe_link:after {
	background: url(/prdct/telecom/office/phone/common/img/ico_download_exe.png) no-repeat;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 45px;
	height: 39px
}

/* NEWS */

@media screen and (min-width: 770px) {
a {
	text-decoration: none;
}
.block {
	margin-bottom: 50px;
	text-align: center;
}
.info .block {
  text-align: left;
}
.blockTitle {
	margin-bottom: 40px;/*font-size: 185.7%; */
}
.blockTitle h2 {
	font-size: 26px;
	font-weight: normal;
}
.lineup .newsList {
	max-width: 880px;
	margin: 0 auto;
	margin-bottom: 110px;
	text-align: center;
}
.newsTopics {
	text-align: left;
	font-size: 114%; /*16px*/
}
.newsTopics dl {
	border-bottom: 1px solid #ccc;
}
.newsTopics dt {
	clear: left;
	float: left;
	width: 190px;
	padding: 10px 0;
	border-top: 1px solid #ccc;
}
.newsTopics dd {
	overflow: hidden;
	padding: 10px 0;
	border-top: 1px solid #ccc;
}
.newsTopics dt:first-of-type,  .newsTopics dd:first-of-type {
	border-top: none;
}
}
 @media screen and (max-width: 769px) {
a {
	text-decoration: none;
}
.block {
	margin-bottom: 40px;
	text-align: center;
}
.info .block {
  text-align: left;
}
.blockTitle {
	margin-bottom: 15px;
	font-size: 16px;
}
.blockTitle H2 {
	font-size: 16px;
}
.newsList {
	margin-bottom: 60px;
	text-align: center;
	padding:0 15px;
}
.info .newsList {
	margin-bottom: 0;
	padding:0;
}
.newsTopics {
	text-align: left;
	font-size: 12px;
}
.newsTopics dl {
	border-bottom: 1px solid #ccc;
}
.newsTopics dt {
	padding: 0 10px 0 10px;
	border-top: 1px solid #ccc;
	font-weight: bold;
}
.newsTopics dd {
	padding: 0 0 10px 0;
	margin-left: 5px;
}
.newsTopics dt:first-of-type,  .newsTopics dd:first-of-type {
	border-top: none;
}
.newsTopics dt:first-of-type {
	padding-top: 0;
}
}


@media screen and (max-width: 767px) {
html,body{
	overflow-x:hidden;
}
.sp_display{
	display:block;
}
.pc_display{
	display:none;
}
h1.st-Title {
    margin: 1em 0;
    font-size:4.5vw;
}
.st-GlobalSiteNav_SubAreaInner {
	display:block!important;
}	
/**　ナビゲーション　**/
main .navi_wrap{
	position:relative;
}
main .navi_wrap .toggle_sp {
    display: block;
    position: absolute;
    right: 0vw;
    top: -11.5vw;
    width: 8vw;
    height: 8vw;
    cursor: pointer;
	overflow:hidden;
	background-color:#4f4f4f;
}

main .navi_wrap .toggle_sp span {
    display: block;
    position: absolute;
    width: 4vw;
    border-bottom: solid 0.6vw #FFF;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 2vw;
}

main .navi_wrap .toggle_sp span:nth-child(1) {
    top: 2vw;
}

main .navi_wrap .toggle_sp span:nth-child(2) {
    top: 3.7vw;
}

main .navi_wrap .toggle_sp span:nth-child(3) {
    top: 5.3vw;
}
main .navi_wrap .toggle_sp.active span:nth-child(1) {
    top: 3.7vw;
    left: 2vw;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
main .navi_wrap .toggle_sp.active span:nth-child(2),
main .navi_wrap .toggle_sp.active span:nth-child(3) {
    top: 3.7vw;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
main ul.navi {
  padding-bottom: 0em;
  margin-bottom: 0em;
  border-bottom: 0px solid #e6e2e2;
	width:calc(100vw + 15px);
	margin-left:-15px;
	height:0px;
	transition-duration:0.5s;
	position:absolute;
	left:0px;
	top:-3.5vw;
	overflow:hidden;
	display:block;
  z-index:1;
  margin-top: 0;
}
main ul.navi.active{
	height:44vw;
}

main ul.navi li a:after {
    display: none!important;
}
main ul.navi li {
    width:100%;
	background-color:#4f4f4f;
}
main ul.navi li a {
    padding: 1em 1em;
    color: #FFF!important;
	background-color:#4f4f4f;
    border-left: none;
    text-align: left;
	border-bottom:1px solid;
	font-size:4vw;
}
main ul.navi li:last-child a {
    border-right: none;
	border-bottom:none;
}

/**ページ下部お問い合わせ**/
main .contact_fixed {
    top: auto;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    left: 0;
    bottom: 0;
	position:fixed;
	height:16vw;
	padding:3vw;
	z-index:1000;
	display:none;
}
main .contact_fixed a {
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: horizontal-tb;
  writing-mode: horizontal-tb;
  height: auto;
  padding: 0.5em  0em;
  margin: 0;
  position: realtive;
  right: auto;
	font-size:4vw;
	width:82vw;
  z-index:1;
  display: block;
}
#st-GlobalNav_Area.open{
	height:100vh;
	display:block!important;
	top:0px!important;
}
main .navi_wrap .contact_fixed .toggle_sp {
    right: 3vw;
    top: 4vw;
	z-index:1000;
}

/**ページ下部共通**/
.bottom_area {
	text-align: center;
	box-sizing: border-box;
	margin: 0 10px;
}

main .bottom_area .banner li a{
    margin-bottom: 20px;
	display:block;
}
	 
	 
}

@media (min-width: 768px) {
	.top_button {
		display:none;
	}
	/**ページ下部共通**/
	main .bottom_area .banner{
		display:flex;
		justify-content:center;
		margin-bottom:3em;
		flex-wrap: wrap;
		padding:0px;
	}
	main .bottom_area .banner li{
		display:block;
		margin:0px!important;
		margin-bottom: 15px !important;
		list-style: none;
	}
	main .bottom_area .banner li a{
		transition-duration:0.3s;
		margin:0 5px;
	}
	main .bottom_area .banner li a:hover{
		opacity:0.7;
	}
}

@media (max-width: 768px) {
	#phone a.return_btn {
		display: none!important;
	}
	.top_button {
		margin-bottom:30px;
	}

	a.return_top {
		display: block;
		margin: 30px auto;
		text-align: center;
		color: #333!important;
		border-radius: 5px;
		border: 1px solid #999;
		width: 95%;
		padding: 10px;
		position: relative;
		font-size: 16px;
		text-decoration: none;
	}
	a.return_top:after{
		position: absolute;
		right: 15px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.top_button a.return_top:hover{
		opacity: 0.7;
	}
	/**ページ下部共通**/
	main .bottom_area .banner{
		display: flex;
		justify-content: space-between;
		margin-bottom: 0;
	}
	main .bottom_area .banner li{
		display: block;
		width: 46%;
		margin: 0 2% 15px 2%!important;
	}
	main .bottom_area .banner li a{
		transition-duration: 0.3s;
		margin: 0;
	}
	main .bottom_area .banner li a:hover{
		opacity: 0.7;
	}

	.bottom_area .banner li a img { 
		height: auto!important;
		width: 100%!important;
		margin-bottom: 0.5em!important;
		vertical-align: middle;
		padding: 0 10px;
	}
}

/* bottom お問い合わせ&サポート  ===================== */
.bottom_contact-support {
	max-width: 1150px;
	margin: 100px auto 50px;
}

.bottom_contact-support .bottom_contact-support-wrap {
	width: 100%;
	padding: 50px 20px 60px;
	background-color: #F3F3F3;
}

.bottom_contact-support .bottom_contact-support-wrap h3 {
	margin-bottom: 0!important;
}

.bottom_contact-support h3 {
	color: #1C2C56!important;
	font-size: 24px!important;
	font-weight: normal!important;
	text-align: center!important;
	display: block!important;
	padding: 0!important;
	border-top: none!important;
	border-bottom: none!important;
}

.bottom_contact-support .bottom_contact-support-btns {
	width: 100%;
	gap: 20px;
	padding: 0;
	margin: 40px 0 0;
	justify-content: center;
}

.bottom_contact-support li {
	width: 370px;
	height: 84px;
	margin-bottom: 0;
	display: table;
	text-align: center;
	position: relative;
}

.bottom_contact-support .bottom_contact-support-btn {
	color: #333;
	position: relative;
	padding: 0 30px 0 80px;
	text-align: left;
	background-color: #fff;
	vertical-align: middle;
	display: table-cell;
	font-size: 20px;
}

.bottom_contact-support .bottom_contact-support-btn::before {
	content: "";
	position: absolute;
	top: 0;
	left: 20px;
	bottom: 0;
	width: 50px;
	height: 50px;
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
}


.bottom_contact-support .bottom_contact-support-btn::after {
	content: '';
	border-top: 3px solid #1C2C56;
	border-right: 3px solid #1C2C56;
	transform: rotate(45deg);
	width: 12px;
	height: 12px;
	position: absolute;
	top: 0;
	right: 17px;
	bottom: 0;
	margin: auto 0;
}


@media screen and (min-width: 768px) and (max-width: 1024px) {
	.bottom_contact-support {
			padding: 30px 0;
	}
}

@media screen and (max-width: 768px) {
	.bottom_contact-support h3 {
			font-size: 19px;
	}

	.bottom_contact-support {
		margin: 35px auto 60px;
	}

	.bottom_contact-support .bottom_contact-support-wrap {
		width: 100%;
		padding: 35px 35px 40px;
}

	.bottom_contact-support li + li {
			margin-top: 12px;
	}

	.bottom_contact-support li {
			width: 100%;
			height: 70px;
			margin-bottom: 0 !important;
	}

	.bottom_contact-support-wrap .flexbox{
		margin: 40px 0 0!important;
	}

	.bottom_contact-support .bottom_contact-support-btns {
		display: block;
	}

	.bottom_contact-support .bottom_contact-support-btn {
			padding: 0 20px 0 60px;
			font-size: 16px;
	}

	.bottom_contact-support .bottom_contact-support-btn::before {
			left: 15px;
			width: 40px;
			height: 40px;
	}

	.bottom_contact-support .bottom_contact-support-btn::after {
			right: 12px;
	}
}

@media screen and (min-width: 769px) {
	.bottom_contact-support-wrap .flexbox{
		display: flex;
		flex-wrap: wrap;
	}
}

/* お問い合わせサイドボタンの非表示化 */
main .contact_fixed,
main .contact_fixed a {
	display: none!important;
}

/* フローティングメニュー共通設定 ------------------------------------------------------*/

/* メニューの基本設定 */
.floatmenu {
	position: fixed;	/* 位置固定 */
	z-index: 1000;		/* 表示優先度 */
	right: -320px;		/* メニュー表示位置 */
	bottom: 0;
}

.floatmenu a:hover {
	opacity: 0.7;
}

.floatmenu-button {
	position: relative;
}

/* アイコン画像の大きさ */
.floatmenu img {
	height: 160px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
}

/* ボタン設定 */
.floatmenu-icon {
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	background: #fff;
	padding: 5px;
	border: 2px solid #1C2C56;
}

/* ボタン内テキスト設定 */
.floatmenu-text {
	display: flex;
	justify-content: center;
	font-weight: bold;
	color: #1C2C56;
	width: 100%;
}

/* PCサイズ表示設定 ----------------------------------------------------------------*/
@media screen and (min-width: 768px){
	.sp_display {
		display: none!important;
	}

	/* メニューの表示位置 */
	.floatmenu {
		top: 108px;
	}
	/* ボタンアイコン表示エリア */
	.floatmenu_contents {
		position: relative;
		left: -318px;	/* アイコン表示位置 */
	}
}

/* SPサイズ表示設定 ----------------------------------------------------------------*/
@media screen and (max-width: 767px){
	/* メニューの表示設定 */
	.floatmenu {
		right: 0;
		width: 100%;
		padding: 5px 10px;
		background: rgba(0, 0, 0, 0.5);
	}
	.floatmenu_contents {
		display: flex;
		justify-content: flex-start;
	}
	.floatmenu-button {
		width: 30%;
		margin-right: 1%;
	}
	.floatmenu-icon {
		padding: 0;
	}
	.floatmenu img {
		height: 50px;
		width: 50px;
	}
	/* ボタン内テキストサイズ */
	.floatmenu-text {
		font-size: 10px;
	}
}

/* モバイル版フローティングメニューのハンバーガーメニュー表示ボタン */
@media screen and (max-width: 767px) {
	main .navi_wrap .floatmenu .toggle_sp {
		display: block;
		position: relative;
		right: -0.1em;
		top: 16px;
		width: 40px;
		height: 40px;
		cursor: pointer;
		overflow: hidden;
		background-color: #4f4f4f;
	}
	main .navi_wrap .floatmenu .toggle_sp span {
		display: block;
		position: relative;
		border-bottom: solid 3px #fff;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		width: 24px;
		left: 7.5px;
	}
	main .navi_wrap .floatmenu .toggle_sp span:nth-child(1) {
		top: 8px;
	}
	main .navi_wrap .floatmenu .toggle_sp span:nth-child(2) {
		top: 16px;
	}
	main .navi_wrap .floatmenu .toggle_sp span:nth-child(3) {
		top: 24px;
	}
	main .navi_wrap .floatmenu .toggle_sp.active span:nth-child(1) {
		top: 18px;
		left: 7.5px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	main .navi_wrap .floatmenu .toggle_sp.active span:nth-child(2) ,
	main .navi_wrap .floatmenu .toggle_sp.active span:nth-child(3){
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	main .navi_wrap .floatmenu .toggle_sp.active span:nth-child(2) {
		top: 15px;
	}
	main .navi_wrap .floatmenu .toggle_sp.active span:nth-child(3) {
		top: 12px;
	}
}