﻿@charset "utf-8";
@font-face {
  font-family: 'NotoSans';
  src: url("../fonts/NotoSansCJKjp-Regular.otf") format("truetype");
}

/*-----------------reset--------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
font-family: "NotoSans","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
a, a:link, a:visited, a:hover, a:active{text-decoration:none;}
body, body * { box-sizing: border-box; }
.pc{ display:inherit !important; }
.smp{ display: none !important; }

/*-----------------レイアウト--------------------*/
.flex           { display: flex; justify-content: space-between; flex-wrap: wrap; }
.flex.nowrap    { flex-wrap: nowrap; }
.flex.end       { justify-content: flex-end; }
.flex.center    { justify-content: center; }
.flex.start      { justify-content: flex-start; }
.flex.vertical  { flex-direction: column; }
.flex.al-top    { align-items: flex-start; }
.flex.al-center { align-items: center; }
.flex.al-bottom { align-items: flex-end; }
.v-center       { display: flex; justify-content: center; }
.vh-center      { display: flex; justify-content: center; align-items: center; }
div.main  { font-family: 'Noto Sans JP', sans-serif; color: #111111; }
.outer { width: 100%; margin: 0 auto; }
.inner { width: 1040px; margin: 0 auto; }
img { max-width: 100%; }

/*-----------------見出し--------------------*/
h2 {
	padding: 55px 0;
	text-align: center;
	font-weight: bold;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../images/h-bg.jpg);
	background-position: center;
	color: #fff;
}
h2 .main {
	font-size: 36px;
	line-height: 1.4;
}
h2 .sub {
	position: relative;
	margin-top: 40px;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.7;
}
h2 .sub::before {
	content: "";
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	height: 1px;
	width: 900px;
	background-color: #fff;
}

/*-----------------色設定--------------------*/

.bg-white   { background-color: #ffffff; }
.bg-lgray   { background-color: #f5f5f5; }
.bg-disable { background-color: #999999; }
.bg-dgray   { background-color: #343434; }
.bg-red     { background-color: #cf142b; }
.bg-cyan    { background-color: #38b1b1;}
.bg-yellow  { background-color: #e7bb22; }

.fc-black   { color: #111111!important; }
.fc-white   { color: #ffffff!important; }
.fc-red     { color: #cf142b!important; }
.fc-pink    { color: #e8a6ab!important; }

/*-----------------ボタン--------------------*/
.btn {
	display: block;
	transition: opacity .3s ease;
	text-decoration: none;
	cursor: pointer;
	line-height: 1em;
}
.btn:hover {
	opacity: 0.7;
}
.btn.doc,
.btn.demo,
.btn.trial {
	width: 200px;
	padding: 15px 0;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.btn.doc  { background-color: #F56400; }
.btn.demo { background-color: #E10021; }
.btn.trial { background-color: #E0B41E; }
.cv-btns    { display: flex; }
.cv-btns li { width: 50%; }
.btn.invoice,
.btn.deliver {
	position: relative;
	padding: 25px 0;
	color: #fff;
	font-size: 28px;
	text-align: center;
}
.btn.invoice::after,
.btn.deliver::after {
	content: "";
	position: absolute;
	top: calc(50% - 10px);
	right: 20px;
	display: block;
	width: 13px;
	height: 20px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(../images/icon-arrow-wthite.png);
}
.btn.invoice {
	background-color: #2a6ac6;
}
.btn.deliver {
	background-color: #33ae8c;
}
.btn.invoice small,
.btn.deliver small {
	display: block;
	margin-bottom: 10px;
	font-size: 22px;
}
.group-btn-list {
  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;
  margin: 50px 0;
}

.group-btn-list li {
  margin-right: 30px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center;
}

.group-btn-list li a {
  font-size: 20px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #535353;
  text-align: center;
  padding: 24px 0;
  line-height: 1;
  border-radius: 5px;
  position: relative;
}

.group-btn-list li a {
  background: #E10021;
}
.group-btn-list li:first-child a {
  background: #F56400;
}
.group-btn-list li:last-child {
  margin-right: 0;
}
.group-btn-list li:nth-last-of-type(2) a {
	background: #e0b41e;
}

.group-btn-list li:first-child a:before {
    content: "";
    display: inline-block;
    background: url(../images/icon01.png) no-repeat 0 0;
    height: 23px;
    width: 21px;
    margin-right: 5px;
}
.group-btn-list li:nth-child(2) a:before {
    content: "";
    display: inline-block;
    background: url(../images/icon02.png) no-repeat 0 0;
    height: 21px;
    width: 29px;
    margin-right: 5px;
}
.group-btn-list li:last-child a:before {
    content: "";
    display: inline-block;
    background: url(../images/icon03.png) no-repeat 0 0;
    height: 20px;
    width: 26px;
    margin-right: 5px;
}

/*-----------------ヘッダー--------------------*/
header {
	position: fixed;
	width: 100%;
	background: #ffffff;
	z-index: 1000;
}
header .inner{
	height: 80px;
}
header .demo,
header .trial {
	margin-left: 10px;
}

header .inner nav a:first-child:before {
    content: "";
    display: inline-block;
    background: url(../images/icon01.png) no-repeat 0 center;
    background-size: 100%;
    height: 19px;
    width: 17px;
    margin-right: 10px;
}
header .inner nav a:nth-child(2):before {
    content: "";
    display: inline-block;
    background: url(../images/icon02.png) no-repeat 0 center;
    background-size: 100%;
    height: 19px;
    width: 26px;
    margin-right: 10px;
}
header .inner nav a:last-child:before {
    content: "";
    display: inline-block;
    background: url(../images/icon03.png) no-repeat 0 center;
    background-size: 100%;
    height: 19px;
    width: 20px;
    margin-right: 10px;
}


/*-----------------mv--------------------*/
.mv {
	padding-top: 80px;
}
.mv .outer {
	position: relative;

	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../images/mv-bg.jpg);
}
.mv .mv-img {
	position: absolute;
	z-index: 10;
	left: 50%;
	bottom: -10px;
}
.mv .mv-txt {
	height: 570px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
	width: 50%;
	padding-right: 40px;
	position: relative;
}
.mv .mv-txt small {
	font-size: 19px;
	margin-top: 10px;
	line-height: 1.6;
}
.mv .mv-txt h1 {
	/*margin-top: 30px;*/
	font-size: 48px;
	line-height: 1.25;
}
.mv .mv-txt .fukidashi {
	position: absolute;
	background: #D41E85;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	width: 110px;
	height: 110px;
	top: 20%;
	right: -30px;
	border-radius: 55px;
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	line-height: 1.2em;
}
.mv .mv-txt .fukidashi span {
	font-size: 26px;
}
.mv .mv-txt .fukidashi > div {
	padding-bottom: 6px;
}

.mv .mv-txt small.note{
	font-size: 12px;
}

sup {
	vertical-align:text-top;
	font-size:small;
}

/*-----------------lead--------------------*/
section.lead {
	padding-top: 90px;
}
section.lead .outer {
	padding: 50px 0 90px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../images/lead-bg.jpg);
}
section.lead h2 {
	background-image: none;
	padding: 0;
}
section.lead p {
	margin-top: 40px;
	text-align: center;
	color: #000;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.9;
}
section.lead p a {
	color: #000;
	text-decoration: underline;
	transition: all .3 ease;
}
section.lead p a:hover {
	color: #cf0a2c;
}
/*-----------------about--------------------*/
section.about {
	margin-top: 90px;
}
section.about .inner > p {
	padding: 40px 60px;
	line-height: 1.7;
	letter-spacing: 0.15em;
}
section.about .about-detail {
	padding: 50px 20px;
	background-color: #f7f5e7;
	border-radius: 5px;
}
section.about .steps {
	margin: 30px 15px;
}
section.about .steps li {
	width: 200px;
}
section.about .steps .num {
	display: inline-block;
	padding: 6px 10px;
	background-color: #666666;
	border-radius: 5px;
	color: #fff;
}
section.about .steps .ttl {
	display: block;
	margin: 15px 0;
	font-size: 18px;
	font-weight: bold;
	color: #1dabd4;
}
section.about .steps p {
	line-height: 1.7;
}
section.about .steps p a {
	color: #0066cc;
	text-decoration: underline;
}

/*-----------------worries--------------------*/
section.worries {
	padding-top: 150px;
}
section.worries .outer {
	background-color: #f7f5e7;
	padding-bottom: 90px;
}
section.worries .worries-list {
	margin-top: 50px;
}
section.worries .worries-list li {
	width: 308px;
}
section.worries .worries-list .img {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-content: center;
	height: 356px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../images/worries-bg.png);
}
section.worries .worries-list .img strong {
	margin-top: 10px;
	display: block;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
}
section.worries .worries-list .img img {
	align-self: flex-start;
	margin: 0 auto;
}
section.worries .worries-list .img span {
	height: 2em;
	margin-bottom: 20px;
	display: block;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}
section.worries .worries-list p {
	margin-top: 15px;
	letter-spacing: 0.15em;
	line-height: 1.7;
}
/*-----------------feature--------------------*/
section.feature {
	padding-top: 150px;
}
section.feature .feature-list {
	margin-top: 40px;
}
section.feature .feature-list li {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 30%;
	padding: 40px 30px;
	background-color: #f7f5e7;
	margin: 0 5px 10px;
	letter-spacing: 0.15em;
}
section.feature .feature-list strong {
	display: block;
	min-height: 2em;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
}
section.feature .feature-list figure {
	min-height: 190px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
section.feature .feature-list p:nth-last-of-type(2) {
	margin-bottom: 20px;
	font-weight: bold;
	line-height: 1.7;
}
section.feature .feature-list p:nth-last-of-type(1) {
	line-height: 1.7;
}
section.feature .feature-list p small {
	display: block;
	font-size: 12px;
	line-height: 1.5;
}

/*-----------------lineup--------------------*/
section.lineup {
	padding-top: 140px;
}
section.lineup .outer {
	background-color: #f7f5e7;
}
section.lineup .inner {
	padding: 50px 0 90px;
}
section.lineup img {
	width: 100%;
}
section.lineup .cv-btns {
	margin-top: 55px;
	padding: 0 15px;
}
section.lineup .cv-btns li {
	margin: 0 10px;
}

/*-----------------case--------------------*/
section.case {
	padding-top: 150px;
}
section.case .case-list {
	margin-top: 50px;
}
section.case .case-list li {
	width: 270px;
	margin: 0 30px;
	letter-spacing: 0.15em;
	line-height: 1.7;
}
section.case .case-list li span {
	display: block;
	margin: 10px 0;
	font-size: 14px;
	color: #999999;
}
/*-----------------reason--------------------*/
section.reason {
	padding-top: 140px;
}
section.reason .outer {
	background-color: #f7f5e7;
	padding-bottom: 120px;
}
section.reason .reason-list {
	margin-top: 50px;
	padding: 0 40px;
}
section.reason .reason-list li {
	width: 42%;
	margin-bottom: 60px;
	letter-spacing: 0.15em;
}
section.reason .reason-list li:nth-of-type(n+3) {
	width: 26%;
}
section.reason .reason-list li strong {
	display: block;
	margin: 10px 0;
	color: #1dabd4;
	font-weight: bold;
}

/*-----------------faq--------------------*/
section.faq {
	padding-top: 150px;
	padding-bottom: 90px;
}
section.faq .faq-list {
	margin-top: 60px;
	padding: 0 40px;
	font-size: 20px;
}
section.faq .faq-list .q {
	position: relative;
	display: block;
	padding: 15px 0 15px 70px;
	margin-bottom: 20px;
	color: #222;
	cursor: pointer;
}
section.faq .faq-list .q::before,
section.faq .faq-list .q::after,
section.faq .faq-list .a::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	background-repeat: no-repeat;
	background-size: contain;
}
section.faq .faq-list .q::before {
	background-image: url(../images/icon-q.png);
	width: 51px;
	height: 51px;
	left: 0;
}
section.faq .faq-list .q::after {
	background-image: url(../images/icon-toggle.png);
	width: 21px;
	height: 12px;
	right: 0;
	transition: all .3s ease;
}
section.faq .faq-list .q.open::after {
	transform: translateY(-50%) rotate(180deg);
}
section.faq .faq-list .a {
	display: none;
	position: relative;
	color: #636363;
	padding: 35px 0 35px 140px;
	margin-bottom: 35px;
	border-top: 2px solid #f7f7f7;
}
section.faq .faq-list .a::before {
	background-image: url(../images/icon-a.png);
	width: 51px;
	height: 51px;
	left: 70px;
}
section.faq .details {
	margin-top: 70px;
}
section.faq .details li {
	width: 44%;
}
section.faq .details li:last-child {
	width: 55%;
}
section.faq .details > li:nth-of-type(1) { background-color: #f7f5e7; }
section.faq .details > li:nth-of-type(2) { background-color: #FAE9E6; }
section.faq .details > li:nth-of-type(2) ul {
    padding: 21px 10px 0 10px;
}
section.faq .details > li:nth-of-type(2) ul li {
    width: 32%;
    font-size: 14px;
    text-align: center;
    line-height: 1.4;
}
section.faq .details > li:nth-of-type(2) ul {
    width: 100%;
    font-size: 14px;
    text-align: center;
    line-height: 1.4;
}
section.faq .details > li:nth-of-type(2) ul li a {
    font-size: 16px;
}
section.faq .details li strong {
	display: block;
	padding: 20px 0;
	text-align: center;
	font-weight: bold;
    font-size: 18px;
}
section.faq .details > li:nth-of-type(1) strong { background-color: #e1daa7; }
section.faq .details > li:nth-of-type(2) strong { background-color: #F8C1B6; }
section.faq .details ul {
	padding: 40px 10px;
}
section.faq .details li:first-child ul li {
    width: 49%;
}
section.faq .details li .btn {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	border-radius: 5px;
	text-align: center;
	font-size: 18px;
	color: #fff;
	line-height: 1.2;
}
section.faq .details li .btn.cv-inv  { background-color: #2a6ac6; }
section.faq .details li .btn.cv-dlr  { background-color: #33ae8c; }
section.faq .details li .btn.cv-dld  { background-color: #F56400; }
section.faq .details li .btn.cv-demo { background-color: #E10021; }
section.faq .details li .btn.cv-trial { background-color: #e0b41e; }

section.faq .details > li:nth-of-type(2) ul li:first-child a:before {
    content: "";
    display: inline-block;
    background: url(../images/icon01.png) no-repeat 0 0;
    height: 23px;
    width: 21px;
    margin-right: 10px;
}
section.faq .details > li:nth-of-type(2) ul li:nth-child(2) a:before {
    content: "";
    display: inline-block;
    background: url(../images/icon02.png) no-repeat 0 0;
    height: 21px;
    width: 29px;
    margin-right: 5px;
}
section.faq .details > li:nth-of-type(2) ul li:last-child a:before {
    content: "";
    display: inline-block;
    background: url(../images/icon03.png) no-repeat 0 0;
    height: 20px;
    width: 26px;
    margin-right: 10px;
}


@media (max-width: 1024px) {


}
@media (max-width: 768px) {
	.pc  { display: none !important; }
	.smp { display: block !important; }
	.inner { width: 94%; margin: 0 auto; }
	div.main { font-size: 14px;overflow: hidden;}

	/*-----------------見出し--------------------*/
	h2 {
		background-image: url(../images/h-bg-sp.jpg);
		padding: 40px 5%;
	}
	h2 .main {
		font-size: 26px;
	}
	h2 .sub {
		font-size: 16px;
	}
	h2 .sub::before {
		width: 100%;
	}

	/*-----------------色設定--------------------*/


	/*-----------------ボタン--------------------*/
	.btn.doc,
	.btn.demo,
	.btn.trial {
		width: 100%;
		padding: 15px 0;
	}
	.cv-btns {
		flex-wrap: wrap;
	}
	.cv-btns li {
		width: 100%;
		padding: 10px 0;
	}
	.btn.invoice,
	.btn.deliver {
		padding: 10px 30px;
		font-size: 22px;
		line-height: 1.5;
	}
	.btn.invoice::after,
	.btn.deliver::after {
		right: 10px;
		font-size: 18px;
	}
	.btn.invoice small,
	.btn.deliver small {
		margin-bottom: 5px;
		font-size: 14px;
	}
	/*-----------------ヘッダー--------------------*/
	header .inner{
		height: inherit;
	}
	header .inner > a {
		padding: 10px;
	}
	header .demo,
	header .trial {
		margin-top: 15px;
		margin-left: 0;
	}
	header .mv-btns {
		flex-direction: column;
	}

	/*-----------------mv--------------------*/
	.mv {
		padding-top: 54px;
	}
	.mv .outer {
		overflow: hidden;
	}
	.mv .mv-img {
		width: 50vw;
		left: 60%;
    bottom: 0;
    z-index: 0;
	}
	.mv .mv-txt {
		height: 70vw;
		width: 56vw;
		padding-right: 0;
	}
	.mv .mv-txt small {
		font-size: 16px;
	}
	.mv .mv-txt h1 {
		font-size: 6vw;
		margin-top: 10px;
	}
	.mv .mv-txt .fukidashi {
		position: inherit;
		font-size: 12px;
		width: auto;
		height: auto;
		top: auto;
		right: auto;
	}
	.mv .mv-txt .fukidashi span {
		font-size: 18px;
	}
	.mv .mv-txt .fukidashi br {
		display: none
	}
	.mv .mv-txt .fukidashi > div {
		padding-top: 3px;
	}
	.mv .cv-btns li {
		padding: 0 0;
	}

	/*-----------------lead--------------------*/
	section.lead {
		padding-top: 40px;
	}

	section.lead p {
		font-size: 16px;
	}
	/*-----------------about--------------------*/
	section.about {
		margin-top: 40px;
	}
	section.about .inner > p {
		padding: 20px;
	}
	section.about .about-detail {
		padding: 20px 10px;
	}
	section.about .steps {
	}
	section.about .steps li {
		width: 49%;
	}
	section.about .steps .ttl {
		font-size: 16px;
	}

	/*-----------------worries--------------------*/
	section.worries {
		padding-top: 60px;
	}
	section.worries .worries-list li {
		width: 100%;
		margin-bottom: 20px;
	}
	/*-----------------feature--------------------*/
	section.feature {
		padding-top: 60px;
	}
	section.feature .feature-list li {
		width: 100%;
	}

	/*-----------------lineup--------------------*/
	section.lineup {
		padding-top: 60px;
	}

	/*-----------------case--------------------*/
	section.case {
		padding-top: 60px;
	}
	section.case .case-list li {
		width: 100%;
		margin: 0;
		margin-bottom: 20px;
	}
	section.case .case-list li img {
		width: 100%;
	}
	/*-----------------reason--------------------*/
	section.reason {
		padding-top: 55px;
	}
	section.reason .outer {
		padding-bottom: 50px;
	}
	section.reason .reason-list {
		padding: 0;
	}
	section.reason .reason-list li {
		width: 100%;
		margin-bottom: 20px;
	}
	section.reason .reason-list li:nth-of-type(n+3) {
		width: 48%;
	}

	/*-----------------faq--------------------*/
	section.faq {
		padding-top: 60px;
		padding-bottom: 40px;
	}
	section.faq .faq-list {
		margin-top: 30px;
		padding: 0;
		font-size: 16px;
	}
	section.faq .faq-list .q {
		padding: 10px 20px 10px 2em;
	}
	section.faq .faq-list .q::before {
		width: 1.5em;
		height: 1.5em;
	}
	section.faq .faq-list .q::after {
		width: 10px;
		height: 6px;
	}
	section.faq .faq-list .a {
		padding: 10px 0 10px 3.5em;
		font-size: 14px;

	}
	section.faq .faq-list .a::before {
		width: 1.5em;
		height: 1.5em;
		left: 1.5em;
	}
	section.faq .details > li {
		width: 100% !important;
	}

	section.faq .details li strong {
		padding: 10px 0;
        font-size: 16px;
        line-height: 1.4;
	}
	section.faq .details ul {
        padding-left: 20px !important;
        padding-right: 20px !important;
	}
	section.faq .details li .btn {
		font-size: 14px;
		height: 40px;
	}


}
@media (max-width: 375px) {

}
@media (max-width: 350px) {

}



/*-----------------フッター--------------------*/
#fix_footer {
	display: none;
	background-color: rgba(0,0,0,0.7);
	padding: 30px 10px 20px;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
}
#fix_footer ul {
	display: block;
	margin: auto;
	text-align: center;
	width: 100%;
	max-width: 1060px;
}
#fix_footer li {
	/* margin-bottom: 10px; */
	position: relative;
}
#fix_footer li>a {
	display: block;
	padding: 16px 0;
	background-color: #cf142b;
	color: #fff;
	width: 100%;
	line-height: 100%;
	position: relative;
	font-weight: bold;
}
#fix_footer li>a:hover {
	text-decoration: none;
	opacity: 0.6;
	/* transition: all 400ms 0s ease; */
}
#fix_footer li>a::before {
    top: calc(50% - 10px);
    display: block;
    width: auto;
    height: auto;
    position: absolute;
	left: 10px;
    border: solid #fff;
    border-width: 0;
}
#fix_footer li>a[target="_blank"]::before {
	content: url("../img/icon_s_newwindow_02.png");
}
#fix_footer li>a.icon-download::before {
	content: url("../img/icon_s_newwindow_02-1.png");
}
#fix_footer li>a.mailto::before {
	content: url("../img/icon_s_mail_02.png");
}
#fix_footer.hidden {
	display: none!important;
	transition: all 400ms 0s ease;
}
.fix-nav {
    background-color: rgba(0, 0, 0, .7);
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 99;
}
.fix-nav .group-btn-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    align-items: center;
    margin: 10px 5px;
}
.fix-nav .group-btn-list li {
    max-width: 320px;
}
.fix-nav .group-btn-list li a {
    font-size: 16px;
    padding: 13px 0;
}
.fix-nav .group-btn-list li a {
    display: flex;
    justify-content: center;
    align-items: center;
}
.fix-nav .group-btn-list li:first-child a:before {
    content: "";
    display: block;
    background: url(../images/icon01.png) no-repeat center center;
    height: 23px;
    margin-right: 10px;
    background-size: 100%;
}
.fix-nav .group-btn-list li:nth-child(2) a:before {
    content: "";
    display: block;
    background: url(../images/icon02.png) no-repeat center center;
    height: 23px;
    margin-right: 10px;
    background-size: 100%;
}
.fix-nav .group-btn-list li:last-child a:before {
    content: "";
    display: block;
    background: url(../images/icon03.png) no-repeat center center;
    height: 23px;
    margin-right: 10px;
    background-size: 100%;
}
.is-fixed {
    display: none !important;
}
@media (min-width: 1000px) {
	#fix_footer li {
		/*width: calc(25% - 25px);*/
        width: 250px;
	}
	#fix_footer li {
		margin: 0 10px;
	}
	/*#gl_footer {
		padding-bottom: 100px;
	}*/
}
@media (min-width: 768px) {
	#fix_footer li {
		display: inline-block;
	}
	#fix_footer li>a {
		border-radius: 10px;
	}
	#fix_footer li>a {
		padding-left: 25px;
		box-sizing: border-box;
	}
}
@media (min-width: 768px) and (max-width: 999px) {
	#fix_footer li {
		/*width: calc(50% - 25px);*/
        width: 250px;
	}
	#fix_footer li:nth-child(2n-1) {
		/*margin-right: 10px;*/
	}
	#fix_footer li:not(:nth-last-child(-n+2)) {
		margin-bottom: 15px;
	}
}
@media (max-width: 767px) {
	#fix_footer li {
		width: 100%;
	}
	#fix_footer li:not(:last-child) {
		margin-bottom: 10px;
	}
	#fix_footer li>a {
		border-radius: 4px;
	}
}

@media (min-width: 768px) {
	#fix_footer .sp_button {
		display: none;
	}
}
@media (max-width: 767px) {
	#fix_footer {
		padding: 0;
		box-shadow: 0px -3px 5px 0px rgba(0, 0, 0, 0.1);
	}
	#fix_footer>ul {
		margin: 15px;
		width: calc(100% - 30px);
		transition: all 400ms 0s ease;
		transform: translateY(0);
	}
	#fix_footer>.sp_button.closed+ul {
		transition: all 400ms 0s ease;
		transform: translateY(100%);
		height: 0;
		padding: 0;
		margin: 0 15px;
		overflow: hidden;
	}
	#fix_footer>.sp_button {
		background-color: #ff6112;
		padding: 15px;
		position: relative;
		text-align: center;
		line-height: 1;
		color: #fff;
	}
	#fix_footer>.sp_button::before {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		border: solid #fff;
		border-width: 2px 2px 0 0;
		position: absolute;
		right: 20px;
		top: calc(50% - 5.83px);
		transform: rotate(135deg);
	}
	#fix_footer>.sp_button.closed::before {
		transform: rotate(-45deg);
		top: calc(50% - 0.83px);
	}

    header {
			position: fixed;
    }
    header .headright .drawer-hamburger {
        text-align: center;
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 50px;
        height: 50px;
    }
    header .headright .drawer-hamburger span {
        display: inherit;
        height: 4px;
        background: #535353;
        margin: 10px 0;
        -webkit-transition: 0.4s;
        transition: 0.4s;
        width: 40px;
        border-radius: 10%;
    }
    header .headright .gnav {
        position: absolute;
        display: block;
        width: 100%;
        right: -100%;
        top: 100%;
        z-index: 99;
        -webkit-transition: right 0.6s;
        transition: right 0.6s;
        background: rgba(83, 83, 83, .9);
    }
    header .headright .gnav.is-open {
        right: 0;
    }
    header .headright .mv-btns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        flex-wrap: wrap;
        padding: 10%;
    }
    header .headright .mv-btns a {
        justify-content: center;
        align-items: center;
        display: flex;
    }
    header .headright .mv-btns li {
        width: 100%;
        text-align: center;
    }
    header .headright .mv-btns li a {
        min-width: 80%;
        display: inline-block;
    }
    header .headright .drawer-hamburger.active span:first-child {
        -webkit-transform: rotate(-45deg) translate(-7px, 9px);
        transform: rotate(-45deg) translate(-7px, 9px);
    }
    header .headright .drawer-hamburger.active span:nth-child(2n) {
        opacity: 0;
    }
    header .headright .drawer-hamburger.active span:last-child {
        -webkit-transform: rotate(45deg) translate(-11px, -13px);
        transform: rotate(45deg) translate(-11px, -13px);
    }
    section.faq .details > li:nth-of-type(2) ul li,
    section.faq .details li:first-child ul li {
        width: 100%;
    }
    section.faq .details > li:nth-of-type(2) ul li a,
    section.faq .details li:first-child ul li a {
        min-height: 60px;
    }
    section.faq .details > li:nth-of-type(2) ul li a br,
    section.faq .details li:first-child ul li a br {
        display: none;
    }
    section.faq .details > li:nth-of-type(2) ul li + li,
    section.faq .details li:first-child ul li + li {
        margin-top: 10px;
    }
    section.faq .details > li:nth-of-type(2) {
        padding: 0 0 50px 0;
        margin-top: 20px;
    }
  .fix-nav {
    background-color: rgba(0, 0, 0, .7);
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 99;
  }
  .fix-nav .group-btn-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 10px 5px;
  }
  .fix-nav .group-btn-list li {
    width: 32%;
    margin-right: 0;
  }
  .fix-nav .group-btn-list li:first-child {
    margin-right: 0;
  }
  .fix-nav .group-btn-list li + li {
    margin-top: 0;
    margin-left: 2%;
    }
  .fix-nav .group-btn-list li a {
    font-size: 10px;
    padding: 13px 0;
  }
.fix-nav .group-btn-list li a {
    display: block;
}
.fix-nav .group-btn-list li:first-child a:before {
    content: "";
    display: block;
    background: url(../images/icon01.png) no-repeat center 0;
    height: 16px;
    width: 100%;
    margin-right: 0;
    margin-bottom: 5px;
    background-size: 14px;
}
.fix-nav .group-btn-list li:nth-child(2) a:before {
    content: "";
    display: block;
    background: url(../images/icon02.png) no-repeat center 0;
    height: 16px;
    width: 100%;
    margin-right: 0;
    margin-bottom: 5px;
    background-size: 19px;
}
.fix-nav .group-btn-list li:last-child a:before {
    content: "";
    display: block;
    background: url(../images/icon03.png) no-repeat center 0;
    height: 16px;
    width: 100%;
    margin-right: 0;
    margin-bottom: 5px;
    background-size: 18px;
}
.is-fixed {
    display: none !important;
}
}

#fix_footer li > a {
	text-decoration: none;
	padding-left: 0;
}
#fix_footer li a span {
	padding-left: 35px;
}


@media (max-width: 767px) {
	#fix_footer>.sp_button {
		margin-bottom: 0;
	}
	/*200330*/
	.main .mv .mv-txt h1 {
    font-size: 5vw;
}
		.tx_attn{
		margin-top: 20px;
	}
	header .outer a.head__logo{
    padding: 10px 0;
}
	header .outer .head__logo img{
		width: 95px;
	}
}

@media (min-width: 768px) {
	.main .mv .mv-txt h1 {
    font-size: 40px;
	}}
.case-list a:hover{
	opacity: 0.6;
	transition: all .5s;
}
.about-detail #attn_wrap .tx_attn li{
	    text-indent: -2.5em;
        padding-left: 2.5em;
	　　line-height: 1.5;
		padding-top: 2px;
}
a.underline {
    border-bottom: 1px solid #0066cc;
    padding-bottom: 2px;
    line-height: 1.5;
}
a.underline:visited {
    color: #0066cc;
}
section.about .steps .ttl{
	    line-height: 1.5;
}
#attn_wrap{
	margin-top: 20px;
}

.full_bnrbox {
    margin: 50px auto;
    max-width: 1020px;
    position: relative;
}
.full_bnrbox + .worries {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
.full_bnrbox {
    margin: 25px auto;
    max-width: 100%;
    position: relative;
}
}
.pc {
  display: block;
}
.sm {
  display: none;
}
section.feature .feature-list li.wide {
    width: 92%;
}

section.feature .feature-list ul.wide_list {
    display: block;
    /* width: 100%; */
}

section.feature .feature-list ul.wide_list li {
    width: 100%;
    padding: 0;
    margin: 10px 0 0 0;
    display: block;
}

section.feature .feature-list ul.wide_list li a {
    color: #06a5c3;
    letter-spacing: 0;
    position:relative;
    padding-left:1rem;
    text-decoration:underline;
}
section.feature .feature-list ul.wide_list li a:hover {
    text-decoration:none;
}
section.feature .feature-list ul.wide_list li a:before {
    position: absolute;
    display:block;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin-top: -3px;
    vertical-align: middle;
    border-color: #06a5c3;
    content: '';
}


a.text-link {
    color: #06a5c3;
    letter-spacing: 0;
    position:relative;
    padding-left:1rem;
    text-decoration:underline;
}
a.text-link:hover {
    text-decoration:none;
}
a.text-link:before {
    position: absolute;
    display:block;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin-top: -3px;
    vertical-align: middle;
    border-color: #06a5c3;
    content: '';
}