@charset 'UTF-8';
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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,
font,
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 {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}

body,
table,
input,
textarea,
select,
option {
	font-family: Arial, Meiryo, "Hiragino Sans", Roboto, sans-serif;
	font-size: 1em;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

html {
	font-size: 62.5%;
}

body {
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	background: #fff;
	color: #333;
	font-size: 14px;
}

img {
	vertical-align: top;
}

a {
	transition: opacity 0.3s ease-in-out;
}

a:hover {
	opacity: .7;
}

/*------------------------------------------------------------
	ブランドページ
------------------------------------------------------------*/
.l-conts {
	width: 1024px;
	margin: 0 auto;
}

/* component
------------------------------------------------------------*/
.c-ttl01 {
	display: inline-block;
	text-align: center;
}

.c-ttl01 .c-ttl01__sub {
	font-size: 1.6rem;
	color: #8AB339;
}

.c-ttl01 .c-ttl01__txt {
	margin-top: 2px;
	padding-bottom: 7px;
	min-width: 145px;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
}

.c-ttl01 .c-ttl01__txt::after {
	content: "";
	margin: auto;
	width: calc(100% - 60px);
	min-width: 70px;
	height: 16px;
	background: url("/assets/img/pc/common/icon_wave.png") center /10px repeat-x;
	position: absolute;
	right: 0;
	bottom: -5px;
	left: 0;
}

.c-ttl02 {
	margin: 0 auto;
	padding: 5px 0;
	background: #9AC841;
	border-radius: 20px;
	width: calc(100% - 80px);
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.2em;
	text-align: center;
}

.c-ttl03 {
	padding-bottom: 10px;
	display: inline-block;
	text-align: center;
}

.c-ttl03 .c-ttl03__sub {
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	color: #8AB339;
}

.c-ttl03 .c-ttl03__txt {
	font-size: 2rem;
	font-weight: bold;
	position: relative;
}

.c-ttl03 .c-ttl03__txt::after {
	content: "";
	display: inline-block;
	width: 30px;
	height: 1px;
	background: #9AC841;
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
}

.c-ttl03.c-ttl03--left {
	text-align: left;
}

.c-ttl03.c-ttl03--left .c-ttl03__txt::after {
	left: 0;
	transform: inherit;
}

.c-btn01 {
	display: inline-block;
	width: 267px;
	padding: 14px 0 12px;
	border: 2px solid #9AC841;
	border-radius: 50px;
	background: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	color: #8AB339;
	text-align: center;
	text-decoration: none;
	position: relative;
	transition: all 0.2s linear;
}

.c-btn01::after {
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #9AC841;
	border-right: 2px solid #9AC841;
	position: absolute;
	top: 50%;
	right: 19px;
	transform: rotate(45deg) translateY(-50%);
	transition: all 0.2s linear;
}

.c-btn01:hover {
	background: #9AC841;
	color: #fff;
	opacity: 1;
}

.c-btn01:hover::after {
	border-color: #fff;
}

.c-card01 {
	padding: 40px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	text-align: center;
}

.c-card01 .c-card01__lead {
	margin-top: 15px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #8AB339;
}

.c-card01 .c-card01__lead sup {
	font-size: 1rem;
}

.c-card01 .c-card01__txt {
	margin-top: 5px;
	font-size: 1.4rem;
	text-align: left;
}

.c-card01 .c-card01__imgArea {
	margin-top: 20px;
	background: #F6FDF1;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.c-card01 .c-card01__img:not(:first-child) {
	margin-left: 20px;
}

.c-card01 .c-card01__img__link {
	margin-top: 5px;
	display: inline-block;
	font-size: 10px;
	color: #333;
	text-align: left;
}

.c-card01 .c-btn01 {
	margin: 20px auto 0;
}

.c-card01.c-card01--col2 {
	display: flex;
	flex-direction:column;
}

.c-card01.c-card01--col2 .c-card01__lead {
	flex-grow:1;
}

.c-card01.c-card01--row {
	display: flex;
	justify-content: space-between;
}

.c-card01.c-card01--row .c-card01__left {
	text-align: left;
	width: 42%;
}

.c-card01.c-card01--row .c-card01__right {
	width: 55%;
}

.c-card01.c-card01--row .c-card01__imgArea {
	padding: 30px;
	height: auto;
	align-items: flex-start;
}

.c-fv {
	padding: 40px 0 100px;
}

.c-fv .c-fv__wrap {
	width: 50%;
	position: relative;
}

.c-fv .c-fv__wrap::after {
	content: "";
	width: 340px;
	height: 250px;
	background: url("/pc/img/brand/fv_img.png") center no-repeat;
	background-size: 340px 250px;
	position: absolute;
	bottom: 25px;
	right: -300px;
}

.c-fv .c-fv__img {
	margin-bottom: 90px;
}

.c-fv .c-fv__txt {
	margin-top: 20px;
	font-size: 1.6rem;
	color: #333;
	line-height: 1.675;
}

.c-note .c-note__item {
	display: flex;
	text-align: left;
	font-size: 1rem;
	color: #777;
}

.c-note .c-note__num {
	margin-right: 3px;
}

/* header
------------------------------------------------------------*/
.c-header {
	padding: 20px 0;
	text-align: right;
}

.c-header .c-header__txt {
	font-size: 1.4rem;
	color: #777;
}

/* page-layout
------------------------------------------------------------*/

.p-brand__fv {
	background: url("/pc/img/brand/fv_bg.png") top right no-repeat;
	background-size: 75%;
}

.p-brand01 {
	padding: 100px 0;
	background: #F6FDF1;
	text-align: center;
}

.p-brand01 .l-conts {
	position: relative;
}

.p-brand01 .l-conts::before {
	content: "";
	width: 200px;
	height: 115px;
	background: url("/pc/img/brand/bg01.png") center no-repeat;
	background-size: 200px 115px;
	position: absolute;
	top: -120px;
	left: 0;
}

.p-brand01 .l-conts::after {
	content: "";
	width: 200px;
	height: 115px;
	background: url("/pc/img/brand/bg02.png") center no-repeat;
	background-size: 200px 115px;
	position: absolute;
	bottom: -190px;
	right: 0;
}

.p-brand01 .p-brand01__txt {
	margin-top: 40px;
	font-size: 1.6rem;
}

.p-brand01 .c-ttl02 {
	margin-top: 80px;
}

.p-brand01 .p-brand01__wrap {
	display: flex;
	justify-content: space-between;
	gap: 0 40px;
}

.p-brand01 .c-card01 {
	margin-top: 40px;
	flex: 1;
}

.p-brand01 .p-brand01_04 .c-note {
	margin-top: 40px;
}

.p-brand02 {
	padding: 100px 0;
	text-align: center;
	background: url("/pc/img/brand/bg03.png") center repeat;
}

.p-brand02 .p-brand02__img {
	margin-top: 20px;
}

.p-brand02 .p-brand02__caption {
	margin-top: 20px;
	font-size: 1.8rem;
	font-weight: bold;
}

.p-brand02 .p-brand02__txt {
	margin-top: 20px;
	font-size: 1.4rem	;
}

/* footer
------------------------------------------------------------*/
.c-footer {
	background: #F8F8F8;
	border-top: 1px solid #EAEAEA;
}

.c-footer .c-footer__inner {
	padding: 40px 0;
}

.c-footer .c-footer__snsList {
	display: flex;
	justify-content: center;
}

.c-footer .c-footer__snsList__item:not(:last-child) {
	margin-right: 30px;
}

.c-footer .c-footer__snsList__link {
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
}

.c-footer .c-footer__snsList__link {
	text-decoration: none;
}

.c-footer .c-copyright {
	padding: 19px 0;
	border-top: 1px solid #EAEAEA;
	text-align: center;
}

.c-footer .c-copyright small {
	font-size: 1.2rem;
	color: #777;
}