@charset "shift_jis";
/*------------------------------
	index.css
------------------------------*/
.contents .fs10 {
	font-size: 10px;
	font-size: 1.0rem;
}

.contentsInr {
	margin-top: 0;
	margin-bottom: 80px;
	color: #333;
}

/*	structure
------------------------------*/
/*-- section --*/
.sectionsWrapper {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.sectionsWrapper img {
	vertical-align: top;
}
.section {
	width: 100%;
	overflow: hidden;
	color: #fff;
}
.sectionInr {
	width: 950px;
	height: 100vh;
	min-height: 900px;
	margin: 0 auto;
	position: relative;
}
.section.bgFixed {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
}

/*-- nav --*/
.sectionNav {
	position: fixed;
	right: 20px;
	bottom: 50%;
	transform: translateY(50%);
	z-index: 10;
}
.sectionNavBullets li {
	padding: 10px 0;
	position: relative;
}
.sectionNavBullets .content {
	display: inline-block;
	padding: 2px 34px 0 8px;
	background: rgba(177,0,0,0.1);
	position: absolute;
	right: -10px;
	top: 50%;
	transform: translateY(-50%);
	color: #b10000;
	font-weight: bold;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: all ease 0.4s;
}
.sectionNavBullets .bullet {
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 14px;
	background-color: #b10000;
	position: relative;
	opacity: 0.15;
	transition: all ease 0.4s;
}
.sectionNavBullets a:hover .content {
	opacity: 1.0;
}
.sectionNavBullets a:hover .bullet {
	opacity: 0.7;
}
.sectionNavBullets li.isWhite .content {
	background: rgba(0,0,0,0.3);
	color: #fff;
}
.sectionNavBullets li.isWhite .bullet {
	background-color: #fff;
}
.sectionNavBullets li.isCurrent .bullet {
	opacity: 1.0;
}

/*	component
------------------------------*/
.vmUnit {
	display: table;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
	min-height: 900px;
}
.vmUnit_device {
	/*display: table-cell;*/
	vertical-align: middle;
}
.vmUnit_content {
	box-sizing: border-box;
	/*display: table-cell;*/
	vertical-align: middle;
	width: 640px;
	width: 660px;
}
.vmUnit_device + .vmUnit_content {
	padding-left: 85px;
	padding-left: 55px;
	padding-left: 35px;
	padding-right: 0;
}

.deviceUnit {
	position: relative;
}
.deviceUnit .mock {
}
.deviceUnit .screen,
.deviceUnit .anime {
	/*width: 298px;*/
	position: absolute;
	top: 82px;
	left: 20px;
}

/*.section.fuji .deviceUnit .screen,
.section.gate .deviceUnit .screen{
	left: 20px;
}*/
/*.deviceUnit .screen {
	max-height: 467px;
}*/
.deviceUnit .image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.contentUnit .lead {
	margin-top: 40px;
	line-height: 2.0;
	text-align: justify;
	font-size: 16px;
}
.contentUnit .link {
	margin-top: 30px;
}

.ghostBtn {
	box-sizing: border-box;
	display: inline-block;
	padding: 7px 51px 6px;
	border: 1px solid #fff;
	color: inherit;
	font-size: 16px;
	position: relative;
	overflow: hidden;
}
.ghostBtn::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	background: rgba(255,255,255,0.3);
	border-radius: 150px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
}
.ghostBtn:hover {
	text-decoration: none;
}
.ghostBtn:hover::after {
	animation: ripple 0.8s;
}
@keyframes ripple {
	50% {
		opacity: 1;
	}
	100% {
		width: 300px;
		height: 300px;
	}
}

.downloadBtns {
	letter-spacing: -0.4em;
	text-align: center;
}
.downloadBtns > li {
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	margin: 0 10px;
}

.modelList {
	overflow: hidden;
}
.modelList > dt {
	float: left;
}
.modelList > dd {
	margin: 0 0 5px 100px;
	font-weight: bold;
}
.modelList > dd:last-child {
	margin-bottom: 0;
}

a.bnrEffect {
	display: inline-block;
	background-color: #fff;
}
a.bnrEffect > img {
	transition: opacity ease 0.4s;
}
a.bnrEffect:hover > img {
	opacity: 0.7;
}

.noticeBox {
	box-sizing: border-box;
	width: 520px;
	padding: 10px 15px;
	border: 1px solid #b10000;
	background-color: #fff;
	color: #b10000;
	position: absolute;
	top: 40px;
	right: 0;
	z-index: 10;
}

/*	layout
------------------------------*/
/*-- first --*/
.first .sectionInr {
	max-height: 900px;
}
.first .deviceElms {
	position: absolute;
	left: 0;
	top: 58px;
}
.first .deviceElms .device .line {
	position: absolute;
	top: 0;
	left: 0;
}
.first .deviceElms .device .real {
	position: absolute;
	top: 0;
	left: 0;
}
.first .deviceElms .circle {
	position: absolute;
	top: 319px;
	left: 244px;
	border-radius: 100%;
	overflow: hidden;
	line-height: 0;
}
.first .contentElms {
	position: absolute;
	left: 50%;
	top: 184px;
	padding: 0 40px;
	text-align: center;
}
.first .contentElms .downloadBtns {
	margin-top: 40px;
}

/*-- main --*/
.main {
	background-image: url(../img/1907/bg_main.jpg);
}
.main .deviceElms .device {
	position: absolute;
	top: 50%;
}
.main .deviceElms .device.dom {
	left: -244px;
	margin-top: -311px;
}
.main .deviceElms .device.int {
	right: -246px;
	margin-top: -564px;
}
.main .contentElms {
	display: table-cell;
	vertical-align: middle;
	width: 950px;
	height: 100vh;
	min-height: 900px;
	text-align: center;
}
.main .contentElms .lead {
	margin-top: 40px;
	line-height: 2.0;
}

/*-- sakitoku --*/
.sakitoku {
	background-image: url(../img/1907/bg_sakitoku.jpg);
}

/*-- gate --*/
.gate {
	background-image: url(../img/1907/bg_gate.jpg);
}

/*-- wifi --*/
.wifi {
	background-image: url(../img/1907/bg_wifi.jpg);
}

/*-- fuji --*/
.fuji {
	background-image: url(../img/1907/bg_fuji.jpg);
}
.fuji .contentUnit .link {
	display: inline-block;
	border-radius: 4px;
	overflow: hidden;
}

/*-- install --*/
.install {
	padding-top: 135px;
}
.install .heading {
	text-align: center;
}
.install .installSteps {
	overflow: hidden;
	width: 920px;
	margin:70px auto 0 auto;
}
.install .installSteps > li {
	float: left;
	line-height: 1;
	font-size: 0px;
	padding-left: 110px;
	position: relative;
}
.install .installSteps > li::after{
content: "";
display:block;
position: absolute;
top: 263px;
left:44px;
background-image: url(../img/1907/pic_install_step_icon.png);
background-repeat: no-repeat;
background-position: 0 0;
width: 22px;
height: 41px;
	
}
.install .installSteps > li.first::after{
display: none;
}
.install .installSteps > li.first{
	padding-left: 0;
}
.install .downloadBtns {
	margin-top: 60px;
}

/*-- support / attention --*/
.support,
.attention {
	padding-top: 100px;
}
.support .heading,
.attention .heading {
	margin-bottom: 60px;
	text-align: center;
}

/*	animation
------------------------------*/
/*-- first --*/
.first .device .real {
	opacity: 0;
}
.first .device .line {
	fill: none;
	stroke: #c00;
	stroke-width: 1;
}
.first .device .line .frame {
	stroke-dasharray: 2600;
	stroke-dashoffset: 2600;
}
.first .device .line .parts {
	stroke-dasharray: 200;
	stroke-dashoffset: 200;
}

/* amimated */
.first .device.animated .line .frame {
	animation: lineArt 3s linear 0s forwards;	
}
.first .device.animated .line .parts {
	animation: lineArt 2.0s linear 2.5s forwards;	
}
.first .device.animated .line {
	animation: fadeOut 1s ease-in-out 4.0s both;
}
.first .device.animated .real {
	animation: fadeIn 1s ease-in-out 4.0s both;
}
@keyframes lineArt {
	to {
		stroke-dashoffset: 0;
	}
}
@keyframes fadeOut {
	from {
		opacity: 1.0;
	}
	to {
		opacity: 0;
	}
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1.0;
	}
}

/*-- fadeSlider --*/
.fadeSlider_elm {
	animation-name: fadeSlider;
	animation-duration: 6s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-fill-mode: both;
	transform: translate3d(0,0,0);
}
.fadeSlider_elm:nth-last-of-type(1) {
	animation-delay: 0s;
}
.fadeSlider_elm:nth-last-of-type(2) {
	animation-delay: 3s;
}
@keyframes fadeSlider {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 1;
	}
	53% {
		opacity: 0;
	}
	97% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*	hack IOS
------------------------------*/
body.isIOS .section.bgFixed {
	position: relative;
}
body.isIOS .section.bgFixed:before {
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
body.isIOS .main:before {
	background-image: url(../img/bg_main.jpg);
}
body.isIOS .sakitoku:before {
	background-image: url(../img/bg_sakitoku.jpg);
}
body.isIOS .gate:before {
	background-image: url(../img/bg_gate.jpg);
}
body.isIOS .wifi:before {
	background-image: url(../img/bg_wifi.jpg);
}
body.isIOS .fuji:before {
	background-image: url(../img/bg_fuji.jpg);
}

.popBox {
	background: #efefef;
	padding: 20px;
}

.popBox .popBoxHTitle {
	color: #c00;
	font-size: 16px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 10px;
}

.popBox .popBoxWrap {
}

.popBox .popBoxWrapTit {
	color: #336;
	font-weight: bold;
	text-align: left;
}

.popBox .popBoxWrapCont {
	text-align: left;
	line-height: 1.6;
	color: #333;
}

.colLeft {
	float: left;
	width: 90px;
	margin-right: 10px;
}

.colRight {
	float: right;
	width: 200px;
}

.unitHeading{
font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N", "Yu Gothic", "���C���I", sans-serif;
font-size: 44px;
font-weight:100;
line-height: 1.3;
}

.unitBox{
width: 474px;
}
.unitBox.right{
margin-left:auto;
}
.unitBox.left{
margin-right:auto;
}


.section.main .unitHeading{
	font-size:58px;
}
.section.main .lead{
	font-size:18px;
	line-height: 2.3;
}

.section.wifi,
.section.sakitoku{
color: #333;
}
.section.wifi .unitHeading,
.section.sakitoku .unitHeading{
color: #cc0000;
}


.btnWT.iconDown::after{	
content: "";
display: inline-block;
background: url(../img/2004/icon_down.png) no-repeat;
background-size:contain;
width: 10px;
height: 10px;
margin-left: 10px;
}