@charset "utf-8";

.pc-only { display: none; }
.sp-only { display: block; }

body {
	min-width: 0;
	-webkit-text-size-adjust: 100%;
}
img {
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
	width:auto;
}

p#pageTop {
	width: 50px;
}

/* ======================
ヘッダー
====================== */
header {
	padding: 12px 20px 8px 15px;
	min-width: 0;
}
header .inner {
	height: auto;
	width: 100%;
}
header .logoBox {
	height: 60px;
	display: table;
	width: 100%;
}
header .logoBox h1 {
	display: table-cell;
	vertical-align: middle;
	float: none;
	width: 34.5%;
}
header .logoBox div.info {
	display: table-cell;
	vertical-align: bottom;
	float: none;
	text-align: right;
	width: 55.5%;
}
header .logoBox p.tel {
	font-size: 13px;
	line-height: 1.0;
	padding: 0 10px 0 0;
}
header .logoBox p.tel i {
	width: 25px;
}
header .logoBox div.spMenu {
	display: table-cell;
	vertical-align: middle;
}
header.fixed {
	position: fixed;
	top: 0;
	left: auto;
	width: auto;
}
header.fixed {
	box-sizing: border-box;
	left: auto;
	width: auto;
}
/* ======================
ナビ
====================== */
nav {
	margin: 0 auto 5px;
	min-width: 0;
	width: 100%;
}
nav ol.sp-only {
	background: url(../img/sp/menu02.png) no-repeat 94% top;
	background-size: 11px 8px;
	display: none;
	overflow: hidden;
	position: fixed;
	top: 72px;
	padding: 8px 0 0;
	right: 20px;
	width: 62.5%;
	z-index: 102;
}
nav ol li {
	background: #cdcdcd;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #4b4b4b;
	float: none;
	font-size: 17px;
}
nav ol li:first-child {
	border-top: none;
}
nav ol li a {
	display: block;
	padding: 5% 15%;
}
nav ol li a:hover {
	text-decoration: none;
}

@media (max-width: 480px) {
	header .logoBox { height: 50px; }
	nav ol.sp-only { top: 62px; }
}
@media (max-width: 380px) {
	header .logoBox { height: 40px; }
	nav ol.sp-only { top: 52px; }
}
nav.fixed {
	width: auto;
}
/* ======================
VS
====================== */
#vs {
	background: none;
	height: auto;
	margin-top: 80px;
}
#vs .inner {
	height: auto;
	position: relative;
	width: 100%;
}
#vs .inner p {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
	position: absolute;
	top: 40%;
	left: 4%;
}
@media (max-width: 530px) {
	#vs .inner p { top: 43%; left: 2%; }
}
@media (max-width: 480px) {
	#vs { margin-top: 70px; }
	#vs .inner p { font-size: 15px; }
}
@media (max-width: 420px) {
	#vs .inner p { top: 45%; left: 1%; font-size: 14px; }
}
@media (max-width: 380px) {
	#vs { margin-top: 60px; }
	#vs .inner p { top: 50%; font-size: 12px; }
}

/* ======================
セクション
====================== */
section {
	box-sizing: border-box;
	width: 100%;
}
section .inner {
	width: 100%;
}
section h2 {
	font-size: 22px;
	padding: 15px 0 4px;
}
section h2 span {
	letter-spacing: 24px;
}
section#anc01 h2 {
	border-color: #004f8d;
	color: #004f8d;
}
section#anc01 ul {
	padding: 0 8px;
	margin: 21px 0 10px;
	overflow: hidden;
}
section#anc01 ul li {
	width: 48%;
	padding: 0 0 12px;
}
section#anc01 ul li.fcol {
	padding: 0 0 12px;
}
section#anc01 ul li:nth-child(2n) {
	float: right;
	width: 48%;
}
section#anc02 {
	padding: 0 3px;
}
section#anc02 h2 {
	margin: 0 0 15px;
}
section#anc02 .col02 {
	margin: 0 auto 24px;
	width: 86%;
}
section#anc02 .col02 .l-col {
	float: none;
	width: 100%;
	margin: 0 0 15px;
}
section#anc02 .col02 .l-col h3 {
	font-size: 20px;
	padding: 0 0 10px;
}
section#anc02 .col02 .l-col h3 br {
	display: none;
}
section#anc02 .col02 .l-col p {
	font-size: 13px;
}
section#anc02 .col02 .r-col {
	float: none;
	width: 100%;
}
section#anc02 .col02 .r-col p.caption {
	font-size: 15px;
}
section#anc02 .caseBox {
	padding: 5px 0 10px;
}
section#anc02 .caseBox h4 {
	font-size: 15px;
	padding: 0 0 8px;
}
section#anc02 .caseBox h4.youto {
	font-size: 18px;
	padding: 0 0 22px;
}
section#anc02 .caseBox p.ttl {
	font-size: 12px;
}
section#anc02 .caseBox ul {
	padding: 0 8px;
	overflow: hidden;
}
section#anc02 .caseBox ul li , section#anc02 .caseBox ul li.fcol {
	padding: 0 3px 11px 3px;
	width: 48%;
}
section#anc03 {
	padding: 0 3px;
}
section#anc03 .movBox {
	padding: 0 5px 20px;
}
section#anc03 .movBox p.ttl {
	font-size: 12px;
	margin: 12px 8px 4px;
}
section#anc03 .movBox p.mov {
	position: relative;
	height: 0;
	padding: 30px 0 56.25%;
	overflow: hidden;
}
section#anc03 .movBox p.mov iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
section#anc04 {
	padding: 0 3px;
}
section#anc04 .listBox {
	margin: 0 auto;
	padding: 9px 0 12px;
	width: 100%;
}
section#anc04 .listBox ul {
	padding: 0 0 0 3px;
	overflow: hidden;
}
section#anc04 .listBox ul li {
	float: none;
	padding: 0 0 7px;
}
section#anc04 .listBox ul li.fcol {
	float: none;
}
section#anc05 {
	padding: 0 3px;
}
section#anc05 h2 {
	padding: 25px 0 4px;
}
section#anc05 .tableBox {
	padding: 12px 8px 0;
}
section#anc05 .col02 {
	padding: 0;
}
section#anc05 .col02 .l-col,
section#anc05 .col02 .r-col {
	float: none;
	padding: 0 0 16px;
	width: 100%;
}
section#anc05 h3 {
	font-size: 12px;
}
section#anc05 table {
	font-size: 10px;
	width: 100%;
}
section#anc05 table th {
	width: 24%;
}
section#anc05 table th.ht2 {
	height: auto;
}
section#anc06 {
	padding: 0 3px;
}
section#anc06 p {
	padding: 8px 0 10px;
}

/* ======================
フッター
====================== */
footer {
	border-bottom: 15px solid #014f8d;
}
footer .inner {
	margin: 0 auto;
	width: 100%;
}
footer .col02 {
	padding: 15px 8px 8px;
	box-sizing: border-box;
	width: 100%;
}
footer .col02 .l-col,
footer .col02 .r-col {
	display: table-cell;
	vertical-align: bottom;
}
footer .col02 .l-col {
	width: 66%;
}
footer .col02 .l-col p {
	padding: 0;
}
footer .col02 .l-col .vtxt {
	font-size: 14px;
	padding: 0 0 10px;
}
footer .col02 .l-col .vname {
	font-size: 11px;
	padding: 0 0 5px;
}
footer .col02 .l-col .vtel {
	font-size: 19px;
}
footer .col02 .l-col .vtel i {
	background: url(../img/sp/icon01.png) no-repeat left center;
	height: 20px;
	width: 28px;
}
footer .col02 .r-col {
	width: 34%;
}
footer p.copyr {
	font-size: 9px;
	padding: 0 8px 5px;
	text-align: right;
}

header .logoBox p.copy {
	font-size: 86%;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 10px 0 0;
	clear: both;
}
section#anc02 .softBox h4 {
	font-size: 18px;
	padding: 0 0 22px;
}

section#anc07 {
	padding: 0 3px;
}
section#anc07 h2 {
	margin: 0 0 15px;
}
section#anc07 .col02 {
	margin: 0 auto 24px;
	width: 86%;
}
section#anc07 .col02 .l-col {
	float: none;
	width: 100%;
	margin: 0 0 15px;
}
section#anc07 .col02 .l-col h3 {
	font-size: 20px;
	padding: 0 0 10px;
}
section#anc07 .col02 .l-col h3 br {
	display: none;
}
section#anc07 .col02 .l-col p {
	font-size: 13px;
}
section#anc07 .col02 .r-col {
	float: none;
	width: 100%;
}
section#anc07 .col02 .r-col p {
	font-size: 13px;
}
section#anc07 .col02 .r-col p.caption {
	font-size: 15px;
}
section#anc07 .caseBox {
	padding: 5px 0 10px;
}
section#anc07 .caseBox h4 {
	font-size: 15px;
	padding: 0 0 8px;
}
section#anc07 .caseBox h4.youto {
	font-size: 18px;
	padding: 0 0 22px;
}
section#anc07 .caseBox p.ttl {
	font-size: 12px;
}
section#anc07 .caseBox ul {
	padding: 0 8px;
	overflow: hidden;
}
section#anc07 .caseBox ul li , section#anc07 .caseBox ul li.fcol {
	padding: 0 3px 11px 3px;
	width: 48%;
}
section#anc07 .softBox h4 {
	font-size: 18px;
	padding: 0 0 22px;
}

section#anc08 h2 {
	border-color: #004f8d;
	color: #004f8d;
}
section#anc08 ul {
	padding: 0 8px;
	margin: 21px 0 10px;
	overflow: hidden;
}
section#anc08 ul li {
	width: 95%;
	padding: 0 0 12px;
}
section#anc08 ul li.fcol {
	padding: 0 0 12px;
}
/*section#anc08 ul li:nth-child(2n) {
	float: right;
	width: 95%;
}*/


/* ======================
スライド
====================== */

div.slide {
	width: auto;
	margin: 80px auto 0;
}

div.story {
	margin-bottom: 50px;
	padding-bottom: 50px;
}
div.story h3 {
	font-size: 20px;
	margin: 30px 0 20px;
	border-bottom: solid 1px #BBB;
	line-height: 1.8em;
}
div.story p {
	font-size: 16px;
	margin: 20px 0;
	line-height: 2em;
}
div.story01 {
	width: auto;
	margin: 30px auto;
}
div.story01 img {
	margin-bottom: 20px;
}
div.story02 {
	width: auto;
	margin: 30px auto;
}
div.story02 img {
	margin: 10px 10px;
}
p.center {
	text-align: center;
}
p.download {
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	margin: 20px auto;
}
p.download a {
	text-decoration: underline;
	color: #000;
}
div.solar {
}

div#youtube h2 {
	font-size: 26px !important;
}
div#lte h2 {
	font-size: 26px !important;
}

div.box {
	margin: 30px 20px;
}
div.box p {
	font-size: 16px;
	line-height: 1.8em;
	margin: 30px 0;
}
div.box h3 {
	font-size: 24px;
}

div.ai {
	margin: 30px 0;
}
div.ai div {
	width: auto;
}
div.ai div p {
	text-align: center;
	font-size: 18px;
}

div.news {
	width: auto;
	margin: 30px auto;
}
div.news p {
	font-size: 16px;
	margin: 20px 0px;
}
p.news_title {
	background-color: #0061C1;
	color: #FFF;
	text-align: center;
	font-size: 20px !important;
	padding: 10px 0;
}

section.text h2 span {
	letter-spacing: 0px !important;
}



div.enduser {
	width: auto;
	margin: 40px auto;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
}
div.enduser img {
	width: 25%;
	margin: 20px 10px;
}



div.ai2310_wrapper {
	margin: 30px 10px;
}
div.ai2310_wrapper div {
	width: 314px;
	border: solid 1px #DDD;
	text-align: center;
	margin: 10px auto;
	padding-bottom: 10px;
}
div.ai2310_wrapper div p {
	font-weight: bold;
	margin: 10px auto;
}
div.ai2310_last {
	color: #FFF;
	background-color: #2f5597;
	padding-top: 50px;
}


div.scene_wrapper {
	margin: 30px auto;
}
div.scene_wrapper iframe {
	margin: 10px auto;
}
div.scene_wrapper img {
	margin: 10px auto;
}
/* ------------------------------
 テーブル
------------------------------ */

div.simcard_table {
	width: auto;
	margin: 5px 5px 0 0;
}
div.simcard_table p {
	margin: 15px 0;
	line-height: 1.7em;
	font-size: 0.9em;
}

div.simcard_table table {
	width: 100%;
	margin: 0 auto;
	border-top: solid 1px #aaa;
	border-left: solid 1px #aaa;
	border-collapse: collapse;
	font-size: 0.9em;
}
div.simcard_table table th {
	border-right: solid 1px #aaa;
	border-bottom: solid 1px #aaa;
	padding: 5px 5px;
	background-color: #daecff;
}
div.simcard_table table td {
	border-right: solid 1px #aaa;
	border-bottom: solid 1px #aaa;
	padding: 7px 5px;
}
div.simcard_table table td a {
	text-decoration: underline;
}
th.simcard_table_top {
	background-color: #000 !important;
	color: #FFF;
	font-size: 1.2em;
	font-weight: bold;
}
td.simcard_table_td {
	border-right: solid 1px #FFF !important;
}

div.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
div.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}


div.comment {
	margin-right: 10px;
	margin-left: 10px;
}
div.comment p {
	margin: 20px 20px;
	line-height: 1.7em;
	font-size: 1.3em;
}