@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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 {
	padding: 0;
	margin: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent; 
	border: 0;
	outline: 0;
}

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 {
	padding: 0;
	margin: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

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

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

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;
	padding: 0; 
	margin: 1em 0;
	border: 0;
	border-top: 1px solid #ccc;
}

input,
select {
	vertical-align: middle;
}

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

svg,
img {
	max-width: 100%;
	vertical-align: middle;
}

li {
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
th,
dt {
	font-weight: normal;
}

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

/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/
.hide {
	display: none;
}

.pc {
	display: inline;
}
.pc.block {
	display: block;
}

.sp {
	display: none;
}
.sp.block {
	display: none;
}

@media (max-width: 960px) {
	.sp {
		display: inline;
	}
	.sp.block {
		display: block;
	}
	.pc {
		display: none;
	}
	.pc.block {
		display: none;
	}
}

/*----------------------------------------------------
	フォント
----------------------------------------------------*/
html {
	font-size: 16px;
}
@media (max-width: 560px) {
	html {
		font-size: 5vw;
	}
}

body {
	color: #000; 
	font-family: source-han-sans-cjk-ja, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	-webkit-font-smoothing: antialiased;
	font-weight: 500;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}

.serif {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
}

.ff-han-serif {
	font-family: source-han-serif-japanese, serif;
	font-style: normal; 
	font-weight: 700;
}

.ff-arial {
	font-family: "arial", sans-serif;
}

.ff-times {
	font-family: "Times New Roman", serif;
}

.ff-brandon {
	font-family: brandon-grotesque, sans-serif;
}

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
a {
	color: #000;
	text-decoration: none;
	-webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-transform .3s ease-out;
	        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-transform .3s ease-out;
	        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, transform .3s ease-out;
	        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, transform .3s ease-out, -webkit-transform .3s ease-out;
}
a img {
	-webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-transform .3s ease-out;
	        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-transform .3s ease-out;
	        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, transform .3s ease-out;
	        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, transform .3s ease-out, -webkit-transform .3s ease-out;
}

.link-text a {
	color: #00004a;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.link-text a:hover {
		text-decoration: underline;
	}
}

a.link-text {
	color: #00004a;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	a.link-text:hover {
		text-decoration: underline;
	}
}

a .alpha {
	-webkit-transition: opacity .3s ease-out;
	        transition: opacity .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	a:hover .alpha {
		opacity: .8;
	}
}

@media screen and (max-width: 960px), only screen and (max-device-width: 1024px) and (min-device-width: 768px) {
	a,
	button {
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0); 
		-webkit-touch-callout: none;
	}
}

/*----------------------------------------------------
	body
----------------------------------------------------*/
body {
	-webkit-transition: opacity .2s ease-out;
	        transition: opacity .2s ease-out; 
	opacity: 0;
}
.wf-active body {
	opacity: 1;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
li {
	-webkit-transition: opacity .2s ease-out;
	        transition: opacity .2s ease-out; 
	opacity: 0;
}
.wf-active h1,
.wf-active h2,
.wf-active h3,
.wf-active h4,
.wf-active h5,
.wf-active h6,
.wf-active p,
.wf-active
  dl,
.wf-active dt,
.wf-active dd,
.wf-active ol,
.wf-active ul,
.wf-active li {
	opacity: 1;
}

body.no-scroll {
	height: 100vh; 
	overflow: hidden;
}

#wrap {
	width: 100%;
	overflow: hidden;
}
@media (min-width: 961px) {
	#wrap {
		padding-top: 224px;
	}
	body.subpage #wrap {
		padding-top: 174px;
	}
}
@media (max-width: 960px) {
	#wrap {
		padding-top: calc(192vw/640*100);
	}
}

@media only screen and (min-device-width: 769px) {
	::-webkit-scrollbar {
		width: 10px;
		height: 10px;
	}
	::-webkit-scrollbar-button {
		width: 10px;
		height: 10px;
	}
	::-webkit-scrollbar-thumb {
		background: #17220a;
		border: 0 solid #fff;
		border-radius: 10px;
	}
	::-webkit-scrollbar-thumb:hover {
		background: #000;
	}
	::-webkit-scrollbar-thumb:active {
		background: #000;
	}
	::-webkit-scrollbar-track {
		background: #fff;
		border: 0 none #fff;
		border-radius: 0;
	}
	::-webkit-scrollbar-track:hover {
		background: #fff;
	}
	::-webkit-scrollbar-track:active {
		background: #fff;
	}
	::-webkit-scrollbar-corner {
		background: transparent;
	}
}

/*----------------------------------------------------
	コンテナ
----------------------------------------------------*/
.container {
	position: relative;
	padding-right: 40px; 
	padding-left: 40px;
	margin: 0 auto;
}
@media (min-width: 961px) {
	.container {
		max-width: 1280px;
	}
}
@media (min-width: 960px) and (max-width: 1200px) {
	.container {
		padding-right: 3.203125vw; 
		padding-left: 3.203125vw;
	}
}
@media (max-width: 960px) {
	.container {
		padding-right: 4.375vw; 
		padding-left: 4.375vw;
	}
}
@media (max-width: 960px) and (min-width: 560px) {
	.container {
		padding-right: 2.5vw; 
		padding-left: 2.5vw;
	}
}

@media (min-width: 961px) {
	.container--l {
		max-width: 1366px;
	}
}

@media (min-width: 961px) {
	.container--s {
		max-width: 1080px;
	}
}

@media (min-width: 961px) {
	.container--xs {
		max-width: 720px;
	}
}

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10000; 
	width: 100%;
	background-color: #fff;
}
@media (min-width: 961px) {
	header {
		position: fixed;
		height: 224px;
	}
	body.subpage header {
		height: 154px;
	}
}
@media (max-width: 960px) {
	header {
		height: calc(192vw/640*100);
	}
	header.scroll {
		position: fixed;
		-webkit-animation: headerScroll .8s ease-out;
		        animation: headerScroll .8s ease-out;
	}
}

@-webkit-keyframes headerScroll {
	0% {
		-webkit-transform: translateY(-100%);
		        transform: translateY(-100%);
	}
	20% {
		-webkit-transform: translateY(-100%);
		        transform: translateY(-100%);
	}
	100% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}

@keyframes headerScroll {
	0% {
		-webkit-transform: translateY(-100%);
		        transform: translateY(-100%);
	}
	20% {
		-webkit-transform: translateY(-100%);
		        transform: translateY(-100%);
	}
	100% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}

@media (min-width: 961px) {
	.header-content {
		padding: 22px 0 32px;
	}
	.header-content__wrap {
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between; 
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.header-content__logo {
		-ms-flex-item-align: end;
		align-self: flex-end; 
		margin-top: 20px;
	}
	.en .header-content__logo {
		width: 294px;
	}
	.header-content__nav {
		-webkit-box-align: end;
		align-items: flex-end; 
		-ms-flex-align: end;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		    flex-direction: column;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}

@media (max-width: 960px) {
	.header-content {
		position: relative;
		z-index: 10; 
		height: calc(192vw/640*100);
		background-color: #fff;
	}
	.header-content .container {
		position: static;
		padding-right: 0; 
		padding-left: 0;
	}
	.header-content__logo {
		position: absolute;
		top: calc(23vw/640*100); 
		left: calc(23vw/640*100);
		width: calc(249vw/640*100);
	}
}

/*----------------------------------------------------
	header-locate
----------------------------------------------------*/
.header-locate {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "arial", sans-serif;
	border: 2px solid #00004a;
}
.header-locate li {
	width: 50%;
}
.header-locate li:nth-child(1) {
	border-right: 1px solid #00004a;
}
.header-locate li:nth-child(2) {
	border-left: 1px solid #00004a;
}
.header-locate a {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	color: #fff;
	font-weight: bold;
	background-color: #00004a;
}
.header-locate .current a {
	color: #00004a;
	background-color: #fff;
	pointer-events: none;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.header-locate a:hover {
		color: #00004a;
		background-color: #fff;
	}
}
@media (min-width: 961px) {
	.header-locate {
		width: 186px;
	}
	.header-locate a {
		font-size: 16px;
	}
}
@media (max-width: 960px) {
	.header-locate {
		position: absolute;
		top: calc(26vw/640*100);
		right: calc(110vw/640*100);
		width: calc(140vw/640*100);
	}
	.header-locate a {
		height: calc(47vw/640*100); 
		font-size: calc(20vw/640*100);
	}
}

/*----------------------------------------------------
	header-search
----------------------------------------------------*/
.header-search {
	background-color: #e5e5e5;
}
body.subpage .header-search {
	display: none;
}
.header-search__inputs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.header-search__input {
	border: none;
}
.header-search__button {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	color: #fff;
	background-color: #535353;
	border: 1px solid #535353;
}
.header-search__select {
	border: 1px solid #c9c9c9;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.header-search__button:hover {
		color: #535353;
		background-color: #fff;
	}
}
@media (min-width: 961px) {
	.header-search {
		height: 70px; 
		padding: 14px 0;
	}
	.header-search__wrap {
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between; 
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.header-search__input {
		width: 376px;
		height: 42px;
		margin-right: 12px;
	}
	.header-search__button {
		width: 65px;
		height: 42px;
		font-size: 20px;
	}
	.header-search__select {
		height: 42px; 
		min-width: 270px;
	}
}
@media (max-width: 960px) {
	.header-search {
		display: none;
	}
	.header-search__form {
		padding: calc(26vw/640*100) 0;
	}
	.header-search__inputs {
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
	}
	.header-search__input {
		width: calc(100% - (104vw/640*100));
		height: calc(80vw/640*100);
		font-size: calc(28vw/640*100);
	}
	.header-search__button {
		width: calc(80vw/640*100);
		height: calc(80vw/640*100);
	}
}

/*----------------------------------------------------
	ヘッダーナビ
----------------------------------------------------*/
.header-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.header-nav__link {
	position: relative;
	color: #00004a; 
	font-family: "arial", sans-serif;
	font-weight: bold;
}
.header-nav__link:after {
	position: absolute;
	bottom: -10px;
	left: -5%;
	display: block;
	width: 0;
	height: 4px;
	content: "";
	background-color: #00004a;
	-webkit-transition: all .2s ease-out;
	        transition: all .2s ease-out;
}
.current .header-nav__link:after {
	width: 110%;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.header-nav__link:hover:after {
		width: 110%;
	}
}
@media (min-width: 961px) {
	.header-nav__link {
		font-size: 18px;
	}
	.header-nav li:not(:first-child) {
		margin-left: 82px;
	}
}
@media (min-width: 960px) and (max-width: 1200px) {
	.header-nav li:not(:first-child) {
		margin-left: 3.51562vw;
	}
}
@media (max-width: 960px) {
	.header-nav {
		position: absolute;
		bottom: 0;
		left: 0;
		-ms-flex-pack: distribute;
		justify-content: space-around;
		z-index: 5; 
		width: 100%;
		padding: 2.8125vw 0 3.75vw;
		background-color: #e5e5e5;
	}
	.header-nav li {
		line-height: 1;
	}
	.header-nav__link {
		font-size: 3.4375vw;
	}
}

/*----------------------------------------------------
	ヘッダー メニュー
----------------------------------------------------*/
@media (max-width: 960px) {
	.header-menu {
		position: absolute;
		top: calc(20vw/640*100);
		right: calc(28vw/640*100);
		z-index: 2;
		width: calc(60vw/640*100);
		height: calc(60vw/640*100);
		cursor: pointer;
	}
	.header-menu div {
		position: relative;
	}
	.header-menu span {
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		height: calc(4vw/640*100);
		background: #00004a;
		-webkit-transition: .35s ease-in-out;
		        transition: .35s ease-in-out;
	}
	.header-menu span:nth-child(1) {
		top: calc(2vw/640*100);
	}
	.header-menu span:nth-child(2) {
		top: calc(28vw/640*100);
	}
	.header-menu span:nth-child(3) {
		top: calc(54vw/640*100);
	}
	.header-menu.open span:nth-child(1) {
		top: calc(28vw/640*100);
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
	}
	.header-menu.open span:nth-child(2) {
		left: 50%; 
		width: 0;
	}
	.header-menu.open span:nth-child(3) {
		top: calc(28vw/640*100);
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
}

/*----------------------------------------------------
	ヘッダーカテゴリー SPのみ
----------------------------------------------------*/
@media (min-width: 961px) {
	.header-category {
		display: none;
	}
}

@media (max-width: 960px) {
	.header-category {
		position: absolute;
		top: calc(102vw/640*100);
		left: 0;
		z-index: 6;
		z-index: 10; 
		display: none;
		width: 100%;
		height: calc(100vh - (102/640*100vw));
		padding: 0 calc(50vw/640*100) calc(120vw/640*100);
		overflow: auto;
		background-color: #00004a;
	}
	.header-category.open {
		display: block;
		-webkit-animation: fadeIn .3s;
		        animation: fadeIn .3s;
	}
	.header-category__list li:first-child {
		border-top: 1px solid #fff;
	}
	.header-category__list li {
		border-bottom: 1px solid #fff;
	}
	.header-category__link {
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		    flex-direction: column;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		justify-content: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: calc(20vw/640*100) 0 calc(22vw/640*100);
		color: #fff; 
		line-height: 1.25;
	}
	.header-category__link .ja {
		font-size: calc(32vw/640*100);
	}
	.header-category__link .en {
		font-size: calc(20vw/640*100);
	}
}

/*----------------------------------------------------
	フッター
----------------------------------------------------*/
footer {
	border-top: 1px solid #c9c9c9;
}
@media (min-width: 961px) {
	footer {
		padding: 25px 0 40px;
	}
}
@media (max-width: 960px) {
	footer {
		padding: calc(27vw/640*100) 0 calc(34vw/640*100);
	}
}

@media (min-width: 961px) {
	.footer-content__youtube {
		margin-bottom: 25px;
	}
	.footer-content__sns {
		margin-bottom: 25px;
	}
}

@media (max-width: 960px) {
	.footer-content__youtube {
		margin-bottom: calc(26vw/640*100);
	}
	.footer-content__sns {
		margin-bottom: calc(26vw/640*100);
	}
	.footer-content__logo {
		display: none;
	}
}

.footer-sns {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center; 
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.footer-sns a {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	width: 2.25em;
	height: 2.25em;
	color: #fff;
	border-radius: 1.125em;
}
.footer-sns__facebook {
	background-color: #3b5998;
	border: 1px solid #3b5998;
}
.footer-sns__twitter {
	background-color: #55acee;
	border: 1px solid #55acee;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.footer-sns__facebook:hover {
		color: #3b5998;
		background-color: #fff;
	}
	.footer-sns__twitter:hover {
		color: #55acee;
		background-color: #fff;
	}
}
@media (min-width: 961px) {
	.footer-sns a {
		font-size: 24px;
	}
	.footer-sns li {
		margin-left: 14px;
	}
}
@media (max-width: 960px) {
	.footer-sns a {
		font-size: calc(34vw/640*100);
	}
	.footer-sns li:not(:first-child) {
		margin-left: calc(16vw/640*100);
	}
}

.footer-youtube a {
	-webkit-box-align: center;
	align-items: center; 
	-ms-flex-align: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}

.footer-youtube .ico {
	width: 55px;
	margin-right: 10px;
}

.footer-youtube .txt {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	    flex: 1;
	margin-top: -1px;
	text-align: center;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.footer-youtube a:hover {
		color: #00004a;
	}
}

@media (min-width: 961px) {
	.footer-youtube {
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		justify-content: center; 
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.footer-youtube a {
		font-size: 18px;
	}
	.footer-youtube li + li {
		margin-left: 24px;
	}
}

@media (max-width: 960px) {
	.footer-youtube a {
		height: 55px;
		font-size: calc(34vw/640*100);
	}
	.footer-youtube .ico {
		width: 45px;
	}
	.footer-youtube li {
		width: 100%;
		text-align: center;
		margin: auto;
	}	
	.footer-youtube li:not(:first-child) {
		margin-top: calc(16vw/640*100);
	}
}

@media (min-width: 961px) {
	.footer-copyright {
		margin: 0 0 -1em; 
		font-size: 12px;
		line-height: 1;
		text-align: center;
	}
}

@media (max-width: 960px) {
	.footer-copyright {
		font-size: calc(18vw/640*100); 
		text-align: center;
	}
}

/*----------------------------------------------------
	article-body
----------------------------------------------------*/
.article-body {
	position: relative;
	z-index: 10; 
	font-size: 20px;
}
@media (min-width: 961px) {
	.article-body {
		padding-top: 36px;
	}
}
@media (max-width: 960px) {
	.article-body {
		padding-top: 8.125vw;
		font-size: 4.375vw;
	}
}
.article-body h2 {
	font-size: 2em;
	line-height: 1.25;
}
.article-body h3 {
	font-size: 1.5em;
	line-height: 1.375;
}
.article-body h4 {
	font-size: 1.17em;
	line-height: 1.5;
}
.article-body p {
	line-height: 1.9;
}
.article-body a {
	color: #00f;
}
.article-body a:hover {
	text-decoration: underline;
}
.article-body__pic {
	line-height: 1.9; 
	text-align: center;
}
.article-body__link {
	line-height: 1.9; 
	text-align: center;
}
.article-body__embed {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background-color: #ededed;
}
@media (min-width: 961px) {
	.article-body__embed {
		-ms-flex-pack: center;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		justify-content: center;
		padding: 24px 48px;
	}
	.article-body__embed-spotify {
		min-width: 300px;
	}
	.article-body__embed-spotify:nth-child(2n+2) {
		margin-left: 5px;
	}
}
@media (max-width: 960px) {
	.article-body__embed {
		-webkit-box-align: center;
		align-items: center; 
		-ms-flex-align: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		    flex-direction: column;
		padding: 10px 10px;
	}
	.article-body__embed > * + * {
		margin-top: 10px;
	}
	.article-body__embed-spotify iframe {
		max-width: 100%;
	}
}
.article-body > * + h2 {
	margin-top: 2em;
}
.article-body > * + h3 {
	margin-top: 1.5em;
}
.article-body > * + h4 {
	margin-top: 1.375em;
}
.article-body > * + p {
	margin-top: 1.375em;
}
.article-body > * + .article-body__pic {
	margin-top: 1.375em;
}
.article-body > * + .article-body__link {
	margin-top: 1.75em;
}
.article-body > * + .article-body__embed {
	margin-top: 1.75em;
}
@media (max-width: 960px) {
	.article-body h2 {
		font-size: 1.428em;
	}
	.article-body h3 {
		font-size: 1.3em;
	}
	.article-body h4 {
		font-size: 1.17em;
	}
	.article-body p {
		line-height: 1.75;
	}
	.article-body__pic {
		line-height: 1.75;
	}
	.article-body__link {
		line-height: 1.75;
	}
	.article-body [id^="twitter-widget"] {
		width: 100% !important;
	}
}

/*----------------------------------------------------
	article-body__copyright
----------------------------------------------------*/
.article-body__copyright {
	margin-top: 2.5em;
	text-align: center;
}
.article-body__copyright-lead {
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 2em;
}
.article-body__copyright-lead p {
	padding: .75em 1.875em;
	border: 2px solid #c9c9c9;
}
@media (max-width: 960px) {
	.article-body__copyright-lead p {
		padding: .75em 1em;
		border: 1px solid #c9c9c9;
	}
}
.article-body__copyright-item > * + * {
	margin-top: .5em;
}
.article-body__copyright-item + .article-body__copyright-item {
	margin-top: 4.25em;
}
.article-body__copyright-link {
	font-size: .875em;
}

/*----------------------------------------------------
	article-footer
----------------------------------------------------*/
.article-footer {
	position: relative;
	z-index: 10;
}
.article-footer__title {
	text-align: center;
}
.article-footer__list {
	-webkit-box-align: center;
	align-items: center; 
	-ms-flex-align: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	justify-content: space-between;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.article-footer__list li {
	width: 48%;
}
.article-footer__list li img {
	width: 100%;
	max-height: 69px;

	-o-object-fit: contain;
	   object-fit: contain;
}
@media (min-width: 961px) {
	.article-footer {
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin: 64px 0;
	}
	.article-footer__item {
		width: 45%;
	}
	.article-footer__title {
		padding: .5em 1em;
		margin-bottom: 24px;
		font-size: 20px;
		border: 2px solid #c9c9c9;
	}
}
@media (max-width: 960px) {
	.article-footer {
		margin: calc(64vw/640*100) 0;
	}
	.article-footer__item:not(last-child) {
		margin-bottom: calc(40vw/640*100);
	}
	.article-footer__list li {
		width: 45%;
	}
	.article-footer__title {
		padding: .25em 1em;
		margin-bottom: calc(28vw/640*100);
		font-size: calc(28vw/640*100);
		border: 1px solid #c9c9c9;
	}
}

/*----------------------------------------------------
	article-meta
----------------------------------------------------*/
@media (min-width: 1201px) {
	.article-meta {
		position: -webkit-sticky;
		position:         sticky;
		top: 35px;
		left: 0;
		height: 80vh;
	}
}

@media (max-width: 1200px) {
	.article-meta {
		padding: calc(20vw/640*100) 0 calc(25vw/640*100);
		border-bottom: 2px solid #c9c9c9;
	}
}

.article-meta__category-en {
	font-family: source-han-serif-japanese, serif;
	font-style: normal; 
	font-weight: 700;
	line-height: 1;
}
.article-meta__category-en span {
	position: relative;
}
@media (min-width: 1201px) {
	.article-meta__category-en {
		position: absolute;
		top: 0;
		left: -90px;
		font-size: 60px;
		-webkit-transform: rotate(90deg);
		        transform: rotate(90deg);
		-webkit-transform-origin: 0 0;
		        transform-origin: 0 0;
	}
	.article-meta__category-en span:before {
		position: absolute;
		bottom: .125em;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 1px;
		content: "";
		background-color: #c9c9c9;
		-webkit-transform: translateX(-35px);
		        transform: translateX(-35px);
	}
}
@media (max-width: 1200px) {
	.article-meta__category-en {
		font-size: calc(60vw/640*100);
	}
}

.article-meta__category-ja {
	display: inline-block;
	padding: .325em 1.5em;
	color: #fff;
	line-height: 1; 
	text-align: center;
}
@media (min-width: 1201px) {
	.article-meta__category-ja {
		width: 120px;
		margin-bottom: 26px;
		font-size: 12px;
	}
}
@media (max-width: 1200px) {
	.article-meta__category-ja {
		font-size: calc(18vw/640*100);
	}
}

@media (min-width: 1201px) {
	.article-meta__abs-PC {
		position: absolute;
		left: -300px;
	}
}

@media (min-width: 1201px) {
	.article-meta__reverse-PC {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		    flex-direction: column-reverse; 
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}

@media (min-width: 1201px) {
	.article-meta__date {
		width: 120px;
		margin-bottom: 16px;
		font-size: 16px; 
		text-align: center;
	}
}

@media (max-width: 1200px) {
	.article-meta__date {
		margin-top: .75em;
		font-size: calc(24vw/640*100);
	}
}

.article-meta__sns {
	-webkit-box-align: center;
	align-items: center; 
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.article-meta__sns a {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	width: 2.25em;
	height: 2.25em;
	color: #fff;
	border-radius: 1.125em;
}
.article-meta__sns__facebook {
	background-color: #3b5998;
	border: 1px solid #3b5998;
}
.article-meta__sns__twitter {
	background-color: #55acee;
	border: 1px solid #55acee;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.article-meta__sns__facebook:hover {
		color: #3b5998;
		background-color: #fff;
	}
	.article-meta__sns__twitter:hover {
		color: #55acee;
		background-color: #fff;
	}
}
@media (min-width: 1201px) {
	.article-meta__sns {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		    flex-direction: column; 
		width: 120px;
	}
	.article-meta__sns a {
		font-size: 24px;
	}
	.article-meta__sns li:not(:first-child) {
		margin-top: 12px;
	}
}
@media (max-width: 1200px) {
	.article-meta__sns {
		-ms-flex-pack: end;
		-webkit-box-pack: end;
		justify-content: flex-end;
		margin-top: calc(-56vw/640*100);
	}
	.article-meta__sns a {
		font-size: calc(34vw/640*100);
	}
	.article-meta__sns li:not(:first-child) {
		margin-left: calc(16vw/640*100);
	}
}

/*----------------------------------------------------
	article
----------------------------------------------------*/
.article__title {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	color: #fff;
	line-height: 1.27; 
	text-align: center;
}

.article__wrap {
	position: relative;
}

.article__articles {
	border-top: 1px solid #c9c9c9;
}

@media (min-width: 1201px) {
	.article__eyecatch.pc {
		display: block !important;
	}
	.article__eyecatch.sp {
		display: none !important;
	}
}

@media (max-width: 1200px) {
	.article__eyecatch.pc {
		display: none !important;
	}
	.article__eyecatch.sp {
		display: block !important;
	}
}

@media (min-width: 961px) {
	.article__header {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		    flex-direction: column-reverse; 
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.article__title {
		height: 180px;
		padding-right: 40px;
		padding-left: 40px;
		font-size: 36px;
	}
	.article__wrap {
		width: 800px;
		padding-top: 35px; 
		margin: 0 40px 0 auto;
	}
	.article__eyecatch {
		position: relative;
		z-index: 10; 
		margin-top: -80vh;
	}
	.article__articles {
		padding: 46px 0;
	}
}

@media (min-width: 960px) and (max-width: 1200px) {
	.article__wrap {
		width: 100%;
		padding-top: 35px; 
		margin: 0 auto 0 auto;
	}
	.article__eyecatch {
		margin: 0;
		text-align: center;
	}
}

@media (max-width: 960px) {
	.article__title {
		height: calc(180vw/640*100);
		padding-right: 4.375vw;
		padding-left: 4.375vw;
		font-size: 5.625vw;
	}
	.article__wrap {
		padding-top: calc(68vw/640*100);
	}
	.article__articles {
		padding: calc(56vw/640*100) 0;
	}
}

/*----------------------------------------------------
	company
----------------------------------------------------*/
.company-data__wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.company-data__title {
	width: 140px;
	margin-right: 34px;
}

.company-data__body {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	    flex: 1;
}

.company-data__table tr {
	border-bottom: 1px solid #c9c9c9;
}

.company-data__table th {
	width: 10em;
}

@media (min-width: 961px) {
	.company-data {
		padding: 80px 0;
	}
	.company-data__table {
		font-size: 18px;
		line-height: 1.88;
	}
	.company-data__table th {
		padding: .75em 0;
		text-align: left;
	}
	.company-data__table td {
		padding: .75em 0;
	}
}

@media (max-width: 960px) {
	.company-data {
		padding: 50px 0;
	}
	.company-data__title {
		width: 65px;
		margin-right: 4vw; 
		margin-left: -4.375vw;
	}
	.company-data__table {
		display: block; 
		font-size: 3.73333vw;
		line-height: 1.65;
	}
	.company-data__table th {
		display: block;
		padding: .75em 0 0;
		font-weight: bold; 
		text-align: left;
	}
	.company-data__table td {
		display: block;
		padding: .25em 0 .75em;
	}
}

.company-agency__wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.company-agency__title {
	width: 140px;
	margin-right: 34px;
}

.company-agency__body {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	    flex: 1;
}

.company-agency__pic {
	position: relative;
	margin-bottom: 6px;
}
.company-agency__pic .pic {
	display: block;
	border: 1px solid #c9c9c9;
}
.company-agency__pic img {
	width: 100%;
	height: 200px;
	font-family: "object-fit: scale-down;"; 
	vertical-align: bottom;

	-o-object-fit: scale-down;
	   object-fit: scale-down;
}

.company-agency__label {
	position: absolute;
	bottom: 0;
	left: 0;
	display: inline-block;
	width: 7em;
	padding: .2em .2em;
	color: #fff;
	text-align: center;
	background-color: #00004a;
}

.company-agency__name {
	margin-bottom: 6px;
}

.company-agency__desc {
	line-height: 1.625;
}

@media (min-width: 961px) {
	.company-agency {
		padding: 80px 0;
	}
	.company-agency__list {
		-ms-flex-pack: justify;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: justify;
		justify-content: space-between; 
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.company-agency__item {
		width: 31.4%;
		margin-bottom: 45px;
	}
	.company-agency__label {
		font-size: 14px;
	}
	.company-agency__name {
		font-size: 24px;
	}
	.company-agency__desc {
		font-size: 16px;
	}
}

@media (max-width: 960px) {
	.company-agency {
		padding: 50px 0;
	}
	.company-agency__item {
		margin-bottom: 20px;
	}
	.company-agency__title {
		width: 65px;
		margin-right: 4vw; 
		margin-left: -4.375vw;
	}
	.company-agency__pic .pic {
		padding: 10px 10px;
	}
	.company-agency__pic img {
		height: 100px;
	}
	.company-agency__label {
		font-size: 3.2vw;
	}
	.company-agency__name {
		font-size: 4.8vw;
	}
	.company-agency__desc {
		font-size: 3.73333vw;
	}
}

.company-agency-news {
	border: 1px solid #c9c9c9;
}
.company-agency-news__title {
	margin-bottom: .5em;
}
.company-agency-news__desc {
	margin-bottom: .75em;
}
.company-agency-news__contact span {
	display: inline-block;
	padding: .5em 1em;
	background-color: gainsboro;
}
@media (min-width: 961px) {
	.company-agency-news {
		padding: 30px 56px;
	}
	.company-agency-news__title {
		font-size: 30px;
	}
	.company-agency-news__desc {
		font-size: 18px; 
		line-height: 2;
	}
	.company-agency-news__contact {
		font-size: 18px;
	}
}
@media (max-width: 960px) {
	.company-agency-news {
		padding: 20px 4.375vw;
		margin-left: -65px;
	}
	.company-agency-news__title {
		font-size: 4.8vw;
	}
	.company-agency-news__desc {
		font-size: 3.73333vw; 
		line-height: 1.75;
	}
	.company-agency-news__contact {
		font-size: 3.73333vw;
	}
}

.company-colA *[class$="__title"] {
	margin-bottom: 1em;
	color: #636363;
	font-family: brandon-grotesque, sans-serif;
	letter-spacing: .1em; 
	text-align: center;
}

.company-colA .date {
	font-family: source-han-serif-japanese, serif; 
	text-align: center;
}

.company-colA .lead {
	padding-bottom: .5em;
	text-align: center;
}

.company-colA p + p {
	margin-top: 1em;
}

@media (min-width: 961px) {
	.company-colA *[class$="__body"] {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		min-height: 900px;
	}
	.company-colA *[class$="__pic"] {
		width: 50%;
	}
	.company-colA *[class$="__text"] {
		width: 50%;
		padding: 100px 50px;
	}
	.company-colA .date {
		font-size: 60px;
	}
	.company-colA .lead {
		font-size: 40px;
	}
	.company-colA .desc {
		font-size: 25px;
	}
}

@media (max-width: 960px) {
	.company-colA *[class$="__pic"] {
		height: 112.5vw;
	}
	.company-colA *[class$="__text"] {
		padding: 50px 4.375vw;
	}
	.company-colA .date {
		font-size: 4.8vw;
	}
	.company-colA .lead {
		font-size: 4.26667vw;
	}
	.company-colA .desc {
		font-size: 3.73333vw;
	}
}

.company01 {
	color: #fff;
	background-color: #00004a;
}
.company01__title {
	text-align: center;
}
.company01__title .en {
	color: #605e5e;
	font-family: brandon-grotesque, sans-serif;
	letter-spacing: .2em;
}
.company01__body {
	text-align: center;
}
.company01__pic1 {
	background: url(../images/company/pic02.jpg) center center/cover;
}
.company01__pic2 {
	background: url(../images/company/pic01.jpg) center center/cover;
}
.company01__text .date {
	font-family: source-han-serif-japanese, serif;
}
@media (min-width: 961px) {
	.company01__title {
		padding: 80px 0;
	}
	.company01__title .ja {
		font-size: 65px;
	}
	.company01__title .en {
		font-size: 48px;
	}
	.company01__body {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		min-height: 600px;
	}
	.company01__pic1 {
		width: 30%;
	}
	.company01__text {
		width: 40%;
		padding: 60px 20px;
		line-height: 2;
	}
	.company01__text p {
		font-size: 60px;
	}
	.company01__text .lead {
		font-size: 40px;
	}
	.company01__pic2 {
		width: 30%;
	}
}
@media (max-width: 960px) {
	.company01__title {
		padding: 40px 0;
	}
	.company01__title .ja {
		font-size: 6.4vw;
	}
	.company01__title .en {
		font-size: 5.33333vw;
	}
	.company01__pic1 {
		height: 56.25vw;
	}
	.company01__text {
		padding: 40px 4.375vw;
		line-height: 2;
	}
	.company01__text .date {
		font-size: 4.8vw;
	}
	.company01__text .lead {
		font-size: 4.26667vw;
	}
	.company01__pic2 {
		height: 56.25vw;
	}
}

.company02 {
	background: url(../images/company/pic03.jpg) center center/cover fixed;
}
.company02__text {
	background: rgba(255, 255, 255, .6);
}
@media (min-width: 961px) {
	.company02__body {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		    flex-direction: row-reverse;
	}
}
@supports (-webkit-overflow-scrolling: touch) {
	.company02 {
		background-attachment: scroll;
	}
}

.company03__pic {
	background: url(../images/company/pic04.jpg) center center/cover;
}

.company03__text {
	background: url(../images/company/pic05.jpg) center center/cover;
}

.company04 {
	background: url(../images/company/pic06.jpg) center center/cover fixed;
}
.company04__text {
	background: rgba(255, 255, 255, .6);
}
@media (min-width: 961px) {
	.company04__body {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		    flex-direction: row-reverse;
	}
}
@supports (-webkit-overflow-scrolling: touch) {
	.company04 {
		background-attachment: scroll;
	}
}

.company05__movie {
	position: relative;
	padding: 56.25% 0 0; 
	overflow: hidden;
}
.company05__movie video {
	position: absolute;
	top: 0; 
	left: 0;
}

@media (min-width: 961px) {
	.company05__movie {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		    flex: 1; 
		padding: 0;
	}
	.company05__movie video {
		top: 50%;
		left: 50%;
		width: auto;
		height: 100%;
		-webkit-transform: translate(-50%, -50%);
		        transform: translate(-50%, -50%);
	}
}

.company06__body1 {
	max-width: 980px;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	background: #00004a;
}

.company06__body2 {
	max-width: 980px;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	background: url(../images/company/pic07.jpg) center center/cover;
}

.company06 .date {
	font-family: source-han-serif-japanese, serif;
}

.company06 p + p {
	margin-top: 1em;
}

@media (min-width: 961px) {
	.company06__body1 {
		padding: 60px 20px;
	}
	.company06__body2 {
		min-height: 560px; 
		padding: 60px 20px;
	}
	.company06 .date {
		font-size: 60px;
	}
	.company06 p {
		font-size: 35px;
		line-height: 1.75;
	}
}

@media (max-width: 960px) {
	.company06__body1 {
		padding: 50px 4.375vw;
		margin-right: -4.375vw; 
		margin-left: -4.375vw;
	}
	.company06__body2 {
		padding: 50px 4.375vw;
		margin-right: -4.375vw; 
		margin-left: -4.375vw;
	}
	.company06 .date {
		font-size: 5.33333vw;
	}
	.company06 p {
		font-size: 4.26667vw;
		line-height: 1.75;
	}
}

/*----------------------------------------------------
	concept
----------------------------------------------------*/
.concept-contents {
	font-family: source-han-serif-japanese, serif;
}

.concept-colA *[class$="__title"] {
	margin-bottom: 1em;
	color: #636363;
	font-family: brandon-grotesque, sans-serif;
	letter-spacing: .1em; 
	text-align: center;
}

@media (min-width: 961px) {
	.concept-colA *[class$="__body"] {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		min-height: 800px;
	}
	.concept-colA *[class$="__pic"] {
		width: 50%;
	}
	.concept-colA *[class$="__text"] {
		width: 50%;
		padding: 100px 50px;
	}
	.concept-colA *[class$="__title"] {
		max-width: 500px;
		margin-right: auto;
		margin-left: auto;
		font-size: 46px;
	}
	.concept-colA *[class$="__lead"] {
		max-width: 500px;
		margin-right: auto;
		margin-left: auto;
		font-size: 30px;
		line-height: 2.5;
	}
}

@media (max-width: 960px) {
	.concept-colA *[class$="__pic"] {
		height: 112.5vw;
	}
	.concept-colA *[class$="__text"] {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		    flex-direction: column;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		justify-content: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		min-height: 112.5vw; 
		padding: 50px 4.375vw;
	}
	.concept-colA *[class$="__title"] {
		font-size: 6.4vw;
	}
	.concept-colA *[class$="__lead"] {
		font-size: 4vw;
		line-height: 2;
	}
}

.concept01 {
	text-align: center;
}
.concept01 img {
	width: 100%;
	max-width: 980px;
}
.concept01__pic {
	text-align: center;
	background: url(../images/concept/concept01.jpg) center center/cover;
}
.concept01__lead {
	color: #fff;
	line-height: 1.2;
}
.concept01__lead .gray {
	color: #424242;
}
.concept01__movie {
	position: relative;
	padding: 56.25% 0 0; 
	overflow: hidden;
}
.concept01__movie video {
	position: absolute;
	top: 0; 
	left: 0;
}
@media (min-width: 961px) {
	.concept01__wrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex; 
		min-height: 650px;
	}
	.concept01__pic {
		width: 38%; 
		padding: 100px 50px;
	}
	.concept01__movie {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		    flex: 1; 
		padding: 34.875% 0 0;
	}
	.concept01__movie video {
		width: auto;
		height: 100%;
	}
	.concept01__lead {
		font-size: 66px;
	}
}
@media (max-width: 960px) {
	.concept01__pic {
		height: 94.11765vw; 
		padding: 50px 4.375vw;
	}
	.concept01__movie {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		    flex: 1;
	}
	.concept01__lead {
		font-size: 8.53333vw;
		line-height: 1.35;
	}
}

.concept-logo {
	text-align: center;
}
.concept-logo img {
	width: 100%;
	max-width: 980px;
}
.concept-logo img {
	-webkit-transition: all 5s ease-out;
	        transition: all 5s ease-out; 
	opacity: 0;
}
.concept-logo img.animated {
	opacity: 1;
}
@media (min-width: 961px) {
	.concept-logo {
		padding: 80px 0;
	}
}
@media (max-width: 960px) {
	.concept-logo {
		padding: 40px 0;
	}
}

.concept02 {
	background-color: #00004a;
}
.concept02__body {
	color: #fff;
	font-style: italic; 
	text-align: center;
}
@media (min-width: 961px) {
	.concept02__body {
		padding: 100px 0;
		font-size: 44px; 
		line-height: 2.5;
	}
}
@media (max-width: 960px) {
	.concept02__body {
		padding: 50px 0;
		font-size: 4vw; 
		line-height: 2;
	}
}

.concept03 {
	text-align: center;
	background: url(../images/concept/concept02.jpg) center center/cover;
}
.concept03__title {
	margin-bottom: 1em;
	color: #636363;
	font-family: brandon-grotesque, sans-serif;
	letter-spacing: .1em;
}
.concept03__lead {
	color: #fff;
}
@media (min-width: 961px) {
	.concept03__text {
		padding: 100px 50px;
	}
	.concept03__title {
		margin-right: auto;
		margin-left: auto;
		font-size: 46px;
	}
	.concept03__lead {
		margin-right: auto;
		margin-left: auto;
		font-size: 30px;
		line-height: 2.5;
	}
}
@media (max-width: 960px) {
	.concept03__text {
		padding: 50px 0;
	}
	.concept03__title {
		font-size: 6.4vw;
	}
	.concept03__lead {
		font-size: 4vw;
		line-height: 2;
	}
}

.concept04__pic {
	background: url(../images/concept/concept03.jpg) center center/cover;
}

.concept05__text {
	background: url(../images/concept/concept04.jpg) center center/cover;
}

.concept05__pic {
	background: url(../images/concept/concept05.jpg) center center/cover;
}

.concept05__title {
	color: #636363;
}

.concept05__lead {
	color: #fff;
}

@media (min-width: 961px) {
	.concept05__body {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		    flex-direction: row-reverse;
	}
}

.concept06__pic {
	background: url(../images/concept/concept06.jpg) center center/cover;
}

.concept07__text {
	background: url(../images/concept/concept07.jpg) center center/cover;
}

.concept07__pic {
	background: url(../images/concept/concept08.jpg) center center/cover;
}

.concept07__title {
	color: #636363;
}

.concept07__lead {
	color: #fff;
}

@media (min-width: 961px) {
	.concept07__body {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		    flex-direction: row-reverse;
	}
}

.concept08__pic {
	background: url(../images/concept/concept09.jpg) center center/cover;
}

.concept09 {
	color: #fff;
	background: url(../images/concept/concept10.png) center center/cover no-repeat;
}
.concept09__body {
	text-align: center;
}
.concept09__lead {
	display: inline-block;
	line-height: 2;
}
@media (min-width: 961px) {
	.concept09 {
		padding: 50px 0;
	}
	.concept09__lead {
		font-size: 50px;
	}
}
@media (max-width: 960px) {
	.concept09 {
		padding: 25px 0;
	}
	.concept09__lead {
		font-size: 5.33333vw;
	}
}

.concept10__item1 {
	background: url(../images/concept/concept10.jpg) center bottom/cover no-repeat;
}

.concept10__item2 img.sign {
	margin-top: .5em;
}

@media (min-width: 961px) {
	.concept10__body {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.concept10__item1 {
		width: 40%;
	}
	.concept10__item2 {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		    flex: 1;
		padding: 100px 90px;
		font-size: 20px;
		line-height: 2;
	}
}

@media (max-width: 960px) {
	.concept10__body {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		    flex-direction: column-reverse; 
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.concept10__item1 {
		height: 169.32515vw;
	}
	.concept10__item2 {
		padding: 50px 4.375vw;
		font-size: 4vw; 
		line-height: 2;
	}
	.concept10__item2 img.sign {
		width: 32vw;
	}
}

.concept11 {
	color: #fff;
	background-color: #00004a;
}
.concept11__body {
	text-align: center;
}
.concept11__lead {
	display: inline-block;
}
.concept11__lead:after {
	display: block;
	width: 100%;
	height: 2px;
	content: "";
	background-color: #fff;
}
@media (min-width: 961px) {
	.concept11 {
		padding: 100px 0;
	}
	.concept11__lead {
		font-size: 36px;
	}
}
@media (max-width: 960px) {
	.concept11 {
		padding: 50px 0;
	}
	.concept11__lead {
		font-size: 5.33333vw;
	}
}

.concept-slide__item {
	position: relative;
	text-align: center;
}
.concept-slide__item p {
	position: absolute;
	top: 30%;
	left: 0;
	width: 100%;
	color: #fff;
	font-style: italic; 
	text-align: center;
}
.concept-slide__item img {
	margin-right: auto; 
	margin-left: auto;
}

@media (min-width: 961px) {
	.concept-slide__item p {
		font-size: 26px;
	}
}

@media (max-width: 960px) {
	.concept-slide__item p {
		font-size: 3.73333vw;
	}
}

.concept-interview {
	text-align: center;
}
@media (min-width: 961px) {
	.concept-interview {
		padding: 100px 0;
	}
}
@media (max-width: 960px) {
	.concept-interview {
		padding: 50px 4.375vw;
	}
}

/*----------------------------------------------------
	service
----------------------------------------------------*/
.service-title {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: url(../images/service/bg_title.jpg) center center/cover;
}
.service-title__title {
	color: #fff;
	font-family: "Times New Roman", serif;
}
@media (min-width: 961px) {
	.service-title {
		height: 183px;
	}
	.service-title__title {
		font-size: 60px;
	}
}
@media (max-width: 960px) {
	.service-title {
		height: 120px;
	}
	.service-title__title {
		font-size: 40px;
	}
}

.service-mv {
	background: url(../images/service/bg_mv.jpg) center center/cover;
}
.service-mv__wrap {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
}
.service-mv__title {
	margin-bottom: .5em;
	color: #fff;
	font-family: "Times New Roman", serif; 
	font-weight: bold;
}
.service-mv__lead {
	color: #fff;
	font-family: source-han-serif-japanese, serif; 
	font-weight: bold;
	line-height: 1.765;
}
@media (min-width: 961px) {
	.service-mv__wrap {
		height: 750px;
	}
	.service-mv__title {
		font-size: 70px;
	}
	.service-mv__lead {
		font-size: 34px;
	}
}
@media (max-width: 960px) {
	.service-mv__wrap {
		padding: 80px 0;
	}
	.service-mv__title {
		font-size: 30px;
	}
	.service-mv__lead {
		font-size: 16px;
	}
}

.service-sound {
	background: url(../images/service/bg_sound.jpg) center center/cover;
}
.service-sound__wrap {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
}
.service-sound__title {
	margin-bottom: .5em;
	color: #fff;
	font-family: "Times New Roman", serif; 
	font-weight: bold;
}
.service-sound__lead {
	color: #fff;
	font-family: source-han-serif-japanese, serif; 
	font-weight: bold;
	line-height: 1.765;
}
@media (min-width: 961px) {
	.service-sound__wrap {
		height: 750px;
	}
	.service-sound__title {
		font-size: 70px;
	}
	.service-sound__lead {
		font-size: 34px;
	}
}
@media (max-width: 960px) {
	.service-sound__wrap {
		padding: 80px 0;
	}
	.service-sound__title {
		font-size: 35px;
	}
	.service-sound__lead {
		font-size: 17px;
	}
}

.service-content__logo {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
}

.service-content__name {
	margin-bottom: .7em;
	font-weight: bold;
	line-height: 1.583; 
	text-align: center;
}

.service-content__desc {
	margin-bottom: 1em;
}

.service-content__more {
	text-align: center;
}

@media (min-width: 961px) {
	.service-content {
		padding: 200px 0;
	}
	.service-content__services {
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-bottom: -200px;
	}
	.service-content__service {
		width: 560px;
		margin-bottom: 200px;
	}
	.service-content__logo {
		height: 147px;
		margin-bottom: 25px;
	}
	.service-content__name {
		font-size: 24px;
	}
	.service-content__desc {
		font-size: 18px;
		line-height: 2.125;
	}
}

@media (max-width: 960px) {
	.service-content {
		padding: 100px 0;
	}
	.service-content__services {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		    flex-direction: column;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-bottom: -100px;
	}
	.service-content__service {
		margin-bottom: 100px;
	}
	.service-content__logo {
		padding: 0 15%;
		margin-bottom: 20px;
	}
	.service-content__name {
		font-size: 18px;
	}
	.service-content__desc {
		font-size: 14px;
		line-height: 1.75;
	}
}

.service-studio {
	text-align: center;
	border: 1px solid #c9c9c9;
}
.service-studio__title {
	margin-bottom: .75em;
	font-weight: bold;
}
.service-studio__desc {
	margin-bottom: 1em;
}
.service-studio__titleB {
	margin-bottom: 1em;
	font-weight: bold;
}
.service-studio__release {
	-webkit-box-align: center;
	align-items: center; 
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
@media (min-width: 961px) {
	.service-studio {
		padding: 22px 24px; 
		margin-top: 200px;
	}
	.service-studio__title {
		font-size: 26px;
	}
	.service-studio__desc {
		font-size: 16px;
		line-height: 2.125;
	}
	.service-studio__titleB {
		font-size: 20px;
	}
	.service-studio__release li + li {
		margin-left: 65px;
	}
}
@media (max-width: 960px) {
	.service-studio {
		padding: 10px 12px; 
		margin-top: 100px;
	}
	.service-studio__title {
		font-size: 20px;
		line-height: 1.75;
	}
	.service-studio__desc {
		font-size: 14px;
		line-height: 1.75;
	}
	.service-studio__titleB {
		font-size: 16px;
	}
	.service-studio__release ul {
		margin-bottom: -12px;
	}
	.service-studio__release li:not(:nth-child(3n+1)) {
		margin-left: 4%;
	}
	.service-studio__release li {
		width: 30%;
		height: 40px;
		margin-bottom: 2%;
		margin-bottom: 10px;
	}
	.service-studio__release li img {
		width: 100%;
		height: 100%;
		font-family: "object-fit: contain;"; 

		-o-object-fit: contain;
		   object-fit: contain;
	}
}

/*----------------------------------------------------
	top-articles
----------------------------------------------------*/
@media (min-width: 961px) {
	.top-articles {
		padding: 28px 0;
	}
}

@media (max-width: 960px) {
	.top-articles {
		padding: 0 0 calc(28vw/640*100);
	}
}

/*----------------------------------------------------
	top-mv
----------------------------------------------------*/
@media (min-width: 961px) {
	.top-mv {
		padding: 28px 0 0;
		margin-bottom: 28px;
	}
}

@media (max-width: 960px) {
	.top-mv {
		margin-bottom: calc(90vw / 640 * 100);
	}
}

.top-mv__item {
	position: relative;
	display: none !important;
}
.top-mv__item.show {
	display: block !important;
	-webkit-animation: fadeIn .6s linear;
	        animation: fadeIn .6s linear;
}
.top-mv__item:after {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0; 
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background-image: -webkit-gradient(linear, left bottom, left top, from(black), color-stop(43.75%, rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to top, black 0%, rgba(0, 0, 0, 0) 43.75%);
	pointer-events: none;
}

.top-mv__category {
	position: absolute;
	display: inline-block;
	color: #fff;
	background-color: #000;
}

.top-mv__text {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2; 
	width: 100%;
	color: #fff;
}

@media (min-width: 961px) {
	.top-mv__item {
		width: 1016px;
		padding-right: 8px; 
		padding-left: 8px;
	}
	.top-mv__item:after {
		left: 8px; 
		width: calc(100% - 16px);
	}
	.top-mv__category {
		top: 50px;
		left: 50px;
		padding: .25em 1.65em;
		font-size: 12px;
	}
	.top-mv__category--right {
		right: 50px; 
		left: auto;
	}
	.top-mv__text {
		padding: 20px 50px;
		font-size: 20px; 
		text-align: center;
	}
}

@media (max-width: 960px) {
	.top-mv__category {
		top: calc(270vw/640*100);
		left: calc(30vw/640*100);
		padding: .25em 1em;
		font-size: calc(18vw/640*100);
	}
	.top-mv__category--right {
		right: calc(30vw/640*100); 
		left: auto;
	}
	.top-mv__text {
		padding: calc(25vw/640*100) calc(30vw/640*100);
		font-size: calc(20vw/640*100);
	}
}

/*----------------------------------------------------
	xxx
----------------------------------------------------*/
/*----------------------------------------------------
	who
----------------------------------------------------*/
.who-colA *[class$="__title"] {
	font-family: source-han-serif-japanese, serif; 
	text-align: center;
}

.who-colA *[class$="__lead"] {
	margin-top: .25em;
	font-family: brandon-grotesque, sans-serif;
	letter-spacing: .3em; 
	text-align: center;
}

.who-colA *[class$="__desc"] {
	margin-top: 1em;
	font-family: source-han-serif-japanese, serif;
	line-height: 2em;
}
.who-colA *[class$="__desc"]:first-letter {
	font-size: 130%;
}

@media (min-width: 961px) {
	.who-colA {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.who-colA *[class$="__body"] {
		width: 50%;
		min-height: 900px;
		padding: 100px 100px;
	}
	.who-colA *[class$="__title"] {
		font-size: 36px;
	}
	.who-colA *[class$="__lead"] {
		font-size: 36px;
	}
	.who-colA *[class$="__desc"] {
		font-size: 25px;
	}
}

@media (max-width: 960px) {
	.who-colA *[class$="__body"] {
		padding: 50px 4.375vw;
	}
	.who-colA *[class$="__title"] {
		font-size: 5.33333vw;
	}
	.who-colA *[class$="__lead"] {
		font-size: 5.33333vw;
	}
	.who-colA *[class$="__desc"] {
		font-size: 3.73333vw;
	}
}

.who-movie {
	position: relative;
	overflow: hidden; 
	text-align: center;
}
.who-movie__video {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.who-movie__video video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: auto;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}
.who-movie__desc {
	position: relative;
	z-index: 10;
	color: #fff;
}
@media (min-width: 961px) {
	.who-movie {
		height: 800px;
	}
	.who-movie__desc {
		padding-top: 300px;
		font-size: 90px;
	}
}
@media (max-width: 960px) {
	.who-movie {
		height: 56.25vw;
	}
	.who-movie__desc {
		padding-top: 28.125vw;
		font-size: 7.46667vw;
	}
}

.who-slide * {
	vertical-align: bottom;
}

.who-slide img {
	vertical-align: bottom;
}

.who-youtube {
	text-align: center;
	background: url(../images/who/09.png) center center/cover;
}
@media (min-width: 961px) {
	.who-youtube {
		padding: 112px 0;
	}
}
@media (max-width: 960px) {
	.who-youtube {
		padding: 40px 4.375vw;
	}
	.who-youtube__inner {
		position: relative;
		padding-top: 56.25%;
	}
	.who-youtube__inner iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

.who-items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.who-items__item {
	font-style: italic;
}
@media (min-width: 961px) {
	.who-items__item {
		width: 25%;
		min-height: 550px;
		padding: 100px 70px;
		font-size: 40px;
		line-height: 1.8;
	}
	.who-items__item:nth-child(odd) {
		color: #00004a;
		background-color: #f0f0f0;
	}
	.who-items__item:nth-child(even) {
		color: #fff;
		background-color: #00004a;
	}
	.who-items--reverse .who-items__item:nth-child(odd) {
		color: #fff;
		background-color: #00004a;
	}
	.who-items--reverse .who-items__item:nth-child(even) {
		color: #00004a;
		background-color: #f0f0f0;
	}
}
@media (max-width: 960px) {
	.who-items {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
	.who-items__item {
		width: 50%;
		padding: 4.375vw;
		font-size: 4.8vw;
		line-height: 2;
	}
	.who-items__item:nth-child(1),
	.who-items__item:nth-child(4) {
		color: #00004a;
		background-color: #f0f0f0;
	}
	.who-items__item:nth-child(2),
	.who-items__item:nth-child(3) {
		color: #fff;
		background-color: #00004a;
	}
}

.who-items .animElem {
	-webkit-transition: all .8s ease-out;
	        transition: all .8s ease-out; 
	opacity: 0;
}
.who-items .animElem.animated {
	opacity: 1;
}

.who-items .anime01.animated {
	-webkit-animation: anime01 .8s ease-out forwards;
	        animation: anime01 .8s ease-out forwards;
}

.who-items .anime02 {
	-webkit-transform: rotate(-360deg);
	        transform: rotate(-360deg);
}
.who-items .anime02.animated {
	-webkit-transform: rotate(360deg);
	        transform: rotate(360deg);
}

.who-items .anime04 {
	-webkit-transform: translateX(50%);
	        transform: translateX(50%);
}
.who-items .anime04.animated {
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

.who-items .anime05 {
	-webkit-transform: rotate(-360deg);
	        transform: rotate(-360deg);
}
.who-items .anime05.animated {
	-webkit-transform: rotate(360deg);
	        transform: rotate(360deg);
}

.who-items .anime06 {
	-webkit-transform: translateX(50%);
	        transform: translateX(50%);
}
.who-items .anime06.animated {
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

.who-items .anime07 {
	-webkit-transform: rotate(90deg);
	        transform: rotate(90deg);
	-webkit-transform-origin: right bottom;
	        transform-origin: right bottom;
}
.who-items .anime07.animated {
	-webkit-transform: rotate(0deg);
	        transform: rotate(0deg);
}

.who-items .anime08 {
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}
.who-items .anime08.animated {
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

@-webkit-keyframes anime01 {
	0% {
		-webkit-transform: scale(.7);
		        transform: scale(.7); 
		opacity: 0;
	}
	80% {
		-webkit-transform: scale(1.2);
		        transform: scale(1.2);
	}
	100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
		opacity: 1;
	}
}

@keyframes anime01 {
	0% {
		-webkit-transform: scale(.7);
		        transform: scale(.7); 
		opacity: 0;
	}
	80% {
		-webkit-transform: scale(1.2);
		        transform: scale(1.2);
	}
	100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
		opacity: 1;
	}
}

.who-recruit__wrap {
	margin-bottom: 40px;
}

.who-recruit__title {
	color: #fff;
	background-color: #00004a;
}
.who-recruit__title .en {
	font-family: source-han-serif-japanese, serif;
}

.who-recruit__lead {
	line-height: 1.889;
}

.who-recruit__table tr:first-child {
	border-top: 1px solid #c9c9c9;
}

.who-recruit__table tr {
	border-bottom: 1px solid #c9c9c9;
}

.who-recruit__table th {
	width: 9.5em;
}

.who-recruit__ex {
	margin-top: 10px;
	line-height: 1.714;
}
.who-recruit__ex li {
	padding-left: 1em;
	text-indent: -1em;
}

.who-recruit__link {
	margin-top: 40px;
	text-align: center;
}

@media (min-width: 961px) {
	.who-recruit {
		padding: 0 0 80px;
	}
	html.en .who-recruit {
		margin: 100px;
	}
	.who-recruit__wrap {
		-webkit-box-align: center;
		align-items: center; 
		-ms-flex-align: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.who-recruit__title {
		-ms-flex-pack: end;
		-webkit-box-pack: end;
		justify-content: flex-end;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: calc(50% - 130px); 
		padding: 50px 0;
	}
	.who-recruit__title .title {
		width: 318px;
	}
	.who-recruit__title .en {
		font-size: 18px;
	}
	.who-recruit__title .ja {
		font-size: 30px;
	}
	.who-recruit__lead {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		    flex: 1;
		max-width: 620px;
		padding-left: 36px;
		font-size: 18px;
	}
	.who-recruit__table {
		font-size: 18px;
		line-height: 1.88;
	}
	.who-recruit__table th {
		padding: .75em 0;
		text-align: left;
	}
	.who-recruit__table td {
		padding: .75em 0;
	}
	.who-recruit__ex {
		padding: 0 40px 0;
		font-size: 14px;
	}
}

@media (max-width: 960px) {
	.who-recruit {
		padding: 0 0 50px;
	}
	.who-recruit__title {
		padding: 20px 4.375vw;
	}
	.who-recruit__title .en {
		font-size: 3.2vw;
	}
	.who-recruit__title .ja {
		font-size: 5.33333vw;
	}
	.who-recruit__lead {
		padding: 20px 4.375vw 0;
		font-size: 3.73333vw;
	}
	.who-recruit__table {
		display: block; 
		font-size: 3.73333vw;
		line-height: 1.65;
	}
	.who-recruit__table th {
		display: block;
		padding: .75em 0 0;
		font-weight: bold; 
		text-align: left;
	}
	.who-recruit__table td {
		display: block;
		padding: .25em 0 .75em;
	}
	.who-recruit__ex {
		font-size: 3.2vw;
	}
}

.who01__wrap {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center; 
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.who01__title {
	padding: 0 .2em;
	color: #fff;
	font-weight: 200;
	line-height: 1.25;
}

.who01__lead {
	padding: 0 2em;
	color: #fff;
	font-family: source-han-serif-japanese, serif;
	font-style: italic; 
	line-height: 2;
}

@media (min-width: 961px) {
	.who01 {
		background: url(../images/who/01.jpg) center center/cover;
	}
	.who01__wrap {
		height: 100vh;
		max-height: 1000px;
	}
	.who01__title {
		font-size: 176px;
	}
	.who01__lead {
		font-size: 35px;
	}
}

@media (max-width: 960px) {
	.who01 {
		background: url(../images/who/01-sp.jpg) left center/cover;
	}
	.who01__wrap {
		height: 50vh;
	}
	.who01__title {
		font-size: 16vw;
	}
	.who01__lead {
		font-size: 5.33333vw;
	}
}

@media (min-width: 560px) and (max-width: 960px) {
	.who01__wrap {
		height: 80vh;
	}
}

.who02 {
	color: #fff;
	text-align: center;
	background-color: #00004a;
}
.who02__lead {
	font-family: source-han-serif-japanese, serif; 
	font-style: italic;
	line-height: 2;
}
.who02 .sign {
	color: #605e5e; 
	font-style: normal;
}
@media (min-width: 961px) {
	.who02 {
		padding: 80px 0;
	}
	.who02__lead {
		font-size: 44px;
	}
	.who02 .sign {
		font-size: 36px;
	}
}
@media (max-width: 960px) {
	.who02 {
		padding: 40px 0;
	}
	.who02__lead {
		font-size: 5.33333vw;
	}
	.who02 .sign {
		font-size: 4.8vw;
	}
}

.who03__body {
	background-color: rgba(255, 255, 255, .75);
}

.who03__title {
	color: #00004a;
}

@media (min-width: 961px) {
	.who03 {
		-ms-flex-pack: end;
		-webkit-box-pack: end;
		justify-content: flex-end;
		background: url(../images/who/02.jpg) center center/cover fixed;
	}
}

@media (max-width: 960px) {
	.who03 {
		background-color: #000;
	}
	.who03:before {
		display: block;
		width: 100%;
		height: 112.5vw;
		content: "";
		background: url(../images/who/02.jpg) center center/cover fixed;
	}
}

@supports (-webkit-overflow-scrolling: touch) {
	.who03:before {
		background-attachment: scroll;
	}
}

.who04__body {
	background-color: rgba(4, 4, 51, .6);
}

.who04__title {
	color: #605e5e;
}

.who04__lead {
	color: #605e5e;
}

.who04__desc {
	color: #f7f5e1;
}

@media (min-width: 961px) {
	.who04 {
		background: url(../images/who/03.png) center center/cover fixed;
	}
}

@media (max-width: 960px) {
	.who04 {
		background-color: #000;
	}
	.who04:before {
		display: block;
		width: 100%;
		height: 112.5vw;
		content: "";
		background: url(../images/who/03.png) center center/cover fixed;
	}
}

@supports (-webkit-overflow-scrolling: touch) {
	.who04:before {
		background-attachment: scroll;
	}
}

.who05__body {
	background-color: rgba(165, 165, 165, .5);
}

.who05__desc {
	color: #fff;
}

@media (min-width: 961px) {
	.who05 {
		-ms-flex-pack: end;
		-webkit-box-pack: end;
		justify-content: flex-end;
		background: url(../images/who/04.png) center center/cover fixed;
	}
}

@media (max-width: 960px) {
	.who05 {
		background-color: #000;
	}
	.who05:before {
		display: block;
		width: 100%;
		height: 112.5vw;
		content: "";
		background: url(../images/who/04.png) center center/cover fixed;
	}
}

@supports (-webkit-overflow-scrolling: touch) {
	.who05:before {
		background-attachment: scroll;
	}
}

.who06 {
	text-align: center;
}
.who06__desc {
	margin-bottom: 1.5em;
	color: #00004a;
	line-height: 2;
}
.who06__title {
	color: #636363;
	font-family: brandon-grotesque, sans-serif;
	letter-spacing: .1em;
}
@media (min-width: 961px) {
	.who06 {
		padding: 140px 0 80px;
	}
	.who06__desc {
		font-size: 33px;
	}
	.who06__title {
		font-size: 65px;
	}
}
@media (max-width: 960px) {
	.who06 {
		padding: 40px 0;
	}
	.who06__desc {
		font-size: 4.26667vw;
	}
	.who06__title {
		font-size: 6.4vw;
	}
}

.who07__lead {
	line-height: 1.8;
}

@media (min-width: 961px) {
	.who07 {
		padding: 100px 0;
	}
	.who07__lead {
		font-size: 24px;
	}
}

@media (max-width: 960px) {
	.who07 {
		padding: 40px 0;
	}
	.who07__lead {
		font-size: 4.26667vw;
	}
}

/*----------------------------------------------------
	xxx
----------------------------------------------------*/
/*----------------------------------------------------
	アニメーション
----------------------------------------------------*/
.fadeIn {
	display: none;
}
.fadeIn.show {
	display: block;
	-webkit-animation: fadeIn .6s ease-out;
	        animation: fadeIn .6s ease-out;
}

.anime {
	opacity: 0; 
	visibility: hidden;
}

.anime.opacity {
	opacity: 1;
}

.animated {
	visibility: visible;
}

.fadeIn.animated {
	-webkit-animation: fadeIn .5s forwards;
	        animation: fadeIn .5s forwards;
}

.fadeInUp.animated {
	-webkit-animation: fadeInUp .5s forwards;
	        animation: fadeInUp .5s forwards;
}

@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-webkit-keyframes fadeInUp {
	from {
		-webkit-transform: translateY(20px);
		        transform: translateY(20px); 
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px); 
		opacity: 1;
	}
}

@keyframes fadeInUp {
	from {
		-webkit-transform: translateY(20px);
		        transform: translateY(20px); 
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px); 
		opacity: 1;
	}
}

/*----------------------------------------------------
	loader
	<div class="loader">Loading...</div>
----------------------------------------------------*/
.loader,
.loader:before,
.loader:after {
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	-webkit-animation: load7 1.8s infinite ease-in-out;
	        animation: load7 1.8s infinite ease-in-out; 
	-webkit-animation-fill-mode: both;
	        animation-fill-mode: both;
}

.loader {
	position: relative;
	margin: 80px auto;
	color: #00004a;
	font-size: 10px;
	text-indent: -9999em;
	-webkit-transform: translateZ(0);
	        transform: translateZ(0);
	-webkit-animation-delay: -.16s;
	        animation-delay: -.16s;
}

.loader:before,
.loader:after {
	position: absolute;
	top: 0; 
	content: "";
}

.loader:before {
	left: -3.5em;
	-webkit-animation-delay: -.32s;
	        animation-delay: -.32s;
}

.loader:after {
	left: 3.5em;
}

@-webkit-keyframes load7 {
	0%,
	80%,
	100% {
		-webkit-box-shadow: 0 2.5em 0 -1.3em;
		        box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		-webkit-box-shadow: 0 2.5em 0 0;
		        box-shadow: 0 2.5em 0 0;
	}
}

@keyframes load7 {
	0%,
	80%,
	100% {
		-webkit-box-shadow: 0 2.5em 0 -1.3em;
		        box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		-webkit-box-shadow: 0 2.5em 0 0;
		        box-shadow: 0 2.5em 0 0;
	}
}

/* reveal grid after images loaded */
.are-images-unloaded {
	opacity: 0;
}

/*----------------------------------------------------
	フォーム
----------------------------------------------------*/
input[type=text],
input[type=email] {
	padding: 0 .5em;
	border-radius: 4px;
}

select {
	border-radius: 4px;
}

input[type=submit] {
	-webkit-appearance: none;
	border-radius: 4px;
}

button {
	-webkit-appearance: none;
	border-radius: 4px;
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	-webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out;
	        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out;
}

/*----------------------------------------------------
	記事一覧
----------------------------------------------------*/
.main-articles__link {
	display: block;
	width: 100%;
	height: 100%;
}

.main-articles__pic {
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.main-articles__pic img {
	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	   object-fit: cover;
}

.main-articles__label {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10; 
	color: #fff;
	font-family: "Times New Roman", serif;
}
.main-articles__label i {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 0;
	height: 0;
	content: "";
	border-color: #000 transparent transparent transparent; 
	border-style: solid;
	border-width: 6em 6em 0 0;
}
.main-articles__label span {
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 4.75em;
	height: 4.75em;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.main-articles__category {
	position: absolute;
	color: #fff;
	background-color: #000;
}

.main-articles__desc {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, .8);
}

.main-articles__title {
	margin-bottom: .25em;
}

.en .main-articles__title {
	text-align: inherit;
}

.main-articles__lead {
	line-height: 1.571;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.main-articles__link:hover .main-articles__pic img {
		-webkit-transform: scale(1.03);
		        transform: scale(1.03);
	}
}

@media (min-width: 961px) {
	.main-articles__label {
		font-size: 13px;
		-webkit-transform: translate(12px, -12px);
		        transform: translate(12px, -12px);
	}
	.main-articles__category {
		padding: .25em 2em;
		font-size: 12px;
	}
	.main-articles__lead {
		font-size: 14px;
	}
}

@media (max-width: 960px) {
	.main-articles__label {
		font-size: .5rem;
		-webkit-transform: translate(2.1875vw, -2.1875vw);
		        transform: translate(2.1875vw, -2.1875vw);
	}
	.main-articles__category {
		padding: .125em 1em;
		font-size: 10px;
	}
	.main-articles__lead {
		font-size: calc(20vw/640*100);
	}
}

@media (max-width: 960px) and (min-width: 560px) {
	.main-articles__label {
		font-size: .5rem;
		-webkit-transform: translate(1.09375vw, -1.09375vw);
		        transform: translate(1.09375vw, -1.09375vw);
	}
	.main-articles__lead {
		font-size: calc(20vw/640*100 * 2 / 3);
	}
}

/*----------------------------------------------------
	記事一覧 サイズごと
----------------------------------------------------*/
.main-articles {
	width: 100vw;
	max-width: 1200px;
}
.main-articles__gap,
.main-articles__item {
	position: relative;
	-webkit-transition: opacity .6s ease-out, -webkit-transform .6s ease-out;
	        transition: opacity .6s ease-out, -webkit-transform .6s ease-out;
	        transition: opacity .6s ease-out, transform .6s ease-out;
	        transition: opacity .6s ease-out, transform .6s ease-out, -webkit-transform .6s ease-out;
}
.main-articles__gap .debug,
.main-articles__item .debug {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 50; 
	display: inline-block;
	color: #f00;
	font-weight: bold;
}
@media (min-width: 961px) {
	.main-articles__gap,
	.main-articles__item {
		margin-bottom: 26px;
	}
}
@media (min-width: 960px) and (max-width: 1200px) {
	.main-articles__gap,
	.main-articles__item {
		margin-bottom: 2.03125vw;
	}
}
@media (max-width: 960px) {
	.main-articles__gap,
	.main-articles__item {
		margin-bottom: 4.375vw;
	}
}
@media (max-width: 960px) and (min-width: 560px) {
	.main-articles__gap,
	.main-articles__item {
		margin-bottom: 2.5vw;
	}
}
.main-articles__gap {
	position: absolute;
	z-index: 0;
}
.main-articles--sizer {
	width: 280px;
}
@media (min-width: 960px) and (max-width: 1200px) {
	.main-articles--sizer {
		width: 21.875vw;
	}
}
@media (max-width: 960px) {
	.main-articles--sizer {
		width: 43.4375vw;
	}
}
@media (max-width: 960px) and (min-width: 560px) {
	.main-articles--sizer {
		width: 30vw;
	}
}
.main-articles--gutter-sizer {
	width: 26px;
}
@media (min-width: 960px) and (max-width: 1200px) {
	.main-articles--gutter-sizer {
		width: 2.03125vw;
	}
}
@media (max-width: 960px) {
	.main-articles--gutter-sizer {
		width: 4.375vw;
	}
}
@media (max-width: 960px) and (min-width: 560px) {
	.main-articles--gutter-sizer {
		width: 2.5vw;
	}
}
.main-articles--1x1 {
	width: 280px;
	height: 280px;
}
.main-articles--1x1 .main-articles__category {
	bottom: 75px; 
	left: 0;
}
.main-articles--1x1 .main-articles__desc {
	height: 75px;
	padding: 14px 14px;
}
.main-articles--1x1 .main-articles__title {
	height: 3em;
	overflow: hidden;
	font-size: 14px;
}
.main-articles--1x1 .main-articles__lead {
	display: none;
}
@media (min-width: 960px) and (max-width: 1200px) {
	.main-articles--1x1 {
		width: 21.875vw;
		height: 21.875vw;
	}
}
@media (max-width: 960px) {
	.main-articles--1x1 {
		width: 43.4375vw;
		height: 43.4375vw;
	}
	.main-articles--1x1 .main-articles__category {
		bottom: calc(75vw / 640 * 100); 
		left: 0;
	}
	.main-articles--1x1 .main-articles__desc {
		height: calc(75vw / 640 * 100);
		padding: calc(8vw / 640 * 100) calc(12vw / 640 * 100);
	}
	.main-articles--1x1 .main-articles__title {
		height: 3em;
		overflow: hidden;
		font-size: calc(20vw / 640 * 100);
	}
	.main-articles--1x1 .main-articles__lead {
		display: none;
	}
}
@media (max-width: 960px) and (min-width: 560px) {
	.main-articles--1x1 {
		width: 30vw;
		height: 30vw;
	}
	.main-articles--1x1 .main-articles__category {
		bottom: calc(75vw / 640 * 100 * 2 / 3); 
		left: 0;
	}
	.main-articles--1x1 .main-articles__desc {
		height: calc(75vw / 640 * 100 * 2 / 3);
		padding: calc(8vw / 640 * 100 * 2 / 3) calc(12vw / 640 * 100 * 2 / 3);
	}
	.main-articles--1x1 .main-articles__title {
		height: 3em;
		overflow: hidden;
		font-size: calc(20vw / 640 * 100 * 2 / 3);
	}
	.main-articles--1x1 .main-articles__lead {
		display: none;
	}
}
.main-articles--2x1 {
	width: 586px;
	height: 280px;
}
.main-articles--2x1 .main-articles__label {
	left: 200px;
}
.main-articles--2x1--r .main-articles__label {
	left: 0;
}
.main-articles--2x1 .main-articles__category {
	top: 0;
	right: 0;
	bottom: auto; 
	left: auto;
}
.main-articles--2x1--r .main-articles__category {
	/*right: auto;*/
	/*left: 0;*/
	right: 200px;
}
.main-articles--2x1 .main-articles__title {
	max-height: 12.0em;
	overflow: hidden;
}
.main-articles--2x1 .main-articles__lead {
	display: none;
}
.main-articles--2x1 .main-articles__desc {
	width: 200px;
	height: 100%;
	padding: 14px 14px 0;
	overflow: hidden;
}
.main-articles--2x1 .main-articles__desc:after {
	display: block;
	height: 14px; 
	content: "";
}
.main-articles--2x1--r .main-articles__desc {
	right: 0;
	left: auto;
}
.main-articles--2x1 .main-articles__title {
	font-size: 20px;
}
@media (min-width: 960px) and (max-width: 1200px) {
	.main-articles--2x1 {
		width: 45.78125vw;
		height: 21.875vw;
	}
}
@media (max-width: 960px) {
	.main-articles--2x1 {
		width: 91.25vw;
		height: 43.4375vw;
	}
	.main-articles--2x1 .main-articles__label {
		left: calc(200vw/640*100);
	}
	.main-articles--2x1--r .main-articles__label {
		left: 0;
	}
	.main-articles--2x1--r .main-articles__category {
		right: calc(200vw/640*100);
	}
	.main-articles--2x1 .main-articles__title {
		max-height: 13.0em;
	}
	.main-articles--2x1 .main-articles__lead {
		display: none;
	}
	.main-articles--2x1 .main-articles__desc {
		width: calc(200vw/640*100);
		height: 100%;
		padding: calc(10vw/640*100) calc(12vw/640*100) 0;
		overflow: hidden;
	}
	.main-articles--2x1 .main-articles__desc:after {
		height: calc(14vw/640*100);
	}
	.main-articles--2x1 .main-articles__title {
		font-size: calc(20vw/640*100);
	}
}
@media (max-width: 960px) and (min-width: 560px) {
	.main-articles--2x1 {
		width: 62.5vw;
		height: 30vw;
	}
	.main-articles--2x1 .main-articles__label {
		left: calc(200vw/640*100 * 2 / 3);
	}
	.main-articles--2x1--r .main-articles__label {
		left: 0;
	}
	.main-articles--2x1--r .main-articles__category {
		right: calc(200vw/640*100 * 2 / 3);
		left: auto;
	}
	.main-articles--2x1 .main-articles__title {
		max-height: 13em;
	}
	.main-articles--2x1 .main-articles__lead {
		display: none;
	}
	.main-articles--2x1 .main-articles__desc {
		width: calc(200vw/640*100 * 2 / 3);
		height: 100%;
		padding: calc(10vw/640*100 * 2 / 3) calc(12vw/640*100 * 2 / 3) 0;
		overflow: hidden;
	}
	.main-articles--2x1 .main-articles__desc:after {
		height: calc(14vw/640*100 * 2 / 3);
	}
	.main-articles--2x1 .main-articles__title {
		font-size: calc(20vw/640*100 * 2 / 3);
	}
}
.main-articles--2x2 {
	width: 586px;
	height: 586px;
}
.main-articles--2x2 .main-articles__category {
	bottom: 140px; 
	left: 0;
}
.main-articles--2x2 .main-articles__desc {
	height: 140px;
	padding: 20px 24px;
}
.main-articles--2x2 .main-articles__title {
	height: 3em;
	overflow: hidden;
	font-size: 24px;
}
.main-articles--2x2 .main-articles__lead {
	height: 1.5em;
	overflow: hidden;
}
@media (min-width: 960px) and (max-width: 1200px) {
	.main-articles--2x2 {
		width: 45.78125vw;
		height: 45.78125vw;
	}
}
@media (max-width: 960px) {
	.main-articles--2x2 {
		width: 91.25vw;
		height: 91.25vw;
	}
	.main-articles--2x2 .main-articles__category {
		bottom: calc(140vw/640*100); 
		left: 0;
	}
	.main-articles--2x2 .main-articles__desc {
		height: calc(140vw/640*100);
		padding: calc(12vw/640*100) calc(12vw/640*100);
	}
	.main-articles--2x2 .main-articles__title {
		height: 2.5em;
		overflow: hidden;
		font-size: calc(28vw/640*100); 
		line-height: 1.25;
	}
}
@media (max-width: 960px) and (min-width: 560px) {
	.main-articles--2x2 {
		width: 62.5vw;
		height: 62.5vw;
	}
	.main-articles--2x2 .main-articles__category {
		bottom: calc(140vw/640*100 * 2 / 3); 
		left: 0;
	}
	.main-articles--2x2 .main-articles__desc {
		height: calc(140vw/640*100 * 2 / 3);
		padding: calc(12vw/640*100 * 2 / 3) calc(12vw/640*100 * 2 / 3);
	}
	.main-articles--2x2 .main-articles__title {
		height: 2.5em;
		overflow: hidden;
		font-size: calc(28vw/640*100 * 2 / 3); 
		line-height: 1.25;
	}
}

@-webkit-keyframes fadeInGap {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes fadeInGap {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/*----------------------------------------------------
	記事一覧 ナビ
----------------------------------------------------*/
.main-articles__nav {
	text-align: center;
}
.main-articles__nav-next {
	display: none;
}
.main-articles__nav .page-load-status {
	display: none;
}

/*----------------------------------------------------
	ボタン
----------------------------------------------------*/
/* 下向きアングル付き */
.main-btnA {
	position: relative;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: .5em 1em;
	color: #fff;
	background-color: #00004a;
	border: 1px solid #00004a;
	border-radius: 0;
}
.main-btnA:after {
	position: absolute;
	top: 50%;
	right: 1.25em;
	display: block;
	width: .5em;
	height: .5em;
	margin-top: -.3em;
	content: "";
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(135deg);
	        transform: rotate(135deg);
	-webkit-transition: all .3s;
	        transition: all .3s;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.main-btnA:hover {
		color: #00004a;
		background-color: #fff;
	}
	.main-btnA:hover:after {
		border-top: 1px solid #00004a;
		border-right: 1px solid #00004a;
	}
}
@media (min-width: 961px) {
	.main-btnA {
		min-width: 400px;
	}
}
@media (max-width: 960px) {
	.main-btnA {
		min-width: 280px;
		font-size: calc(24vw/640*100);
	}
}

/* 右向きアングル付き ちょっと太い */
.main-btnB {
	position: relative;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: .75em 1em;
	color: #fff;
	background-color: #00004a;
	border: 1px solid #00004a;
	border-radius: 0;
}
.main-btnB:after {
	position: absolute;
	top: 50%;
	right: 1.25em;
	display: block;
	width: .5em;
	height: .5em;
	margin-top: -.3em;
	content: "";
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	-webkit-transition: all .3s;
	        transition: all .3s;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.main-btnB:hover {
		color: #00004a;
		background-color: #fff;
	}
	.main-btnB:hover:after {
		border-top: 1px solid #00004a;
		border-right: 1px solid #00004a;
	}
}
@media (min-width: 961px) {
	.main-btnB {
		min-width: 400px;
	}
}
@media (max-width: 960px) {
	.main-btnB {
		min-width: 280px;
		font-size: calc(24vw/640*100);
	}
}

/* 右向きアングル付き リード文付き */
.main-btnC {
	position: relative;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: .75em 1em;
	color: #fff;
	text-align: left;
	background-color: #00004a;
	border: 1px solid #00004a;
	border-radius: 0;
}
.main-btnC:after {
	position: absolute;
	top: 50%;
	right: .75em;
	display: block;
	width: .5em;
	height: .5em;
	margin-top: -.3em;
	content: "";
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	-webkit-transition: all .3s;
	        transition: all .3s;
}
@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	.main-btnC:hover {
		color: #00004a;
		background-color: #fff;
	}
	.main-btnC:hover:after {
		border-top: 1px solid #00004a;
		border-right: 1px solid #00004a;
	}
}
@media (min-width: 961px) {
	.main-btnC {
		height: 225px;
		min-width: 610px;
		padding: 1em 50px;
		font-family: source-han-serif-japanese, serif;
		font-size: 36px;
	}
	.main-btnC .name--s {
		font-size: 32px;
	}
	.main-btnC .s {
		margin-top: 10px;
		font-size: 24px;
	}
}
@media (max-width: 960px) {
	.main-btnC {
		width: 100%;
		height: 110px;
		min-width: 280px;
		font-family: source-han-serif-japanese, serif;
		font-size: calc(32vw/640*100);
	}
	.main-btnC .s {
		margin-top: calc(6vw/640*100);
		font-size: calc(24vw/640*100);
	}
}

/*----------------------------------------------------
	見出し
----------------------------------------------------*/
/*----------------------------------------------------
	slick
----------------------------------------------------*/
@media (min-width: 961px) {
	.slick-slide .pc {
		display: block;
	}
	.slick-slide .sp {
		display: none;
	}
}

@media (max-width: 960px) {
	.slick-slide .pc {
		display: none;
	}
	.slick-slide .sp {
		display: block;
	}
}

/* Arrows */
.slick-prev,
.slick-next {
	position: absolute;
	top: 50%;
	z-index: 10; 
	display: block;
	width: 2rem;
	height: 2rem;
	padding: 0;
	color: transparent;
	font-size: 0;
	line-height: 0;
	background: transparent;
	border: none;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	outline: none;
	cursor: pointer;
}
@media (max-width: 960px) {
	.slick-prev,
	.slick-next {
		width: .8rem;
		height: .8rem;
	}
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: .25;
}

.slick-prev {
	left: 1rem;
	-webkit-transform: translate(0, -50%) rotate(-135deg);
	        transform: translate(0, -50%) rotate(-135deg);
}

.slick-next {
	right: 1rem;
	-webkit-transform: translate(0, -50%) rotate(45deg);
	        transform: translate(0, -50%) rotate(45deg);
}

/* Dots */
.slick-dots {
	position: absolute;
	top: 100%;
	left: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex; 
	-webkit-transform: translate(-50%, 100%);
	        transform: translate(-50%, 100%);
}
.slick-dots li {
	width: 72px;
	height: 12px;
	font-size: 0;
}
.slick-dots li:not(:last-child) {
	margin-right: 16px;
}
.slick-dots li button {
	display: block;
	width: 72px;
	height: 12px;
	padding: 0;
	font-size: 0;
	line-height: 0;
	background-color: #fff;
	border: 0;
	border: 1px solid #c9c9c9;
	border-radius: 0; 
	outline: none;
}
.slick-dots li.slick-active button {
	background-color: #00004a;
	border: 1px solid #00004a;
}
@media (max-width: 960px) {
	.slick-dots {
		-webkit-transform: translate(-50%, 50%);
		        transform: translate(-50%, 50%);
	}
	.slick-dots li {
		width: calc(72vw/640*100);
		height: calc(28vw/640*100);
	}
	.slick-dots li:not(:last-child) {
		margin-right: 10px;
	}
	.slick-dots li button {
		width: calc(72vw/640*100);
		height: calc(28vw/640*100);
	}
}

/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/
.fadeIn {
	display: none;
}
.fadeIn.show {
	-webkit-animation: fadeIn .6s linear;
	        animation: fadeIn .6s linear;
}

.bold,
.strong {
	font-weight: bold;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.indent {
	padding-left: 1em;
	text-indent: -1em;
}

.indent--2 {
	padding-left: 2em;
	text-indent: -2em;
}

.indent--3 {
	padding-left: 3em;
	text-indent: -3em;
}

.lh18 {
	line-height: 1.8;
}
@media (max-width: 960px) {
	.lh18 {
		line-height: 1.5;
	}
}

.lh2 {
	line-height: 2;
}
@media (max-width: 960px) {
	.lh2 {
		line-height: 1.75;
	}
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

@media (max-width: 960px) {
	.mb5 {
		margin-bottom: .78125vw !important;
	}
	.mb10 {
		margin-bottom: 1.5625vw !important;
	}
	.mb15 {
		margin-bottom: 2.34375vw !important;
	}
	.mb20 {
		margin-bottom: 3.125vw !important;
	}
	.mb25 {
		margin-bottom: 3.90625vw !important;
	}
	.mb30 {
		margin-bottom: 4.6875vw !important;
	}
	.mb35 {
		margin-bottom: 5.46875vw !important;
	}
	.mb40 {
		margin-bottom: 6.25vw !important;
	}
	.mb45 {
		margin-bottom: 7.03125vw !important;
	}
	.mb50 {
		margin-bottom: 7.8125vw !important;
	}
	.mb55 {
		margin-bottom: 8.59375vw !important;
	}
	.mb60 {
		margin-bottom: 9.375vw !important;
	}
	.mb65 {
		margin-bottom: 10.15625vw !important;
	}
	.mb70 {
		margin-bottom: 10.9375vw !important;
	}
	.mb75 {
		margin-bottom: 11.71875vw !important;
	}
	.mb80 {
		margin-bottom: 12.5vw !important;
	}
	.mb100 {
		margin-bottom: 15.625vw !important;
	}
}

.fz10 {
	font-size: .625em;
}

.fz12 {
	font-size: .75em;
}

.fz13 {
	font-size: .8125em;
}

.fz14 {
	font-size: .875em;
}

.fz15 {
	font-size: .9375em;
}

.fz16 {
	font-size: 1em;
}

.fz17 {
	font-size: 1.0625em;
}

.fz18 {
	font-size: 1.125em;
}

.fz20 {
	font-size: 1.25em;
}

.fz22 {
	font-size: 1.375em;
}

.fz24 {
	font-size: 1.5em;
}

.fz26 {
	font-size: 1.625em;
}

.fz28 {
	font-size: 1.75em;
}

.fz30 {
	font-size: 1.875em;
}

.fz32 {
	font-size: 2em;
}

@media (max-width: 960px) {
	.fz10--sp {
		font-size: .625em;
	}
	.fz12--sp {
		font-size: .75em;
	}
	.fz13--sp {
		font-size: .8125em;
	}
	.fz14--sp {
		font-size: .875em;
	}
	.fz15--sp {
		font-size: .9375em;
	}
	.fz16--sp {
		font-size: 1em;
	}
	.fz17--sp {
		font-size: 1.0625em;
	}
	.fz18--sp {
		font-size: 1.125em;
	}
	.fz20--sp {
		font-size: 1.25em;
	}
	.fz22--sp {
		font-size: 1.375em;
	}
	.fz24--sp {
		font-size: 1.5em;
	}
	.fz26--sp {
		font-size: 1.625em;
	}
	.fz28--sp {
		font-size: 1.75em;
	}
	.fz30--sp {
		font-size: 1.875em;
	}
	.fz32--sp {
		font-size: 2em;
	}
}

.c-color {
	color: #000;
}

.c-navy {
	color: #00004a;
}

.c-br {
	color: #bc9b5d;
}

.c-gray {
	color: #605e5e;
}

.br-wrap {
	display: inline-block;
}

/*
[class*='category01'] {
	.main-articles__label:before {
		border-color: #3598cf transparent transparent transparent;
	}
	.article__title, .article-meta__category-ja, .top-mv__category, .main-articles__category {
		background-color: #3598cf;
	}
	.article-meta__category-en {
		color: #3598cf;
	}
}

[class*='category02'] {
	.main-articles__label:before {
		border-color: #a99e93 transparent transparent transparent;
	}
	.article__title, .article-meta__category-ja, .top-mv__category, .main-articles__category {
		background-color: #a99e93;
	}
	.article-meta__category-en {
		color: #a99e93;
	}
}

[class*='category03'] {
	.main-articles__label:before {
		border-color: #d7a98c transparent transparent transparent;
	}
	.article__title, .article-meta__category-ja, .top-mv__category, .main-articles__category {
		background-color: #d7a98c;
	}
	.article-meta__category-en {
		color: #d7a98c;
	}
}

[class*='category04'] {
	.main-articles__label:before {
		border-color: #c6bf36 transparent transparent transparent;
	}
	.article__title, .article-meta__category-ja, .top-mv__category, .main-articles__category {
		background-color: #c6bf36;
	}
	.article-meta__category-en {
		color: #c6bf36;
	}
}

[class*='category05'] {
	.main-articles__label:before {
		border-color: #00a3af transparent transparent transparent;
	}
	.article__title, .article-meta__category-ja, .top-mv__category, .main-articles__category {
		background-color: #00a3af;
	}
	.article-meta__category-en {
		color: #00a3af;
	}
}

[class*='category06'] {
	.main-articles__label:before {
		border-color: #a73836 transparent transparent transparent;
	}
	.article__title, .article-meta__category-ja, .top-mv__category, .main-articles__category {
		background-color: #a73836;
	}
	.article-meta__category-en {
		color: #a73836;
	}
}

[class*='category07'] {
	.main-articles__label:before {
		border-color: #82ae46 transparent transparent transparent;
	}
	.article__title, .article-meta__category-ja, .top-mv__category, .main-articles__category {
		background-color: #82ae46;
	}
	.article-meta__category-en {
		color: #82ae46;
	}
}

[class*='category08'] {
	.main-articles__label:before {
		border-color: #1e50a2 transparent transparent transparent;
	}
	.article__title, .article-meta__category-ja, .top-mv__category, .main-articles__category {
		background-color: #1e50a2;
	}
	.article-meta__category-en {
		color: #1e50a2;
	}
}
*/
@media (max-width: 560px) {
	iframe[src^="https://www.youtube.com/embed/"] {
		width: 100%;
		height: 212px;
	}
}