@charset "UTF-8";
/* CSS Document */
@font-face {
	font-family: "LINESeedJP_A_TTF_Rg";
	src: url("font/LINESeedJP_A_TTF_Rg.ttf") format("ttf"),
		 url("font/LINESeedJP_A_TTF_Rg.woff") format("woff");
}
@font-face {
	font-family: "LINESeedJP_A_TTF_Bd";
	src: url("font/LINESeedJP_A_TTF_Bd.ttf") format("ttf"),
		 url("font/LINESeedJP_A_TTF_Bd.woff") format("woff");
}
@font-face {
	font-family: "LINESeedJP_A_TTF_Eb";
	src: url("font/LINESeedJP_A_TTF_Eb.ttf") format("ttf"),
		 url("font/LINESeedJP_A_TTF_Eb.woff") format("woff");
}
body {
	background-color: #fff;
	font-family: 'LINESeedJP_A_TTF_Rg', sans-serif;
	font-weight: 300;
	color: #333;
}
section:not(.firstview):not(#feature):not(.first_nav):not(.intro):not(.sns_share_button):not(#flow) {
	margin: 80px 0 0;
}
a, a:link, a:visited, a:hover {
	text-decoration: none;
}
ul {
	margin: 0;
	padding: 0;
}
.col-15, .col-sm-15, .col-md-15, .col-lg-15 {
	position: relative;
	min-height: 1px;
	padding-right: 15px;
	padding-left: 15px;
	width: 100%;
}
.logo {
	max-width: 170px;
}
.border_white {
	border-color: #fff !important;
}

.sp , .sp_320{
	display: none !important;
}
.sp_block{
	display: inline-block !important;
}

.contents_box {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 20px;
}
.bg_maincolor { background-color: #FFF100; }
.bg_subcolor { background-color: #008CFF; }
.bg_graycolor {
	background-color: #EAEAEA;
	margin: 80px 0 0;
}
#company img , #description img , #flow img {
	display:block;
	width:100%;
	height:auto;
}
/*------------
h2_title
--------------*/
h2 {
	position: relative;
	display: inline-block;
	font-size: 2.5rem;
	font-weight: bold;
	letter-spacing: 1px;
	margin: 0;
	padding: 10px 0 5px;
	line-height: 1.5;
}
#feature h2::before { content: "Feature"; }
#company h2::before { content: "Company"; }
#usecase h2::before { content: "Use case"; }
#flow h2::before { content: "Development flow"; }
#faq h2::before { content: "Q & A"; }
#contact h2::before { content: "Contact"; }
h2::before {
	display: block;
	font-size: 1.5rem;
	color: #008CFF;
	padding-bottom: 0.5rem;
}
h3 {
	font-family: "LINESeedJP_A_TTF_Bd" , sans-serif;
	font-size: 1.4rem;
	line-height: 1.5;
}
/*------------
firstview
--------------*/
.firstview { margin-top: 70px !important; }
#firstview .first_bg {
	background: #FFF100;
	background-size: cover;
	border-radius: 0;
}
#firstview .jumbotron { padding: 6rem 2rem; }
#firstview .container { max-width: 1080px; }
#firstview h1 {
	font-family: 'LINESeedJP_A_TTF_Eb', sans-serif;
	font-size: 4rem;
	line-height: 1.5;
}
#firstview .titlecolor { color: #008CFF; }
#firstview .firstview_box a , #description a {
	background: #008CFF;
	width: 100%;
	max-width: 480px;
	font-size: 2.25rem;
	font-weight: bold;
	color: #FFF;
	border-radius: 10px;
	border-bottom: 5px solid #005499;
}
#firstview p {
	font-family: 'LINESeedJP_A_TTF_Bd', sans-serif;
	font-size: 1.2rem;
}
#firstview .firstview_box a:hover , #description a:hover , #work .carousel-inner a:hover { background: #005499; }
#firstview .firstview_box a:hover , #description a:hover {
	margin-top: 3px;
	border-bottom: 2px solid #005499;
}
#firstview .firstview-img img { max-width: 308px; }
/*------------
ナビゲーションバー（nav）
--------------*/
nav .container { max-width: 1280px; }
.navbar-brand img {
	max-width: 147px;
	height: auto;
}
nav .navbar { padding: 0.5rem 1rem; }
nav .navbar-nav { width: 75%; }
nav li a { color: #333; }
nav li a:hover { color: #6e6e6e; }
nav ul {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 1rem;
}
nav .contact_button { border-radius: 10px;}
nav .contact_button:hover { background: #005499; }
nav {
	position: fixed !important;
	top: 0;
	left: 0;
	z-index: 2;
	background: #fff;
	width: 100%;
	height: 70px;
	transition: .3s;
	color: #000;
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3) !important;
}
/*------------
紹介文
--------------*/
#intro h3 {
	font-size: 2rem;
	line-height: 1.5;
}
.intro { padding: 3rem 0; }
#intro span { color: #FFF100; }
/*------------
シェアボタン
--------------*/
.sns_share {
	width: 230px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 40px auto 0;
	padding: 0;
}
.sns_share .sns_share_title {
	margin-right: 10px;
	padding: 5px 10px;
	border-bottom: solid 2px #008CFF;
	color: #008CFF;
	font-size: 85%;
	font-weight: bold;
}
.sns_share a {
	width: 32px;
	height: 32px;
	margin: 0 3px;
	padding: 0;
	border-radius: 50%;
	border: solid 1px #008CFF;
	box-sizing: border-box;
}
.sns_share a:hover{ opacity: .7; }
.sns_share a span { vertical-align: middle; }
.sns_share a span::before { color: #008CFF; }
/*------------
会社概要
--------------*/
#company h3 {
	font-size: 1.5rem;
	line-height: 1.5;
}
#company h4::before , #company h4::after {
	content: "";
	width: 100px;
	height: 1px;
	background-color: #111;
}
#company h4::before { margin-right: 20px; }
#company h4::after { margin-left: 20px; }
#company h4 {
	font-size: 1.2rem;
	line-height: 2;
}
#company h4 span {
	display: block;
	font-size: 1rem;
}
#company .caption {
	font-size: 0.8rem;
}
#company .argyle_intro img {
	max-width: 250px;
	margin: 0 auto;
}
/*------------
キャンペーンページ遷移バナー
--------------*/
#banner a:hover { opacity: .8; }
/*------------
feature
--------------*/
#feature img { max-width: 180px; }
#feature .contents_box h3::before {
	display: block;
	font-size: 1.25rem;
	color: #008CFF;
	padding-bottom: 0.5rem;
}
#feature .feature_group>div:first-of-type h3::before { content: "Point 1"; }
#feature .feature_group>div:nth-of-type(2) h3::before { content: "Point 2"; }
#feature .feature_group>div:last-of-type h3::before { content: "Point 3"; }
/*------------
feature
--------------*/
#usecase img { max-width: 125px; }
#usecase .taglive img { max-width: 100%; }
#usecase p { font-size: 1.5rem; }
/*------------
flow
--------------*/
#flow img { max-width: 125px; }
#flow .contents_box h3::before {
	display: block;
	font-size: 1.25rem;
	color: #008CFF;
	padding-bottom: 0.5rem;
}
#flow .flow_group>div:first-of-type h3::before { content: "Step 1"; }
#flow .flow_group>div:nth-of-type(2) h3::before { content: "Step 2"; }
#flow .flow_group>div:last-of-type h3::before { content: "Step 3"; }
/*------------
faq
--------------*/
.qa-box {
	width: 80%;
	margin: 0 auto;
	}
.qa-box .qa dt,
.qa-box .qa dd {
	display: flex;
	align-items: baseline;
	margin: 15px 0;
	padding: 15px;
}
.qa-box .qa dt { background: #EAEAEA; }
.qa-box .qa dt p {
	margin: 0;
	padding-left: 15px;
	font-weight: bold;
	width: 100%;
}
.qa-box .qa dd p {
	margin: 0;
	padding-left: 15px;
	width: 100%;
}
.qa-box .qa dt::before {
	content: "Q";
	display: flex;
	justify-content: center;
	align-items: center;
	background: #FFF100;
	width: 2em;
	height: 2em;
}
.qa-box .qa dd::before {
	content: "A";
	display: flex;
	justify-content: center;
	align-items: center;
	background: #008CFF;
	width: 2em;
	height: 2em;
	color: #fff;
}
/*------------
contact
--------------*/
.zcwf_lblTopBottom .zcwf_title { font-size: 0.9rem; }
#contact textarea { height: 200px; }
#crmWebToEntityForm.zcwf_lblTopBottom {
	max-width: 480px !important;
	padding: 0 !important;
}
.zcwf_lblTopBottom .zcwf_col_fld input[type=text], .zcwf_lblTopBottom .zcwf_col_fld textarea , .zcwf_lblTopBottom .zcwf_col_fld_slt {
	width: 100% !important;
	padding: 0.25rem !important;
}
.zcwf_lblTopBottom .zcwf_col_fld_slt { padding: 0.5rem !important; }
.zcwf_lblTopBottom .zcwf_button {
	display: block;
	max-width: 300px !important;
	margin-right: auto !important;
	margin-left: auto;
	border: none !important;
}
#contact label { margin-bottom: 0; }
#contact label span { display: none }
#contact .zcwf_row:not(:nth-of-type(10)) label::after {
	content: "必須";
	background: #008CFF;
	color: #FFF;
	margin-left: 1em;
	border-radius: 2px;
	padding: 0.1rem;
}
#contact input[type="submit"] {
	background: #008CFF;
	width: 100%;
	max-width: 250px;
	font-size: 16px;
	color: #fff;
	margin: 0 auto 10px;
	border: solid 1px #ccc;
	border-radius: 10px;
	padding: 10px;
	-webkit-appearance: none;
	transition: .2s ease;
}
#contact input[type="reset"] {
	background: #fff;
	text-decoration: underline;
	margin: 0 auto;
	border: none;
	padding: 0;
}
#contact input[type="submit"] , #contact input[type="reset"] { display: block; }
#contact input[type="submit"]:hover { opacity: .5; }
#contact .privacy { text-align: center; }
/*------------
footer
--------------*/
footer {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	background: #008CFF;
	margin-top: 80px;
	padding: 32px 0 10px;
}
footer p {
	font-size: 0.9rem;
	margin: 0;
}
footer a { color: #fff !important; }
footer h3 {
	font-size: 1rem;
	font-weight: bold;
}
footer .row:first-of-type ul { line-height: 1.8; }
footer li {
	display: inline-block;
	font-size: 0.8rem;
	text-decoration: underline;
}
footer .row:nth-of-type(n+2) li { text-decoration: none; }
footer .row:first-of-type>div:nth-child(3) ul:first-of-type { margin-bottom: 1rem; }
footer .row:nth-of-type(2) ul li{
	font-family: 'Lato', sans-serif;
	font-weight: normal;
	letter-spacing: 0.1em;
	font-size: 2rem;
}
footer .row:nth-of-type(2) ul li:last-child::after{
	content: '※営業時間（ 11:00 〜 19:00 ）';
	font-size: 0.8rem;
	margin-left: 0.5rem;
	letter-spacing: 0;
}
footer .row:nth-of-type(3) li { border-right: solid 1px #fff; }
footer .row:nth-of-type(3) li:last-child { border-right: none; }
@media (min-width: 1200px) {
	.col-lg-15 {
		width: 20%;
		flex: 0 0 20%;
	}
}
@media (min-width: 992px) {
	.col-md-15 {
		width: 20%;
		flex: 0 0 20%;
	}
}
@media (max-width: 991px) {
	nav { height: 120px; }
	.firstview { margin-top: 120px !important; }
}
@media (min-width: 769px) and (max-width: 991px) {
	#firstview .jumbotron {
		padding: 4rem 2rem;
		height: 520px;
	}
	#firstview h1 { font-size: 3rem; }
	#intro h3 { font-size: 1.6rem; }
}
@media (min-width: 575px) and (max-width: 768px) {
	#firstview .jumbotron {
		padding: 4rem 2rem;
		height: 500px;
	}
	#intro h3 { font-size: 1.6rem; }
}
@media (min-width: 320px) and (max-width: 768px) {
	.sp { display: block !important; }
	.pc , #price .col-lg-6:nth-of-type(2) .container .initial_cost p::after { display: none !important; }
/*------------
ナビゲーションバー（nav）
--------------*/
	nav .navbar-nav { width: 95%; }
	nav .position-fixed {
		right: 10px;
		bottom: 10px;
	}
	nav>.sp{ display: flex !important; }
	nav>ul li i  {
		font-size: 2rem;
		margin: 0 auto 0.3rem;
	}
	nav>ul li {
		width: 100px;
		height: 100px;
		font-size: 0.6rem;
		border-radius: 50%;
		opacity: 0.9;
		overflow: hidden;
	}
	nav>ul li a { color: #fff; }
/*------------
firstview
--------------*/
	#firstview .firstview_box {
		width: 100%;
		text-align: center !important;
	}
	#firstview img { max-width: 550px; }
/*------------
description
--------------*/
	#description img { max-width: 500px; }
	#description h3 {
		font-size: 1.5rem;
		text-align: left;
	}
/*------------
work
--------------*/
	#work .contents_box .carousel-item { flex-direction: column !important; }
	#work .contents_box .carousel-item>div:first-of-type>div { display: flex !important; }
	#work .contents_box .carousel-item>div:first-of-type>div img { max-width: 200px; }
	#work .contents_box .carousel-item>div:first-of-type h3 ,
	#work .contents_box .carousel-item>div:nth-of-type(2) p { margin-bottom: 1rem !important; }
	.carousel-inner { min-height: auto; }
/*------------
faq
--------------*/
	.qa-box { width: 95% !important; }
}
@media (min-width: 320px) and (max-width: 575px) {
	.pc_320 { display: none !important; }
	.sp_320 , .sp_block { display: block !important; }
	h2 { font-size: 1.8rem; }
/*------------
ナビゲーションバー（nav）
--------------*/
	nav { height: 100px; }
	.navbar-brand img { max-width: 115px; }
	nav .navbar-nav>li { font-size: 0.7rem; }
	nav .navbar-nav>li:nth-child(n+1):nth-child(-n+5)::before { width: 20px; /*下線の幅*/ }
/*------------
firstview
--------------*/
	#firstview .firstview_box a , #description a { font-size: 1.5rem; }
	.firstview { margin-top: 100px !important; }
	#firstview .jumbotron { padding: 3rem 1rem; }
	#firstview h1 {
		font-size: 2.5rem;
		line-height: 1.5;
	}
/*------------
intro
--------------*/
	#intro h3 { font-size: 1.2rem; }
/*------------
company
--------------*/
	#company h3 { font-size: 1.1rem; }
	#company h4 { line-height: 1.5; }
	#company h4::before, #company h4::after { width: 50px; }
/*------------
description
--------------*/
	#description a { max-width: 280px; }
/*------------
work
--------------*/
	#work .contents_box .carousel-item>div:first-of-type>div {
		display: block!important;
		text-align: center;
		margin-bottom: 1rem !important;
	}
	#work .contents_box .carousel-item>div:first-of-type>div p { font-size: 1rem; }
	#work .carousel-control-next { right: 0; }
	#work .carousel-control-prev { left: 0; }
/*------------
flow
--------------*/
	#flow p { font-size: 1.25rem; }
/*------------
footer
--------------*/
	footer .row:first-of-type ul li , footer .row:nth-of-type(2) ul li:last-child::after{ display: block; }
	footer .row:nth-of-type(2) ul li:last-child::after { margin-left: 0; }
	footer .row:nth-of-type(3) { flex-direction: column-reverse; }
}