@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap');

/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

img {
	vertical-align: top;
}

ul,
li {
	list-style: none;
}


/* -------- 202205 本サイトリニューアルに伴う修正 ------- */
.headBlock,
.lnw_content_gmenu.norm,
.Fs_40.box-0,
.breadcrumbtrail,
.btmbreadline,
#bottom-ot,
.lnw_content_footer.box-s,
.lnw_content_copyright,
#lnw_content_spmenu,
#scroll {
	display: none;
}

footer {
	display: none;
}

.main-content footer {
	display: block !important;
}

/* -------------------------------- */


/* -------------------------------- 

Primary style

-------------------------------- */
html * {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*,
*:after,
*:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #333333;
	margin: 0px;
	padding: 0px;
	text-align: left;
	font-size: 16px;
	line-height: 1.8;
}

body,
html {
	/* important */
	height: 100%;
}

h2 {
	font-size: 2em;
}

h3 {
	font-size: 1.5em;
}

h4 {
	font-size: 1.2em;
}

a:link {
	color: #EF8F66;
}

a:visited {
	color: #EF8F66;
}

a:hover {
	color: #EF8F66;
}

a:active {
	color: #EF8F66;
}

.pc-on {
	display: inline !important;
}

.pc-off {
	display: none !important;
}

.sp-on {
	display: inline !important;
}

.sp-off {
	display: none !important;
}

.w100 {
	width: 100%;
}

.w50 {
	width: 50%;
}

.bdr {
	border: 1px solid #000;
}

f14 {
	font-size: 14px !important;
}

.left {
	text-align: left !important;
}

.right {
	text-align: right !important;
}

/*
* img-responsive
*/
img.responsive {
	width: 100%;
	max-width: 100%;
	height: auto;
}

/*
* clearfix
*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 1px;
	line-height: 0;
}

.clearfix {
	display: inline-block;
}

.clearfix {
	display: block;
}

/*
* onmouse
*/
a.onmouse:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#page-top {
	position: fixed;
	bottom: 10px;
	right: 16px;
	opacity: 0;
	z-index: 300;
	cursor: pointer;
}

#page-top.fade-in {
	color: #666;
	font-size: 14px;
	opacity: 1.0;
	transition: opacity 1s;
}

a.cv-btn {
	position: relative;
	background: linear-gradient(25deg, #EF8F66, #EC6734);
	border-radius: 50px;
	padding: 30px 150px;
	font-size: 32px;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
}

a.cv-btn:after {
	content: '';
	position: absolute;
	top: 40px;
	right: 18px;
	width: 22px;
	height: 29px;
	background-image: url(../img/btn-icon.svg);
	background-size: contain;
	vertical-align: middle;
}

div a.cv-btn {
	text-align: center;
	width: 530px;
}

.about div a.cv-btn {
	margin: 0 auto;
}


/* --------------------------------

Main components 

-------------------------------- */

br.pc {
	display: inline;
}

br.sp {
	display: none;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

div.main-content {
	height: 100%;
	min-width: 1280px;
	/* min-width: 1440px; */
	position: relative;
	z-index: 1;
}

.conteiner {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

.conteiner02 {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.conteiner03 {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;

}

h2.midashi,
h2.midashi03 {
	position: relative;
	padding-bottom: 50px;
	font-size: 44px;

}

h2.midashi02 {
	position: relative;
	padding-bottom: 30px;
	font-size: 32px;
}

h2.midashi:after {
	content: '';
	position: absolute;
	bottom: 0px;
	left: 50%;
	width: 50px;
	height: 37px;
	margin-left: -25px;
	background: url(../img/h2-icon.svg)no-repeat bottom center;
	background-size: contain;
}

h2.midashi02:after {
	content: '';
	position: absolute;
	bottom: 0px;
	left: 50%;
	width: 25px;
	height: 25px;
	margin-left: -12px;
	background: url(../img/h3-icon.svg)no-repeat bottom center;
	background-size: contain;
}

h2.midashi03:after {
	content: '';
	position: absolute;
	bottom: 0px;
	left: 50%;
	width: 49px;
	height: 37px;
	margin-left: -25px;
	background: url(../img/h2-icon02.svg)no-repeat bottom center;
	background-size: contain;
}

h3.midashi {
	position: relative;
	padding-bottom: 10px;
	font-size: 30px;
	letter-spacing: -0.05em;
}

h3.midashi:after {
	content: "";
	position: absolute;
	display: block;
	height: 6px;
	width: 24px;
	background-color: #64C7CC;
	border-radius: 3px;
}


/* -------- basicblock-2列 ------- */

div.list-2blocks {
	display: flex;
	align-items: center;
	text-align: left;
	margin-top: 24px;
}

div.list-2blocks img {
	width: 40%;
}

div.list-2blocks div {
	width: 60%;
}

div.list-2blocks div p {
	margin-top: 24px;
}

div.reverse {
	flex-direction: row-reverse;
}

div.list-2blocks div {
	margin-right: 32px;
}

div.reverse div {
	margin-left: 32px;
}

div.list-2blocks span.underline {
	position: relative;
	display: inline-block;
	font-weight: bold;
}

div.list-2blocks span.underline:after {
	content: "";
	position: absolute;
	bottom: 5px;
	left: -5px;
	right: -5px;
	height: 10px;
	background-color: #FFEB00;
	z-index: -1;
}

div.list-2blocks span.cap {
	font-size: 0.8em;
	vertical-align: top;
}


/* -------- basicblock-3列 ------- */

div.list-3blocks {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: left;
	margin: 32px 0 132px 0;
}

div.list-3blocks dl {
	display: flex;
	flex-wrap: wrap;
	width: 32%;
	height: auto;
	padding: 0 24px;
}

/* ユーザー層グラフ */
div.list-3blocks.graph {
	justify-content: center;
}

div.list-3blocks.graph dl {
	width: 40%;
	justify-content: center;
}


div.list-3blocks dl.reverse {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	width: 30%;
	padding: 0 24px;
}

div.list-3blocks dl dt {
	text-align: center;
	position: relative;
}

div.list-3blocks dl dt p.top {
	position: absolute;
	top: -60px;
	left: -60px;
}

div.list-3blocks dl dt p.bottom {
	position: absolute;
	bottom: -80px;
	right: -60px;
}

div.list-3blocks dl dt img {
	width: 100%;
}

div.list-3blocks dl dd {
	width: 100%;
	text-align: center;
	padding-top: 24px;
}

div.list-3blocks dl dd img {
	width: 100%;
}


/* -------- basicblock-4列 ------- */

div.list-4blocks {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: center;
	margin: 32px 0;
}

div.list-4blocks dl {
	display: flex;
	flex-wrap: wrap;
	width: 25%;
	padding: 0 24px;
}

div.list-4blocks dl dd {
	width: 100%;
	font-size: 24px;
	padding-top: 24px;
}

div.list-4blocks dl.reverse {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	width: 25%;
	padding: 0 24px;
}

div.list-4blocks dl dt img {
	width: 100%;
}

div.list-4blocks dl dd img {
	width: 100%;
}

/* -------- basicblock-6列 ------- */

div.list-6blocks {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: left;
	padding: 92px 0;
}

div.list-6blocks div {
	width: 16%;
	padding: 0 20px;
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
}

div.list-6blocks div img {
	width: 100%;
}

/* -------- header area ------- */

header {
	width: 100%;
	text-align: center;
	position: sticky;
	top: 0;
	background-color: #fff;
	z-index: 20;
}

header div.conteiner {
	width: 100%;
	max-width: 1440px;
	display: flex;
	height: 97px;
	align-items: center;
	margin: 0 auto;
	padding: 0 24px;
}

header .conteiner div.logo {
	width: 20%;
	text-align: left;
}

header .conteiner nav.menu {
	width: 80%;
}

/* -------- FV area ------- */

.fv {
	position: relative;
	height: 800px;
	background: url("../img/mv-bg-full_pc.png")no-repeat top center;
	background-size: auto 100%;
	background-color: #fefbf5;
	z-index: 100;
}

.fv-bg {
	position: absolute;
	width: 100%;
	height: 900px;
	background: url("../img/mv-bg-img_pc.png")no-repeat top center;
	background-size: cover;
	z-index: 10;

}

.fv-bg .conteiner {
	position: absolute;
	bottom: 60px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

.fv-title {
	width: 50%;
	font-size: 43px;
	padding-left: 24px;
}

.fv-title p.catch {
	font-size: 44px;
	font-weight: bold;
	border: 2px solid #666;
	border-radius: 10px;
	padding: 10px 24px;
	display: flex;
	width: fit-content;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}

.fv-title p.catch strong {
	font-size: 59px;
}

.fv-title h1 {
	line-height: 1.5em;
	margin-bottom: 92px !important;
}

.fv-title strong {
	color: #FF5B1A;
}

.fv-title strong.gray {
	color: #333;
	font-weight: bold !important;
}

.fv-title span {
	font-size: 27px;
	margin: 0;
}

.fv-title span.small {
	font-size: 18px;
	display: inline-block;
}

.fv-title p.underline {
	position: relative;
	display: inline-block;
}

.fv-title p.underline:before {
	content: "";
	position: absolute;
	bottom: 5px;
	left: -5px;
	right: -5px;
	height: 30px;
	background-color: #F8CF4B;
	z-index: -1;
}


/* -------- advantage area ------- */

.advantage {
	width: 100%;
	padding: 0 0 0 0;
	text-align: center;
	margin: 100px auto 0 auto;
}

.advantage .conteiner {
	width: 872px;
	margin: 0 auto;
}

.advantage .conteiner p.coment {
	font-size: 14px;
	color: #aaa;
	margin-top: 92px;
}

.advantage div.reverse div {
	margin-left: 137px;
}

/* -------- about area ------- */

.about {
	width: 100%;
	background-color: #F2ECDE;
	padding: 0;
	text-align: center;
	margin: 0 auto 132px auto;
	overflow: hidden;
}

.about h3.midashi:after {
	bottom: -10px;
}


.about-box:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	border-top: 60px solid #fff;
	/* 透明 */
	border-left: 50vw solid #fff;
	/* 透明 */
	border-right: 50vw solid transparent;
	/* グレー */
	border-bottom: 60px solid transparent;
	/* グレー */
}

.about-box {
	position: relative;
	width: 100%;
	padding: 132px 0 60px 0;
	z-index: 5;
}

.about-box:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	border-top: 60px solid transparent;
	/* 透明 */
	border-left: 50vw solid transparent;
	/* 透明 */
	border-right: 50vw solid #fff;
	/* グレー */
	border-bottom: 60px solid #fff;
	/* グレー */
}

.about-box .conteiner02 {
	position: relative;
	z-index: 10;
}

/* -------- basicblock-2列 ------- */


.about div.list-2blocks {
	margin-top: 24px;
	/**/
	margin-bottom: 92px;
	/**/
}

.about div.list-2blocks div {
	margin-left: 32px;
	/**/
	margin-right: 0;
	/**/
}

/* -------- basicblock-3列 ------- */
.about div.list-3blocks {
	margin: 48px 0 132px 0;
}


/* -------- admenu area ------- */


.admenu {
	width: 100%;
	padding: 0 0 0 0;
	text-align: center !important;
	margin: 0 auto 132px auto;
}

.admenu h2 {
	margin-bottom: 92px;
}

.admenu h2.midashi02 {
	margin-bottom: 52px;
}

/* -------- basicblock-3列 ------- */
.admenu div.list-3blocks {
	margin: 0 0 132px 0;
	/**/
}

.admenu div.list-3blocks dl dt img {
	padding: 24px 0;
	/**/
}

.admenu div.list-3blocks dl dd {
	text-align: left;
	/**/
	padding-top: 0 !important;
	/**/
}

.admenu div.list-3blocks dl.reverse dd {
	padding-top: 24px;
	/**/
}

.admenu div.list-3blocks dl dd h3 {
	font-size: 32px;
	/**/
}

/* -------- basicblock-4列 ------- */
.admenu div.list-4blocks {
	margin: 0 0 92px 0;
	/**/
}

.admenu div.admenu-catch {
	position: relative;
	font-size: 20px;
	font-weight: bold;
	display: inline-block;
	padding: 20px 0;
	border-top: 1px solid #F1A27D;
	border-bottom: 1px solid #F1A27D;
}

.admenu div.admenu-catch:before {
	content: '';
	position: absolute;
	top: 15px;
	left: -50px;
	width: 37px;
	height: 49px;
	background-image: url(../img/h4-left.svg);
	background-size: contain;
	vertical-align: top;
}

.admenu div.admenu-catch:after {
	content: '';
	position: absolute;
	top: 15px;
	right: -45px;
	width: 37px;
	height: 49px;
	background-image: url(../img/h4-right.svg);
	background-size: contain;
	vertical-align: top;
}


/* -------- jirei area ------- */


.jirei {
	width: 100%;
	padding: 0;
	text-align: center !important;
	margin: 0 auto 200px auto;
}

/* -------- basicblock-2列 ------- */

.jirei div.list-2blocks {
	align-items: end;
	/**/
}

.jirei div.list-2blocks img {
	width: 45%;
	/**/
}

.jirei div.list-2blocks div {
	width: 55%;
	/**/
}

.jirei div.list-2blocks div p {
	font-size: 14px;
	/**/
	margin-top: 0;
	/**/
}

.jirei div.list-2blocks {
	align-items: end;
	/**/
}

.jirei div.list-2blocks img {
	width: 45%;
	/**/
}

.jirei div.list-2blocks div {
	width: 55%;
	/**/
	margin-left: 24px;
	/**/
}

.jirei div.list-2blocks div p {
	font-size: 14px;
	/**/
	margin-top: 0;
	/**/
}

.jirei div.list-2blocks div.jirei-mgn {
	padding: 0 48px;
	background: url(../img/contents-bg_parts.svg) no-repeat bottom right;
	background-size: auto 80%;
}


div.jirei-mgn h3 {
	position: relative;
	padding: 5px 24px;
	/**/
	font-size: 24px;
	color: #fff;
	text-align: center;
	letter-spacing: -0.05em;
	background-color: #555555;
	border-radius: 5px;
	display: inline-block;
	margin-bottom: 20px;
}

div.jirei-mgn h3:after {
	content: "";
	position: absolute;
	display: block;
	left: 50%;
	bottom: -3px;
	height: 6px;
	width: 24px;
	margin-left: -12px;
	background-color: #64C7CC;
	border-radius: 3px;
}

div.jirei-mgn h4 {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: -0.05em;
}

div.jirei-mgn h5 {
	font-size: 18px;
	color: #FF9D76;
	font-weight: normal;
}


/* -------- company area ------- */


.company {
	width: 100%;
	padding: 0;
	text-align: center !important;
	margin: 0 auto 132px auto;
	background: linear-gradient(180deg, #fff 0%, #fff 27%, #F1F1F1 27%, #F1F1F1 100%);
	display: flex;
	justify-content: center;
	align-items: center;
}

/* -------- basicblock-2列 ------- */



.company div.reverse {
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	text-align: left;
	margin: 32px 0;
}

.company div.list-2blocks img {
	width: 35%;
}

.company div.list-2blocks img.kit-g {
	box-shadow: 0 0 99px rgba(0, 0, 0, 0.08);
	border-radius: 7.5%;
}

.company div.list-2blocks div {
	width: 65%;
	/**/
	margin-left: 0;
	/**/
}

.company div.list-2blocks div h3 {
	position: relative;
	font-size: 44px;
	line-height: 1.2em;
}

.company div.list-2blocks div h3:after {
	content: '';
	position: absolute;
	top: 20%;
	left: -15%;
	width: 60px;
	height: 81px;
	background: url(../img/company-icon.svg)no-repeat top left;
	background-size: contain;
}

.company div.list-2blocks div p {
	font-size: 18px;
}

/* -------- contact area ------- */

.contact {
	width: 100%;
	padding: 0;
	text-align: center !important;
	margin: 0 auto 184px 0;
}

.contact .conteiner {
	width: 800px;
	padding: 0;
	text-align: center !important;
	margin: 52px auto;

}

.contact span {
	font-size: 14px;
	color: #fff;
	border-radius: 5px;
	background-color: #FF9D76;
	padding: 2px 10px;
	margin-left: 5px;
}

.contact p {
	text-align: left;
	margin: 20px 0;
	font-weight: bold;
}

.contact input,
.contact select {
	padding: 10px;
	height: 68px;
	background-color: #FFF5DE;
	border-radius: 10px;
	border: 0px;
}

.contact textarea {
	padding: 10px;
	height: 240px;
	background-color: #FFF5DE;
	border-radius: 10px;
	border: 0px;
}

.radio-input {
	display: none;
}

.radio-input+label {
	padding: 5px 0 0 40px;
	position: relative;
	margin-right: 20px;
}

.radio-input+label::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background-color: #FFF5DE;
	border-radius: 50%;
}

.radio-input:checked+label {
	color: #FF9D76;
}

.radio-input:checked+label::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background: #FF9D76;
	border-radius: 50%;
}

.contact ul {
	display: flex;
	flex-wrap: wrap;
}

.contact ul li {
	padding: 10px 10px 10px 0;
	text-align: left;
}

.contact .w100 {
	width: 100%;
	margin: 0 10px 0 0;
}

.contact .w50 {
	width: 45%;
	margin: 0 10px 0 10px;
}

.contact .w30 {
	width: 30%;
	padding-right: 10px;
}

.contact .readbox {
	font-size: 14px;
	height: 200px;
	padding: 0 20px;
	background-color: #F1F1F1;
	border-radius: 10px;
	overflow-y: scroll;
	margin-bottom: 52px;
}

.contact .readbox p {
	font-weight: normal;
}

button.cv-btn {
	position: relative;
	background: linear-gradient(25deg, #EF8F66, #EC6734);
	border-radius: 20px;
	border: none;
	padding: 25px;
	font-size: 32px;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	width: 100%;
	cursor: pointer;
}

button.cv-btn:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 18px;
	width: 22px;
	height: 29px;
	margin-top: -15px;
	background-image: url(../img/btn-icon.svg);
	background-size: contain;
}

button.cv-btn span {
	font-size: initial;
	color: #fff;
	border-radius: initial;
	background-color: initial;
	padding: initial;
	margin-left: initial;
	font-size: 32px;
	font-weight: bold;
}


/* -------- footer area ------- */

footer {
	padding: 52px 0 0 0;
	text-align: left;
	background-color: #444;
	color: #fff;
}

footer p {
	font-size: 18px;
	text-align: left;
	margin: 32px 0 10px 0;
}

footer ul {
	display: flex;
	text-align: left;
	padding: 0;
}

footer ul li {
	padding: 0 28px 0 0;
	border-right: 1px solid #fff;
}

footer ul li:last-child {
	border-right: 0px solid #fff;
	padding-left: 14px;
}

footer ul li a {
	position: relative;
	color: #fff !important;
}

footer ul li a:before {
	content: '';
	position: absolute;
	top: 3px;
	right: -18px;
	width: 14px;
	height: 14px;
	background: url(../img/footer-icon.svg)no-repeat top left;
	background-size: contain;

}

footer p.copy {
	width: 100%;
	font-size: 16px !important;
	color: #eee !important;
	text-align: center;
	margin: 72px 0 20px 0;
}




/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

sp(425px)_breakpoint

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

@media only screen and (max-width: 520px) {
	/* @media only screen and (max-width: 425px) { */

	br.pc {
		display: none;
	}

	br.sp {
		display: inline;
	}

	.pc {
		display: none;
	}

	.sp {
		display: inline;
	}

	a.cv-btn {
		position: relative;
		background: linear-gradient(25deg, #EF8F66, #EC6734);
		border-radius: 50px;
		width: 100%;
		padding: 10px 20%;
		/**/
		font-size: 24px;
		/**/
		font-weight: bold;
		text-decoration: none;
		color: #fff;
		display: block;
		/**/
		text-align: center;
		/**/
	}

	a.cv-btn:after {
		content: '';
		position: absolute;
		top: 18px;
		right: 18px;
		width: 22px;
		height: 29px;
		background-image: url(../img/btn-icon.svg);
		background-size: contain;
		vertical-align: middle;
	}

	div a.cv-btn {
		text-align: center;
		width: 100%;
	}

	.about div a.cv-btn {
		margin: 0 auto;
	}

	.contact div a.cv-btn {
		width: 100%;
		border-radius: 20px;
	}


	div.main-content {
		height: 100%;
		min-width: 100%;
		/**/
		position: relative;
		z-index: 1;
	}

	.conteiner {
		width: 100%;
		/**/
		margin: 0 auto;
		padding: 0 24px;
		/**/
	}

	.conteiner02 {
		width: 100%;
		/**/
		margin: 0 auto;
		padding: 0 24px;
		/**/
	}

	.conteiner03 {
		width: 100%;
		/**/
		margin: 0 auto;
		padding: 0 24px;
		/**/
	}

	h2.midashi,
	h2.midashi02,
	h2.midashi03 {
		position: relative;
		padding-bottom: 25px;
		/**/
		font-size: 26px;
		/**/
	}

	h2.midashi:after {
		content: '';
		position: absolute;
		bottom: 0px;
		left: 50%;
		width: 32px;
		/**/
		height: 25px;
		/**/
		margin-left: -16px;
		/**/
		background: url(../img/h2-icon.svg)no-repeat bottom center;
		background-size: contain;
	}

	h2.midashi02:after {
		content: '';
		position: absolute;
		bottom: 0px;
		left: 50%;
		width: 32px;
		/**/
		height: 25px;
		/**/
		margin-left: -16px;
		/**/
		background: url(../img/h3-icon.svg)no-repeat bottom center;
		background-size: contain;
	}

	h2.midashi03:after {
		content: '';
		position: absolute;
		bottom: 0px;
		left: 50%;
		width: 32px;
		/**/
		height: 25px;
		/**/
		margin-left: -16px;
		/**/
		background: url(../img/h2-icon02.svg)no-repeat bottom center;
		background-size: contain;
	}

	h3.midashi {
		position: relative;
		padding-bottom: 10px;
		font-size: 24px;
		/**/
		letter-spacing: -0.05em;
		text-align: center;
		/**/
	}

	h3.midashi:after {
		content: "";
		position: absolute;
		display: block;
		height: 6px;
		width: 24px;
		background-color: #64C7CC;
		border-radius: 3px;
		left: 49%;
		/**/
	}


	/* -------- basicblock-2列 ------- */

	div.list-2blocks {
		display: block;
		/**/
		text-align: center;
		/**/
		margin: 32px 0 0 0;
		/**/
	}

	div.list-2blocks img {
		width: 80%;
		/**/
	}

	div.list-2blocks div {
		width: 100%;
		/**/
		margin-right: 0;
		/**/
		padding: 0;
		/**/
	}

	div.list-2blocks div p {
		margin-top: 20px;
		/**/
		text-align: left;
		/**/
	}

	div.reverse {
		display: block;
		/**/
		flex-direction: none;
		/**/
		text-align: center;
		/**/
		padding: 0;
		/**/
		margin: 44px 0 10px 0;
		/**/
	}

	div.list-2blocks img {
		width: 80%;
		/**/
	}

	div.list-2blocks div {
		width: 100%;
		/**/
		margin-left: 0;
		/**/
	}

	div.list-2blocks div p {
		margin-top: 20px;
		/**/
		text-align: left;
		/**/
	}

	/* -------- basicblock-3列 ------- */

	div.list-3blocks {
		display: block;
		/**/
		justify-content: space-between;
		flex-wrap: wrap;
		text-align: left;
		/**/
		margin: 32px 0 52px 0;
		/**/
	}

	div.list-3blocks dl {
		display: block;
		flex-wrap: wrap;
		flex-direction: column;
		/**/
		width: 100%;
		/**/
		padding: 0 0;
		margin: 0 0 44px 0;
		/**/
	}

	/* ユーザー層グラフ */
	div.list-3blocks.graph {
	}

	div.list-3blocks.graph dl {
		width: 100%;
	}

	div.list-3blocks dl.reverse {
		display: block;
		flex-wrap: wrap;
		flex-direction: column;
		/**/
		width: 100%;
		/**/
		padding: 0 0;
		/**/
	}

	div.list-3blocks dl dt {
		padding: 0;
	}

	div.list-3blocks dl dt p.bottom {
		position: absolute;
		top: -60px;
		/**/
	}



	div.list-3blocks dl dd {
		padding-top: 24px;
	}

	div.list-3blocks dl dt img {
		width: 80% !important;
		/**/
	}

	div.list-3blocks dl dd img {
		width: 100%;
	}


	/* -------- basicblock-4列 ------- */

	div.list-4blocks {
		display: flex;
		/**/
		justify-content: space-between;
		text-align: center;
		margin: 32px 0;
	}

	div.list-4blocks dl {
		display: flex;
		flex-wrap: wrap;
		width: 50%;
		/**/
		padding: 0 12px;
		/**/
	}

	div.list-4blocks dl dd {
		width: 100%;
		font-size: 24px;
		padding-top: 24px;
	}

	div.list-4blocks dl.reverse {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		width: 50%;
		padding: 0 24px;
	}

	div.list-4blocks dl dt img {
		width: 100%;
	}

	div.list-4blocks dl dd img {
		width: 100%;
	}

	/* -------- basicblock-6列 ------- */

	div.list-6blocks {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		/**/
		text-align: left;
		margin: 32px 0;
	}

	div.list-6blocks div {
		width: 50%;
		/**/
		padding: 20px;
	}

	div.list-6blocks div img {
		width: 100%;
	}


	/* -------- header area ------- */

	header div.conteiner {
		height: 60px;
		/**/
		margin: 0 auto;
		/**/
		padding: 0 24px;
		/**/
	}

	header .conteiner div.logo {
		width: 40%;
		/**/
	}

	header .conteiner div.logo img {
		width: 100%;
		/**/
	}

	header .conteiner nav.menu {
		width: 60%;
		/**/
	}


	/* -------- FV area ------- */

	.fv {
		height: 830px;
		/**/
		background: url("../img/mv-bg-full_sp.png")no-repeat -170px -200px;
		/**/
		background-size: auto 50%;
		/**/
		background-color: #fefbf5;
		/**/
	}

	.fv-bg {
		height: 860px;
		/**/
		background: url("../img/mv-bg-img_sp.png")no-repeat -50px top;
		/**/
		background-size: cover;
		/**/
	}

	.fv-bg .conteiner {
		bottom: -10px;
		/**/
	}

	.fv-title {
		width: 100%;
		/**/
		font-size: 28px;
		/**/
		padding: 0 0;
		/**/
	}

	.fv-title p.catch {
		background: url("../img/fv-icatchbg.png")no-repeat top left;
		/**/
		font-size: 15px;
		/**/
		line-height: 1.0em;
		/**/
		border: none;
		/**/
		border-radius: none;
		/**/
		text-align: center;
		/**/
		padding: 50px 30px;
		/**/
		width: 160px;
		/**/
		flex-direction: column;
	}

	.fv-title p.catch strong {
		font-size: 38px;
		/**/
		line-height: 1.0em;
		/**/
	}

	.fv-title h1 strong {
		font-size: 32px;
		/**/
	}

	.fv-title h1 strong.gray {
		font-size: 28px;
		/**/
	}


	.fv-title h1 {
		margin-bottom: 32px !important;
		/**/
	}

	.fv-title span {
		font-size: 16px;
		/**/
	}

	.fv-title span.small {
		font-size: 14px;
		/**/
	}

	.fv-title p.underline:before {
		height: 20px;
		/**/
	}

	/* -------- advantage area ------- */

	.advantage {
		margin: 92px auto 0 auto;
		/**/
	}

	.advantage .conteiner {
		width: 100%;
		/**/
	}

	.advantage .conteiner p.coment {
		font-size: 12px;
		/**/
		margin-top: 32px;
		/**/
		padding: 0;
		/**/

	}

	/* -------- basicblock-2列 ------- */

	.advantage div.reverse div {
		margin-left: 0;
	}

	.advantage .list-2blocks p {
		text-align: center;
		/**/
		margin-top: 34px;
	}

	.advantage .list-2blocks h3.midashi {
		position: relative;
		padding-bottom: 0px;
		/**/
		font-size: 24px;
		/**/
		letter-spacing: -0.05em;
		text-align: center;
		/**/
	}

	.advantage .list-2blocks h3.midashi:after {
		left: 50%;
		/**/
		margin-left: -12px;
		/**/
		bottom: -20px;
		/**/
	}

	/* -------- about area ------- */

	.about {
		margin: 0 auto 92px auto;
	}

	.about-box:before {
		border-top: 20px solid #fff;
		/* 透明 */
		/**/
		border-bottom: 20px solid transparent;
		/* グレー */
		/**/
	}

	.about-box {
		padding: 92px 0 0 0;
		/**/
	}

	.about-box:after {
		border-top: 20px solid transparent;
		/* 透明 */
		/**/
		border-bottom: 20px solid #fff;
		/* グレー */
		/**/
	}

	.about-box div.conteiner02 div.list-2blocks {
		flex-direction: column-reverse;
		/**/
		align-items: left;
		/**/
		text-align: left !important;
		/**/
		margin: 32px 0 0 0;
		/**/

	}

	.about-box div.conteiner02 div.list-2blocks div h3.midashi {
		text-align: left !important;
		/**/

	}

	.about h2 {
		margin-top: 0;
		/**/
	}

	.about h3.midashi {
		font-size: 22px;
		line-height: 1.5em !important;
	}

	.about h3.midashi:after {
		content: "";
		position: absolute;
		display: block;
		height: 6px;
		width: 24px;
		background-color: #64C7CC;
		border-radius: 3px;
		left: 0;
		/**/
		bottom: -10px;
	}

	/* -------- basicblock-2列 ------- */

	.about div.list-2blocks {
		text-align: center !important;
		/**/
		margin-bottom: 52px !important;
		/**/
	}

	.about div.list-2blocks div {
		margin-left: 0px;
		/**/
		margin-right: 0;
		/**/
	}

	.about div.list-2blocks {
		display: flex;
		flex-direction: column-reverse;
		/**/
	}

	.about div.list-2blocks img {
		width: 100%;
	}


	/* -------- basicblock-3列 ------- */

	.about div.list-3blocks {
		margin: 32px 0 0 0;
		/**/
	}



	/* -------- admenu area ------- */


	.admenu {
		width: 100%;
		text-align: center !important;
		margin: 0 auto 92px auto;
		overflow: hidden;
		/**/
	}

	.admenu h2 {
		margin-bottom: 32px;
	}

	.admenu h2.midashi02 {
		margin-bottom: 24px;
	}

	.admenu div.conteiner02 {
		text-align: center !important;
	}

	/* -------- basicblock-3列 ------- */

	.admenu div.list-3blocks {
		margin: 32px 0 0 0;
		/**/
	}

	.admenu div.list-3blocks dl {
		margin: 0 0 44px 0;
		/**/
	}

	.admenu div.list-3blocks dl dt img {
		width: 100% !important;
		/**/
		padding: 0 0;
		/**/
	}

	.admenu div.list-3blocks dl dd h3 {
		font-size: 20px;
		/**/
		margin: 24px 0;
	}

	/* -------- basicblock-4列 ------- */
	.admenu div.list-4blocks {
		margin: 0 0 32px 0;
		/**/
	}

	.admenu div.conteiner02 div.list-4blocks dd {
		font-size: 18px;
		/**/
		padding-bottom: 24px;
		/**/
	}

	.admenu div.conteiner02 div.admenu-catch {
		position: relative;
		font-size: 18px;
		font-weight: bold;
		display: inline-block;
		height: 80px;
		width: 100%;
		padding-top: 5px;
	}


	.admenu div.conteiner02 div.admenu-catch:before {
		content: '';
		position: absolute;
		top: 50%;
		/**/
		left: -10px;
		/**/
		width: 26px;
		height: 19px;
		margin-top: -10px;
		background: url(../img/h4-left.svg) no-repeat;
		background-size: contain;
		vertical-align: top;
	}


	.admenu div.conteiner02 div.admenu-catch:after {
		content: '';
		position: absolute;
		top: 50%;
		/**/
		right: -20px;
		/**/
		width: 26px;
		height: 19px;
		margin-top: -10px;
		background: url(../img/h4-right.svg) no-repeat;
		background-size: contain;
		vertical-align: top;
	}



	/* -------- jirei area ------- */


	.jirei {
		width: 100%;
		text-align: center !important;
		margin: 0 auto 92px auto;
	}

	/* -------- basicblock-2列 ------- */

	.jirei div.list-2blocks {
		display: block;
		/**/
		text-align: left;
		/**/
		margin: 32px 0 0 0 !important;
		/**/
	}

	.jirei div.list-2blocks img {
		width: 100%;
		/**/
		margin-bottom: 24px;
		/**/
	}

	.jirei div.list-2blocks div {
		width: 100%;
		/**/
		margin-right: 32px;
	}

	div.list-2blocks div p {
		margin-top: 24px;
	}


	.jirei div.reverse {
		display: flex;
		align-items: center;
		flex-direction: column;
		/**/
		text-align: left;
		margin: 44px 0 12px 0 !important;
		/**/
	}

	.jirei div.list-2blocks img {
		width: 100%;
		/**/
		margin-bottom: 24px;
		/**/
	}

	.jirei div.list-2blocks div {
		width: 100%;
		/**/
		margin-left: 0;
		/**/
	}


	.jirei div.list-2blocks div.jirei-mgn {
		padding: 0;
		/**/
		margin: 0;
		background: url(../img/contents-bg_parts.png) no-repeat top right;
		background-size: auto 220px;
	}

	div.jirei-mgn h3 {
		position: relative;
		padding-bottom: 10px;
		font-size: 16px;
		/**/
		color: #fff;
		text-align: center;
		letter-spacing: -0.05em;
		background-color: #555555;
		border-radius: 5px;
		margin-bottom: 15px;
		/**/
	}

	div.jirei-mgn h3:after {
		content: "";
		position: absolute;
		display: block;
		left: 50%;
		bottom: -3px;
		height: 6px;
		width: 24px;
		margin-left: -12px;
		background-color: #64C7CC;
		border-radius: 3px;
	}

	div.jirei-mgn h4 {
		font-size: 20px;
		/**/
		font-weight: bold;
		letter-spacing: -0.05em;
	}

	div.jirei-mgn h5 {
		font-size: 18px;
		color: #FF9D76;
		font-weight: normal;
		margin-bottom: 24px;
	}



	/* -------- company area ------- */


	.company {
		width: 100%;
		padding: 0;
		text-align: center !important;
		margin: 0 auto 92px auto;
		background: linear-gradient(180deg, #fff 0%, #fff 10%, #F1F1F1 10%, #F1F1F1 100%);
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
	}

	/* -------- basicblock-2列 ------- */


	.company div.reverse {
		display: block;
		/**/
		align-items: center;
		flex-direction: row-reverse;
		text-align: center;
		/**/
		margin: 0 0;
	}

	.company div.list-2blocks img {
		width: 60%;
		/**/
	}

	.company div.list-2blocks div {
		width: 100%;
		/**/
		margin: 24px 0 0 0;
		/**/
	}

	.company div.list-2blocks div h3 {
		font-size: 22px;
		/**/
		text-align: center;
		/**/
		margin-bottom: 50px !important;
		/**/
	}

	.company div.list-2blocks div h3:after {
		content: '';
		position: absolute;
		top: 100%;
		/**/
		bottom: 10px;
		/**/
		left: 45%;
		/**/
		width: 30px;
		/**/
		height: 40px;
		/**/
		background: url(../img/company-icon.svg)no-repeat top left;
		transform: rotate(90deg);
		/**/
		background-size: contain;
	}

	.company div.list-2blocks div p {
		font-size: 14px;
		margin-top: 24px !important;
		/**/
	}

	/* -------- basicblock-6列 ------- */

	.company div.list-6blocks {
		padding: 32px 0 !important;
		/**/
		margin: 0;
	}

	/* -------- contact area ------- */

	.contact {
		width: 100%;
		padding: 0;
		text-align: center !important;
		margin: 0 auto 92px auto;
		/**/
	}

	.contact .conteiner {
		width: 100%;
		padding: 0 24px;
		/**/
		text-align: center !important;
		margin: 52px auto 0 auto;

	}

	.contact span {
		font-size: 14px;
		color: #fff;
		border-radius: 5px;
		background-color: #FF9D76;
		padding: 2px 10px;
		margin-left: 5px;
	}

	.contact p {
		text-align: left;
		margin: 0 0 16px 0;
		/**/
	}

	.contact input,
	.contact select {
		padding: 10px;
		margin: 0 0 16px 0;
		/**/
	}

	.contact ul {
		display: block;
		/**/
		margin: 0 0 8px 0;
		/**/
	}

	.contact ul li {
		padding-right: 30px;
	}

	.contact .w100 {
		width: 100%;
		margin: 0 0 0 0;
		/**/
	}

	.contact .w50 {
		width: 100%;
		/**/
		margin: 0 0 0 0;
		/**/
	}

	.contact .w30 {
		width: 100%;
		/**/
		margin: 0 0 16px 0;
		/**/
	}

	.contact .w30:last-child {
		width: 100%;
		/**/
		margin: 0 0 0 0;
		/**/
	}

	.contact .readbox {
		padding: 20px;
		margin: 0 0 32px 0;
		/**/
	}

	button.cv-btn {
		font-size: 24px;
		/**/
	}

	button.cv-btn span {
		display: block;
		/**/
		font-size: 16px;
		/**/
		letter-spacing: 0em;
		/**/
	}

	/* -------- footer area ------- */

	footer {
		position: relative;
		padding: 52px 0 0 0;
		text-align: left;
		background-color: #444;
		color: #fff;
	}

	footer img {
		padding: 0;
		/**/
		margin-bottom: 32px;
	}

	footer p {
		padding: 0 0 0 0 !important;
		/**/
		margin: 0 0 10px 0 !important;
		/**/
	}

	footer ul {
		display: block;
		/**/
		margin-bottom: 32px;
		padding: 0;
		/**/
	}

	footer ul li {
		position: relative;
		padding: 0 0 0 0;
		/**/
		border-right: 0px solid #fff;
		/**/
		display: block;
		/**/
		font-size: 14px;
		/**/
	}

	footer ul li a {
		text-decoration: none;
	}


	footer ul li:last-child {
		border-right: 0px solid #fff;
		padding-left: 0;
		/**/
	}



	footer p.copy {
		width: 100%;
		font-size: 14px;
		/**/
		text-align: center;
	}

}

/* ---------------------- /sp(425px)_breakpoint ------------------------ */


/*-- メニュー --*/

header nav.menu {}

header nav.menu ul {
	display: flex;
	justify-content: flex-end;
	box-sizing: content-box;

}

header nav.menu ul li {
	width: auto;
	padding-left: 40px;
	font-size: 20px;
	text-align: center !important;
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;

}

header nav.menu ul li:last-child {
	padding-left: 48px;
}

header nav.menu ul li a.btn {
	position: relative;
	background: linear-gradient(25deg, #EF8F66, #EC6734);
	border-radius: 30px;
	width: 100%;
	height: 58px;
	text-align: center;
	padding: 1px 75px;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
}

header nav.menu ul li a.btn:after {
	content: '';
	position: absolute;
	top: calc(50% - 8px);
	right: 15px;
	width: 12px;
	height: 16px;
	background-image: url(../img/btn-icon.svg);
	background-size: contain;
	vertical-align: middle;
}

header nav.menu ul li a {
	color: #333;
	text-decoration: none;
}

header nav.menu ul li a:hover {
	/* color: #EF8F66; */
	opacity: 0.8;
	text-decoration: none;
}


/*-- スマホ用ナビゲーション --*/
@media only screen and (max-width: 768px) {

	.nav_toggle {
		position: fixed;
		display: block;
		width: 1.2rem;
		height: 1rem;
		z-index: 1100;
		right: 1em;
		top: 1em;

	}

	.nav_toggle i {
		display: block;
		width: 100%;
		height: 2px;
		background-color: #333;
		position: absolute;
		transition: transform .5s, opacity .5s;
	}

	.nav_toggle i:nth-child(1) {
		top: 0;
	}

	.nav_toggle i:nth-child(2) {
		top: 0;
		bottom: 0;
		margin: auto;
	}

	.nav_toggle i:nth-child(3) {
		bottom: 0;
	}

	.nav_toggle.show i:nth-child(1) {
		transform: translateY(6px) rotate(-45deg);
	}

	.nav_toggle.show i:nth-child(2) {
		opacity: 0;
	}

	.nav_toggle.show i:nth-child(3) {
		transform: translateY(-8px) rotate(45deg);
	}

	header nav.menu ul.nav_menu_ul {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 20% 0 0 0;
		opacity: 0;
		visibility: hidden;
		transition: opacity .5s, visibility .5s;
		background-color: #fff;
		width: 100%;
		height: 100vh;
		overflow: hidden !important;
		display: block !important;
		text-align: center;
		z-index: 1000;
	}

	header nav.menu ul.nav_menu_ul li {
		padding: 2em 0;
	}

	header nav.menu ul.nav_menu_ul.show {
		opacity: 1;
		visibility: visible;
	}


	header nav.menu ul.nav_menu_ul {
		display: block;
		justify-content: flex-end;
		margin: 0;
		list-style: none;
		padding: 3em 1em;
	}

	header nav.menu ul.nav_menu_ul li {
		text-align: left;
		width: 100%;
		border-right: initial;
		padding: 2em 2em 2em 1em;
	}

	header nav.menu ul li:first-child {
		border-left: initial;
	}

	header nav.menu ul.nav_menu_ul li a {
		text-decoration: none;
	}

	header nav.menu ul.nav_menu_ul li a {
		position: relative;
	}

	header nav.menu ul li a.btn:after {
		/* top: 28px; */
	}


}

/*-- /スマホ用ナビゲーション --*/
/*-- /メニュー --*/