@charset "utf-8";
/*
Theme Name: L-style
Theme URI: http://www./
Description: L-style
Version: 1.0
Author: L-style
Author URI: http://www./
Tags: L-style

*/

/* 
	font-family:"Noto Sans JP", sans-serif;
	100-900

	font-family:"Noto Serif JP", serif;
	200-900

	font-family:"Lato", sans-serif;
	100,300,400,700,900

*/


@import url('root.css');

*{
	box-sizing:border-box;
	padding:0;
	margin:0;
}

html{
	font-size:62.55%;
	word-break:break-all;
	word-wrap:break-word;
	background:#fff;
}

body{
	font-family:"Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Helvetica", "Arial", sans-serif;
	font-size:16px;
	font-size:1.6rem;
	font-weight:400;
	line-height:1.9;
	color:#000;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	body{
		font-size:14px;
		font-size:1.4rem;
	}
}

a{
	color:var(--color-01);
	text-decoration:none;
	transition:all 0.4s ease;
}
a:hover{
	opacity:0.6;
}
a:active,
a:focus{outline:0;}
p{margin-bottom:0}

.clear{clear:both;}
.center{text-align:center;}
.right{text-align:right;}

img{
	border:0;
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}

i{font-style:normal;}
em{font-style:normal;}
ul{list-style:none;}
li{list-style:none;}
address{font-style:normal;}

hr{
	border:none;
	border-top:1px solid #e5e5e5;
	height:1px;
	margin:4.2em 0;
	width:100%;
}
i.fas,i.far{
	margin-right:0.4em;
}

/* id-link-anchor */

.id-link-anchor#aaaaaaaaaaaaaaa,
.id-link-anchor#aaaaaaaaaaaaaaa{
	padding-top:100px;
	margin-top:-100px;
}

/*******************************
/*  flex-box
*******************************/

.flex-box			{display:flex;}
.flex-box-nowrap	{flex-wrap:nowrap;}
.flex-box-wrap		{flex-wrap:wrap;}
.flex-box-row-rever	{flex-direction:row-reverse;}
.flex-box-column	{flex-direction:column;}
.flex-box-column-r	{flex-direction:column-reverse;}
.flex-box-space-b	{justify-content:space-between;}
.flex-box-space-a	{justify-content:space-around;}
.flex-box-space-c	{justify-content:center;}
.flex-box-space-e	{justify-content:flex-end;}
.flex-box-item-c	{align-items:center;}
.flex-box-item-e	{align-items:flex-end;}

/*******************************
/* 
*******************************/

.inner{
	max-width:1220px;
	margin:0 auto;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.inner{
		max-width:100%;
		margin:0 auto;
		padding:0 0.8em;
	}
}
#container{
	min-height:800px;
	position:relative;
	background:#fff;
	z-index:1;
}
#main{}
#sidebar{}

/*******************************
/* p.more
*******************************/

/*******************************
/* h-type
 * h-type-01
 * h-type-02
*******************************/

/* h-type-01 */

.h-type-01{
	text-align:center;
	margin-bottom:2.5em;
}
.h-type-01 > span{
	display:inline-block;
	font-family:"Noto Serif JP", serif;
	font-size:44px;
	font-size:4.4rem;
	font-weight:600;
	line-height:1.55;
}
.h-type-01 > span > span{
	display:inline-block;
	border-bottom:1px solid #000;
	padding:0.15em 0;
}
.h-type-01.big > span{
	font-size:55px;
	font-size:5.5rem;
}
.h-type-01.white > span{
	color:#fff;
}
.h-type-01.white > span > span{
	border-color:#fff;
}
.h-type-01.decoration-01 > span::before,
.h-type-01.decoration-02 > span::before,
.h-type-01.decoration-03 > span::before,
.h-type-01.decoration-04 > span::before{
	display:block;
	content:"";
	width:100%;
	background-repeat:no-repeat;
	background-position:center;
	margin-bottom:1.0em;
}
.h-type-01.decoration-01 > span::before{
	height:60px;
	background-image:url(images/decoration_01.png);
}
.h-type-01.decoration-02 > span::before{
	height:60px;
	background-image:url(images/decoration_02.png);
}
.h-type-01.decoration-03 > span::before{
	height:100px;
	background-image:url(images/decoration_03.png);
	margin-bottom:0.5em;
}
.h-type-01.decoration-04 > span::before{
	height:190px;
	background-image:url(images/decoration_04.png);
	margin-bottom:1.5em;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.h-type-01{
		margin-bottom:1.0em;
	}
	.h-type-01 > span{
		font-size:2.5rem;
	}
	.h-type-01.big > span{
		font-size:2.5rem;
		font-weight:700;
	}
	.h-type-01.decoration-01 > span::before,
	.h-type-01.decoration-02 > span::before,
	.h-type-01.decoration-03 > span::before,
	.h-type-01.decoration-04 > span::before{
		background-size:contain;
		margin-bottom:1.0em;
	}
	.h-type-01.decoration-01 > span::before,
	.h-type-01.decoration-02 > span::before{
		height:30px;
	}
	.h-type-01.decoration-03 > span::before{
		height:60px;
	}
	.h-type-01.decoration-04 > span::before{
		height:100px;
	}
}

/* h-type-02 */

.h-type-02{
	text-align:center;
	margin-bottom:2.5em;
}
.h-type-02 br{
	display:none;
}
.h-type-02 > span{
	display:flex;
	justify-content:center;
	align-items:flex-end;
	font-size:36px;
	font-size:3.6rem;
	font-weight:700;
	line-height:1.5;
}
.h-type-02 > span > em{
	color:var(--color-02);
	font-size:49px;
	font-size:4.9rem;
	margin-bottom:-0.05em;
}
.h-type-02.decoration-01 > span{color:#000;}
.h-type-02.decoration-02 > span{color:var(--color-02);}
.h-type-02.decoration-03 > span{color:#fff;}
.h-type-02 > span::before,
.h-type-02 > span::after{
	display:block;
	width:65px;
	height:65px;
	content:"";
	background-repeat:no-repeat;
	background-size:auto 100%;
}
.h-type-02 > span::before{
	background-position:left center;
	margin-right:0.25em;
}
.h-type-02 > span::after{
	background-position:right center;
	margin-left:0.25em;
}
.h-type-02.decoration-01 > span::before,
.h-type-02.decoration-01 > span::after{background-image:url(images/decoration_05.png);}
.h-type-02.decoration-02 > span::before,
.h-type-02.decoration-02 > span::after{background-image:url(images/decoration_06.png);}
.h-type-02.decoration-03 > span::before,
.h-type-02.decoration-03 > span::after{background-image:url(images/decoration_07.png);}

@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.h-type-02 br{
		display:block;
	}
	.h-type-02 > span{
		align-items:center;
		font-size:1.95rem;
	}
	.h-type-02 > span::before,
	.h-type-02 > span::after{
		flex:0 0 auto;
		width:3.5rem;
		height:3.5rem;
		background-size:auto 100%;
	}
	.h-type-02:has( span > em ) span:before,
	.h-type-02:has( span > em ) span:after{
		content:none;
	}
	.h-type-02:has( span > em ) > span{
		flex-wrap:wrap;
	}
	.h-type-02:has( span > em ) > span em{
		width:100%;
		font-size:3.5rem;
	}
}

/*******************************
/* module
 * module-head-01
*******************************/

.module-head-01{
	margin-bottom:6.5em;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.module-head-01{
		margin-bottom:4.5em;
	}
}

/*******************************
/* header
*******************************/

header{}
#header{}
#header div.logo{
	position:fixed;
	top:0;
	left:0;
	z-index:10;
}
#header div.logo a{
	display:inline-block;
	background:#fff;
	border-radius:0 0 25px 0;
	box-shadow:3px 3px 4px 0px rgba(0,0,0,0.05);
	padding:0.95em 2.65em 1.05em 2.65em;
}
#header div.logo a:hover{
	opacity:1;
}
#header div.logo a img{
	transition:all 0.4s ease;
}
#header div.logo a:hover img{
	opacity:0.6;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	#header div.logo{
		position:relative;
		width:100%;
	}
	#header div.logo a{
		display:block;
		width:40%;
		background:#fff;
		border-radius:0;
		box-shadow:none;
		padding:5px 0;
		margin:0 auto;
	}
}

/*******************************
/* navigation
 * #navigation_upper
 * #navigation_under
*******************************/

/* navigation_upper */

#navigation_upper{
	position:fixed;
	top:0;
	z-index:5;
	width:100%;
}
#navigation_upper::before{
	position:absolute;
	width:100%;
	height:0;
	content:"";
	background:rgba(255,255,255,0.65);
	transition:all 0.6s;
}
#navigation_upper.action::before{
	height:70px;
}
#navigation_upper > div{
	max-width:1660px;
	margin:0 auto;
}
#navigation_upper nav{
	position:relative;
}
#navigation_upper nav ul{
	display:flex;
	justify-content:flex-end;
}
#navigation_upper nav ul > li{}
#navigation_upper nav ul > li a{
	display:block;
	margin-top:-20px;
	transition:all 0.3s;
}
#navigation_upper nav ul > li a:hover{
	opacity:1;
	margin-top:-15px;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	#navigation_upper{
		display:none;
	}
}

/* navigation_under */

#navigation_under{
	display:none;
}	
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	#navigation_under{
		display:block;
		position:fixed;
		left:0;
		bottom:-100px;
		z-index:5;
		width:100%;
		background-image:url(images/bg_06.png);
		transition:all 0.6s;
	}
	#navigation_under .inner{
		padding:0 0.5em;
	}
	#navigation_under.action{
		bottom:0;
	}
	#navigation_under nav{
		position:relative;
	}
	#navigation_under nav ul{
		display:flex;
		justify-content:center;
		gap:0 0.5em;
		padding:10px 0;
	}
	#navigation_under nav ul > li{}
	#navigation_under nav ul > li a{}
	#navigation_under nav ul > li a:hover{
		opacity:1;
	}
	#navigation_under div.decoration-line{
		width:100%;
		height:2px;
		background-image:linear-gradient( 90deg, rgb(168,141,49) 0%, rgb(255,255,220) 20%, rgb(168,141,49) 35%, rgb(255,255,220) 50%, rgb(168,141,49) 65%, rgb(255,255,220) 80%, rgb(168,141,49) 100%);
	}
	#navigation_under div.decoration-line::after{
		display:block;
		width:100%;
		height:20px;
		position:absolute;
		top:2px;
		left:0;
		content:"";
		background:linear-gradient(180deg, rgba(164, 0, 0, 1) 0%, rgba(164, 0, 0, 0) 50%, rgba(164, 0, 0, 0) 100%);
	}
}

/*******************************
/* hero
*******************************/

#hero{
	overflow:hidden;
}

/* hero-upper */

#hero div.hero-upper{
	position:relative;
	display:flex;
	justify-content:center;
	align-items:flex-end;
	background-image:url(images/bg_06.png);
	min-height:820px;
}
#hero div.hero-upper::before,
#hero div.hero-upper::after{
	position:absolute;
	display:block;
	width:100%;
	height:300px;
	content:"";
	background-repeat:no-repeat;
}
#hero div.hero-upper::before{
	top:0;
	background-image:url(images/decoration_10.png);
	background-position:calc(50% + 500px) top;
}
#hero div.hero-upper::after{
	bottom:0;
	background-image:url(images/decoration_11.png);
	background-position:calc(50% - 500px) bottom;
}
#hero div.hero-upper div.hero-mv{
	position:relative;
	z-index:1;
}
#hero div.hero-upper div.hero-mv img{
	max-width:none;
}

/* hero-under */

#hero div.hero-under{
	position:relative;
	margin-top:-50px;
}
#hero div.hero-under div.under-line{
	width:100%;
	height:50px;
	background-image:linear-gradient( 90deg, rgb(168,141,49) 0%, rgb(255,255,220) 20%, rgb(168,141,49) 35%, rgb(255,255,220) 50%, rgb(168,141,49) 65%, rgb(255,255,220) 80%, rgb(168,141,49) 100%);
	box-shadow:inset 0px 5px 0px 0px rgba(180, 144, 58, 0.25);
}
#hero div.hero-under div.under-title{
	position:relative;
	max-width:1220px;
	margin:0 auto;
}
#hero div.hero-under div.under-title > div{
	position:absolute;
	top:-115px;
	left:0;
	z-index:1;
}
#hero div.hero-under div.under-body{
	position:relative;
	background-image:url(images/bg_07.png);
}
#hero div.hero-under div.under-body::before{
	display:block;
	width:100%;
	height:20px;
	position:absolute;
	top:0;
	left:0;
	content:"";
	background:linear-gradient(180deg, rgba(164, 0, 0, 1) 0%, rgba(164, 0, 0, 0) 50%, rgba(164, 0, 0, 0) 100%);
	opacity:0.2;
}
#hero div.hero-under div.under-body div.point-list{
	position:relative;
	z-index:1;
	padding:35px 0 3.5em 0;
}
#hero div.hero-under div.under-body div.point-list > ul{
	display:flex;
	justify-content:center;
	gap:0 20px;
}
#hero div.hero-under div.under-body div.point-list > ul > li{}

@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	#hero div.hero-upper{
		min-height:auto;
	}
	#hero div.hero-upper::before,
	#hero div.hero-upper::after{
		content:none;
	}
	#hero div.hero-upper::after{
		content:"";
		height:40px;
		background-image:url(images/bg_07.png);
		background-repeat:repeat;
		background-position:bottom center;
	}
	#hero div.hero-upper div.hero-mv img{
		max-width:100%;
	}
	#hero div.hero-under{
		margin-top:-10px;
	}
	#hero div.hero-under div.under-line{
		display:none;
	}
	#hero div.hero-under div.under-title{
		display:none;
	}
	#hero div.hero-under div.under-body{
		background-position:top center;
	}
	#hero div.hero-under div.under-body::before{
		top:-40px;
		height:100px;
	}
	#hero div.hero-under div.under-body div.point-list{
		padding:0 0 20px 0;
	}
	#hero div.hero-under div.under-body div.point-list > ul{
		gap:0;
	}
}

/*******************************
/* home
*******************************/

/*******************************
/* #about
 * .home-about
*******************************/

.home-about{
	position:relative;
	padding:8.5em 0;
	background-image:
		url(images/decoration_line_02.png),
		url(images/bg_graphic_set_03.png);
	background-position:
		top center,
		bottom center;
	background-repeat:no-repeat,no-repeat;
}
.home-about::before,
.home-about::after{
	display:block;
	position:absolute;
	top:0;
	z-index:-1;
	width:50%;
	height:100%;
	content:"";
	background-repeat:no-repeat;
}
.home-about::before{
	right:50%;
	background-image:url(images/bg_graphic_set_01.png);
	background-position:top right;
}
.home-about::after{
	left:50%;
	background-image:url(images/bg_graphic_set_02.png);
	background-position:top left;
}
.home-about > div.inner{}
.home-about > div.inner > div.head{}
.home-about > div.inner > div.body{
	margin-top:-3.0em;
}

/* about-lead */

.home-about div.about-lead{
	padding-bottom:6.5em;
}
.home-about div.about-lead p,
.home-about div.about-lead em,
.home-about div.about-lead strong{
	font-weight:700;
}
.home-about div.about-lead p{
	font-size:42px;
	font-size:4.2rem;
	line-height:2.65;
	text-align:center;
}
.home-about div.about-lead em{
	color:var(--color-02);
}
.home-about div.about-lead strong{
	text-decoration:underline;
	text-decoration-thickness:0.5em;
	text-decoration-color:yellow;
	text-underline-offset:-0.2em;
	text-decoration-skip-ink:none;
}

/* about-concept */

.home-about div.about-concept{}
.home-about div.about-concept div.front{}
.home-about div.about-concept div.front::before{
	display:block;
	width:100%;
	height:80px;
	content:"";
	background-image:url(images/decoration_line_01.png);
	background-repeat:no-repeat;
	background-position:center;
}
.home-about div.about-concept div.front p{
	color:var(--color-02);
	font-family:"Noto Serif JP", serif;
	font-size:29px;
	font-size:2.9rem;
	font-weight:600;
	line-height:3.0;
	text-align:center;
	padding:1.25em 0;
}
.home-about div.about-concept div.front p br{
	display:none;
}
.home-about div.about-concept div.rear{
	padding:4.5em 0;
}
.home-about div.about-concept div.rear p{
	font-family:"Noto Serif JP", serif;
	font-size:23px;
	font-size:2.3rem;
	font-weight:600;
	line-height:3.0;
	text-align:center;
}
.home-about div.about-concept div.images{
	text-align:center;
}

/* about-lastly */

.home-about div.about-lastly{}
.home-about div.about-lastly > div.images{
	text-align:center;
}
.home-about div.about-lastly > div.images > div{
	display:inline-block;
	background-image:linear-gradient(
		0deg,
		rgb(123,92,25) 2%,rgb(91,69,22) 3%,rgb(123,92,25) 8%,rgb(180,144,58) 15%,rgb(180,144,58) 19%,rgb(180,144,58) 21%,rgb(255,254,166) 28%,rgb(255,254,166) 29%,rgb(180,144,58) 36%,
		rgb(180,144,58) 41%,rgb(180,144,58) 69%,rgb(123,92,25) 69%,rgb(123,92,25) 71%,rgb(180,144,58) 81%,rgb(255,254,166) 81%,rgb(180,144,58) 91%,rgb(255,208,147) 100%
	);
	padding:1px;
}
.home-about div.about-lastly > div.text{
	padding:4.5em 0;
}
.home-about div.about-lastly > div.text p{
	font-family:"Noto Serif JP", serif;
	font-size:19px;
	font-size:1.9rem;
	font-weight:600;
	line-height:3.0;
	text-align:center;
}
.home-about div.about-lastly div.button{
	text-align:center;
}
.home-about div.about-lastly p.button{}
.home-about div.about-lastly p.button > a{
	position:relative;
	display:inline-block;
	background:var(--color-01);
	color:#fff;
	font-size:16px;
	font-size:1.6rem;
	line-height:1.5;
	padding:1.0em 2.5em;
}
.home-about div.about-lastly p.button > a > span{
	display:inline-block;
	padding:0 2.5em;
}
.home-about div.about-lastly p.button > a > i{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	right:1.0em;
	font-size:19px;
	font-size:1.9rem;
}

@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-about{
		position:relative;
		padding:3.5em 0;
		background-image:url(images/decoration_line_02.png);
		background-position:top center;
		background-repeat:no-repeat;
		background-size:150% auto;
	}
	.home-about::before,
	.home-about::after{
		background-size:200% auto;
	}
	.home-about div.about-lead{
		padding-bottom:2.5em;
	}
	.home-about div.about-lead p{
		font-size:2.2rem;
		line-height:2.2;
	}
	.home-about div.about-concept div.front::before{
		height:40px;
		background-size:contain;
	}
	.home-about div.about-concept div.front p{
		font-size:1.65rem;
		font-weight:700;
		line-height:2;
	}
	.home-about div.about-concept div.front p br{
		display:block;
	}
	.home-about div.about-concept div.rear{
		padding:1.5em 0;
	}
	.home-about div.about-concept div.rear p{
		font-size:1.5rem;
		line-height:2;
	}
	.home-about div.about-concept div.rear p br{
		display:none;
	}
	.home-about div.about-lastly > div.text{
		padding:1.5em 0 3.5em 0;
	}
	.home-about div.about-lastly > div.text p{
		font-family:"Noto Sans JP", sans-serif;
		font-size:1.35rem;
		font-weight:400;
		line-height:2;
		text-align:left;
	}
	.home-about div.about-lastly > div.text p br{
		display:none;
	}
	.home-about div.about-lastly p.button > a{
		font-size:1.35rem;
	}
}

/*******************************
/* #merit
 * .home-merit
*******************************/

.home-merit{
	background-image:url(images/bg_03.png);
	padding:8.5em 0;
	overflow:hidden;
}
.home-merit > div.inner{
	position:relative;
}
.home-merit > div.inner::before{
	display:block;
	width:360px;
	height:845px;
	position:absolute;
	top:65px;
	left:-100px;
	content:"";
	background-image:url(images/talent_img_01.png);
	background-repeat:no-repeat;
	background-position:top center;
	background-size:cover;
}
@media screen and (max-width:1280px){
	.home-merit > div.inner::before{
		left:-40px;
	}
}
.home-merit > div.inner > div.head{
	position:relative;
}
.home-merit > div.inner > div.body{
	position:relative;
	margin-top:-4.0em;
}
.home-merit div.merit-list{}
.home-merit div.merit-list > ul{}
.home-merit div.merit-list > ul > li{
	text-align:center;
}
.home-merit div.merit-list > ul > li + li{
	margin-top:3.5em;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-merit{
		padding:3.5em 0;
	}
	.home-merit > div.inner::before{
		content:none;
	}
	.home-merit > div.inner > div.body{
		margin-top:-2.0em;
	}
	.home-merit div.merit-list > ul{
		width:90%;
		margin:0 auto;
	}
}

/*******************************
/* #cost
 * .home-cost
*******************************/

.home-cost{
	background-image:url(images/bg_03.png);
	padding:8.5em 0;
	overflow:hidden;
}
.home-cost > div.inner{
	position:relative;
}
.home-cost > div.inner::before{
	display:block;
	width:360px;
	height:900px;
	position:absolute;
	top:65px;
	right:-65px;
	content:"";
	background-image:url(images/talent_img_02.png);
	background-repeat:no-repeat;
	background-position:top center;
	background-size:cover;
}
@media screen and (max-width:1280px){
	.home-cost > div.inner::before{
		right:0;
	}
}
.home-cost > div.inner > div.head{
	position:relative;
}
.home-cost > div.inner > div.body{
	position:relative;
	margin-top:-3.0em;
}
.home-cost div.cost-graph{
	max-width:1080px;
	margin:0 auto;
}
.home-cost div.cost-graph > div{}
.home-cost div.cost-graph > div p{
	font-size:14px;
	font-size:1.4rem;
	text-align:right;
	margin-top:0.5em;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-cost{
		padding:3.5em 0;
	}
	.home-cost > div.inner::before{
		content:none;
	}
	.home-cost div.cost-graph > div p{
		font-size:1.1rem;
	}
}

/*******************************
/* #revenue
 * .home-revenue
*******************************/

.home-revenue{
	background-image:url(images/bg_01.png);
	padding:8.5em 0;
}
.home-revenue > div.inner{}
.home-revenue > div.inner > div.head{}
.home-revenue > div.inner > div.body{
	margin-top:-3.0em;
}
.home-revenue div.revenue-graph{
	max-width:1050px;
	margin:0 auto;
}
.home-revenue div.revenue-graph > div.graph-primary{
	display:flex;
	justify-content:space-between;
}
.home-revenue div.revenue-graph > div.graph-primary > div{}
.home-revenue div.revenue-graph > div.graph-primary > div.box-01{}
.home-revenue div.revenue-graph > div.graph-primary > div.box-02{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.home-revenue div.revenue-graph > div.graph-secondary{
	display:flex;
	justify-content:center;
	margin-top:3.5em;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-revenue{
		padding:3.5em 0;
	}
	.home-revenue div.revenue-graph > div.graph-primary{
		display:block;
		width:85%;
		margin:0 auto;
	}
	.home-revenue div.revenue-graph > div.graph-primary img{
		margin-top:1.0em;
	}
	.home-revenue div.revenue-graph > div.graph-secondary{
		margin-top:1.5em;
	}
}

/*******************************
/* #flow
 * .home-flow
*******************************/

.home-flow{
	background-image:url(images/bg_03.png);
	padding:8.5em 0;
}
.home-flow > div.inner{}
.home-flow > div.inner > div.head{}
.home-flow > div.inner > div.body{
	margin-top:-2.5em;
}
.home-flow div.flow-step{}
.home-flow div.flow-step > dl{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:4.0em calc(( 100% - ( 32% * 3 )) / 2 );
}
.home-flow div.flow-step > dl > div{
	flex:0 0 32%;
	background:#fff;
	border:2px solid var(--color-03);
	padding:0 1.5em 2.0em 1.5em;
	margin-top:60px;
}
.home-flow div.flow-step > dl > div::before{
	display:block;
	width:100%;
	height:120px;
	content:"";
	background-repeat:no-repeat;
	background-position:center;
	margin-top:-60px;
}
.home-flow div.flow-step > dl > div:nth-child(1)::before{background-image:url(images/flow_step_no_01.png);}
.home-flow div.flow-step > dl > div:nth-child(2)::before{background-image:url(images/flow_step_no_02.png);}
.home-flow div.flow-step > dl > div:nth-child(3)::before{background-image:url(images/flow_step_no_03.png);}
.home-flow div.flow-step > dl > div:nth-child(4)::before{background-image:url(images/flow_step_no_04.png);}
.home-flow div.flow-step > dl > div:nth-child(5)::before{background-image:url(images/flow_step_no_05.png);}
.home-flow div.flow-step > dl > div:nth-child(6)::before{background-image:url(images/flow_step_no_06.png);}
.home-flow div.flow-step > dl > div:nth-child(7)::before{background-image:url(images/flow_step_no_07.png);}
.home-flow div.flow-step > dl > div:nth-child(8)::before{background-image:url(images/flow_step_no_08.png);}
.home-flow div.flow-step > dl > div:nth-child(9)::before{background-image:url(images/flow_step_no_09.png);}
.home-flow div.flow-step > dl dt{}
.home-flow div.flow-step > dl dt > span{
	display:block;
	color:var(--color-02);
	font-size:26px;
	font-size:2.65rem;
	font-weight:500;
	text-align:center;
	border-bottom:1px dotted #999;
	padding:0.65em 0;
	margin-bottom:0.65em;
}
.home-flow div.flow-step > dl dd{}
.home-flow div.flow-step > dl dd > p{
	text-align:center;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-flow{
		padding:3.5em 0;
	}
	.home-flow > div.inner > div.body{
		margin-top:-4.0em;
	}
	.home-flow div.flow-step > dl{
		width:90%;
		gap:0;
		margin:0 auto;
	}
	.home-flow div.flow-step > dl > div{
		flex:0 0 100%;
		border-width:1px;
		border-radius:10px;
	}
	.home-flow div.flow-step > dl > div::before{
		height:80px;
		background-size:contain;
		margin-top:-40px;
	}
	.home-flow div.flow-step > dl dt > span{
		font-size:1.85rem;
	}
	.home-flow div.flow-step > dl dd > p{
		text-align:left;
	}
	.home-flow div.flow-step > dl dd > p br{
		display:none;
	}
}

/*******************************
/* #faq
 * .home-faq
*******************************/

.home-faq{
	background-image:url(images/bg_02.png);
	padding:8.5em 0;
}
.home-faq > div.inner{}
.home-faq > div.inner > div.head{}
.home-faq > div.inner > div.body{}
.home-faq div.faq-list{
	width:80%;
	margin:0 auto;
}
.home-faq div.faq-list > dl{}
.home-faq div.faq-list > dl > div{
	background:#fff;
	border:1px solid var(--color-bg-01);
	border-radius:10px;
	padding:2.0em 3.0em;
}
.home-faq div.faq-list > dl > div + div{
	margin-top:2.5em;
}
.home-faq div.faq-list > dl dt{
	display:flex;
	align-items:center;
	border-bottom:2px solid var(--color-bg-01);
	padding-bottom:1.5em;
	margin-bottom:1.5em;
}
.home-faq div.faq-list > dl dt > span{
	font-size:19px;
	font-size:1.9rem;
	font-weight:600;
}
.home-faq div.faq-list > dl dd{
	display:flex;
	align-items:center;
}
.home-faq div.faq-list > dl dd > p{
	font-size:17px;
	font-size:1.7rem;
}
.home-faq div.faq-list > dl dt > i,
.home-faq div.faq-list > dl dd > i{
	display:flex;
	flex-shrink:0;
	justify-content:center;
	align-items:center;
	width:45px;
	height:45px;
	color:#fff;
	font-family:"Lato", sans-serif;
	font-size:22px;
	font-size:2.2rem;
	font-weight:700;
	border-radius:50%;
	margin-right:2.0rem;
}
.home-faq div.faq-list > dl dt > i{background:var(--color-03);}
.home-faq div.faq-list > dl dd > i{background:var(--color-02);}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-faq{
		padding:3.5em 0;
	}
	.home-faq > div.inner > div.body{
		margin-top:-2.0em;
	}
	.home-faq div.faq-list{
		width:100%;
	}
	.home-faq div.faq-list > dl > div{
		padding:1.5em 1.5em;
	}
	.home-faq div.faq-list > dl > div + div{
		margin-top:1.5em;
	}
	.home-faq div.faq-list > dl dt{
		border-width:1px;
		margin-top:0.5em;
		margin-bottom:0.5em;
	}
	.home-faq div.faq-list > dl dt > span{
		font-size:1.5rem;
		line-height:1.5;
	}
	.home-faq div.faq-list > dl dd > p{
		font-size:1.4rem;
	}
	.home-faq div.faq-list > dl dt > i,
	.home-faq div.faq-list > dl dd > i{
		width:3.5rem;
		height:3.5rem;
		font-size:1.8rem;
	}
}

/*******************************
/* #company
 * .home-company
*******************************/

.home-company{
	position:relative;
	padding:8.5em 0;
}
.home-company::before,
.home-company::after{
	display:block;
	position:absolute;
	top:0;
	z-index:-1;
	width:50%;
	height:100%;
	content:"";
	background-repeat:no-repeat;
}
.home-company::before{
	right:50%;
	background-image:url(images/bg_graphic_set_01.png);
	background-position:top right;
}
.home-company::after{
	left:50%;
	background-image:url(images/bg_graphic_set_02.png);
	background-position:top left;
}
.home-company > div.inner{}
.home-company > div.inner > div.head{}
.home-company > div.inner > div.body{
	margin-top:-3.5em;
}
.home-company div.company-data{
	max-width:710px;
	text-align:center;
	margin:0 auto;
}
.home-company div.company-data > div{
	background-image:linear-gradient(
		0deg,
		rgb(123,92,25) 2%,rgb(91,69,22) 3%,rgb(123,92,25) 8%,rgb(180,144,58) 15%,rgb(180,144,58) 19%,rgb(180,144,58) 21%,rgb(255,254,166) 28%,rgb(255,254,166) 29%,rgb(180,144,58) 36%,
		rgb(180,144,58) 41%,rgb(180,144,58) 69%,rgb(123,92,25) 69%,rgb(123,92,25) 71%,rgb(180,144,58) 81%,rgb(255,254,166) 81%,rgb(180,144,58) 91%,rgb(255,208,147) 100%
	);
	padding:1px;
}
.home-company div.company-data dl{
	display:block;	
	background:#fff;
	padding:3.0em 2.5em;
}
.home-company div.company-data dl > div{
	display:flex;
}
.home-company div.company-data dl > div + div{
	border-top:1px solid var(--color-bg-01);
}
.home-company div.company-data dl dt,
.home-company div.company-data dl dd{
	font-size:17px;
	font-size:1.7rem;
	text-align:left;
	padding:0.65em;
}
.home-company div.company-data dl dt{
	flex:0 0 35%;
	font-weight:500;
	padding-left:4.0em;
}
.home-company div.company-data dl dd{
	flex:0 0 65%;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-company{
		position:relative;
		padding:3.5em 0;
		background-image:url(images/decoration_line_02.png);
		background-position:top center;
		background-repeat:no-repeat;
		background-size:150% auto;
	}
	.home-company::before,
	.home-company::after{
		background-size:200% auto;
	}
	.home-company > div.inner > div.body{
		margin-top:-2.0em;
	}
	.home-company div.company-data dl{
		padding:1.5em 1.0em;
	}
	.home-company div.company-data dl dt,
	.home-company div.company-data dl dd{
		font-size:1.2rem;
		padding:0;
	}
	.home-company div.company-data dl dt{
		flex:0 0 30%;
		text-align:center;
		padding:0.25em 0.15em;
	}
	.home-company div.company-data dl dd{
		flex:0 0 70%;
		text-align:left;
		padding:0.25em 0.15em;
	}
}

/*******************************
/* #form
 * .home-form
*******************************/

.home-form{
	background-image:url(images/bg_01.png);
	padding:8.5em 0;
}
.home-form > div.inner{}
.home-form > div.inner > div.head{}
.home-form > div.inner > div.body{
	margin-top:-3.5em;
}
.home-form div.form-area{
	position:relative;
	max-width:920px;
	background:#fff;
	border:1px solid var(--color-bg-01);
	border-radius:35px;
	padding:3.5em 0 4.5em 0;
	margin:0 auto;
}
/**/
.home-form div.form-area > *{
	filter:blur(3px);
}
.home-form div.form-area::before,
.home-form div.form-area::after{
	content:"";
	width:100%;
	height:100%;
	display:block;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}
.home-form div.form-area::after{
	content:"準備中";
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:2.5rem;
	font-weight:700;
	letter-spacing:0.5em;
}
/**/

@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-form{
		padding:3.5em 0;
	}
	.home-form > div.inner > div.body{
		margin-top:-2.0em;
	}
	.home-form div.form-area{
		width:96%;
		border-radius:10px;
		padding:1.5em 1.5em 3.5em 1.5em;
	}
}

/*******************************
/* .home-support
 * 
 * #support_before
 * .home-support_before
 * 
 * #support_after
 * .home-support_after
*******************************/

/* home-support */

.home-support{
	padding:8.5em 0;
}
.home-support > div.inner{}
.home-support > div.inner > div.head{}
.home-support > div.inner > div.body{
	margin-top:-2.5em;
}
.home-support div.support-list{
	max-width:1040px;
	margin:0 auto;
}
.home-support div.support-list > ul{
	display:flex;
	justify-content:space-between;
}
.home-support div.support-list > ul > li{}

/* home-support_before */

.home-support.home-support_before{
	background-image:url(images/bg_04.png);
}
.home-support.home-support_before > div.inner{}
.home-support.home-support_before > div.inner > div.head{}
.home-support.home-support_before > div.inner > div.body{}

/* home-support_after */

.home-support.home-support_after{
	background-image:url(images/bg_05.png);
}
.home-support.home-support_after > div.inner{}
.home-support.home-support_after > div.inner > div.head{}
.home-support.home-support_after > div.inner > div.body{}

@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-support{
		padding:3.5em 0;
	}
	.home-support div.support-list > ul{
		flex-wrap:wrap;
		justify-content:space-between;
		width:92%;
		gap:1.0em 1.0em;
		margin:0 auto;
	}
	.home-support div.support-list > ul > li{
		flex:0 0 calc(50% - 0.5em);
	}
}

/*******************************
/* .home-cta
 * 
 * #cta_primary
 * .cta_primary
 * 
 * #cta_secondary
 * .cta_secondary
*******************************/

.home-cta{
	padding:8.5em 0;
}
.home-cta > div.inner{}
.home-cta > div.inner > div.head{}
.home-cta > div.inner > div.body{
	margin-top:-3.5em;
}

/* cta-mainunit */

.home-cta div.cta-mainunit{
	max-width:1040px;
	border-radius:35px;
	overflow:hidden;
	margin:0 auto;
}
.home-cta div.cta-mainunit > div.title{
	background-image:url(images/bg_06.png);
	padding:1.5em 0;
}
.home-cta div.cta-mainunit > div.title h3{
	color:#fff;
	font-size:36px;
	font-size:3.6rem;
	font-weight:600;
	line-height:1.5;
	text-align:center;
}
.home-cta div.cta-mainunit > div.title h3 > em{
	color:yellow;
}
.home-cta div.cta-mainunit > div.body{
	background:var(--color-bg-02);
	text-align:center;
	padding:3.5em 0;
}
.home-cta div.cta-mainunit > div.body > div.images{}
.home-cta div.cta-mainunit > div.body > div.text{
	padding:2.5em;
}
.home-cta div.cta-mainunit > div.body > div.text:first-child{
	padding-top:0;
}
.home-cta div.cta-mainunit > div.body > div.text p{
	font-size:29px;
	font-size:2.9rem;
	font-weight:700;
}
.home-cta div.cta-mainunit > div.body > div.button{}

/* cta_primary */

.cta_primary{}
.cta_primary > div.inner{}
.cta_primary > div.inner > div.head{}
.cta_primary > div.inner > div.body{}

/* cta_secondary */

.cta_secondary{}
.cta_secondary > div.inner{}
.cta_secondary > div.inner > div.head{}
.cta_secondary > div.inner > div.body{}
.cta_secondary > div.inner > div.body p br{
	display:none;
}

@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.home-cta{
		position:relative;
		padding:3.5em 0;
		background-image:url(images/decoration_line_02.png);
		background-position:top center;
		background-repeat:no-repeat;
		background-size:150% auto;
	}
	.home-cta::before,
	.home-cta::after{
		display:block;
		position:absolute;
		top:0;
		z-index:-1;
		width:50%;
		height:100%;
		content:"";
		background-repeat:no-repeat;
		background-size:200% auto;
	}
	.home-cta::before{
		right:50%;
		background-image:url(images/bg_graphic_set_01.png);
		background-position:top right;
	}
	.home-cta::after{
		left:50%;
		background-image:url(images/bg_graphic_set_02.png);
		background-position:top left;
	}
	.home-cta > div.inner > div.body{
		margin-top:-2.0em;
	}
	.home-cta div.cta-mainunit > div.title h3{
		font-size:2.0rem;
	}
	.home-cta div.cta-mainunit > div.title h3 > em{
		display:block;
		font-size:2.2rem;
	}
	.home-cta div.cta-mainunit > div.body{
		padding:1.2em 0;
	}
	.home-cta div.cta-mainunit > div.body > div.text{
		padding:1.5em;
	}
	.home-cta div.cta-mainunit > div.body > div.text p{
		font-size:1.8rem;
	}
	.home-cta div.cta-mainunit > div.body > div.text p br{
		display:block;
	}
	.home-cta div.cta-mainunit > div.body > div.images{
		display:block;
		width:95%;
		margin:0 auto;
	}
	.home-cta div.cta-mainunit > div.body > div.button{
		width:80%;
		margin:0 auto;
	}
	.cta_primary div.cta-mainunit > div.body > div.text p{
		font-size:1.25rem;
	}
	.cta_primary div.cta-mainunit > div.body > div.text p br{
		display:none;
	}
	.cta_secondary > div.inner > div.body p br{
		display:block;
	}
}

/*******************************
/* sidebar
*******************************/

#sidebar{}

/*******************************
/* footer
*******************************/

footer{}
#footer{
	background:var(--color-01);
	padding:1.0em 0;
}
#footer p.copyright{
	color:#fff;
	font-size:12px;
	font-size:1.2rem;
	text-align:center;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	#footer{
		padding-bottom:6.5em;
	}
}

/*******************************
/* page
*******************************/

/*******************************
/* single.php
 * theme-single
*******************************/

/*******************************
/* archive.php
 * theme-archive
*******************************/

/*******************************
/* search.php
 * theme-search
*******************************/

/*******************************
/* box
*******************************/
img.aligncenter{
	display:block;
	margin:0 auto;
}
img.alignright{
	display:inline-block;
	padding:0.6em;
	margin:0 0 0.8em 1.6em;
}
img.alignleft{
	display:inline-block;
	padding:0.6em;
	margin:0 1.6em 0.8em 0;
}
.alignright{float:right;}
.alignleft{float:left;}

/*******************************
/* ul
*******************************/

ul.decimal-01,
ul.disc-01,
ul.upper-roman-01,
ul.upper-alpha-01{
	padding-left:2em;
}
ul.decimal-01 > li + li,
ul.disc-01 > li + li,
ul.upper-roman-01 > li + li,
ul.upper-alpha-01 > li + li{
	margin-top:0.8em;
}
/* 数字(1,2,3,4...) */
ul.decimal-01 > li{
	list-style:decimal;
}
/* 黒丸ポチ */
ul.disc-01 > li{
	list-style:disc;
}
/* ローマ数字(大文字) */
ul.upper-roman-01 > li{
	list-style-type:upper-roman;
}
/* アルファベット(大文字) */
ul.upper-alpha-01 > li{
	list-style-type:upper-alpha;
}
/* ※ */
ul.asterisk-01{
	margin-left:1.2em;
}
ul.asterisk-01 > li{
	list-style-type:none;
}
ul.asterisk-01 > li + li{
	margin-top:0.6em;
}
ul.asterisk-01 > li:before{
	display:inline-block;
	content:'※';
	width:1.2em;
	margin-left:-1.2em;
}

/*******************************
/* form
*******************************/

input,
textarea{
    border:1px solid #ddd;
	border-radius:4px;
    padding:1.15em 1.15em;
}
input:focus,
textarea:focus{
	outline:0;
	border-color:rgba(0,0,0,0.1);
	box-shadow:0 0 0 0.14em rgba(0,0,0,0.06);
}
select{
	border:1px solid #ddd;
	border-radius:4px;
	padding:1.15em 1.15em;
	margin:0 0.4em;
}
select:focus{
	outline:0;
	border-color:rgba(0,0,0,0.1);
	box-shadow:0 0 0 0.14em rgba(0,0,0,0.06);
}
input[type=button],
input[type=submit]{
	-webkit-appearance:none;
	cursor:pointer;
	background:#eee;
	color:#000;
	font-weight:normal;
	border-color:rgba(0,0,0,0.1);
	padding:1.15em 1.15em;
}

/*******************************
/* contact-form-7
*******************************/

.contact-form-7-area{
	width:80%;
	margin:0 auto;
}
.contact-form-7-area input[type=text],
.contact-form-7-area input[type=email],
.contact-form-7-area textarea{
    width:100%;
	font-size:16px;
}
.contact-form-7-area textarea{
	height:12em;
}
.contact-form-7-area input[type=submit]{
	background:var(--color-01);
	color:#fff;
	font-family:"Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Helvetica", "Arial", sans-serif;
	font-size:18px;
	font-size:1.8rem;
	border-radius:999px;
	padding:0.65em 4.5em;
}
.contact-form-7-area .wpcf7-list-item{
	margin:0 1.5em 0 0;
}
.contact-form-7-area .unit{
	display:flex;
	justify-content:space-between;
	padding:0.85em 0;
}
.contact-form-7-area .unit-title{
	display:flex;
	justify-content:flex-end;
	align-items:baseline;
	flex:0 0 35%;
	font-size:18px;
	font-size:1.8rem;
	font-weight:500;
	text-align:right;
	padding:0.65em 0;
}
.contact-form-7-area .unit-item{
	flex:0 0 65%;
	font-size:16px;
	font-size:1.65rem;
	padding-left:1.85em;
}
.contact-form-7-area .unit-submit{
	text-align:center;
	margin-top:1.65em;
}
.contact-form-7-area .unit-title i{
	display:inline-block;
	font-size:14px;
	font-size:1.4rem;
	margin-left:0.65em;
}
.contact-form-7-area .unit-title i.required{
	color:var(--color-02);
	font-style:normal;
}
.contact-form-7-area .wpcf7-spinner{
	display:block;
	margin:-30px auto 0 auto;
}
.contact-form-7-area .wpcf7-form-control-wrap{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	height:100%;
}
.wpcf7 .contact-form-7-area + .wpcf7-response-output{
	width:80%;
	margin:1.0em auto;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.contact-form-7-area{
		width:100%;
	}
	.contact-form-7-area .unit{
		flex-wrap:wrap;
		padding:0.25em 0;
	}
	.contact-form-7-area .unit-title{
		flex:0 0 100%;
		justify-content:flex-start;
		font-size:1.5rem;
		text-align:left;
		padding:0.25em 0;
	}
	.contact-form-7-area .unit-title i{
		font-size:1.2rem;
	}
	.contact-form-7-area .unit-item{
		flex:0 0 100%;
		font-size:1.4rem;
		padding:0;
	}
}

/*******************************
/* scrollTop
*******************************/

.scrollTop{
	position:fixed;
	right:30px;
	/*bottom:100px;*/
	bottom:30px;
	opacity:0;
	visibility:hidden;
	transition:all 0.4s ease-in-out 0s;
	z-index:99999;
}
.scrollTop a{
	display:block;
	width:38px;
	height:38px;
	background:var(--color-02);
	border-radius:50%;
}
.scrollTop a:after{
	position:absolute;
	display:block;
	content:'';
	margin-left:13px;
	margin-top:15px;
	width:10px;
	height:10px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:rotate(-45deg);
	transition:all 0.3s;
}
.scrollTop a:hover{
	opacity:0.6;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.scrollTop{
		right:0.5em;
		bottom:5.5em;
	}
	.scrollTop a{
		width:34px;
		height:34px;
	}
	.scrollTop a:after{
		margin-left:12px;
		margin-top:14px;
		width:8px;
		height:8px;
	}
}
