@charset "UTF-8";

body {
	font-family: 'Kiwi Maru', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}

.c-section__title-ja {
	font-weight: 400;
}

.c-section__title-en {
	font-weight: 500;
}

.c-pagetop__arrow,
.l-header__logo,
.c-section__more > em {
	font: 0/0 a;
	color: transparent;
}

.c-pagetop,
.l-header,
.c-section__header,
.c-section__article-category,
.l-footer,
.l-footer__nav,
.c-section__more {
	display: flex;
	flex-wrap: wrap;
}

.c-pagetop__arrow:before,
.c-pagetop__arrow:after,
.c-section:before,
.l-footer:before,
.l-footer__nav-link:before,
.c-section__more > em:after,
.c-section__more > em:before,
.c-section__more:before {
	position: absolute;
	display: block;
	content: '';
}

.c-section__more {
	position: relative;
	border: #333 1px solid;
	align-items: center;
	justify-content: center;
}

.c-section__more:before {
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transition: .3s;
	transform: translate(-50%, -50%);
	opacity: 0;
	border: #333 2px solid;
}

.c-section__more > span {
	position: relative;
	padding-right: .45454545em;
}

.c-section__more > em {
	position: relative;
	display: block;
	overflow: hidden;
	width: 1.625rem;
	height: 100%;
}

.c-section__more > em:before {
	top: 50%;
	right: 0;
	transition: .3s;
	transform: translate(0, -50%);
	background: url('../images/cmn/icn_arw_right.svg') center center/contain no-repeat;
}

.c-section__more > em:after {
	top: 50%;
	right: 0;
	transition: transform .3s ease-in-out;
	transform: translate(-200%, -50%);
	opacity: 0;
	background: url('../images/cmn/icn_arw_right.svg') center center/contain no-repeat;
}

.c-section__more:hover:before {
	opacity: 1;
}

.c-section__more:hover > em:before {
	transform: translate(200%, -50%);
}

.c-section__more:hover > em:after {
	transform: translate(0, -50%);
	opacity: 1;
}

.l-header__link,
.l-footer__nav-link {
	transition: .3s;
	background: linear-gradient(transparent 50%, #eded6a 50%);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 0 90%;
}

.l-header__link:hover,
.l-footer__nav-link:hover {
	background-size: 100% 90%;
}

/* utiliity
---------------------------------------- */

.u-pc-hide {
	display: none;
}

.u-sp-hide {
	display: block;
}

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

.l-inner {
	position: relative;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

/* component
---------------------------------------- */

/* 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;
}

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

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

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

img {
	max-width: 100%;
	height: auto;
}

a {
	text-decoration: none;
}

a,
button {
	cursor: pointer;
	color: #333;
}

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

input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

em {
	font-style: normal;
}

picture {
	display: block;
	overflow: hidden;
}

picture img {
	font-family: 'object-fit: cover; object-position: center;';
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

body {
	position: relative;
	color: #333;
	background: url('../images/cmn/bg_body.gif');
}

body ::-moz-selection {
	background-color: #eded6a;
}

body ::selection {
	background-color: #eded6a;
}

.c-pagetop {
	position: fixed;
	z-index: 9999;
	right: 50px;
	bottom: 50px;
	width: 100px;
	height: 100px;
	transition: .6s;
	border-radius: 50%;
	background: #333;
	align-items: center;
	justify-content: center;
}

.c-pagetop__text {
	color: #fff;
}

.c-pagetop__arrow {
	position: absolute;
	top: .75rem;
	left: 50%;
	display: block;
	overflow: hidden;
	width: 1rem;
	height: 1.25rem;
	transform: translate(-50%, 0);
}

.c-pagetop__arrow:before {
	top: 0;
	left: 43.5%;
	width: 100%;
	height: 100%;
	transition: .3s;
	transform: translate(-50%, 0);
	background: url('../images/cmn/icn_arw_up_white.svg') center center/contain no-repeat;
}

.c-pagetop__arrow:after {
	top: 0;
	left: 43.5%;
	width: 100%;
	height: 100%;
	transition: transform .3s ease-in-out;
	transform: translate(-50%, 200%);
	opacity: 0;
	background: url('../images/cmn/icn_arw_up_white.svg') center center/contain no-repeat;
}

.c-pagetop:hover {
	background: rgb(25.5, 25.5, 25.5);
}

.c-pagetop:hover > em:before {
	transform: translate(-50%, -200%);
}

.c-pagetop:hover > em:after {
	transform: translate(-50%, 0);
	opacity: 1;
}

.l-header {
	margin: 0 50px;
	padding: 30px 0;
	border-bottom: #333 1px solid;
	align-items: flex-end;
	justify-content: space-between;
}

.l-header__logo {
	width: 454px;
	background: url('../images/cmn/img_logo.svg') left center/contain no-repeat;
	aspect-ratio: 454/46;
}

.c-section {
	position: relative;
	padding: 120px 0;
}

.c-section:before {
	top: 0;
	left: 50%;
	width: calc(100% - 100px);
	height: 1px;
	transform: translate(-50%, 0);
	background: #333;
}

.c-section__header {
	padding: 0 50px;
	align-items: flex-end;
	justify-content: space-between;
}

.c-section__title-en {
	font-size: 5rem;
	text-transform: uppercase;
}

.c-section__title-ja {
	font-size: 2.5rem;
	display: inline-block;
	margin-left: 1em;
}

.c-section__more {
	width: 220px;
	height: 60px;
	margin-bottom: 20px;
	border-radius: 30px;
}

.c-section__more:before {
	border-radius: 30px;
}

.c-section__more-text {
	font-size: 1.375rem;
}

.c-section__more-arrow:before {
	width: 1.625rem;
	height: 1.375rem;
}

.c-section__more-arrow:after {
	width: 1.625rem;
	height: 1.375rem;
}

.c-section__article-category {
	margin-top: .75rem;
	padding-left: 2rem;
	background: url('../images/cmn/icn_category.svg') left center/auto 85% no-repeat;
}

.l-footer {
	position: relative;
	height: 70px;
	padding: 0 50px;
	align-items: center;
	justify-content: space-between;
}

.l-footer:before {
	top: 0;
	left: 50%;
	width: calc(100% - 100px);
	height: 1px;
	transform: translate(-50%, 0);
	background: #333;
}

.l-footer__nav {
	align-items: center;
	justify-content: flex-end;
}

.l-footer__nav-link {
	line-height: 1.1;
	position: relative;
	margin-left: 1.5em;
}

.l-footer__nav-link:before {
	top: 50%;
	left: 0;
	width: 1px;
	height: 75%;
	transform: translate(-.75em, -50%);
	background: #333;
}

.l-footer__nav-link:first-of-type:before {
	content: none;
}

@media screen and (max-width: 1024px) {

.c-section {
	padding: 60px 0;
}

.c-section__title {
	display: block;
	width: 100%;
}

.c-section__more {
	margin-top: 20px;
}

}

@media screen and (max-width: 768px) {

.u-pc-hide {
	display: block;
}

.u-sp-hide {
	display: none;
}

.l-inner {
	max-width: 89.3333333333vw;
}

.c-pagetop {
	right: 4vw;
	bottom: 4vw;
	width: 21.3333333333vw;
	height: 21.3333333333vw;
}

.l-header {
	margin: 0 5.3333333333vw;
	padding: 5.3333333333vw 0;
	justify-content: center;
}

.l-header__link {
	width: 100%;
}

.l-header__link > .l-header__logo {
	margin: 0 auto;
	background-position: center center;
}

.l-header__logo {
	width: 75%;
}

.c-section {
	padding: 8vw 0;
}

.c-section:before {
	width: calc(100% - 10.6666666667vw);
}

.c-section__header {
	padding: 0 5.3333333333vw;
}

.c-section__title-en {
	font-size: 3.5rem;
	line-height: 1.2;
}

.c-section__title-ja {
	font-size: 1.5rem;
	line-height: 1.2;
	display: block;
	margin-top: 1rem;
	margin-left: 0;
}

.c-section__more {
	width: 100%;
	height: 13.3333333333vw;
	margin-top: 2.6666666667vw;
	margin-bottom: 2.6666666667vw;
	border-radius: 6.6666666667vw;
}

.c-section__more:before {
	borde-radius: 6.6666666667vw;
}

.l-footer {
	flex-direction: column-reverse;
	height: auto;
	padding: 0 5.3333333333vw 5.3333333333vw 5.3333333333vw;
}

.l-footer:before {
	width: calc(100% - 10.6666666667vw);
}

.l-footer__copy {
	width: 100%;
	margin-top: 6.6666666667vw;
	text-align: center;
}

.l-footer__nav-link {
	line-height: 3;
	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	border-bottom: #777 1px dotted;
}

.l-footer__nav-link:before {
	content: none;
}

}


/*# sourceMappingURL=maps/cmn.css.map */
