@charset "utf-8";
@import "html5reset-1.6.1.css";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap');
body {
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'メイリオ', Meiryo, sans-serif;
	color: #333333;
	font-size: 16px;
	height: 100%;
	line-height: 1.5;
	letter-spacing: 0.02em;
	background-color: #F8F8F8;
	position: relative;
}
html {
	height: 100%;
}
a {
	text-decoration: none;
}
.en {
	font-family: 'Outfit', sans-serif;
}
.page-title:before {
	content: attr(data-title);
	font-family: 'Outfit', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #139D8D;
	letter-spacing: 0.165em;
	display: block;
}
.section-title:before {
	content: attr(data-title);
	font-family: 'Outfit', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.125em;
	display: block;
}
.section-title.narrow:before {
	letter-spacing: 0.045em;
}
.section-title.wide:before {
	font-size: 14px;
	letter-spacing: 0.165em;
}
.section-title.color:before {
	color: #139D8D;
}
.section-title:after {
	content: attr(data-aftertitle);
	font-family: 'Outfit', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.125em;
	line-height: 1.0;
	color: #101010;
	display: block;
}
@media screen and (min-width: 768px) {
	body {
		min-width: 1280px;
	}
	br.sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
	}
	br.pc {
		display: none;
	}
	.section-title:before {
		font-size: 11px;
	}
	.section-title.wide:before {
		font-size: 12px;
	}
}
/*---------------------- #header ----------------------*/
#header .logo img {
	display: block;
}
@media screen and (min-width: 768px) {
	#header {
		min-width: 1280px;
		position: fixed;
		z-index: 1000;
		top: 0;
		right: 0;
		left: 0;
		height: 66px;
		background-color: #FFF;
		box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.05);
	}
	#header .headerInner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		max-width: 1366px;
		margin: auto;
		padding: 0 25px 0 50px;
		box-sizing: border-box;
	}
	#header .headerInner .spContactBtn {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	#header .logo {
		position: fixed;
		background-color: #fff;
		top: 0;
		left: 0;
		z-index: 1001;
		width: 100%;
		height: 60px;
		text-align: center;
		padding: 15px 15px;
		box-sizing: border-box;
		box-shadow: 0px 0 18px 0 rgba(0, 0, 0, 0.05);
	}
	#header .logo img {
		height: 30px;
		width: auto;
	}
	#header .headerInner .spContactBtn {
		position: fixed;
		top: 12px;
		right: 70px;
		z-index: 1002;
	}
	#header .headerInner .spContactBtn a {
		font-size: 14px;
		font-weight: 700;
		text-align: center;
		color: #FFF;
		display: block;
		width: 140px;
		line-height: 36px;
		padding-left: 25px;
		box-sizing: border-box;
		background-color: #D92765;
		border-radius: 18px;
		transition: 0.3s;
		background-image: url(../images/contact_btn_icon_white.svg);
		background-repeat: no-repeat;
		background-position: center left 15px;
	}
}
/*---------------------- #gNaviBtn ----------------------*/
#gNaviBtn {
	display: block;
	top: 5px;
	right: 10px;
	width: 50px;
	height: 50px;
	z-index: 1002;
	text-align: center;
	position: fixed;
	transition: all 0.3s ease-in-out 0.0s;
}
#gNaviBtn.active {
	background-color: transparent;
}
#gNaviBtn span {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: solid 2px #6C6A6A;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 10px;
	letter-spacing: normal;
}
#gNaviBtn span:nth-child(1) {
	top: 14px;
}
#gNaviBtn span:nth-child(2) {
	top: 24px;
}
#gNaviBtn span:nth-child(3) {
	top: 34px;
}
#gNaviBtn.active span {
	border-bottom: solid 2px #6C6A6A;
}
/* 最初のspanをマイナス45度に */
#gNaviBtn.active span:nth-child(1) {
	top: 24px;
	left: 10px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/* 2番目と3番目のspanを45度に */
#gNaviBtn.active span:nth-child(2), #gNaviBtn.active span:nth-child(3) {
	top: 24px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
	#gNaviBtn {
		display: none;
	}
}
/*---------------------- #gNavi ----------------------*/
@media screen and (min-width: 768px) {
	#gNavi {
		width: 87%;
	}
	#gNaviInner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	#gNavi.active {
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 999;
		background-color: rgba(0, 0, 0, 0.6);
	}
	#gNaviInner {
		width: 350px;
		height: 100%;
		background-color: #FFF;
		transition: all 0.3s ease-in-out 0.0s;
		position: fixed;
		z-index: 1000;
		top: 0;
		right: -350px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
		padding: 80px 30px 30px;
	}
	#gNaviInner.active {
		box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.3);
		right: 0px;
	}
	#gNaviMenu ul li a {
		text-decoration: none;
		display: block;
		border-top: 1px solid #999;
		padding: 15px 0;
		text-align: center;
		position: relative;
	}
	#gNaviMenu ul li:last-child a {
		border-bottom: 1px solid #999;
	}
	#gNaviMenu li a span {
		display: block;
		margin-top: 10px;
		font-size: 0.8em;
		color: #E62328;
		font-family: 'Oswald', sans-serif;
	}
	#gNaviMenu li a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 8px;
		height: 8px;
		border-top: 2px solid #E62328;
		border-right: 2px solid #E62328;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
}
/*---------------------- #gNaviMain ----------------------*/
@media screen and (min-width: 768px) {
	#gNaviMain > ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 630px;
	}
	#gNaviMain > ul > li > a {
		line-height: 66px;
		display: block;
		font-size: 14px;
		font-weight: 700;
		color: #333;
		position: relative;
	}
	#gNaviMain > ul li.current a, #gNaviMain > ul > li:hover > a {
		color: #139D8D;
	}
	#gNaviMain > ul li a::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #139D8D;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain > ul li.current a::after, #gNaviMain > ul > li:hover > a::after {
		transform: scale(1, 1);
	}
}
@media screen and (max-width: 767px) {
	#gNaviMain {
		margin: 0 0 50px;
	}
	#gNaviMain > ul > li, #gNaviMain ul li .products > ul > li {
		border-top: 1px solid #DEDEDE;
	}
	#gNaviMain > ul > li > a, #gNaviMain ul li .products > ul > li > a {
		font-size: 14px;
		font-weight: 700;
		color: #333;
		line-height: 60px;
		text-decoration: none;
		display: block;
		position: relative;
	}
	#gNaviMain ul li .products > ul > li > a > span {
		font-weight: 700;
	}
	#gNaviMain > ul > li > a.subMenuBtn.open, #gNaviMain ul li .products > ul > li > a.subMenuBtn.open {
		color: #139D8D;
	}
	#gNaviMain > ul > li:last-child {
		border-bottom: 1px solid #DEDEDE;
	}
	#gNaviMain > ul > li > a::after, #gNaviMain ul li .products > ul > li > a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 9px;
		height: 9px;
		border-top: 1px solid #4D4D4D;
		border-right: 1px solid #4D4D4D;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#gNaviMain > ul > li > a.subMenuBtn::after {
		top: 50%;
		bottom: auto;
		right: 13px;
		margin-top: -6px;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		transition: 0.3s ease;
	}
	#gNaviMain > ul > li > a.subMenuBtn.open::after {
		margin-top: -2px;
		border-top: 1px solid #139D8D;
		border-right: 1px solid #139D8D;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
}
/*---------------------- #gNaviSub ----------------------*/
#gNaviSub > ul li.contact {
	width: 170px;
}
#gNaviSub > ul li.contact a {
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	color: #585858;
	display: block;
	line-height: 36px;
	padding-left: 14px;
	border: 1px solid #AAB1B0;
	border-radius: 18px;
	transition: 0.3s;
	background-image: url(../images/contact_btn_icon_black.svg);
	background-repeat: no-repeat;
	background-position: center left 28px;
}
#gNaviSub > ul li {
	width: 170px;
}
#gNaviSub > ul li.estimate a {
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	color: #FFF;
	display: block;
	line-height: 36px;
	padding-left: 14px;
	border: 1px solid #D92765;
	background-color: #D92765;
	border-radius: 18px;
	transition: 0.3s;
	background-image: url(../images/estimate_btn_icon_white.svg);
	background-repeat: no-repeat;
	background-position: center left 15px;
}
@media screen and (min-width: 768px) {
	#gNaviSub > ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 360px;
	}
	#gNaviSub > ul li.contact a:hover {
		border: 1px solid #333;
		background-color: #333;
		color: #FFF;
		background-image: url(../images/contact_btn_icon_white.svg);
	}
	#gNaviSub > ul li.estimate a:hover {
		border: 1px solid #333;
		background-color: #333;
		color: #FFF;
	}
}
@media screen and (max-width: 767px) {
	#gNaviSub > ul li {
		margin: auto;
	}
	#gNaviSub > ul li.contact {
		margin-bottom: 25px;
	}
}
/*---------------------- #gNaviMain 2nd products ----------------------*/
@media screen and (min-width: 768px) {
	#gNaviMain > ul > li > .products {
		visibility: hidden;
		opacity: 0;
		position: fixed;
		top: 66px;
		padding: 10px 0 0;
		transition: 0.3s;
	}
	#gNaviMain > ul > li:hover > .products {
		visibility: visible;
		opacity: 1;
	}
	#gNaviMain ul li .products {
		width: 950px;
		left: 50%;
		margin-left: -475px;
	}
	#gNaviMain ul li .products > ul {
		background-color: #FFF;
		border-radius: 20px;
		box-shadow: 0px 0 15px 0 rgba(131, 159, 130, 0.2);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 0 0 0 25px;
	}
	#gNaviMain ul li .products > ul > li {
		margin-right: 30px;
	}
	#gNaviMain ul li .products > ul > li:last-of-type {
		margin-right: 0;
	}
	#gNaviMain ul li .products > ul > li > a {
		display: block;
		padding: 20px 0;
	}
	#gNaviMain ul li .products > ul > li > a > span {
		line-height: 35px;
		display: block;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: normal;
		color: #333;
		position: relative;
	}
	#gNaviMain ul li .products > ul > li:hover > a > span {
		color: #139D8D;
	}
	#gNaviMain ul li .products > ul > li > a > span::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #139D8D;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain ul li .products > ul > li:hover > a > span::after {
		transform: scale(1, 1);
	}
}
/*---------------------- #gNaviMain 3rd smartphone ----------------------*/
#gNaviMain ul li .products .smartphone .smartphoneInner ul li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#gNaviMain ul li .products .smartphone .smartphoneInner ul li a .photo {
	height: 60px;
	width: 60px;
	overflow: hidden;
	border: 1px solid #E6E6E6;
	border-radius: 30px;
}
#gNaviMain ul li .products .smartphone .smartphoneInner ul li a .photo img, #gNaviMain ul li .products .smartphone .smartphoneInner ul li a .icon img {
	height: 60px;
	width: 60px;
	display: block;
}
#gNaviMain ul li .products .smartphone .smartphoneInner ul li a p {
	line-height: 30px;
	display: block;
	font-size: 12px;
	letter-spacing: 0.015em;
	color: #333;
	margin-left: 10px;
}
@media screen and (min-width: 768px) {
	#gNaviMain > ul > li > div > ul > li > div {
		visibility: hidden;
		opacity: 0;
		position: fixed;
		top: 151px;
		padding: 10px 0 0;
		transition: 0.3s;
	}
	#gNaviMain > ul > li:hover > div > ul > li:hover > div {
		visibility: visible;
		opacity: 1;
	}
	#gNaviMain ul li .products .smartphone {
		width: 950px;
		left: 50%;
		margin-left: -475px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner {
		background-color: #FFF;
		border-radius: 20px;
		box-shadow: 0px 0 15px 0 rgba(131, 159, 130, 0.2);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 20px 35px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner .column {
		border-right: 2px solid #DDDDDD;
		margin-right: 25px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner .column.android {
		width: 392px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner .column:last-of-type {
		border-right: 2px none;
		margin-right: 0;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner .column ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		height: 235px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner p.title {
		margin: 0 0 15px;
		display: inline-block;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner p.title a {
		line-height: 32px;
		display: block;
		font-size: 14px;
		font-weight: 700;
		color: #333;
		position: relative;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner p.title a:hover {
		color: #139D8D;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner p.title a::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #139D8D;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner p.title:hover > a::after {
		transform: scale(1, 1);
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li {
		margin-right: 30px;
		margin-bottom: 20px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li:nth-of-type(3n) {
		margin-bottom: 0;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li a p {
		position: relative;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li a p.line3 {
		line-height: 1.3;
		font-size: 11px;
		padding: 9px 0;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li a p::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #333;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li a:hover > p::after {
		transform: scale(1, 1);
	}
}
@media screen and (max-width: 767px) {
	#gNaviMain ul li .products .smartphone .smartphoneInner .column {
		margin: 20px 0 50px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner .column:last-of-type {
		margin: 20px 0 25px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner p.title {
		margin: 0 0 20px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner p.title a {
		font-size: 14px;
		font-weight: 700;
		color: #333;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li {
		margin-bottom: 20px;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li a {
		position: relative;
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 9px;
		height: 9px;
		border-top: 1px solid #4D4D4D;
		border-right: 1px solid #4D4D4D;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#gNaviMain ul li .products .smartphone .smartphoneInner ul li a p.line3 {
		font-size: 10px;
	}
}
/*---------------------- #gNaviMain 3rd tablet ----------------------*/
#gNaviMain ul li .products .tablet .tabletInner ul li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#gNaviMain ul li .products .tablet .tabletInner ul li a .photo {
	height: 60px;
	width: 60px;
	overflow: hidden;
	border: 1px solid #E6E6E6;
	border-radius: 30px;
}
#gNaviMain ul li .products .tablet .tabletInner ul li a .photo img, #gNaviMain ul li .products .tablet .tabletInner ul li a .icon img {
	height: 60px;
	width: 60px;
	display: block;
}
#gNaviMain ul li .products .tablet .tabletInner ul li a p {
	line-height: 30px;
	display: block;
	font-size: 12px;
	letter-spacing: 0.015em;
	color: #333;
	margin-left: 10px;
}
@media screen and (min-width: 768px) {
	#gNaviMain > ul > li > div > ul > li > div {
		visibility: hidden;
		opacity: 0;
		position: fixed;
		top: 151px;
		padding: 10px 0 0;
		transition: 0.3s;
	}
	#gNaviMain > ul > li:hover > div > ul > li:hover > div {
		visibility: visible;
		opacity: 1;
	}
	#gNaviMain ul li .products .tablet {
		width: 950px;
		left: 50%;
		margin-left: -475px;
	}
	#gNaviMain ul li .products .tablet .tabletInner {
		background-color: #FFF;
		border-radius: 20px;
		box-shadow: 0px 0 15px 0 rgba(131, 159, 130, 0.2);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 20px 35px;
	}
	#gNaviMain ul li .products .tablet .tabletInner .column {
		border-right: 2px solid #DDDDDD;
		margin-right: 25px;
	}
	#gNaviMain ul li .products .tablet .tabletInner .column:last-of-type {
		border-right: 2px none;
		margin-right: 0;
	}
	#gNaviMain ul li .products .tablet .tabletInner .column ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		height: 235px;
	}
	#gNaviMain ul li .products .tablet .tabletInner p.title {
		margin: 0 0 15px;
		display: inline-block;
	}
	#gNaviMain ul li .products .tablet .tabletInner p.title a {
		line-height: 32px;
		display: block;
		font-size: 14px;
		font-weight: 700;
		color: #333;
		position: relative;
	}
	#gNaviMain ul li .products .tablet .tabletInner p.title a:hover {
		color: #139D8D;
	}
	#gNaviMain ul li .products .tablet .tabletInner p.title a::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #139D8D;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain ul li .products .tablet .tabletInner p.title:hover > a::after {
		transform: scale(1, 1);
	}
	#gNaviMain ul li .products .tablet .tabletInner ul li {
		margin-right: 30px;
		margin-bottom: 20px;
	}
	#gNaviMain ul li .products .tablet .tabletInner ul li:nth-of-type(3n) {
		margin-bottom: 0;
	}
	#gNaviMain ul li .products .tablet .tabletInner ul li a p {
		position: relative;
	}
	#gNaviMain ul li .products .tablet .tabletInner ul li a p::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #333;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain ul li .products .tablet .tabletInner ul li a:hover > p::after {
		transform: scale(1, 1);
	}
}
@media screen and (max-width: 767px) {
	#gNaviMain ul li .products .tablet .tabletInner .column {
		margin: 20px 0 50px;
	}
	#gNaviMain ul li .products .tablet .tabletInner .column:last-of-type {
		margin: 20px 0 25px;
	}
	#gNaviMain ul li .products .tablet .tabletInner p.title {
		margin: 0 0 20px;
	}
	#gNaviMain ul li .products .tablet .tabletInner p.title a {
		font-size: 14px;
		font-weight: 700;
		color: #333;
	}
	#gNaviMain ul li .products .tablet .tabletInner ul li {
		margin-bottom: 20px;
	}
	#gNaviMain ul li .products .tablet .tabletInner ul li a {
		position: relative;
	}
	#gNaviMain ul li .products .tablet .tabletInner ul li a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 9px;
		height: 9px;
		border-top: 1px solid #4D4D4D;
		border-right: 1px solid #4D4D4D;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
}
/*---------------------- #gNaviMain 3rd wifi ----------------------*/
#gNaviMain ul li .products .wifi .wifiInner ul li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#gNaviMain ul li .products .wifi .wifiInner ul li a .photo {
	height: 60px;
	width: 60px;
	overflow: hidden;
	border: 1px solid #E6E6E6;
	border-radius: 30px;
}
#gNaviMain ul li .products .wifi .wifiInner ul li a .photo img, #gNaviMain ul li .products .wifi .wifiInner ul li a .icon img {
	height: 60px;
	width: 60px;
	display: block;
}
#gNaviMain ul li .products .wifi .wifiInner ul li a p {
	line-height: 30px;
	display: block;
	font-size: 12px;
	letter-spacing: 0.015em;
	color: #333;
	margin-left: 10px;
}
@media screen and (min-width: 768px) {
	#gNaviMain > ul > li > div > ul > li > div {
		visibility: hidden;
		opacity: 0;
		position: fixed;
		top: 151px;
		padding: 10px 0 0;
		transition: 0.3s;
	}
	#gNaviMain > ul > li:hover > div > ul > li:hover > div {
		visibility: visible;
		opacity: 1;
	}
	#gNaviMain ul li .products .wifi {
		width: 950px;
		left: 50%;
		margin-left: -475px;
	}
	#gNaviMain ul li .products .wifi .wifiInner {
		background-color: #FFF;
		border-radius: 20px;
		box-shadow: 0px 0 15px 0 rgba(131, 159, 130, 0.2);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 20px 35px;
	}
	#gNaviMain ul li .products .wifi .wifiInner .column {
		margin-right: 25px;
	}
	#gNaviMain ul li .products .wifi .wifiInner .column:last-of-type {
		border-right: 2px none;
		margin-right: 0;
	}
	#gNaviMain ul li .products .wifi .wifiInner .column ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		height: 235px;
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li {
		margin-right: 30px;
		margin-bottom: 20px;
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li:nth-of-type(3n) {
		margin-bottom: 0;
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li a p {
		position: relative;
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li a p::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #333;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li a:hover > p::after {
		transform: scale(1, 1);
	}
}
@media screen and (max-width: 767px) {
	#gNaviMain ul li .products .wifi .wifiInner .column {
		margin: 20px 0 0;
	}
	#gNaviMain ul li .products .wifi .wifiInner .column:last-of-type {
		margin: 20px 0 25px;
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li {
		margin-bottom: 20px;
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li a {
		position: relative;
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 9px;
		height: 9px;
		border-top: 1px solid #4D4D4D;
		border-right: 1px solid #4D4D4D;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#gNaviMain ul li .products .wifi .wifiInner ul li a p.small {
		font-size: 11px;
	}
}
/*---------------------- #gNaviMain 2nd service ----------------------*/
#gNaviMain ul li .service .serviceInner ul li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#gNaviMain ul li .service .serviceInner ul li a .icon {
	height: 38px;
	width: 38px;
	overflow: hidden;
	border: 1px solid #E6E6E6;
	border-radius: 19px;
}
#gNaviMain ul li .service .serviceInner ul li a .icon img {
	height: 38px;
	width: 38px;
	display: block;
}
#gNaviMain ul li .service .serviceInner ul li a p {
	line-height: 25px;
	display: block;
	font-size: 13px;
	letter-spacing: 0.015em;
	color: #333;
	margin-left: 10px;
}
@media screen and (min-width: 768px) {
	#gNaviMain > ul > li > .service {
		visibility: hidden;
		opacity: 0;
		position: fixed;
		top: 66px;
		padding: 10px 0 0;
		transition: 0.3s;
	}
	#gNaviMain > ul > li:hover > .service {
		visibility: visible;
		opacity: 1;
	}
	#gNaviMain ul li .service {
		width: 775px;
		left: 50%;
		margin-left: -235px;
	}
	#gNaviMain ul li .service .serviceInner {
		background-color: #FFF;
		border-radius: 20px;
		box-shadow: 0px 0 15px 0 rgba(131, 159, 130, 0.2);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 20px 0 20px 35px;
	}
	#gNaviMain ul li .service .serviceInner .column {
		border-right: 2px solid #DDDDDD;
		padding-right: 5px;
		margin-right: 35px;
	}
	#gNaviMain ul li .service .serviceInner .column:last-of-type {
		border-right: 2px none;
		padding-right: 0;
		margin-right: 0;
	}
	#gNaviMain ul li .service .serviceInner .column ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		height: 245px;
	}
	#gNaviMain ul li .service .serviceInner p.title {
		margin: 0 0 10px;
		display: inline-block;
	}
	#gNaviMain ul li .service .serviceInner p.title a {
		line-height: 32px;
		display: block;
		font-size: 14px;
		font-weight: 700;
		color: #333;
		position: relative;
	}
	#gNaviMain ul li .service .serviceInner p.title a:hover {
		color: #139D8D;
	}
	#gNaviMain ul li .service .serviceInner p.title a::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #139D8D;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain ul li .service .serviceInner p.title:hover > a::after {
		transform: scale(1, 1);
	}
	#gNaviMain ul li .service .serviceInner ul li {
		margin-right: 20px;
		margin-bottom: 10px;
	}
	#gNaviMain ul li .service .serviceInner ul li:nth-of-type(5n) {
		margin-bottom: 0;
	}
	#gNaviMain ul li .service .serviceInner ul li a p {
		position: relative;
	}
	#gNaviMain ul li .service .serviceInner ul li a p::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #333;
		transition: all 0.3s;
		transform: scale(0, 1);
		transform-origin: left top;
	}
	#gNaviMain ul li .service .serviceInner ul li a:hover > p::after {
		transform: scale(1, 1);
	}
}
@media screen and (max-width: 767px) {
	#gNaviMain ul li .service {
		display: none;
	}
	#gNaviMain ul li .service .serviceInner .column {
		margin: 10px 0 25px;
	}
	#gNaviMain ul li .service .serviceInner .column:last-of-type {
		margin: 10px 0 15px;
	}
	#gNaviMain ul li .service .serviceInner p.title {
		margin: 0 0 10px;
	}
	#gNaviMain ul li .service .serviceInner p.title a {
		font-size: 14px;
		font-weight: 700;
		color: #333;
	}
	#gNaviMain ul li .service .serviceInner ul li {
		margin-bottom: 10px;
	}
	#gNaviMain ul li .service .serviceInner ul li a {
		position: relative;
	}
	#gNaviMain ul li .service .serviceInner ul li a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 9px;
		height: 9px;
		border-top: 1px solid #4D4D4D;
		border-right: 1px solid #4D4D4D;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
}
/*---------------------- #contents ----------------------*/
#contents {
	padding: 66px 0 0;
}
@media screen and (max-width: 767px) {
	#contents {
		padding: 60px 0 0;
	}
}
/*---------------------- #btmContact ----------------------*/
#btmContact {
	background-image: url(../images/bottom_contact_bg.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	text-align: center;
	padding: 65px 0 85px;
}
#btmContact h2 {
	color: #FFF;
	margin: 0 0 40px;
}
#btmContact h2 .jp {
	font-size: 36px;
	font-weight: 700;
	display: block;
}
#btmContact ul li {
	list-style-type: none;
}
#btmContact ul li a {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.035em;
	text-align: center;
	display: block;
	line-height: 60px;
	border-radius: 30px;
	transition: 0.3s;
}
#btmContact ul li a span {
	font-weight: 700;
}
#btmContact ul li.estimate a {
	color: #FFF;
	background-color: #D92765;
}
#btmContact ul li.estimate a, #btmContact ul li.estimate a span:before {
	background-image: url(../images/estimate_btn_icon2_white.svg);
	background-repeat: no-repeat;
	background-position: center left 115px;
}
#btmContact ul li.contact a {
	color: #333;
	background-color: #FFF;
}
#btmContact ul li.contact a, #btmContact ul li.contact a span:before {
	background-image: url(../images/contact_btn_icon2_black.svg);
	background-repeat: no-repeat;
	background-position: center left 55px;
}
#btmContact .telContainer {
	color: #FFF;
	border: 1px solid #FFF;
	max-width: 800px;
	margin: auto;
}
#btmContact .telContainer h3 {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#btmContact .telContainer .tel {
	font-family: 'Outfit', sans-serif;
	font-size: 40px;
	letter-spacing: 0.1em;
}
#btmContact .telContainer .businessHours {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.015em;
}
@media screen and (min-width: 768px) {
	#btmContact ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 0 0 30px;
	}
	#btmContact ul li.estimate {
		width: 390px;
		margin-right: 15px;
	}
	#btmContact ul li.contact {
		width: 390px;
	}
	#btmContact ul li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		position: relative;
		overflow: hidden;
	}
	#btmContact ul li a span {
		width: 100%;
		height: 100%;
		z-index: 10;
	}
	#btmContact ul li.estimate a span {
		padding-left: 35px;
	}
	#btmContact ul li.contact a span {
		padding-left: 30px;
	}
	#btmContact ul li a span:before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 0;
		display: block;
		z-index: -1;
		transition: 0.3s;
	}
	#btmContact ul li a span:hover:before {
		width: 100%;
	}
	#btmContact ul li.estimate a span:before {
		background-color: #C31D56;
	}
	#btmContact ul li.contact a span:before {
		background-color: #DEDEDE;
	}
	#btmContact .telContainer {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 10px 45px 10px 25px;
		box-sizing: border-box;
	}
	#btmContact .telContainer h3 {
		line-height: 50px;
		border-right: 1px solid #FFF;
		padding-right: 25px;
	}
}
@media screen and (max-width: 767px) {
	#btmContact {
		background-position: center left;
		padding: 30px 6% 35px;
	}
	#btmContact h2 {
		margin: 0 0 20px;
	}
	#btmContact h2 .jp {
		font-size: 30px;
	}
	#btmContact ul li.estimate {
		margin: 0 0 15px;
	}
	#btmContact ul li a {
		font-size: 14px;
		line-height: 50px;
		border-radius: 25px;
	}
	#btmContact ul li.estimate a span {
		padding-left: 30px;
	}
	#btmContact ul li.estimate a, #btmContact ul li.estimate a span:before {
		background-image: url(../images/estimate_btn_icon2_white.svg);
		background-repeat: no-repeat;
		background-position: center left 90px;
	}
	#btmContact ul li.contact a span {
		padding-left: 30px;
	}
	#btmContact ul li.contact a, #btmContact ul li.contact a span:before {
		background-position: center left 40px;
	}
	#btmContact .telContainer {
		margin: 30px 0 0;
		padding: 15px 0;
	}
	#btmContact .telContainer h3 {
		font-size: 13px;
	}
	#btmContact .telContainer .tel {
		font-size: 35px;
	}
	#btmContact .telContainer .businessHours {
		font-size: 11px;
	}
}
/*---------------------- #footer ----------------------*/
#footer .logo img {
	display: block;
}
#footerNavi ul li {
	list-style-type: none;
}
#footerNavi ul li a {
	font-size: 12px;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.015em;
}
#footer .license {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#footer .license .privacymark {
	margin-right: 15px;
}
#footer .license p {
	font-size: 11px;
}
#footer p.copy {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.035em;
}
@media screen and (min-width: 768px) {
	#footer .footerInner {
		max-width: 1280px;
		margin: auto;
		padding: 30px 25px 30px 50px;
		box-sizing: border-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	#footer #footerNavi {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	#footer .logo {
		margin-right: 40px;
	}
	#footerNavi ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#footerNavi ul li {
		margin-right: 30px;
	}
	#footerNavi ul li:last-of-type {
		margin-right: 0;
	}
	#footerNavi ul li a {
		line-height: 27px;
		transition: 0.3s
	}
	#footerNavi ul li a:hover {
		text-decoration: underline;
	}
	#footer .license .privacymark a img {
		transition: 0.3s;
	}
	#footer .license .privacymark a:hover img {
		opacity: 0.7;
	}
}
@media screen and (max-width: 767px) {
	#footer .footerInner {
		text-align: center;
		padding: 30px 6% 6%;
	}
	#footer .logo img {
		margin: auto;
	}
	#footerNavi ul {
		margin: 25px 0;
	}
	#footerNavi ul li {
		margin-bottom: 15px;
	}
	#footer .license {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 0 0 25px;
	}
	#footer .license p {
		text-align: left;
	}
}