@charset "utf-8";
/*
Theme Name: イルミナス
Theme URI: null
Description: Description
Author: 81bridge - WXJ
Version: 1.0
*/
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
@font-face {
	font-family: "源ノ角ゴシック JP Normal";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/SourceHanSansJP-Normal.otf");
}
@font-face {
	font-family: "源ノ角ゴシック JP Regular";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/SourceHanSansJP-Regular.otf");
}
@font-face {
	font-family: "源ノ角ゴシック JP Medium";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/SourceHanSansJP-Medium.otf");
}
@font-face {
	font-family: "源ノ角ゴシック JP Bold";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/SourceHanSansJP-Bold.otf");
}
@font-face {
	font-family: "Akzidenz-Grotesk BQ Light Conde";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/AkzidenzGrotesk-LightCond.otf");
}
@font-face {
	font-family: "Akzidenz-Grotesk BQ Condensed A";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/AkzidenzGrotesk-MediumCondAlt.otf");
}
@font-face {
	font-family: "A-OTF 見出ゴMB31 Pro MB31";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/A-OTF-MidashiGoPro-MB31.otf");
}
@font-face {
	font-family: "A-OTF A1明朝 Std Bold";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/A-OTF-A1MinchoStd-Bold.otf");
}
@font-face {
	font-family: "小塚ゴシック Pr6N EL";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/KozGoPr6N-ExtraLight.otf");
}
@font-face {
	font-family: "Kaiso-Makina-B";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/Kaiso-Makina-B.otf");
}
body, table, input, textarea, select, option {
	font-family: "源ノ角ゴシック JP Normal";
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
a, a:link {
	color: #000;
	text-decoration: none;
}
a:visited {
	color: #000;
}
a:hover {
	color: #000;
}
a:active {
	color: #000;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
/* font */
.akzidenzL {
	font-family: "Akzidenz-Grotesk BQ Light Conde";
}
.akzidenzM {
	font-family: "Akzidenz-Grotesk BQ Condensed A";
	font-weight: normal !important;
}
.midashi {
	font-family: "A-OTF 見出ゴMB31 Pro MB31";
	font-weight: normal !important;
}
.kozGo {
	font-family: "小塚ゴシック Pr6N EL";
	font-weight: normal;
}
.mincho {
	font-family: "A-OTF A1明朝 Std Bold";
	font-weight: normal !important;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #000;
	font-size: 1.5rem;
	line-height: 1.5;
	-moz-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	background-color: #F2F2F2;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	overflow-y: scroll;
}
#container {
	position: relative;
	text-align: left;
	overflow: hidden;
}
#main {
	margin-bottom: 112px;
	display: block;
	position: relative;
	z-index: 1;
}
a.nolink {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	a[href^="tel:"] {
		cursor: default;
		pointer-events: none;
	}
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 1024px) {
	body.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}
}
@media all and (max-width: 896px) {
	body {
		font-size: 1.2rem;
	}
	#main {
		margin-bottom: 71px;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 30px 41px;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	box-sizing: border-box;
	z-index: 100;
	transition: 0.3s;
}
#gHeader .hBox {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#gHeader.bg {
	background-color: rgba(0, 0, 0, 0.5);
}
#gHeader h1 img {
	width: 60px;
	transition: 0.3s;
}
#gHeader.bg h1 img {
	width: 113px;
}
#gHeader h1 .logo01 {
	display: block;
}
#gHeader h1 .logoWhite, #gHeader h1 .logoBlack {
	display: none;
}
#gHeader.bg h1 .logo01 {
	display: none;
}
#gHeader.bg h1 .logoWhite {
	display: block;
	width: 113px;
}
#gHeader.index {
	padding: 42px 40px 42px 52px;
}
#gHeader.index h1 img {
	width: 113px;
}
#gHeader.index h1 .logo01 {
	display: none;
}
#gHeader.index h1 .logoWhite {
	display: block;
}
#gHeader.index h1 .logoBlack {
	display: none;
}
#gHeader.about {
	padding: 42px 40px 42px 52px;
}
#gHeader.about.bg {
	background-color: rgba(255, 255, 255, 0.5);
}
#gHeader.about h1 img {
	width: 113px;
}
#gHeader.about h1 .logo01 {
	display: none;
}
#gHeader.about h1 .logoBlack {
	display: block;
}
#gHeader.about h1 .logoWhite {
	display: none;
}
@media all and (min-width: 1025px) {
	.menu, .menuBox {
		display: none !important;
	}
}
@media all and (max-width: 1024px) {
	#gHeader {
		padding: 11px 15px;
	}
	#gHeader .hBox {
		display: block;
	}
	#gHeader.bg {
		padding: 21px 20px;
	}
	#gHeader h1 img {
		width: 45px;
	}
	#gHeader.bg h1 img {
		width: 101px;
	}
	#gHeader.bg h1 .logoWhite {
		width: 101px;
	}
	#gHeader.index {
		padding: 21px 20px;
	}
	#gHeader.index h1 img {
		width: 101px;
	}
	#gHeader.about {
		padding: 24px 20px;
	}
	#gHeader.about h1 img {
		width: 74px;
	}
	.menu {
		width: 31px;
		height: 8px;
		cursor: pointer;
		position: fixed;
		right: 18px;
		top: 26px;
		z-index: 110;
	}
	.menu::after {
		width: 50px;
		height: 50px;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		content: "";
		z-index: -1;
	}
	.menu span {
		width: 100%;
		height: 1px;
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		background: #fff;
		transition: 0.3s;
	}
	.menu.about span {
		background: #000;
	}
	.menu.about.on span {
		background: #fff;
	}
	.menu span:nth-child(2) {
		width: 19px;
		top: 8px;
	}
	.menu.on span:nth-child(1) {
		transform: translateY(4px) translateX(0) rotate(45deg);
	}
	.menu.on span:nth-child(2) {
		width: 100%;
		transform: translateY(-4px) translateX(0) rotate(-45deg);
	}
	.menuBox {
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		color: #fff;
		overflow: auto;
		background: rgba(0, 0, 0, 0.92);
		z-index: 105;
		opacity: 0;
		visibility: hidden;
		transition: 0.3s;
	}
	.menuBox.on {
		opacity: 1;
		visibility: visible;
	}
	.menuBox .wrapper {
		box-sizing: border-box;
		margin: 0 auto;
		padding: 94px 40px;
		max-width: 896px;
	}
	.menuBox .menuUl {
		margin-bottom: 68px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.menuBox .menuUl li {
		min-width: 50%;
	}
	.menuBox .menuUl li a {
		display: block;
		color: #fff;
		font-size: 3.9rem;
		line-height: 1.61;
		letter-spacing: 0.03em;
		white-space: nowrap;
	}
	.menuBox .snsList {
		margin-top: -10px;
		display: flex;
		flex-wrap: wrap;
	}
	.menuBox .snsList li {
		margin: 10px 12px 0 2px;
	}
	.menuBox .snsList li a {
		display: block;
		color: #fff;
		font-size: 1.4rem;
		letter-spacing: 0.12em;
	}
}
@media all and (max-width: 896px) {
	#gHeader.agent {
		padding: 24px 20px;
	}
	#gHeader.agent.bg {
		background-color: rgba(255, 255, 255, 0.5);
	}
	#gHeader.agent h1 img {
		width: 74px;
	}
	#gHeader.agent h1 .logo01 {
		display: none;
	}
	#gHeader.agent h1 .logoBlack {
		display: block;
	}
	#gHeader.agent h1 .logoWhite {
		display: none;
	}
	.menu.agent span {
		background: #000;
	}
	.menu.agent.on span {
		background: #fff;
	}
}
@media all and (max-width: 359px) {
	.menuBox .wrapper {
		padding: 94px 20px;
	}
}
/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	margin-top: 6px;
}
#gNavi .naviList {
	display: flex;
}
#gNavi .naviList li {
	margin-left: 48px;
	position: relative;
}
#gNavi .naviList li:first-child {
	margin-left: 0;
}
#gNavi .naviList li a {
	display: block;
	color: #fff;
	font-size: 1.6rem;
	transition: color 0.5s ease;
}
#gNavi .naviList li a span {
	display: inline-block;
	position: relative;
	letter-spacing: 0.04em;
}
#gNavi .naviList li a span::after {
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -1px;
	background: #fff;
	transform-origin: left;
	transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1);
	transform: scaleX(0);
	content: "";
}
#gHeader.about #gNavi .naviList li a span::after {
	background: #000;
}
#gNavi .naviList li a:hover span::after {
	transform: scaleX(1);
	transition-duration: 0.65s;
	transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
#gNavi .naviList li.current a span::after {
	transform: scaleX(1);
}
#gNavi .naviList .more > a {
	padding-right: 18px;
	position: relative;
}
#gNavi .naviList .more > a::after {
	width: 9px;
	height: 6px;
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	background: url("img/common/icon01.png") no-repeat center center / 100% auto;
	content: "";
	transition: 0.3s;
}
#gHeader.about #gNavi .naviList .more > a::after {
	background-image: url("img/common/icon02.png");
}
#gNavi .naviList .more.on > a::after {
	transform: translateY(-50%) rotate(180deg);
}
#gNavi .naviList .more .subList {
	padding: 4px 19px;
	position: absolute;
	right: 0;
	top: 100%;
	text-align: right;
	transition: all 0.2s ease;
	opacity: 0;
	visibility: hidden;
}
#gNavi .naviList .more.on .subList {
	opacity: 1;
	visibility: visible;
}
#gNavi .naviList .more .subList li a {
	padding: 3px 0 4px;
	white-space: nowrap;
	letter-spacing: 0.04em;
}
#gNavi .naviList .more.on > a > span::after {
	transform: scaleX(1);
}
#about #gNavi .naviList li a {
	color: #000;
}
#gHeader #gNavi .naviList .more .subList::before {
	width: 100%;
	height: 0;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: -1;
	background-color: rgba(0, 0, 0, 0.5);
	transform: translate(-50%, -50%);
	transition: all 0.2s ease;
	opacity: 0;
	content: "";
}
#gHeader.about #gNavi .naviList .more .subList::before {
	background-color: rgba(255, 255, 255, 0.5);
}
#gHeader #gNavi .naviList .more.on .subList::before {
	opacity: 1;
	height: 100%;
}
#gHeader.index #gNavi {
	margin-top: 10px;
}
#gHeader.about #gNavi {
	margin-top: 10px;
}
#gHeader.about #gNavi .naviList li a {
	color: #000;
}
@media all and (max-width: 1024px) {
	#gNavi {
		display: none !important;
	}
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	display: flex;
	align-items: flex-start;
	position: absolute;
	left: 66px;
	top: 115px;
	z-index: 200;
	font-size: 1.2rem;
	line-height: 2;
	letter-spacing: 0.04em;
	transform: rotate(90deg);
	transform-origin: 0 0;
}
#pagePath li {
	margin-right: 45px;
	position: relative;
	color: #8C8C8C;
}
#pagePath li::after {
	margin-top: -1px;
	width: 36px;
	height: 1px;
	position: absolute;
	left: calc(100% + 5px);
	top: 50%;
	background: #8C8C8C;
	content: "";
	z-index: 1;
}
#pagePath li:last-child {
	margin-right: 0;
}
#pagePath li:last-child::after {
	display: none;
}
#pagePath li a {
	display: block;
	color: #8C8C8C;
}
#pagePath li a:hover {
	opacity: 0.7;
}
#pagePath li span {
	display: block;
	white-space: nowrap;
}
@media all and (max-width: 896px) {
	#pagePath {
		display: none;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 134px 0 120px;
	position: relative;
	z-index: 100;
	color: #fff;
	background: #000;
}
#gFooter .fBox {
	margin: 0 auto;
	padding: 0 33px;
	max-width: 1052px;
	box-sizing: border-box;
}
#gFooter .fNavi {
	margin: -33px -31px 52px;
}
#gFooter .fNavi li {
	margin: 33px 25px 0;
}
#gFooter .fNavi li a {
	position: relative;
	color: #fff;
	font-size: 5.2rem;
	letter-spacing: 0.04em;
}
#gFooter .fInner {
	display: flex;
	align-items: flex-end;
}
#gFooter .fLogo {
	margin-left: -2px;
	width: 24.9%;
}
#gFooter .fSnsList {
	padding: 0 29px 18px;
	width: 60%;
	box-sizing: border-box;
}
#gFooter .fSnsList li:not(:last-child) {
	margin-right: 13px;
}
#gFooter .fSnsList li a {
	display: block;
	position: relative;
	color: #fff;
	font-size: 1.7rem;
	letter-spacing: 0.12em;
}
#gFooter address {
	margin-right: -5px;
	padding-bottom: 19px;
	display: block;
	flex: 1;
	text-align: right;
	font-size: 1.5rem;
	font-style: normal;
	letter-spacing: 0.14em;
	box-sizing: border-box;
}
.pageTop {
	position: fixed;
	right: 30px;
	bottom: 30px;
	display: none;
}
.pageTop.out {
	visibility: hidden;
}
.pageTop a {
	width: 80px;
	height: 80px;
	display: block;
	border-radius: 50%;
	background: url("img/common/pagetop.png") no-repeat left 55% top 55% / 9px auto;
	background-color: rgba(255, 255, 255, 0.5);
	z-index: 99;
}
.pageTop a:hover {
	opacity: 0.7;
}
@media all and (min-width: 1025px) {
	#gFooter .fNavi li a::after {
		content: "";
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: -0.125rem;
		background: #fff;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1);
	}
	#gFooter .fNavi li a:hover::after {
		transform: scaleX(1);
		transition-duration: 0.65s;
		transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
	}
	#gFooter .fSnsList li a::after {
		content: "";
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: -0.125rem;
		background: #fff;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1);
	}
	#gFooter .fSnsList li a:hover::after {
		transform: scaleX(1);
		transition-duration: 0.65s;
		transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
	}
}
@media all and (max-width: 1024px) {
	#gFooter {
		padding: 54px 0 61px;
	}
	#gFooter .fBox {
		padding: 0 20px;
		max-width: inherit;
	}
	#gFooter .fNavi {
		display: none;
	}
	#gFooter .fInner {
		display: block;
	}
	#gFooter .fLogo {
		margin: 0 auto 16px;
		padding-right: 7px;
		width: 100%;
		max-width: 280px;
		box-sizing: border-box;
	}
	#gFooter .fSnsList {
		margin-bottom: 11px;
		padding: 0;
		width: auto;
		justify-content: center;
	}
	#gFooter .fSnsList li {
		margin: 0 8px;
	}
	#gFooter .fSnsList li:not(:last-child) {
		margin-right: 10px;
	}
	#gFooter .fSnsList li a {
		font-size: 1.4rem;
	}
	#gFooter address {
		margin: 0 16px;
		padding-bottom: 0;
		color: #666666;
		font-size: 0.8rem;
		letter-spacing: 0.2em;
	}
	.pageTop {
		right: 20px;
	}
	.pageTop a {
		width: 40px;
		height: 40px;
		background-size: 5px auto;
	}
}
@media all and (max-width: 359px) {
	#gFooter .fSnsList {
		margin: 0 -5px 11px;
	}
	#gFooter .fSnsList li:not(:last-child) {
		margin-right: 5px;
	}
	#gFooter .fSnsList li a {
		letter-spacing: 0.08em;
	}
}
/*------------------------------------------------------------
	loading
------------------------------------------------------------*/
.loading {
	width: 100%;
	height: 100%;
	position: fixed;
	background: #F2F2F2;
	z-index: 10000;
}
.loading .loadingImg {
	width: 152px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.loading .loadingImg .cover {
	width: 200%;
	height: 150%;
	position: absolute;
	right: 0;
	top: 50%;
	z-index: 1;
	content: "";
	transition: 2.5s;
	background: linear-gradient(90deg, rgba(242, 242, 242, 0) 0%, rgba(242, 242, 242, 0.02) 1.77%, rgba(242, 242, 242, 1) 50%, rgba(242, 242, 242, 1) 100%);
	transform: translateX(0) translateY(-50%);
}
.loading .loadingImg.out .cover {
	transform: translateX(100%) translateY(-50%);
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	padding: 70px 22px 52px;
	position: relative;
}
.pageTitle::before {
	width: 100%;
	height: 286px;
	position: absolute;
	left: 0;
	top: 0;
	background: url("img/common/bg01.png") no-repeat center center / 100% 100%;
	content: "";
	z-index: -1;
}
.pageTitle h2 {
	text-align: center;
	color: #fff;
	font-size: 7.6rem;
	letter-spacing: 0.04em;
	position: relative;
	z-index: 1;
}
@media all and (max-width: 896px) {
	.pageTitle {
		padding: 48px 20px 37px;
	}
	.pageTitle::before {
		height: 429px;
		background-image: url("img/common/sp_bg01.png");
	}
	.pageTitle h2 {
		font-size: 3.9rem;
	}
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	padding: 0 22px;
	max-width: 1210px;
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	.content {
		padding: 0 20px;
		max-width: inherit;
	}
}
/*------------------------------------------------------------
	comScheduleList
------------------------------------------------------------*/
.comScheduleList:not(:last-child) {
	margin-bottom: 40px;
}
.comScheduleList li a {
	padding: 40px 0 36px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	box-sizing: border-box;
	border-bottom: 1px solid #000;
}
.comScheduleList li:first-child a {
	border-top: 1px solid #000;
}
.comScheduleList li .date {
	width: 200px;
	display: block;
	font-size: 1.5rem;
	letter-spacing: 0.22em;
}
.comScheduleList li .txt {
	display: block;
	width: calc(100% - 203px);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
@media all and (min-width: 897px) {
	.comScheduleList li a:hover {
		background: #fff;
	}
	.comScheduleList li a:hover .txt {
		color: #4255CC;
	}
}
@media all and (max-width: 896px) {
	.comScheduleList li a {
		padding: 22px 0 23px;
		display: block;
		font-size: 1.2rem;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
		letter-spacing: 0.1em;
		line-height: 1.75;
	}
	.comScheduleList li .date {
		width: auto;
		font-size: 1.2rem;
		letter-spacing: 0.16em;
	}
	.comScheduleList li .txt {
		width: auto;
	}
}
/*------------------------------------------------------------
	comMagaList
------------------------------------------------------------*/
.comMagaList li {
	display: flex;
	justify-content: space-between;
	background: #fff;
}
.comMagaList li:not(:first-child) {
	margin-top: 26px;
}
.comMagaList li .photo {
	width: 42.53%;
	max-width: 362px;
}
.comMagaList li .photo a {
	height: 100%;
	display: block;
	overflow: hidden;
	background: #000;
}
.comMagaList li .photo span {
	padding-bottom: 54.86%;
	height: 100%;
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	box-sizing: border-box;
}
.comMagaList li .textBox {
	display: flex;
	align-items: center;
	flex: 1;
}
.comMagaList li .textBox a {
	box-sizing: border-box;
	width: 100%;
	padding: 10px 0 21px 37px;
	display: block;
}
.comMagaList li .textBox a > span {
	display: block;
}
.comMagaList li .textBox .date {
	margin-bottom: 3px;
	font-size: 1.5rem;
	letter-spacing: 0.22em;
}
.comMagaList li .textBox .ttl {
	margin-bottom: 5px;
	font-size: 2.6rem;
	letter-spacing: 0.04em;
}
.comMagaList li .textBox .text {
	font-size: 1.4rem;
	line-height: 1.65;
	letter-spacing: 0.2em;
}
@media all and (min-width: 897px) {
	.comMagaList li .photo span {
		transition: all 300ms linear;
	}
	.comMagaList li .photo a:hover span {
		transform: scale(1.04);
		opacity: 0.7;
	}
	.comMagaList li .textBox .ttl span {
		display: inline;
		background: url("img/common/line01.png") no-repeat right bottom;
		background-size: 0 1px;
		transition: background-size 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
		will-change: background-size;
	}
	.comMagaList li .textBox a:hover .ttl span {
		background-size: 0 1px;
		background-size: 100% 1px;
		background-position: left bottom;
	}
}
@media all and (max-width: 896px) {
	.comMagaList li {
		display: block;
	}
	.comMagaList li:not(:last-child) {
		border-bottom: 1px solid #F2F2F2;
	}
	.comMagaList li .photo {
		width: auto;
		max-width: inherit;
	}
	.comMagaList li .photo span {
		padding-bottom: 55.4%;
	}
	.comMagaList li .textBox {
		display: block;
	}
	.comMagaList li .textBox a {
		padding: 20px 0 26px;
	}
	.comMagaList li .textBox .date {
		margin-bottom: 1px;
		font-size: 1.15rem;
		letter-spacing: 0.22em;
	}
	.comMagaList li .textBox .ttl {
		margin-bottom: 2px;
		font-size: 2.2rem;
		letter-spacing: 0.02em;
	}
	.comMagaList li .textBox .text {
		font-size: 1.2rem;
		line-height: 1.54;
		letter-spacing: 0;
	}
}
/*------------------------------------------------------------
	comBackBtn
------------------------------------------------------------*/
.comBackBtn {
	margin-top: 83px;
	text-align: center;
}
.comBackBtn a {
	padding: 0 4px 7px;
	position: relative;
	display: inline-block;
	vertical-align: top;
	color: #4255CC;
	font-size: 2rem;
	letter-spacing: 0.04em;
}
.comBackBtn a::after {
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #4255CC;
	content: "";
	transition: 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media all and (min-width: 897px) {
	.comBackBtn a:hover::after {
		width: 0;
		left: auto;
		right: 0;
	}
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#index .mainVisual {
	position: relative;
	opacity: 0;
	transition: ease-in-out 0.5s;
}
#index .mainVisual.on {
	opacity: 1;
}
#index .mainVisual::before {
	content: "";
	width: 100%;
	height: calc(100% + 400px);
	position: absolute;
	left: 0;
	top: 0;
	background: url("img/index/bg01.png") no-repeat left top / auto 100%, url("img/index/bg02.png") no-repeat right top / auto 100%;
}
#index .mainVisual img {
	width: 100%;
}
#index .mainVisual .mv video {
	width: 100%;
	height: auto;
	vertical-align: top;
}
/*
#index .mainVisual .imgtxt {
	position: absolute;
	left: 3.95%;
	top: 47.41%;
	width: 46.78%;
	max-width: 639px;
	transform: translateY(-50%);
}
*/
#index .mainVisual .text {
	position: absolute;
	left: 3.95%;
	top: 46.77%;
	width: 64.78%;
	color: #fff;
	font-size: 11.3rem;
	line-height: 1.04;
	letter-spacing: -0.2em;
	font-feature-settings: "palt";
	transform: translateY(-50%);
}
#index .mainVisual .text .jp {
	font-family: "Kaiso-Makina-B";
	font-weight: normal;
}
#index .mainVisual .text .jp span {
	display: inline-block;
	vertical-align: top;
}
#index .mainVisual .text .jp > span {
	overflow: hidden;
}
#index .mainVisual .text .jp > span > span {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: all 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	transition: all 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	-webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
	transition-property: opacity, -webkit-transform, -webkit-filter;
	transition-property: transform, opacity, filter;
	transition-property: transform, opacity, filter, -webkit-transform, -webkit-filter;
	-webkit-transform: translateY(5rem);
	transform: translateY(5rem);
	display: inline-block;
	opacity: 0
}
#index .mainVisual .text .jp > span > span.on {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}
#index .mainVisual .text .en {
	margin: 55px 0 0 24px;
	width: 250px;
	width: 0;
	height: 25px;
	position: relative;
	display: inline-block;
	vertical-align: top;
	font-family: "Akzidenz-Grotesk BQ Light Conde";
	font-size: 1.4rem;
	font-weight: normal;
	letter-spacing: 0.28em;
	white-space: nowrap;
	overflow: hidden;
	transition: width .8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
#index .mainVisual .text .en.on {
	width: 250px;
}
#index .mainVisual .text .en span {
	position: absolute;
	left: 0;
	top: 0;
}
#index .scrollBtn {
	margin-top: -26px;
	position: absolute;
	right: 33px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
}
#index .scrollBtn a {
	padding: 0 10px;
	display: block;
}
#index .scrollBtn a:hover {
	opacity: 0.7;
}
#index .scrollBtn a img {
	width: 12px;
}
#index #main {
	padding-top: 1px;
	position: relative;
}
#index #main::before {
	width: 100%;
	height: 206px;
	position: absolute;
	left: 0;
	top: -24px;
	background: url("img/index/bg03.png") no-repeat center center / 100% 100%;
	content: "";
	z-index: -1;
}
#index #main::after {
	width: 170px;
	height: 1176px;
	position: absolute;
	left: -12px;
	top: 299px;
	background: url("img/index/bg04.png") no-repeat center center / 100% 100%;
	content: "";
	z-index: -1;
}
#index .moreBtn a {
	padding: 0 2px 6px;
	position: relative;
	display: inline-block;
	color: #4255CC;
	font-size: 1.5rem;
	letter-spacing: 0.24em;
}
#index .moreBtn a::after {
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #4255CC;
	content: "";
	transition: 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}
#index .news {
	margin: -40px 0 24px auto;
	padding: 24px 43px 22px;
	width: 49.6%;
	min-width: 660px;
	display: flex;
	align-items: center;
	position: relative;
	color: #fff;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.45);
	z-index: 1;
}
#index .news .ttlBox {
	width: 139px;
}
#index .news h2 {
	font-size: 5.6rem;
	letter-spacing: 0.04em;
}
#index .news .moreBtn a {
	color: #fff;
}
#index .news .moreBtn a::after {
	background-color: #fff;
}
#index .news .newsList {
	width: calc(100% - 139px);
	max-width: 678px;
	display: flex;
	flex-wrap: wrap;
	line-height: 2.2;
}
#index .news .newsList dt {
	width: 6.7em;
	font-weight: normal;
	letter-spacing: 0.21em;
}
#index .news .newsList dd {
	width: calc(100% - 7.2em);
	font-size: 1.4rem;
	letter-spacing: 0.15em;
	box-sizing: border-box;
}
#index .news .newsList dd a {
	max-width: 330px;
	position: relative;
	display: inline-block;
	vertical-align: top;
	color: #fff;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#index .news .newsList dd a::after {
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0.5em;
	background: #fff;
	content: "";
	transition: 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}
#index .about {
	position: relative;
	z-index: 2;
}
#index .about .content {
	max-width: 1040px;
	position: relative;
}
#index .about h2 {
	margin-bottom: 34px;
	position: relative;
	z-index: 2;
}
#index .about h2 span {
	width: 58.132%;
	display: block;
	overflow: hidden;
}
#index .about h2 span.en img {
	transition: all .5s ease;
	opacity: 0;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
#index .about h2 .img04 {
	width: 85.9%;
	position: absolute;
	left: 9.1%;
	top: 18.3%;
	z-index: -1;
}
#index .about .innerBox {
	margin-left: 3px;
	padding: 57px 70px 63px;
	position: relative;
	background: #fff;
}
#index .about .innerBox::before {
	content: "";
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #fff;
	z-index: -1;
}
#index .about .innerBox h3 {
	margin-bottom: 19px;
}
#index .about .innerBox h3 span {
	display: block;
}
#index .about .innerBox h3 .en {
	margin-bottom: 17px;
	letter-spacing: 0.24em;
}
#index .about .innerBox h3 .jp {
	font-size: 4.5rem;
	line-height: 1.27;
	letter-spacing: 0.2em;
}
#index .about .innerBox .pho {
	width: 43.3%;
	position: absolute;
	right: -39px;
	top: -187px;
}
/*#index .about .innerBox .pho img {
	-webkit-transform: scale(0);
	transform: scale(0);
	opacity: 0;
	visibility: hidden;
	transform-origin: center center;
	transition: all .5s ease .5s;
}
#index .about .innerBox .pho.show img {
	-webkit-transform: scale(1);
	transform: scale(1);
	opacity: 1;
	visibility: visible;
}*/
#index .about .innerBox p {
	margin-bottom: 50px;
	font-size: 1.4rem;
	letter-spacing: 0.16em;
	line-height: 1.91;
}
#index .works {
	position: relative;
	z-index: auto;
}
#index .works::after {
	width: 100%;
	height: 36.45vw;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #fff;
	content: "";
	z-index: -1;
}
#index .works .bgBox {
	padding: 90px 0 78px;
	position: relative;
	z-index: 1;
}
#index .works .bgBox::before {
	content: "";
	width: 243px;
	height: 1366px;
	position: absolute;
	right: 0;
	top: 132px;
	background: url("img/index/bg05.png") no-repeat center center / 100% auto;
	z-index: -1;
}
#index .works .bgBox .bgImg {
	width: 689px;
	position: absolute;
	right: -274px;
	top: -351px;
	z-index: -1;
}
#index .works .content {
	max-width: 1040px;
	position: relative;
	z-index: 1;
}
#index .works h2 span {
	display: block;
}
#index .works h2 .img01 {
	width: 244px;
}
#index .works h2 .img02 {
	width: 965px;
	position: absolute;
	left: 8%;
	top: 40.2%;
	z-index: -1;
}
#index .works .swiper-container {
	padding: 97px 62px 0 43px;
	position: relative;
}
#index .works .swiper-container .swiper-slide {
	padding: 0 10px;
	box-sizing: border-box;
}
#index .works .swiper-pagination {
	width: 142px;
	height: 1px;
	position: absolute;
	left: 13.8%;
	top: 71px;
	background: #D9D9D9;
}
#index .works .swiper-pagination .swiper-pagination-progressbar-fill {
	background: #000;
}
#index .works .swiper-button-prev {
	width: 26px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 50%;
	cursor: pointer;
	transform: translateY(-50%);
	background: url("img/common/arrow_prev.png") no-repeat center center / 13px auto;
	z-index: 10;
}
#index .works .swiper-button-next {
	width: 26px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 50%;
	cursor: pointer;
	transform: translateY(-50%);
	background: url("img/common/arrow_next.png") no-repeat center center / 13px auto;
	z-index: 10;
}
#index .works .worksItem a {
	display: block;
}
#index .works .worksItem .photoBox {
	margin-left: 21px;
	position: relative;
	z-index: 2;
}
#index .works .worksItem .photoBox .photo {
	position: relative;
	overflow: hidden;
	background: #000;
}
#index .works .worksItem .photoBox .photo::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	content: "";
	opacity: 0.35;
	z-index: 1;
}
#index .works .worksItem .photoBox .photo span {
	padding-bottom: 129%;
	min-height: 354px;
	display: block;
	box-sizing: border-box;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#index .works .worksItem .photoBox .photo .sub02 {
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#index .works .worksItem .photoBox .mark {
	padding: 1px 3px;
	min-width: 52px;
	box-sizing: border-box;
	display: inline-block;
	position: absolute;
	left: 10px;
	top: 10px;
	text-align: center;
	vertical-align: top;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.2;
	background: #E0454C;
	z-index: 2;
}
#index .works .worksItem .photoBox .subBox {
	box-sizing: border-box;
	padding: 8.8% 10px 2%;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	color: #fff;
	text-align: center;
	font-family: "A-OTF A1明朝 Std Bold";
	font-weight: normal;
	z-index: 2;
}
#index .works .worksItem .photoBox .subBox p {
	width: 100%;
}
#index .works .worksItem .photoBox .subBox p:not(:last-child) {
	margin-bottom: 15%;
}
#index .works .worksItem .photoBox .subBox p span {
	display: block;
	font-size: 8.9rem;
	line-height: 1.03;
}
@media all and (min-width: 897px) and (max-width: 1500px) {
	#index .works .worksItem .photoBox .subBox p span {
		font-size: 5.9vw;
	}
}
@media all and (min-width: 897px) and (max-width: 1200px) {
	#index .works .worksItem .photoBox .subBox p span {
		font-size: 5vw;
	}
}
#index .works .worksItem .photoBox .subBox p .kozGo {
	margin: 0.15em 0 -0.15em;
}
#index .works .worksItem .photoBox .subBox p small {
	display: block;
	font-style: normal;
	font-weight: normal;
	font-family: "Akzidenz-Grotesk BQ Condensed A";
	font-size: 2rem;
	letter-spacing: 0.04em;
}
#index .works .worksItem .textBox {
	margin-right: 23px;
	padding: 18px 35px 30px;
	position: relative;
	z-index: 1;
}
#index .works .worksItem .textBox::before {
	content: "";
	width: 100%;
	height: calc(100% + 58px);
	position: absolute;
	left: 0;
	bottom: 0;
	background: #EAEAEA;
	z-index: -1;
}
#index .works .worksItem .textBox .ttl {
	margin-bottom: 11px;
	font-size: 4.2rem;
	line-height: 1.095;
}
#index .works .worksItem .textBox .text {
	font-size: 1.4rem;
	letter-spacing: 0.18em;
	line-height: 1.65;
}
#index .works .moreBtn {
	margin-top: 53px;
	text-align: center;
}
#index .schedule {
	position: relative;
	background: #fff;
}
#index .schedule .bgImg {
	width: 654px;
	position: absolute;
	left: -455px;
	bottom: -206px;
}
#index .schedule .innerBox {
	position: relative;
	z-index: 1;
}
#index .schedule .ttlBox {
	margin-top: 78px;
	width: calc(50% - 142px);
	box-sizing: border-box;
}
#index .schedule .ttlBox .ttlInner {
	max-width: 378px;
	margin-left: auto;
	padding-left: 22px;
	box-sizing: border-box;
}
#index .schedule .ttlBox h2 {
	margin-bottom: 35px;
	text-align: center;
}
#index .schedule .ttlBox h2 img {
	width: 347px;
}
#index .schedule .ttlBox p {
	margin-bottom: 27px;
	letter-spacing: 0.13em;
}
#index .schedule .ttlBox .moreBtn {
	text-align: right;
}
#index .schedule .subBox {
	width: calc(50% + 82px);
	padding: 78px 6% 82px;
	box-sizing: border-box;
	background: rgba(234, 234, 234, 0.95);
}
#index .schedule .subBox .comScheduleList {
	max-width: 585px;
}
#index .magazine {
	padding-top: 100px;
	background: #000 url("img/index/bg08.png") no-repeat top center / 100% 207px;
}
#index .magazine h2 {
	color: #fff;
	font-size: 12.28rem;
	letter-spacing: 0.04em;
}
#index .magazine .comMagaList {
	margin-bottom: 23px;
}
#index .magazine .comMagaList li:not(:first-child) {
	margin-top: 18px;
}
#index .magazine .comMagaList li .photo span {
	padding-bottom: 54.45%;
}
#index .magazine .comMagaList li .textBox {
	align-items: flex-start;
}
#index .magazine .comMagaList li .textBox a {
	padding: 20px 40px 20px 44px;
}
#index .magazine .moreBtn {
	text-align: right;
}
#index .magazine .moreBtn a {
	color: #fff;
}
#index .magazine .moreBtn a::after {
	background-color: #fff;
}
#index .talent {
	padding: 165px 0 193px;
	background: #000;
}
#index .talent a {
	display: block;
	position: relative;
}
#index .talent img {
	width: 100%;
}
#index .talent .bg {
	margin-top: 1px;
	width: 100%;
	height: 116.6%;
	position: absolute;
	left: 50%;
	top: 50%;
	display: block;
	background: url("img/index/bg09.png") no-repeat center center / auto 100%;
	transform: translate(-50%, -50%);
	transition: 0.3s;
}
#index .talent .pho {
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	background: #000;
}
#index .talent .imgTxt {
	margin-top: -10px;
	width: 100%;
	max-width: 792px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}
#index .talent .imgTxt img {
	width: 472px;
}
#index .talent .agent .imgTxt {
	margin-top: -5px;
	width: 1006px;
	max-width: 90%;
}
#index .talent .agent .imgTxt img {
	width: 445px;
	max-width: 50%;
}
#main .creator {
	margin-bottom: 125px;
	padding-bottom: 99px;
	position: relative;
	background: #000;
}
#main .creator::after {
	width: 100%;
	height: 204px;
	position: absolute;
	top: 100%;
	left: 0;
	background: url("img/index/bg10.png") no-repeat center top / 100% 100%;
	content: "";
}
#main .creator .content {
	max-width: 982px;
}
#main .creator .imgBox .photoBox {
	width: 56.5%;
}
#main .creator .imgBox .textBox {
	width: 37%;
	color: #fff;
}
#main .creator .imgBox .textBox h2 {
	margin: 0 0 27px -10px;
}
#main .creator .imgBox .textBox h2 img {
	width: 324px;
}
#main .creator .imgBox .textBox p {
	margin-bottom: 45px;
	font-size: 1.4rem;
	line-height: 1.64;
	letter-spacing: 0.2em;
}
#main .creator .imgBox .textBox .moreBtn a {
	color: #fff;
}
#main .creator .imgBox .textBox .moreBtn a::after {
	background-color: #fff;
}
#main .creator_banner {
	max-width: 938px;
	margin: -120px auto 10px;
	position: relative;
	z-index: 5;
	transition: .3s;
}
#main .creator_banner:hover {
	transform: scale(1.02);
}
#main .creator .bgImg {
	width: 807px;
	position: absolute;
	right: -278px;
	bottom: -353px;
	z-index: 1;
}
#index .linkBox {
	position: relative;
	z-index: 1;
}
#index .linkBox section {
	padding: 60px 72px 52px;
	width: 48.5%;
	background: #fff;
	box-sizing: border-box;
}
#index .linkBox h2 {
	margin-bottom: 29px;
}
#index .linkBox h2 img {
	width: auto;
	max-height: 49px;
}
#index .linkBox p {
	margin-bottom: 29px;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	line-height: 1.64;
}
@media all and (min-width: 897px) {
	#index .news .newsList dd a:hover::after {
		width: 0;
		right: 0;
		left: auto;
	}
	#index .moreBtn a:hover::after {
		width: 0;
		left: auto;
		right: 0;
	}
	#index .works .worksItem a .photoBox .photo span {
		transition: all 300ms linear;
	}
	#index .works .worksItem a:hover .photoBox .photo .sub02 {
		opacity: 1;
	}
	#index .works .worksItem .textBox .ttl span {
		display: inline;
		background: url("img/common/line01.png") no-repeat right bottom;
		background-size: 0 1px;
		transition: background-size 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
		will-change: background-size;
	}
	#index .works .worksItem a:hover .textBox .ttl span {
		background-size: 0 1px;
		background-size: 100% 1px;
		background-position: left bottom;
	}
	#index .works .swiper-button-prev:hover, #index .works .swiper-button-next:hover {
		opacity: 0.7;
	}
	#index .talent a:hover .bg {
		transform: translate(-50%, -50%) scale(1.01);
	}
	#index .talent .pho img {
		transition: 0.3s;
	}
	#index .talent a:hover .pho img {
		opacity: 0.6;
		transform: scale(1.03);
	}
}
@media all and (max-width: 896px) {
	#index .mainVisual::before {
		height: 178%;
		background: url("img/index/sp_bg01.png") no-repeat center top / 100% auto;
		z-index: 1;
	}
	#index .mainVisual .mv {
		width: 100%;
		height: 169.33vw;
		position: relative;
		overflow: hidden;
	}
	#index .mainVisual .mv::before {
		content: "";
		width: 100%;
		height: 182px;
		position: absolute;
		left: 0;
		top: 0;
		background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
	}
	#index .mainVisual .mv::after {
		content: "";
		width: 100%;
		height: 182px;
		position: absolute;
		left: 0;
		bottom: -1px;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
	}
	#index .mainVisual .mv video {
		width: auto;
		height: 100%;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}
	/*
	#index .mainVisual .imgtxt {
		left: 5%;
		top: 50.5%;
		width: 82%;
		max-width: 304px;
		z-index: 3;
	}
*/
	#index .mainVisual .text {
		left: 2.5%;
		top: 50.2%;
		width: auto;
		font-size: 16vw;
		line-height: 1.07;
		letter-spacing: -0.24em;
		z-index: 3;
	}
	#index .mainVisual .text .en {
		margin: 3.1em 0 0 1.6em;
		width: 0;
		font-size: 1rem;
		letter-spacing: 0.25em;
	}
	#index .mainVisual .text .en.on {
		width: 170px;
	}
	#index .scrollBtn {
		margin-top: 0;
		right: 4px;
		top: auto;
		bottom: 0;
		transform: translateY(0);
		z-index: 5;
	}
	#index .scrollBtn a img {
		width: 8px;
	}
	#index #main {
		margin: 0;
		padding: 0 0 35px;
	}
	#index #main::before {
		height: 108px;
		top: 0;
	}
	#index #main::after {
		width: 93px;
		height: 712px;
		top: 89px;
	}
	#index .moreBtn {
		margin: 0 15px;
		text-align: right;
	}
	#index .moreBtn a {
		padding: 0 2px 3px;
		font-size: 1.3rem;
	}
	#index .news {
		margin: 0 0 102px 20px;
		padding: 20px 20px 23px;
		width: auto;
		min-width: inherit;
		background: rgba(0, 0, 0, 0.7);
	}
	#index .news .ttlBox {
		width: 70px;
	}
	#index .news h2 {
		margin-left: -20px;
		text-align: center;
		font-size: 3.2rem;
	}
	#index .news .moreBtn {
		margin: 0 0 0 -20px;
		text-align: center;
	}
	#index .news .moreBtn a {
		letter-spacing: 0.05em;
	}
	#index .news .newsList {
		width: calc(100% - 75px);
		max-width: inherit;
		display: block;
		line-height: 1.48;
	}
	#index .news .newsList dt {
		width: 6.7em;
		font-size: 1.1rem;
		letter-spacing: 0.08em;
	}
	#index .news .newsList dd {
		width: auto;
		font-size: 1.2rem;
		letter-spacing: 0.08em;
	}
	#index .news .newsList dd a {
		max-width: 100%;
	}
	#index .news .newsList dd a::after {
		bottom: 0;
	}
	#index .news .newsList dd:not(:last-child) {
		margin-bottom: 8px;
	}
	#index .about .content {
		max-width: inherit;
	}
	#index .about h2 {
		margin: 0 -2px 59px;
	}
	#index .about h2 span {
		width: 93%;
	}
	#index .about h2 .img04 {
		width: 90.6%;
		left: 17.8%;
		top: -12%;
	}
	#index .about .innerBox {
		margin-left: 0;
		padding: 137px 0 38px 32px;
	}
	#index .about .innerBox h3 {
		margin-bottom: 24px;
	}
	#index .about .innerBox h3 .en {
		margin: 0 2px 13px;
		letter-spacing: 0.14em;
	}
	#index .about .innerBox h3 .jp {
		font-size: 3.5rem;
		line-height: 1.46;
	}
	#index .about .innerBox .pho {
		width: 82.2%;
		max-width: 275px;
		right: -7%;
		top: -21.5%;
	}
	#index .about .innerBox p {
		margin-bottom: 24px;
		font-size: 1.2rem;
		letter-spacing: 0.16em;
		line-height: 1.62;
	}
	#index .works::after {
		height: 138.7vw;
	}
	#index .works .bgBox {
		padding: 143px 0 102px;
	}
	#index .works .bgBox::before {
		width: 120px;
		height: calc(100% + 200px);
		height: 120%;
		top: 135px;
		right: -1px;
		background-image: url("img/index/sp_bg05.png");
	}
	#index .works .bgBox .bgImg {
		width: 373px;
		right: -148px;
		top: -211px;
	}
	#index .works .content {
		max-width: inherit;
	}
	#index .works h2 .img01 {
		width: 42%;
	}
	#index .works h2 .img02 {
		width: 89.5%;
		left: 10.5%;
		top: -76%;
	}
	#index .works .swiper-container {
		padding: 70px 34px 0 35px;
	}
	#index .works .swiper-container .swiper-slide {
		padding: 0 5px;
	}
	#index .works .swiper-pagination {
		width: 137px;
		left: 20px;
		top: 53px;
	}
	#index .works .swiper-button-prev {
		display: none;
	}
	#index .works .swiper-button-next {
		display: none;
	}
	#index .works .worksItem .photoBox {
		margin-left: 10px;
		margin-right: 10px;
	}
	#index .works .worksItem .photoBox .photo span {
		padding-bottom: 130%;
		min-height: inherit;
	}
	#index .works .worksItem .photoBox .mark {
		min-width: 54px;
		left: 7px;
		top: 7px;
		font-size: 1.15rem;
	}
	#index .works .worksItem .photoBox .subBox {
		padding: 8% 10px 2%;
	}
	#index .works .worksItem .photoBox .subBox p span {
		font-size: 5.9rem;
	}
	#index .works .worksItem .photoBox .subBox p small {
		font-size: 1.45rem;
	}
	#index .works .worksItem .textBox {
		margin-right: 20px;
		padding: 20px 23px 25px;
	}
	#index .works .worksItem .textBox::before {
		height: calc(100% + 42px);
	}
	#index .works .worksItem .textBox .ttl {
		margin-bottom: 12px;
		font-size: 3.05rem;
	}
	#index .works .worksItem .textBox .text {
		font-size: 1.2rem;
		line-height: 1.58;
	}
	#index .works .moreBtn {
		margin-top: 26px;
	}
	#index .schedule .bgImg {
		width: 355px;
		left: -243px;
		bottom: -133px;
	}
	#index .schedule .innerBox {
		padding: 0 20px 41px;
		padding: 0 20px 56px;
		display: block;
		position: relative;
	}
	#index .schedule .ttlBox {
		margin: 0 0 20px;
		width: auto;
	}
	#index .schedule .ttlBox .ttlInner {
		max-width: inherit;
		margin-left: 0;
		padding-left: 0;
	}
	#index .schedule .ttlBox h2 {
		margin-bottom: 20px;
		text-align: left;
	}
	#index .schedule .ttlBox h2 img {
		width: 200px;
	}
	#index .schedule .ttlBox p {
		width: 65%;
		max-width: 220px;
		margin-bottom: 0;
		line-height: 1.85;
	}
	#index .schedule .ttlBox .moreBtn {
		position: absolute;
		right: 20px;
		bottom: 15px;
		text-align: center;
	}
	#index .schedule .subBox {
		width: auto;
		padding: 35px 20px;
	}
	#index .schedule .subBox .comScheduleList {
		max-width: inherit;
	}
	#index .magazine {
		padding-top: 65px;
		background-size: 100% 70px;
	}
	#index .magazine h2 {
		margin-bottom: 10px;
		font-size: 7rem;
	}
	#index .magazine .comMagaList {
		margin-bottom: 20px;
	}
	#index .magazine .comMagaList li:not(:first-child) {
		margin-top: 21px;
	}
	#index .magazine .comMagaList li .textBox a {
		padding: 23px 20px 21px;
	}
	#index .magazine .comMagaList li .textBox .date {
		margin-bottom: 7px;
		font-size: 1.15rem;
		letter-spacing: 0.2em;
		line-height: 1.65;
	}
	#index .magazine .comMagaList li .textBox .ttl {
		margin-bottom: 17px;
		font-size: 2.3rem;
		line-height: 1.13;
		letter-spacing: 0;
	}
	#index .magazine .comMagaList li .textBox .text {
		font-size: 1.2rem;
		line-height: 1.58;
		letter-spacing: 0.1em;
	}
	#index .talent {
		padding: 99px 0 106px;
	}
	#index .talent .bg {
		margin-top: 2px;
		height: 118.5%;
		background-image: url("img/index/sp_bg09.png");
	}
	#index .talent .imgTxt {
		margin: 0;
		padding: 0 10px;
		width: 100%;
		height: 81%;
		display: flex;
		justify-content: center;
		align-items: flex-end;
		max-width: inherit;
		box-sizing: border-box;
	}
	#index .talent .imgTxt img {
		width: 328px;
	}
	#index .talent .agent .imgTxt {
		margin: 0;
		overflow: 0;
		width: 88.6%;
		height: 83%;
		max-width: initial;
		justify-content: flex-end;
	}
	#index .talent .agent .imgTxt img {
		width: 228px;
		max-width: initial;
	}
	#main .creator {
		margin-bottom: 0;
		padding-bottom: 147px;
	}
	#main .creator::after {
		height: 70px;
	}
	#main .creator .content {
		max-width: inherit;
	}
	#main .creator h2 {
		margin-right: 16px;
		text-align: center;
	}
	#main .creator h2 img {
		width: 96.7%;
		max-width: 309px;
	}
	#main .creator .imgBox {
		margin: 0 auto;
		width: 88%;
		display: block;
	}
	#main .creator .imgBox .photoBox {
		margin-bottom: 23px;
		width: auto;
		text-align: center;
	}
	#main .creator .imgBox .textBox {
		width: auto;
	}
	#main .creator .imgBox .textBox p {
		margin-bottom: 18px;
		font-size: 1.2rem;
		line-height: 1.75;
		letter-spacing: 0.3em;
	}
	#main .creator .imgBox .textBox .moreBtn {
		margin-right: -5px;
	}
	#main .creator .bgImg {
		width: 430px;
		right: -164px;
		bottom: -171px;
	}
	#main .creator_banner {
		margin: -104px auto 70px;
		padding-left: 15px;
		padding-right: 15px;
	}
	#index .linkBox {
		margin-top: -45px;
		display: block;
	}
	#index .linkBox section {
		padding: 38px 22px 30px;
		width: auto;
	}
	#index .linkBox section:not(:last-child) {
		margin-bottom: 20px;
	}
	#index .linkBox h2 {
		margin-bottom: 22px;
	}
	#index .linkBox h2 img {
		max-height: 37px;
	}
	#index .linkBox p {
		margin-bottom: 15px;
		font-size: 1.2rem;
		line-height: 1.74;
	}
	#index .linkBox .moreBtn {
		margin-right: -5px;
	}
}
@media all and (min-width: 376px) and (max-width: 896px) {
	#index .mainVisual .text {
		font-size: 6rem;
	}
	#index .mainVisual .text .en {
		font-size: 1rem;
	}
}
@media all and (max-width: 374px) {
	#index .works .worksItem .photoBox .subBox p span {
		font-size: 15vw;
	}
}
/*------------------------------------------------------------
	works
------------------------------------------------------------*/
#works .pageTitle {
	margin-bottom: 41px;
}
#works .termList {
	padding-bottom: 51px;
	display: flex;
	gap: 10px;
	border-bottom: 1px solid #BEBEBE;
}
#works .termList li {
	width: calc((100% - 30px) / 3);
	min-height: 127px;
}
#works .termList li a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #000;
	font-size: 1.4rem;
	letter-spacing: 0.15em;
	background: #fff;
}
#works .termList li a .inn {
	padding-top: 4px;
	display: block;
	text-align: center;
}
#works .termList li a .en {
	margin-bottom: 12px;
	display: block;
}
#works .termList li a img {
	width: auto;
	height: 31px;
}
#works .termList li a img.over {
	display: none;
}
#works .termList li.on a img.nor {
	display: none;
}
#works .termList li.on a img.over {
	display: inline;
}
#works .worksList {
	margin-top: 52px;
}
#works .worksList li:not(:first-child) {
	margin-top: 30px;
}
#works .worksList li {
	position: relative;
}
#works .worksList li .permalink {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
#works .worksList li .flexBox {
	padding: 0 52px;
	display: flex;
	align-items: center;
	position: relative;
	gap: 0 5.3%;
}
#works .worksList li .flexBox::before {
	content: "";
	width: 100%;
	height: calc(100% - 110px);
	position: absolute;
	left: 0;
	top: 50%;
	background: #fff;
	transform: translateY(-50%);
	z-index: -1;
}
#works .worksList li .photoBox01 {
	width: 23.5%;
	min-width: 250px;
	position: relative;
}
#works .worksList li .photoBox01 .photo {
	background: #000;
}
#works .worksList li .photoBox01 .photo span {
	width: 100%;
	aspect-ratio: 250/354;
	display: block;
	box-sizing: border-box;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#works .worksList li .photoBox01 .subBox {
	box-sizing: border-box;
	padding: 38px 10px 20px;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	color: #fff;
	text-align: center;
	font-family: "A-OTF A1明朝 Std Bold";
	font-weight: normal;
	display: none;
}
#works .worksList li .photoBox01 .subBox p {
	width: 100%;
}
#works .worksList li .photoBox01 .subBox p:not(:last-child) {
	margin-bottom: 40px;
}
#works .worksList li .photoBox01 .subBox p span {
	display: block;
	font-size: 5.4rem;
	line-height: 1.03;
}
#works .worksList li .photoBox01 .subBox p .kozGo {
	margin: 0.15em 0 -0.15em;
}
#works .worksList li .photoBox01 .subBox p small {
	display: block;
	font-style: normal;
	font-weight: normal;
	font-family: "Akzidenz-Grotesk BQ Condensed A";
	font-size: 1.4rem;
	letter-spacing: 0.04em;
}
#works .worksList li .textBox {
	padding: 96px 0;
	flex: 1;
	box-sizing: border-box;
}
#works .worksList li .textBox .markBox {
	margin: 0 3px 12px;
	display: flex;
	align-items: center;
	align-content: flex-start;
}
#works .worksList li .textBox .mark {
	margin-right: 22px;
	flex-shrink: 0;
	font-size: 1.3rem;
	line-height: 1.1;
	letter-spacing: 0;
}
#works .worksList li .textBox .mark span {
	padding: 2px 3px;
	min-width: 57px;
	min-height: 19px;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	color: #fff;
	background: #E0454C;
}
.mac #works .worksList li .textBox .mark span {
	padding: 4px 3px 1px;
}
.ios #works .worksList li .textBox .mark span {
	padding: 4px 3px 1px;
}
#works .worksList li .textBox .bigCate {
	margin-right: 7px;
	flex-shrink: 0;
	position: relative;
	z-index: 5;
}
#works .worksList li .textBox .bigCate a {
	padding: 4px 0 0;
	display: inline-block;
	vertical-align: top;
	font-size: 1.3rem;
	color: #818EE3;
	line-height: 1.1;
	border-bottom: 1px solid currentColor;
	letter-spacing: 0.2em;
}
#works .worksList li .textBox .smlCate {
	margin-bottom: 1px;
	padding-left: 8px;
	font-size: 1.2rem;
	color: #808080;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: 0.12em;
	line-height: 1;
	border-left: 1px solid currentColor;
}
#works .worksList li .textBox .ttl {
	margin-bottom: 13px;
	font-size: 4.2rem;
}
#works .worksList li .textBox .text {
	line-height: 1.67;
}
#works .cateBox {
	margin-bottom: 52px;
	padding: 44px 0 40px;
	text-align: center;
	border-bottom: 1px solid #BEBEBE;
}
#works .cateBox h3 {
	margin-bottom: 23px;
	font-size: 5.8rem;
	letter-spacing: 0.04em;
	line-height: 1;
}
#works .cateBox p {
	font-size: 1.8rem;
	line-height: 1.88;
	letter-spacing: 0.08em;
}
#works .cateImgList {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
#works .cateImgList li {
	width: calc((100% - 60px) / 4);
}
#works .cateImgList li a {
	display: block;
}
#works .cateImgList li a:hover {
	opacity: 0.7;
}
#works .cateImgList li img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
}
.comCateBox {
	padding: 0 42px 8px;
	display: flex;
	align-items: center;
	gap: 0 4.2%;
	border-bottom: 1px solid #BEBEBE;
}
.comCateBox .photo {
	width: 31.1%;
}
.comCateBox .photo img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
}
.comCateBox .textBox {
	margin-top: 4px;
	padding: 20px 0;
	flex: 1;
}
.comCateBox .textBox .time {
	margin-bottom: 7px;
	font-size: 1.5rem;
	letter-spacing: 0.24em;
}
.comCateBox .textBox .title {
	margin-bottom: 10px;
	font-size: 3.2rem;
}
.comCateBox .textBox .text {
	margin-bottom: 15px;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.2em;
}
.comCateBox .textBox .bgLink {
	padding: 17px 25px 18px;
	background: #EAEAEA;
}
.comCateBox .textBox .bgLink li {
	margin-bottom: 6px;
	display: flex;
	font-size: 1.2rem;
	letter-spacing: 0.14em;
}
.comCateBox .textBox .bgLink li:last-child {
	margin-bottom: 0;
}
.comCateBox .textBox .bgLink li .txt {
	flex-shrink: 0;
	word-break: keep-all;
	white-space: nowrap;
}
.comCateBox .textBox .bgLink li a {
	flex: 1;
	color: #4255CB;
	text-decoration: underline;
	word-wrap: break-word;
}
.comCateBox .textBox .bgLink li a:hover {
	text-decoration: none;
}
@media all and (max-width: 896px) {
	.comCateBox {
		padding: 0;
		display: block;
	}
	.comCateBox .photo {
		margin: 0 auto 5px;
		max-width: 338px;
		width: auto;
	}
	.comCateBox .textBox {
		margin: 0 0 35px;
	}
	.comCateBox .textBox .text {
		margin-bottom: 10px;
	}
	.comCateBox .textBox .bgLink {
		padding: 15px;
	}
	.comCateBox .textBox .bgLink li a:hover {
		text-decoration: underline;
	}
}
@media all and (min-width: 897px) {
	#works .termList li a:hover img.nor {
		display: none;
	}
	#works .termList li a:hover img.over {
		display: inline;
	}
	#works .worksList li:hover .photoBox01 .photo span {
		opacity: 0.7;
	}
	#works .worksList li:hover .textBox .ttl {
		text-decoration: underline;
	}
	#works .worksList li .textBox .bigCate a:hover {
		border-bottom-color: transparent;
	}
}
@media all and (max-width: 896px) {
	#works .pageTitle {
		margin-bottom: 0;
		padding-bottom: 34px;
	}
	#works .content {
		padding: 0 15px;
	}
	#works .termList {
		padding-bottom: 36px;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 7px 0;
	}
	#works .termList li {
		width: calc(50% - 4px);
		min-height: 89px;
	}
	#works .termList li a {
		font-size: 1.1rem;
	}
	#works .termList li a .inn {
		padding-top: 5px;
	}
	#works .termList li a .en {
		margin-bottom: 8px;
	}
	#works .termList li a img {
		height: 25px;
	}
	#works .worksList {
		margin-top: 36px;
	}
	#works .worksList li:not(:first-child) {
		margin-top: 35px;
	}
	#works .worksList li .flexBox {
		padding: 19px 19px 14px;
		align-items: flex-start;
		align-content: flex-start;
		justify-content: space-between;
		gap: 0 20px;
		flex-wrap: wrap;
		background: #fff;
	}
	#works .worksList li .flexBox::before {
		display: none;
	}
	#works .worksList li .photoBox01 {
		width: 88px;
		min-width: inherit;
	}
	#works .worksList li .photoBox01 .photo span {
		min-height: inherit;
	}
	#works .worksList li .photoBox01 .subBox {
		padding: 5px;
	}
	#works .worksList li .photoBox01 .subBox p:not(:last-child) {
		margin-bottom: 10px;
	}
	#works .worksList li .photoBox01 .subBox p span {
		font-size: 2rem;
	}
	#works .worksList li .photoBox01 .subBox p .kozGo {
		margin: 0.14em 0 -0.1em;
	}
	#works .worksList li .photoBox01 .subBox p small {
		font-size: 0.9rem;
	}
	#works .worksList li .textBox {
		padding: 0;
		position: relative;
	}
	#works .worksList li .textBox .markBox {
		margin-bottom: 7px;
		flex-wrap: wrap;
		gap: 8px 0;
	}
	#works .worksList li .textBox .mark {
		width: 100%;
		font-size: 1.2rem;
	}
	#works .worksList li .textBox .mark span {
		min-width: 54px;
		text-align: center;
	}
	#works .worksList li .textBox .bigCate {
		margin-right: 7px;
	}
	#works .worksList li .textBox .bigCate a {
		padding: 3px 0 1px;
		font-size: 1.1rem;
		letter-spacing: 0.25em;
	}
	#works .worksList li .textBox .smlCate {
		margin-bottom: 1px;
		padding-left: 7px;
		font-size: 11px;
	}
	#works .worksList li .textBox .ttl {
		margin: 0 0 7px;
		font-size: 2.3rem;
		line-height: 1.3;
	}
	#works .worksList li .textBox .text {
		line-height: 1.58;
	}
	#works .cateBox {
		margin-bottom: 30px;
		padding: 30px 0 30px;
	}
	#works .cateBox h3 {
		margin-bottom: 20px;
		font-size: 3.4rem;
	}
	#works .cateBox p {
		font-size: 1.4rem;
	}
	#works .cateImgList {
		gap: 20px 0;
		justify-content: space-between;
	}
	#works .cateImgList li {
		width: calc(50% - 10px);
	}
}
/*------------------------------------------------------------
	works_detail
------------------------------------------------------------*/
#works_detail .secBox {
	margin-bottom: 4px;
	padding: 67px 20px 75px;
	background: #fff;
}
#works_detail .secBox:last-of-type {
	margin-bottom: 0;
}
#works_detail .secBox .innerBox {
	margin: 0 auto;
	max-width: 850px;
}
#works_detail .secBox p {
	margin-bottom: 28px;
	text-align: justify;
	line-height: 1.87;
	letter-spacing: 0.16em;
}
#works_detail .secBox p:last-child {
	margin-bottom: 0 !important;
}
#works_detail .topBox {
	padding: 81px 20px 74px;
}
#works_detail .topBox .photoBox {
	width: 41.5%;
}
#works_detail .topBox .textBox {
	width: 52.2%;
}
#works_detail .topBox .textBox .mark {
	margin-bottom: 7px;
	font-size: 1.3rem;
	line-height: 1.1;
	letter-spacing: 0;
}
#works_detail .topBox .textBox .mark span {
	padding: 2px 9px;
	min-height: 19px;
	display: inline-block;
	vertical-align: top;
	color: #fff;
	background: #E0454C;
	box-sizing: border-box;
}
.mac #works_detail .topBox .textBox .mark span {
	padding: 4px 9px 1px;
	min-height: initial;
}
.ios #works_detail .topBox .textBox .mark span {
	padding: 3px 9px 2px;
	min-height: initial;
}
#works_detail .topBox .textBox .h3Ttl01 {
	margin-bottom: 21px;
	font-size: 4.2rem;
	line-height: 1.19;
}
#works_detail .topBox .textBox .text {
	margin-bottom: 20px;
	text-align: left;
	color: #4D4D4D;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
#works_detail .topBox .textBox dl {
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #BFBFBF;
}
#works_detail .topBox .textBox dt {
	padding: 27px 0;
	width: 63px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #BFBFBF;
}
#works_detail .topBox .textBox dt span {
	box-sizing: border-box;
	padding: 5px 3px 4px;
	width: 100%;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.1;
	letter-spacing: 0.07em;
	background: #8C8C8C;
}
#works_detail .topBox .textBox dd {
	padding: 10px 12px 13px;
	width: calc(100% - 63px);
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	box-sizing: border-box;
	border-bottom: 1px solid #BFBFBF;
}
#works_detail .topBox .textBox .snsList {
	margin: -15px 0 31px;
}
#works_detail .topBox .textBox .snsList li {
	margin: 15px 16px 0 0;
}
#works_detail .topBox .textBox .snsList li a {
	padding-right: 13px;
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 1.15;
	background: url("img/common/icon03.png") no-repeat right top 4px / 9px auto;
}
#works_detail .topBox .textBox .snsList li a span {
	display: block;
	border-bottom: 1px solid #000;
}
#works_detail .topBox .textBox .btnList li {
	margin-right: 2.8%;
	width: 46.7%;
}
#works_detail .topBox .textBox .btnList li a {
	padding: 8px 30px 11px;
	display: block;
	text-align: center;
	color: #4255CC;
	font-size: 1.6rem;
	border: 1px solid #4255CC;
	background: #fff url("img/common/icon04.png") no-repeat right 12px center / 9px auto;
}
@media all and (-ms-high-contrast:none) {
	#works_detail .topBox .textBox .btnList li a {
		padding: 11px 30px 8px;
	}
}
#works_detail .secBox .h3Ttl02 {
	margin-bottom: 11px;
	text-align: center;
	font-size: 11.6rem;
	line-height: 1.15;
	letter-spacing: 0.035em;
}
#works_detail .secBox .h3Ttl02.jpH3Ttl {
	margin-bottom: 22px;
	font-size: 8.2rem;
	font-family: "A-OTF 見出ゴMB31 Pro MB31";
	font-weight: normal !important;
}
#works_detail .secBox .movieBox {
	margin-bottom: 13px;
	position: relative;
	padding-bottom: 56.25%;
	box-sizing: border-box;
	cursor: pointer;
	background: #000;
}
#works_detail .secBox .midPhoBox {
	margin-bottom: 13px;
	text-align: center;
}
#works_detail .secBox .midPhoBox img {
	max-width: inherit;
	width: 100%;
	height: auto;
}
#works_detail .secBox .movieBox .playBtn {
	width: 11.529%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
}
#works_detail .secBox .movieBox iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}
#works_detail .secBox .photoList::after {
	content: "";
	width: 31.85%;
	display: block;
}
#works_detail .secBox .photoList li {
	width: 31.85%;
}
#works_detail .secBox .h4Ttl01 {
	margin: 0 0 21px;
	font-size: 4.4rem;
}
#works_detail .secBox .h4Ttl01 span {
	margin-bottom: 4px;
	display: block;
	font-size: 2.4rem;
	letter-spacing: 0.04em;
}
#works_detail .secBox .galleryList {
	margin: -12px 0 19px;
}
#works_detail .secBox .galleryList::after {
	content: "";
	width: 31.85%;
	display: block;
}
#works_detail .secBox .galleryList li {
	margin-top: 18px;
	width: 31.85%;
}
#works_detail .secBox .galleryList li a {
	display: block;
}
#works_detail .secBox .galleryList li a:hover {
	opacity: 0.7;
}
#works_detail .secBox .galleryList li a span {
	padding-bottom: 65.18%;
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	box-sizing: border-box;
}
#works_detail .secBox .h4Ttl02 {
	margin-bottom: 16px;
	text-align: center;
	font-size: 2.6rem;
	letter-spacing: 0.04em;
	line-height: 1.4;
}
#works_detail .secBox .h4Ttl02 small {
	margin-top: 0;
	display: block;
	font-weight: normal;
	font-size: 1.3rem;
	letter-spacing: 0.12em;
}
#works_detail .secBox .innerBox .email {
	text-align: center;
	font-size: 2.1rem;
	letter-spacing: 0.18em;
}
#works_detail .secBox .innerBox .email a {
	text-decoration: underline;
}
#works_detail .seriesBox {
	padding: 0;
}
#works_detail .comCateBox {
	margin: 0 auto;
	padding: 0 20px 64px;
	max-width: 890px;
	gap: 0 4.5%;
	align-items: flex-start;
	border-bottom: none;
	box-sizing: border-box;
}
#works_detail .comCateBox .photo {
	width: 35.4%;
}
#works_detail .comCateBox .time {
	margin-bottom: 5px;
	letter-spacing: 0.24em;
}
#works_detail .comCateBox .textBox {
	margin: 39px 0 0;
	padding: 0;
}
#works_detail .comCateBox .textBox .text {
	margin-bottom: 19px;
	line-height: 1.67;
	letter-spacing: 0.2em;
}
#works_detail .comCateBox .textBox .bgLink {
	padding: 0;
	background: transparent;
}
#works_detail .seriesBox .otherBtn {
	padding: 44px 20px 54px;
	text-align: center;
	border-top: 4px solid #F1F1F1;
}
#works_detail .seriesBox .otherBtn a {
	position: relative;
	display: inline-block;
}
#works_detail .seriesBox .otherBtn a:hover {
	opacity: 0.7;
}
#works_detail .seriesBox .otherBtn a::before {
	position: absolute;
	left: -40px;
	top: 50%;
	transform: translateY(-50%);
	content: '＜';
}
#works_detail .seriesBox .otherBtn a {
	display: inline-block;
	font-size: 2rem;
	letter-spacing: 0.04em;
}
#works_detail .motifBox {
	margin: 0 auto;
	max-width: 850px;
}
#works_detail .motifBox .title {
	margin-bottom: 27px;
	display: flex;
	gap: 7px;
	align-items: flex-start;
	line-height: 1.5;
}
#works_detail .motifBox .title .mark {
	box-sizing: border-box;
	margin-top: 0.75em;
	padding: 4px 3px 3px;
	width: 63px;
	min-height: 23px;
	flex-shrink: 0;
	display: block;
	text-align: center;
	font-weight: normal;
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
	background: #F1F1F1;
}
#works_detail .motifBox .title .subTxt {
	flex: 1;
	font-size: 2.4rem;
	letter-spacing: 0.02em;
}
#works_detail .motifBox .text {
	font-size: 1.5rem;
	letter-spacing: 0.16em;
	line-height: 1.85;
}
.fancybox-slide--html {
	padding: 20px 50px;
}
.fancybox-is-open .fancybox-bg {
	opacity: 0.9;
	background: #000;
}
.popBox {
	padding: 0;
	max-width: 753px;
	display: none;
	position: relative;
	background: transparent;
	box-sizing: border-box;
	overflow: visible;
}
.popBox .pho img {
	width: auto;
	max-height: 70vh;
}
.popBox .closeBtn {
	position: absolute;
	right: -63px;
	top: -3px;
	z-index: 10;
}
.popBox .closeBtn a {
	width: 40px;
	height: 40px;
	display: block;
	background: url("img/common/close.png") no-repeat center center / 25px auto;
}
.popBox .closeBtn a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) and (max-width: 949px) {
	#works_detail .secBox .h3Ttl02.jpH3Ttl {
		font-size: 8.6vw;
	}
}
@media all and (min-width: 897px) {
	#works_detail .topBox .textBox .snsList li a:hover span {
		border-color: transparent;
	}
	#works_detail .topBox .textBox .btnList li a:hover {
		color: #fff;
		background-image: url("img/common/icon05.png");
		background-color: #4255CC;
	}
	#works_detail .secBox .movieBox:hover::before {
		opacity: 0.4;
	}
	#works_detail .secBox .innerBox .email a:hover {
		text-decoration: none;
	}
	.comBackBtn a:hover {
		border-color: transparent;
	}
}
@media all and (max-width: 896px) {
	#works_detail .secBox {
		margin-bottom: 2px;
		padding: 28px 20px;
	}
	#works_detail .secBox:last-of-type {
		margin-bottom: 0;
		padding-bottom: 55px;
	}
	#works_detail .secBox .innerBox {
		margin: 0;
		max-width: inherit;
		display: block;
	}
	#works_detail .secBox p {
		margin-bottom: 14px;
	}
	#works_detail .topBox {
		margin-bottom: 2px;
		padding: 42px 20px 54px;
	}
	#works_detail .topBox .photoBox {
		margin: 0 auto 27px;
		width: 84.65%;
		text-align: center;
	}
	#works_detail .topBox .textBox {
		width: auto;
	}
	#works_detail .topBox .textBox .mark {
		margin-bottom: 6px;
		font-size: 1.2rem;
	}
	#works_detail .topBox .textBox .mark span {
		min-height: 18px;
	}
	.ios #works_detail .topBox .textBox .mark span {
		min-height: initial;
	}
	#works_detail .topBox .textBox .h3Ttl01 {
		margin-bottom: 16px;
		font-size: 2.1rem;
	}
	#works_detail .topBox .textBox .text {
		margin-bottom: 16px;
		font-size: 1.2rem;
	}
	#works_detail .topBox .textBox dl {
		margin-bottom: 36px;
	}
	#works_detail .topBox .textBox dt {
		padding: 17px 0 15px;
		width: 57px;
	}
	#works_detail .topBox .textBox dt span {
		padding: 4px 2px;
		font-size: 1.15rem;
		letter-spacing: 0.03em;
	}
	#works_detail .topBox .textBox dd {
		padding: 10px 15px;
		font-size: 1.4rem;
	}
	#works_detail .topBox .textBox .snsList {
		margin: -15px 0 38px;
	}
	#works_detail .topBox .textBox .snsList li {
		margin: 15px 23px 0 0;
	}
	#works_detail .topBox .textBox .snsList li a {
		padding-right: 12px;
		font-size: 1.5rem;
		background-size: 8px auto;
	}
	#works_detail .topBox .textBox .btnList {
		display: block;
	}
	#works_detail .topBox .textBox .btnList li {
		margin: 0 0 11px;
		width: auto;
	}
	#works_detail .topBox .textBox .btnList li:last-child {
		margin-bottom: 0;
	}
	#works_detail .topBox .textBox .btnList li a {
		padding: 14px 30px 15px;
		font-size: 1.4rem;
		background-size: 11px auto;
		background-position: right 14px center;
	}
	#works_detail .secBox .h3Ttl02 {
		margin-bottom: 18px;
		font-size: 7.05rem;
	}
	#works_detail .secBox .h3Ttl02.jpH3Ttl {
		font-size: 7.8vw;
		font-family: "A-OTF 見出ゴMB31 Pro MB31";
		font-weight: normal;
		letter-spacing: 0;
	}
	#works_detail .secBox .movieBox {
		margin-bottom: 0;
	}
	#works_detail .secBox .photoList {
		margin-top: -10px;
	}
	#works_detail .secBox .photoList::after {
		display: none;
	}
	#works_detail .secBox .photoList li {
		margin-top: 10px;
		width: 48.98%;
	}
	#works_detail .secBox .h4Ttl01 {
		margin-bottom: 15px;
		font-size: 2.4rem;
	}
	#works_detail .secBox .h4Ttl01 span {
		font-size: 1.6rem;
	}
	#works_detail .secBox .galleryList {
		margin: -6px 0 18px;
	}
	#works_detail .secBox .galleryList::after {
		display: none;
	}
	#works_detail .secBox .galleryList li {
		margin-top: 6px;
		padding-bottom: 15px;
		width: 48.98%;
	}
	#works_detail .secBox .h4Ttl02 {
		margin: 0 -3px 16px;
		font-size: 2.1rem;
		letter-spacing: 0;
	}
	#works_detail .secBox .h4Ttl02 small {
		font-size: 1.1rem;
	}
	#works_detail .secBox .innerBox .email {
		font-size: 1.6rem;
		letter-spacing: 0.1em;
	}
	#works_detail .comBackBtn {
		display: none;
	}
	#works_detail .seriesBox {
		padding: 0;
	}
	#works_detail .comCateBox {
		padding: 0 20px 20px;
	}
	#works_detail .comCateBox .photo {
		width: auto;
	}
	#works_detail .comCateBox .textBox {
		margin: 0;
	}
	#works_detail .comCateBox .time {
		line-height: 1.2;
	}
	#works_detail .comCateBox .textBox .title {
		font-size: 2.4rem;
	}
	#works_detail .comCateBox .textBox .text {
		font-size: 1.2rem;
	}
	#works_detail .seriesBox .otherBtn {
		padding: 20px 0;
		border-width: 2px;
	}
	#works_detail .seriesBox .otherBtn a::before {
		left: -25px;
	}
	#works_detail .seriesBox .otherBtn a {
		font-size: 1.6rem;
	}
	#works_detail .motifBox {
		max-width: initial;
	}
	#works_detail .motifBox .title {
		margin-bottom: 15px;
		gap: 5px;
	}
	#works_detail .motifBox .title .mark {
		margin-top: 0.65em;
		padding: 3px 3px 2px;
		width: 45px;
		min-height: 18px;
		font-size: 1rem;
	}
	#works_detail .motifBox .title .subTxt {
		font-size: 1.8rem;
	}
	#works_detail .motifBox .text {
		font-size: 1.2rem;
	}
	.fancybox-slide--html {
		padding: 20px;
	}
	.popBox {
		max-width: inherit;
		text-align: center;
	}
	.popBox .pho img {
		max-height: 62.5vh;
	}
	.popBox .closeBtn {
		margin-right: -20px;
		right: 50%;
		top: auto;
		position: fixed;
		bottom: 6.25%;
	}
	.popBox .closeBtn a {
		background-size: 21px auto;
	}
}
@media all and (max-width: 359px) {
	#works_detail .topBox .textBox .snsList {
		margin-right: -12px;
	}
	#works_detail .topBox .textBox .snsList li {
		margin-right: 12px;
	}
}
/*------------------------------------------------------------
	magazine
------------------------------------------------------------*/
#magazine .content {
	padding-top: 53px;
}
#magazine .topBox {
	margin: 0 10px 28px 4px;
}
#magazine .topBox .tagList {
	width: calc(100% - 150px);
	box-sizing: border-box;
}
#magazine .topBox .tagList li {
	margin-right: 42px;
	display: inline;
}
#magazine .topBox .tagList li a {
	font-size: 2rem;
	letter-spacing: 0.18em;
	text-decoration: none;
}
#magazine .topBox .tagList .on a, #magazine .topBox .tagList .current-cat a, #magazine .topBox .tagList li a:hover {
	text-decoration: underline;
}
#magazine .dateBox {
	margin-top: 15px;
	width: 140px;
	position: relative;
	text-align: right;
}
#magazine .dateBox p {
	padding: 0 19px 4px 0;
	font-size: 2rem;
	letter-spacing: 0.18em;
	cursor: pointer;
	background: url("img/common/icon06.png") no-repeat right center / 11px auto;
}
#magazine .dateBox p.on {
	background-image: url("img/common/icon07.png");
}
#magazine .dateBox ul {
	display: none;
	box-sizing: border-box;
	padding: 5px 0;
	width: 100%;
	position: absolute;
	right: 0;
	top: 100%;
	background: #fff;
}
#magazine .dateBox li a {
	padding: 3px 19px;
	display: block;
	font-size: 2rem;
}
#magazine .dateBox li a:hover {
	opacity: 0.7;
}
#magazine .comMagaList li:not(:first-child) {
	margin-top: 16px;
}
#magazine .comMagaList li .textBox {
	align-items: flex-start;
}
#magazine .comMagaList li .textBox a {
	padding: 21px 40px 21px 44px;
}
#magazine .comMagaList li .textBox .date {
	margin-bottom: 7px;
}
#magazine .comMagaList li .textBox .date span {
	margin: 2px 0 0 19px;
	display: inline-block;
	vertical-align: top;
	color: #818EE3;
	letter-spacing: 0.15em;
	line-height: 1.15;
	border-bottom: 1px solid #818EE3;
}
#magazine .comMagaList li .textBox .ttl {
	margin-bottom: 6px;
	height: 39px;
	overflow: hidden;
}
#magazine .comMagaList li .textBox .text {
	height: 66px;
	overflow: hidden;
	line-height: 1.55;
	letter-spacing: 0.1em;
}
@media all and (min-width: 897px) {
	#magazine .dateBox p:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#magazine .content {
		padding-top: 0;
	}
	#magazine .topBox {
		margin: 0 10px 28px 4px;
		padding: 20px;
		display: block;
		background: #fff;
	}
	#magazine .topBox .tagList {
		width: auto;
	}
	#magazine .topBox .tagList li {
		margin-right: 20px;
	}
	#magazine .topBox .tagList li a {
		font-size: 1.6rem;
		letter-spacing: 0.1em;
	}
	#magazine .topBox .tagList .on a:hover, #magazine .topBox .tagList .current-cat a:hover {
		text-decoration: underline;
	}
	#magazine .topBox .tagList li a:hover {
		text-decoration: none;
	}
	#magazine .dateBox {
		margin: 0 0 0 auto;
		width: 140px;
	}
	#magazine .dateBox p {
		font-size: 1.6rem;
		letter-spacing: 0.1em;
	}
	#magazine .dateBox li a {
		font-size: 1.6rem;
	}
	#magazine .comMagaList li:not(:first-child) {
		margin-top: 20px;
	}
	#magazine .comMagaList li .textBox a {
		padding: 20px;
	}
	#magazine .comMagaList li .textBox .date span {
		margin: 2px 0 0 10px;
		font-size: 1.15rem;
	}
	#magazine .comMagaList li .textBox .ttl {
		margin-bottom: 13px;
		height: 25px;
		line-height: 1.13;
	}
	#magazine .comMagaList li .textBox .text {
		height: 56px;
	}
}
/*------------------------------------------------------------
	maga_detail
------------------------------------------------------------*/
#maga_detail #main {
	margin: 0 auto 160px;
	padding: 60px 0 95px;
	max-width: 1164px;
	background: #fff;
}
#maga_detail .content {
	max-width: 894px;
}
#maga_detail .date {
	margin-bottom: 20px;
}
#maga_detail .date span {
	display: inline-block;
	vertical-align: top;
	line-height: 1.05;
}
#maga_detail .date .txt01 {
	margin-right: 16px;
	padding-right: 16px;
	letter-spacing: 0.2em;
	border-right: 1px solid #000;
}
#maga_detail .date .txt02 {
	margin-right: 12px;
	color: #818EE3;
	font-size: 1.3rem;
	line-height: 1.2;
	letter-spacing: 0.2em;
}
#maga_detail .date .txt02 a {
	display: inline-block;
	color: #818EE3;
	font-size: 1.3rem;
	line-height: 1.2;
	letter-spacing: 0.2em;
}
#maga_detail .date .txt02 a:hover {
	opacity: 0.7;
}
#maga_detail .date .txt03 {
	margin-top: -3px;
	padding: 2px 2px 2px;
	min-width: 58px;
	text-align: center;
	font-size: 1.3rem;
	color: #fff;
	background: #7886E3;
}
#maga_detail .date .txt03 a {
	margin: -2px -2px -2px;
	padding: 2px 2px 2px;
	min-width: 58px;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	font-size: 1.3rem;
	color: #fff;
	background: #7886E3;
}
#maga_detail .date .txt03 a:hover {
	opacity: 0.7;
}
#maga_detail .ttl {
	margin-bottom: 49px;
	font-size: 4rem;
	line-height: 1.35;
	letter-spacing: 0.05em;
}
#maga_detail .detailBox {
	margin-bottom: 87px;
}
#maga_detail .detailBox *:last-child {
	margin-bottom: 0 !important;
}
#maga_detail .detailBox p {
	margin-bottom: 10px;
	color: #333;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
}
/* #maga_detail .detailBox > p + p {
	margin-top: -25px;
} */
#maga_detail .detailBox p a {
	color: #4255CC;
	text-decoration: underline;
}
#maga_detail .detailBox p a:hover {
	text-decoration: none;
}
#maga_detail .detailBox .photo {
	margin-bottom: 78px;
	text-align: center;
}
#maga_detail .detailBox h1 {
	margin-bottom: 20px;
	font-family: "源ノ角ゴシック JP Bold";
	font-size: 2.8rem;
	letter-spacing: 0.14em;
}
#maga_detail .detailBox p + h1 {
	padding-top: 27px;
}
#maga_detail .detailBox h3 {
	margin-bottom: 20px;
	font-family: "源ノ角ゴシック JP Bold";
	font-size: 2rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
}
#maga_detail .detailBox p + h3 {
	padding-top: 12px;
}
#maga_detail .detailBox h4 {
	margin-bottom: 31px;
	padding-left: 40px;
	position: relative;
	font-family: "源ノ角ゴシック JP Bold";
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.14em;
}
#maga_detail .detailBox h4::before {
	width: 34px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 16px;
	background: #000;
	content: "";
}
#maga_detail .detailBox p + h4 {
	margin-top: -18px;
}
#maga_detail .detailBox h2 {
	margin-bottom: 20px;
	padding: 3px 0 10px;
	font-size: 2.4rem;
	font-family: "源ノ角ゴシック JP Bold";
	line-height: 1.42;
	letter-spacing: 0.14em;
	border-bottom: 2px solid #000;
}
#maga_detail .detailBox h5 {
	margin-bottom: 77px;
	text-align: center;
	font-size: 2.6rem;
	font-family: "源ノ角ゴシック JP Bold";
	letter-spacing: 0.14em;
}
#maga_detail .detailBox p + h5 {
	padding-top: 31px;
}
#maga_detail .detailBox blockquote {
	margin-bottom: 31px;
	padding: 23px 30px 26px;
	border: 1px solid #BFBFBF;
}
#maga_detail .detailBox p + blockquote {
	margin-top: -7px;
}
#maga_detail .detailBox blockquote p {
	margin-bottom: 9px;
}
#maga_detail .detailBox blockquote .color {
	color: #000;
}
#maga_detail .detailBox blockquote .color a {
	color: #000;
}
#maga_detail .shareBox {
	padding-bottom: 5px;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #000;
}
#maga_detail .shareBox .subTtl {
	margin-top: 5px;
	font-size: 1.8rem;
	color: #BFBFBF;
	letter-spacing: 0.04em;
}
#maga_detail .shareBox .snsList {
	margin-right: 2px;
	display: flex;
}
#maga_detail .shareBox .snsList li {
	margin-left: 28px;
}
#maga_detail .shareBox .snsList li a {
	display: block;
	font-size: 2.4rem;
	letter-spacing: 0.04em;
}
#maga_detail .shareBox .snsList li a:hover {
	opacity: 0.65;
}
#maga_detail .comBackBtn {
	margin-top: 77px;
}
@media all and (max-width: 896px) {
	#maga_detail #main {
		margin: 0 20px 60px;
		padding: 30px 0 40px;
		max-width: inherit;
	}
	#maga_detail .content {
		max-width: inherit;
	}
	#maga_detail .date {
		margin-bottom: 10px;
	}
	#maga_detail .date .txt01 {
		margin-right: 10px;
		padding-right: 10px;
		letter-spacing: 0.1em;
	}
	#maga_detail .date .txt02 {
		margin-right: 10px;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}
	#maga_detail .date .txt02 a {
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}
	#maga_detail .date .txt03 {
		margin-top: -1px;
		padding: 2px 2px 1px;
		font-size: 1.2rem;
	}
	#maga_detail .date .txt03 a {
		margin: -2px -2px -1px;
		padding: 2px 2px 1px;
		font-size: 1.2rem;
	}
	#maga_detail .ttl {
		margin-bottom: 25px;
		font-size: 2.4rem;
	}
	#maga_detail .detailBox {
		margin-bottom: 45px;
	}
	#maga_detail .detailBox p {
		margin-bottom: 20px;
		font-size: 1.2rem;
		line-height: 1.8;
		letter-spacing: 0.1em;
	}
	#maga_detail .detailBox > p + p {
		margin-top: -10px;
	}
	#maga_detail .detailBox p a:hover {
		text-decoration: underline;
	}
	#maga_detail .detailBox .photo {
		margin-bottom: 20px;
	}
	#maga_detail .detailBox h1 {
		margin-bottom: 15px;
		font-size: 2rem;
	}
	#maga_detail .detailBox p + h1 {
		padding-top: 15px;
	}
	#maga_detail .detailBox h3 {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
	#maga_detail .detailBox p + h3 {
		padding-top: 10px;
	}
	#maga_detail .detailBox h4 {
		margin-bottom: 15px;
		padding-left: 30px;
		font-size: 1.4rem;
		line-height: 1.6;
	}
	#maga_detail .detailBox h4::before {
		width: 25px;
		top: 11px;
	}
	#maga_detail .detailBox p + h4 {
		margin-top: 0;
	}
	#maga_detail .detailBox h2 {
		margin-bottom: 10px;
		padding: 0 0 5px;
		font-size: 1.8rem;
		border-width: 1px;
	}
	#maga_detail .detailBox h5 {
		margin-bottom: 20px;
		font-size: 1.9rem;
	}
	#maga_detail .detailBox p + h5 {
		padding-top: 15px;
	}
	#maga_detail .detailBox blockquote {
		margin-bottom: 20px;
		padding: 15px 20px;
	}
	#maga_detail .detailBox p + blockquote {
		margin-top: 0;
	}
	#maga_detail .detailBox blockquote p {
		margin-bottom: 5px;
	}
	#maga_detail .shareBox .subTtl {
		margin-top: 2px;
		font-size: 1.5rem;
	}
	#maga_detail .shareBox .snsList {
		display: flex;
	}
	#maga_detail .shareBox .snsList li {
		margin-left: 10px;
	}
	#maga_detail .shareBox .snsList li a {
		font-size: 1.6rem;
	}
	#maga_detail .comBackBtn {
		margin-top: 30px;
	}
}
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#company #main {
	margin: 0;
}
#company .content {
	padding-top: 60px;
	max-width: 894px;
}
#company .topTitle {
	margin-bottom: 55px;
	font-weight: normal;
}
#company .h3Ttl01 {
	margin-bottom: 37px;
	font-size: 3.9rem;
	line-height: 1.2;
	letter-spacing: 0.06em;
}
#company .h3Ttl01 span {
	display: block;
}
#company .h3Ttl01 .sml {
	margin-bottom: 7px;
	font-size: 2rem;
	letter-spacing: 0.08em;
}
#company .h3Ttl01 .en {
	margin-top: 14px;
	color: #BFBFBF;
	font-size: 1.5rem;
	letter-spacing: 0.04em;
}
#company .management .h3Ttl01 {
	margin-bottom: 61px;
}
#company table {
	width: 100%;
	border-collapse: collapse;
}
#company td, #company th {
	padding: 36px 3px 36px;
	box-sizing: border-box;
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.9;
	vertical-align: top;
	letter-spacing: 0.08em;
	word-break: break-all;
	border-bottom: 1px solid #BFBFBF;
	border-top: 1px solid #BFBFBF;
}
#company th {
	padding-left: 17px;
	width: 22%;
	font-weight: normal;
	border-bottom: 1px solid #E5E5E5;
	border-top: 1px solid #E5E5E5;
}
#company td a {
	text-decoration: underline;
}
#company td a:hover {
	text-decoration: none;
}
#company .message {
	margin-top: 62px;
	padding: 90px 0 140px;
	position: relative;
	background: url(img/company/bg01.png) no-repeat center top 16% / cover;
}
#company .message::before {
	width: 100%;
	height: 156px;
	position: absolute;
	right: 0;
	top: -1px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 1px);
	background: #F2F2F2;
	content: '';
}
#company .message .topTitle {
	margin-bottom: 70px;
}
#company .message .imgBox {
	display: flex;
	justify-content: space-between;
}
#company .message .imgBox .photoBox {
	width: 38.5%;
}
#company .message .imgBox .photoBox img {
	width: 100%;
}
#company .message .imgBox .textBox {
	width: 54.5%;
}
#company .message .imgBox .textBox .imgtext {
	margin-bottom: 25px;
}
#company .message .imgBox .textBox .imgtext img {
	width: 463px;
}
#company .message .imgBox .textBox p {
	margin-bottom: 24px;
	line-height: 1.68;
}
#company .message .imgBox .textBox .bold {
	font-size: 1.8rem;
	font-family: "源ノ角ゴシック JP Bold";
	letter-spacing: 0.1em;
}
#company .message .imgBox .textBox .taRight {
	text-align: right;
}
#company .message .imgBox .textBox p:last-child {
	margin-bottom: 0;
}
#company .history {
	padding: 1px 0 145px;
	position: relative;
	color: #fff;
	background: url(img/company/bg02.png) no-repeat right top 429px / 711px, url(img/company/bg03.png) no-repeat right 34px bottom -164px / 453px, #1A1A1A;
}
#company .history::before {
	width: 100%;
	height: 156px;
	position: absolute;
	right: 0;
	top: -155px;
	background: #1A1A1A;
	clip-path: polygon(0 0, 100% calc(100% - 1px), 100% 100%, 0 100%);
	content: '';
}
#company .history .content {
	margin-top: -73px;
	max-width: 1210px;
	position: relative;
	z-index: 1;
}
#company .history .content .innerBox {
	max-width: 1008px;
	margin-left: auto;
}
#company .history .topTitle {
	margin-bottom: 47px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
#company .history .imgList {
	padding: 23px 0 77px 27px;
	position: relative;
}
#company .history .imgList::before {
	width: auto;
	height: calc(100% + 5px);
	position: absolute;
	left: 0;
	top: 0;
	border-left: 1px solid #BFBFBF;
	content: '';
}
#company .history .imgList > li:not(:last-child) {
	margin-bottom: 67px;
}
#company .history .year {
	margin-bottom: 6px;
	position: relative;
	font-size: 4.2rem;
	line-height: 1;
}
#company .history .year:last-child {
	margin-bottom: 0;
}
#company .history .year::before {
	margin-top: -2px;
	width: 9px;
	height: 9px;
	position: absolute;
	left: -31px;
	top: 50%;
	background: #fff;
	border-radius: 100%;
	content: '';
	z-index: 1;
	transform: translateY(-50%);
}
#company .history .txtList {
	color: #BFBFBF;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.04em;
}
#company .history .txtList li {
	padding-left: 0.75em;
	text-indent: -0.75em;
}
#company .history .txtList .lrgTxt {
	font-size: 1.7rem;
	font-family: "源ノ角ゴシック JP Medium";
	color: #8791FF;
	letter-spacing: 0.08em;
}
#company .history .txtList a {
	color: inherit;
	text-decoration: underline;
}
#company .history .txtList a:hover {
	text-decoration: none;
}
#company .history .imgBox {
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
#company .history .imgBox:last-child {
	margin-bottom: 0;
}
#company .history .imgBox .textBox {
	flex: 1;
}
#company .history .imgBox .photoBox {
	margin-top: 4px;
	width: 42.2%;
}
#company .history .imgBox .photoBox img {
	width: 100%;
}
#company .history .imgBox .photoBox .photo {
	margin-bottom: 5px;
	position: relative;
}
#company .history .imgBox .photoBox .photo:last-child {
	margin-bottom: 0;
}
#company .history .imgBox .photoBox .photo .txt {
	width: 100%;
	padding: 6px 0 6px 10px;
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	color: #BFBFBF;
	font-size: 1rem;
	letter-spacing: 0;
	font-feature-settings: "palt";
	box-sizing: border-box;
	z-index: 1;
}
#company .history .subBox {
	margin-bottom: 67px;
}
#company .history .subBox:last-child {
	margin-bottom: 0;
}
#company .history .last {
	margin: -10px 0 0 27px;
}
@media all and (max-width: 896px) {
	#company .content {
		margin: -3px 15px 0 14px;
		padding: 39px 20px;
		max-width: inherit;
		background: #fff;
		position: relative;
		z-index: 1;
	}
	#company .topTitle {
		margin-bottom: 23px;
	}
	#company .h3Ttl01 {
		margin-bottom: 18px;
		font-size: 2rem;
	}
	#company .h3Ttl01 .sml {
		margin-bottom: 5px;
		font-size: 1.5rem;
	}
	#company .h3Ttl01 .en {
		margin-top: 11px;
		font-size: 1.2rem;
	}
	#company .management .h3Ttl01 {
		margin-bottom: 30px;
	}
	#company td, #company th {
		padding: 14px 10px 15px;
		width: 100% !important;
		display: block;
		font-size: 1.2rem;
		line-height: 1.8;
		border-top: none;
	}
	#company th {
		padding-left: 10px;
		border-top: none;
	}
	#company tr:first-child th {
		border-top: 1px solid #BFBFBF;
	}
	#company td a:hover {
		text-decoration: underline;
	}
	#company .message {
		margin-top: -27px;
		padding: 90px 0 80px;
		background: #F2F2F7 url(img/company/bg01_sp.jpg) no-repeat center top / 100%;
	}
	#company .message::before {
		height: 70px;
	}
	#company .message .content {
		margin: 0;
		padding: 0 28px;
		background: transparent;
	}
	#company .message .topTitle {
		margin-bottom: 30px;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}
	#company .message .imgBox {
		display: block;
	}
	#company .message .imgBox .photoBox {
		margin: 0 auto 38px;
		width: 77.5%;
	}
	#company .message .imgBox .textBox {
		width: auto;
	}
	#company .message .imgBox .textBox .imgtext {
		margin-bottom: 28px;
	}
	#company .message .imgBox .textBox .imgtext img {
		width: 291px;
	}
	#company .message .imgBox .textBox p {
		margin-bottom: 24px;
		font-size: 1.3rem;
		line-height: 1.94;
	}
	#company .message .imgBox .textBox .bold {
		font-size: 1.7rem;
		letter-spacing: 0.05em;
		line-height: 1.78;
	}
	#company .message .imgBox .textBox p:last-child {
		margin-bottom: 0;
	}
	#company .history {
		padding: 1px 0 118px;
		background: url(img/company/bg02.png) no-repeat right top 313px / 572px, url(img/company/bg03.png) no-repeat right 19px bottom -106px / 294px, #1A1A1A;
	}
	#company .history::before {
		height: 71px;
		top: -70px;
	}
	#company .history .content {
		margin: 0;
		padding: 5px 30px;
		max-width: initial;
		background: transparent;
	}
	#company .history .content .innerBox {
		max-width: initial;
		margin: 0;
	}
	#company .history .topTitle {
		margin-bottom: 25px;
		font-size: 1.2rem;
	}
	#company .history .imgList {
		padding-left: 26px;
	}
	#company .history .imgList > li:not(:last-child) {
		margin-bottom: 50px;
	}
	#company .history .year {
		margin-bottom: 11px;
	}
	#company .history .year:last-child {
		margin-bottom: 0;
	}
	#company .history .year::before {
		left: -30px;
	}
	#company .history .txtList {
		font-size: 1.3rem;
		line-height: 1.538;
	}
	#company .history .txtList li:not(:last-child) {
		margin-bottom: 15px;
	}
	#company .history .txtList li .pho {
		margin: 9px 1px 0 14px;
	}
	#company .history .txtList li .pho img {
		width: 100%;
	}
	#company .history .txtList .lrgTxt {
		font-size: 1.6rem;
		line-height: 1.35;
	}
	#company .history .txtList .lrgTxt:not(:last-child) {
		margin-bottom: 13px;
	}
	#company .history .txtList a:hover {
		text-decoration: underline;
	}
	#company .history .imgBox {
		margin-bottom: 50px;
		display: block;
	}
	#company .history .imgBox .photoBox {
		margin: 9px 1px 0 14px;
		width: auto;
	}
	#company .history .subBox {
		margin-bottom: 44px;
	}
	#company .history .subBox:last-child {
		margin-bottom: 0;
	}
	#company .history .last {
		margin-left: 26px;
	}
}
/*------------------------------------------------------------
	schedule
------------------------------------------------------------*/
#schedule .content {
	max-width: 894px;
}
#schedule section:not(:last-child) {
	margin-bottom: 40px;
}
#schedule h3 {
	margin: -3px 0 1px;
	font-size: 7rem;
	letter-spacing: 0.03em;
}
@media all and (max-width: 896px) {
	#schedule #main {
		margin: 0 20px 70px;
		background: #fff;
	}
	#schedule .content {
		padding: 30px 20px 40px;
		max-width: inherit;
	}
	#schedule section:not(:last-child) {
		margin-bottom: 30px;
	}
	#schedule h3 {
		margin: 0 0 5px;
		font-size: 3rem;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact .pageTitle {
	margin-bottom: 50px;
}
#contact .content {
	max-width: 895px;
}
#contact .mailForm .topTxt {
	margin-bottom: 35px;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}
#contact .mailForm .topTxt.new {
	font-size: 1.4rem;
	line-height: 1.6;
}
#contact .mailForm .topTxt a {
	text-decoration: underline;
}
#contact .mailForm .topTxt a:hover {
	text-decoration: none;
}
#contact .mailForm .must {
	color: #b4272d;
}
#contact .mailForm table {
	width: 100%;
	border-collapse: collapse;
}
#contact .mailForm th, #contact .mailForm td {
	vertical-align: top;
	text-align: left;
	font-family: "源ノ角ゴシック JP Normal";
	font-size: 1.4rem;
	font-weight: normal;
	box-sizing: border-box;
}
#contact .mailForm th {
	padding: 38px 1px 39px;
	width: 21.8%;
	border-top: 1px solid #E5E5E5;
	border-bottom: 1px solid #E5E5E5;
}
#contact .mailForm td {
	padding: 38px 2px 0;
	border-top: 1px solid #BFBFBF;
	border-bottom: 1px solid #BFBFBF;
	word-break: break-all;
}
#contact .mailForm .radioBox {
	margin-bottom: 38px;
}
#contact .mailForm .radioList li {
	margin-bottom: 10px;
}
#contact.confirm .mailForm .radioList li {
	margin-bottom: 0;
}
#contact .mailForm .radioList li:nth-child(n+2) .error {
	display: none;
}
#contact .mailForm input[type="radio"] {
	display: none;
}
#contact .mailForm input[type="radio"] ~ span {
	padding-left: 15px;
	display: inline-block;
	font-family: "源ノ角ゴシック JP Normal";
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	background: url("img/contact/icon.png") no-repeat left center;
	background-size: 13px auto;
	cursor: pointer;
}
#contact .mailForm input[type="radio"]:checked ~ span {
	background-image: url("img/contact/icon_over.png");
}
#contact .mailForm textarea, #contact .mailForm input[type="tel"], #contact .mailForm input[type="email"], #contact .mailForm input[type="text"] {
	padding: 0;
	width: 100%;
	font-family: "源ノ角ゴシック JP Normal";
	font-size: 1.4rem;
	letter-spacing: 0.07em;
	border-radius: 0;
	border: 0;
	background: transparent;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
#contact .mailForm textarea {
	margin: 0;
	height: 181px;
	resize: vertical;
	vertical-align: top;
}
#contact .mailForm .submit {
	margin-top: 42px;
}
#contact .mailForm .submit li {
	margin: 0 10px;
}
#contact .mailForm .submit li input {
	padding: 0;
	width: 142px;
	height: 41px;
	cursor: pointer;
	color: #4255CC;
	font-size: 2rem;
	font-family: "A-OTF 見出ゴMB31 Pro MB31";
	font-weight: normal;
	letter-spacing: 0;
	box-sizing: border-box;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid #4255CC;
	background: transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
#contact .mailForm .submit li:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#contact .pageTitle {
		margin-bottom: 0;
	}
	#contact #main {
		margin: 0 20px 70px;
		background: #fff;
	}
	#contact .content {
		padding: 40px 20px;
		max-width: inherit;
	}
	#contact .mailForm .topTxt {
		margin-bottom: 20px;
		font-size: 1.3rem;
	}
	#contact .mailForm .topTxt.new {
		margin-bottom: 20px;
		font-size: 1.3rem;
		line-height: 1.8;
	}
	#contact .mailForm .topTxt a:hover {
		text-decoration: underline;
	}
	#contact .mailForm table {
		border-top: 1px solid #BFBFBF;
	}
	#contact .mailForm th,
	#contact .mailForm td {
		width: 100% !important;
		display: block;
		font-size: 1.2rem;
	}
	#contact .mailForm th {
		padding: 15px 0;
		border-top: none;
	}
	#contact .mailForm td {
		padding: 15px 0;
		border-top: none;
	}
	#contact .mailForm .radioBox {
		margin-bottom: 0;
	}
	#contact .mailForm .radioList li {
		margin: 0 0 10px;
		display: block;
	}
	#contact .mailForm .radioList li:last-child {
		margin-bottom: 0;
	}
	#contact .mailForm input[type="radio"] ~ span {
		padding-left: 13px;
		font-size: 1.2rem;
		background-size: 10px auto;
	}
	#contact .mailForm textarea, #contact .mailForm input[type="tel"], #contact .mailForm input[type="email"], #contact .mailForm input[type="text"] {
		font-size: 1.2rem;
	}
	#contact .mailForm textarea {
		margin-bottom: -15px;
		height: 140px;
	}
	#contact .mailForm .submit {
		margin: 30px auto 0;
		max-width: 180px;
		display: block;
	}
	#contact .mailForm .submit li {
		margin: 20px 0 0;
	}
	#contact .mailForm .submit li:not(:first-child) {
		margin-top: 20px;
	}
	#contact .mailForm .submit li input {
		padding: 8px 0;
		width: 100%;
		height: auto;
		font-size: 1.6rem;
	}
	#contact .mailForm .submit li:hover {
		opacity: 1;
	}
}
/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
#privacy .pageTitle {
	margin-bottom: 50px;
}
#privacy .content {
	max-width: 895px;
}
#privacy .topTxt {
	padding-bottom: 22px;
	font-size: 1.6rem;
	letter-spacing: 0.08em;
	line-height: 1.65;
	border-bottom: 1px solid #BFBFBF;
}
#privacy .secBox {
	padding: 26px 0 27px;
	border-bottom: 1px solid #BFBFBF;
}
#privacy .secBox h3 {
	margin-bottom: 19px;
	padding-left: 1.25em;
	text-indent: -1.25em;
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.08em;
}
#privacy .secBox:first-of-type {
	padding-top: 24px;
}
#privacy .secBox:first-of-type h3 {
	margin-bottom: 16px;
}
#privacy .secBox p {
	margin-bottom: 23px;
	font-size: 1.3rem;
	line-height: 1.74;
	letter-spacing: 0.08em;
}
#privacy .secBox p:last-child {
	margin-bottom: 0 !important;
}
#privacy .textList li {
	padding-left: 0.95em;
	text-indent: -0.95em;
	font-size: 1.3rem;
	line-height: 1.78;
	letter-spacing: 0.08em;
}
#privacy .textList01 li {
	line-height: 1.75;
	letter-spacing: 0.08em;
}
#privacy .secBox p a {
	text-decoration: underline;
}
#privacy .secBox p a:hover {
	text-decoration: none;
}
@media all and (max-width: 896px) {
	#privacy .pageTitle {
		margin-bottom: 0;
	}
	#privacy #main {
		margin: 0 20px 70px;
		background: #fff;
	}
	#privacy .content {
		padding: 40px 20px;
		max-width: inherit;
	}
	#privacy .topTxt {
		padding-bottom: 15px;
		font-size: 1.4rem;
	}
	#privacy .secBox {
		padding: 15px 0;
	}
	#privacy .secBox h3 {
		margin-bottom: 10px;
		font-size: 1.4rem;
	}
	#privacy .secBox:first-of-type {
		padding-top: 15px;
	}
	#privacy .secBox:first-of-type h3 {
		margin-bottom: 10px;
	}
	#privacy .secBox p {
		margin-bottom: 10px;
		font-size: 1.2rem;
	}
	#privacy .textList li {
		font-size: 1.2rem;
	}
	#privacy .secBox p a:hover {
		text-decoration: underline;
	}
}
/*------------------------------------------------------------
	creator
------------------------------------------------------------*/
#creator .pageTitle {
	margin-bottom: 5px;
}
#creator .creatorBox .inner {
	margin-top: 96px;
	width: 30.2%;
}
#creator .creatorBox .inner:nth-of-type(1) {
	margin-top: 0;
}
#creator .creatorBox .inner:nth-of-type(2) {
	margin-top: 46px;
}
#creator .creatorBox .inner:nth-of-type(3) {
	margin-top: 118px;
	padding-bottom: 25px;
}
#creator .creatorBox .photo {
	margin-bottom: 19px;
}
#creator .creatorBox .subBox {
	margin: 0 10px;
	max-width: 310px;
}
#creator .creatorBox h3 {
	margin-bottom: 25px;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	font-weight: normal;
}
#creator .creatorBox h3 .post {
	display: block;
	color: #8C8C8C;
	letter-spacing: 0.08em;
}
#creator .creatorBox h3 .en {
	margin: 18px 0 4px;
	display: block;
	font-size: 7.2rem;
	line-height: 0.9;
	letter-spacing: 0.02em;
}
#creator .creatorBox p {
	margin-bottom: 26px;
	line-height: 1.86;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	text-align: justify;
	text-justify: inter-ideograph;
}
#creator .creatorBox .snsUl {
	margin: 0 3px 25px;
}
#creator .creatorBox .snsUl:last-child {
	margin-bottom: 0;
}
#creator .creatorBox .snsUl li {
	margin-right: 12px;
	display: inline;
}
#creator .creatorBox .snsUl li a {
	padding-right: 15px;
	display: inline-block;
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	text-decoration: underline;
	background: url("img/common/icon03.png") no-repeat right center / 9px;
}
#creator .creatorBox .snsUl li a:hover {
	text-decoration: none;
}
#creator .creatorBox .txtBox {
	margin-bottom: 28px;
	max-width: 380px;
}
#creator .creatorBox .txtBox:last-child {
	margin-bottom: 0 !important;
}
#creator .creatorBox .txtBox p {
	margin-bottom: 0;
}
#creator .creatorBox .txtList li {
	margin-bottom: 2px;
	padding-left: 0.7em;
	text-indent: -0.7em;
	font-size: 1.4rem;
	line-height: 1.78;
	letter-spacing: 0.08em;
	text-align: justify;
	text-justify: inter-ideograph;
}
#creator .creatorBox .txtList li:last-child {
	margin-bottom: 0 !important;
}
@media all and (max-width: 1100px) {
	#creator .creatorBox h3 .en {
		font-size: 6.5vw;
	}
}
@media all and (max-width: 896px) {
	#creator .pageTitle {
		margin-bottom: 0;
	}
	#creator #main {
		margin: 0 20px 70px;
		padding: 30px 0;
		background: #fff;
	}
	#creator .creatorBox {
		display: block;
	}
	#creator .creatorBox .inner {
		margin: 30px 0 0 !important;
		width: auto;
	}
	#creator .creatorBox .inner:nth-of-type(1) {
		margin-top: 0 !important;
	}
	#creator .creatorBox .inner:nth-of-type(3) {
		padding-bottom: 0;
	}
	#creator .creatorBox .photo {
		margin-bottom: 15px;
		text-align: center;
	}
	#creator .creatorBox .subBox {
		margin: 0 10px;
		max-width: inherit;
	}
	#creator .creatorBox h3 {
		margin-bottom: 15px;
		font-size: 1.2rem;
	}
	#creator .creatorBox h3 .en {
		margin: 2px 0 0;
		font-size: 3.6rem;
		line-height: 1;
	}
	#creator .creatorBox p {
		margin-bottom: 15px;
		font-size: 1.2rem;
	}
	#creator .creatorBox .snsUl {
		margin: 0 0 15px;
	}
	#creator .creatorBox .snsUl:last-child {
		margin-bottom: 0;
	}
	#creator .creatorBox .snsUl li {
		margin-right: 8px;
	}
	#creator .creatorBox .snsUl li a {
		font-size: 1.6rem;
	}
	#creator .creatorBox .snsUl li a:hover {
		text-decoration: underline;
	}
	#creator .creatorBox .txtBox {
		margin-bottom: 15px;
		max-width: inherit;
	}
	#creator .creatorBox .txtBox p {
		margin-bottom: 0;
		text-align: left;
	}
	#creator .creatorBox .txtList li {
		font-size: 1.2rem;
		text-align: left;
	}
}
/*------------------------------------------------------------
	about
------------------------------------------------------------*/
#about #main {
	margin-bottom: 0;
}
#about .sec01 {
	padding-bottom: 154px;
	width: 100%;
	position: relative;
	background: url("img/about/bg01.png") no-repeat left top / 578px auto, url("img/about/bg02.png") no-repeat right top / 708px auto, url("img/about/bg04.png") no-repeat right bottom / 354px auto;
}
#about .sec01 .bg {
	width: 587px;
	position: absolute;
	left: 0;
	bottom: 0;
}
#about .sec01 .content {
	overflow: hidden;
	padding-top: 115px;
	max-width: 1316px;
	position: relative;
	z-index: 1;
}
#about .sec01 .fixedBox {
	padding-top: 115px;
	width: 50%;
	position: fixed;
	left: 0;
	bottom: 0;
	height: 100%;
	box-sizing: border-box;
}
#about .sec01 .ttlBox {
	margin-left: auto;
	padding-left: 90px;
	max-width: 675px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
#about .sec01 .ttlBox h2 {
	margin-bottom: 21px;
	max-width: 142px;
}
#about .sec01 .ttlBox .text01 {
	margin-bottom: 9px;
	font-size: 5.8rem;
	letter-spacing: 0.12em;
}
#about .sec01 .ttlBox .text01 .sml {
	font-size: 4.7rem;
}
#about .sec01 .ttlBox .text02 {
	font-size: 1.4rem;
	letter-spacing: 0.24em;
}
#about .sec01 .textBox {
	margin: 99px 0 0 -2px;
	width: calc(50% + 2px);
	float: right;
	box-sizing: border-box;
}
#about .sec01 .textBox .imgtext {
	margin-bottom: 49px;
	position: relative;
	overflow: hidden;
}
#about .sec01 .textBox .imgtext01 {
	margin-bottom: 89px;
}
#about .sec01 .textBox .imgtext02 {
	margin-bottom: 25px;
}
#about .sec01 .textBox .imgtext:last-child {
	margin-bottom: 0;
}
#about .sec01 .textBox .imgtext .black {
	overflow: hidden;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	opacity: 0;
	transition: all 1s linear;
}
#about .sec01 .textBox .imgtext.show .black {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
#about .sec01 .textBox .imgtext .black span {
	display: block;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	transition: all 1s linear;
}
#about .sec01 .textBox .imgtext.show .black span {
	transform: translateY(0);
}
#about .sec02 {
	position: relative;
	padding: 166px 0 60px;
	color: #fff;
}
#about .sec02 .videoBox {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	z-index: 1;
}
#about .sec02 .videoBox::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	opacity: 0.7;
	content: "";
	z-index: 1;
}
#about .sec02 .videoBox video {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 0;
}
#about .sec02 .content {
	position: relative;
	z-index: 2;
}
#about .sec02 h3 {
	margin-bottom: 21px;
	text-align: center;
}
#about .sec02 h3 img {
	width: 402px;
}
#about .sec02 h3 .en {
	margin-top: 21px;
	display: block;
	font-size: 1.2rem;
	letter-spacing: 0.24em;
}
#about .sec02 .textBox {
	margin: 0 auto;
	max-width: 672px;
}
#about .sec02 .textBox p {
	margin-bottom: 35px;
	text-align: justify;
	font-size: 1.6rem;
	line-height: 2.26;
	letter-spacing: 0.18em;
}
#about .sec02 .textBox p:last-child {
	margin-bottom: 0;
}
@media all and (min-width: 897px) and (max-width: 1280px) {
	#about .sec01 .ttlBox .text01 {
		font-size: 4.5vw;
		letter-spacing: 0;
	}
	#about .sec01 .bg {
		width: 45.85vw;
	}
}
@media all and (max-width: 896px) {
	#about .sec01 {
		padding-bottom: 0;
		background: url("img/about/sp_bg01.png") no-repeat left top / 375px auto, url("img/about/sp_bg02.png") no-repeat right top / 115px auto;
	}
	#about .sec01 .bg {
		width: 252px;
	}
	#about .sec01 .content {
		padding: 69px 20px 78px 39px;
		max-width: inherit;
		display: block;
	}
	#about .sec01 .fixedBox {
		width: 100%;
	}
	#about .sec01 .ttlBox {
		margin-bottom: 31px;
		padding-left: 0;
		width: auto;
	}
	#about .sec01 .ttlBox .inner {
		margin: 0;
		max-width: inherit;
	}
	#about .sec01 .ttlBox h2 {
		margin-bottom: 10px;
		max-width: 75px;
	}
	#about .sec01 .ttlBox .text01 {
		margin-bottom: 7px;
		font-size: 3.2rem;
		letter-spacing: 0.15em;
	}
	#about .sec01 .ttlBox .text01 .sml {
		font-size: 2.7rem;
	}
	#about .sec01 .ttlBox .text02 {
		font-size: 0.9rem;
		letter-spacing: 0.28em;
	}
	#about .sec01 .textBox {
		margin: 0;
		width: auto;
	}
	#about .sec01 .textBox .imgtext {
		margin: 0 -16px 24px -2px;
	}
	#about .sec01 .textBox .imgtext01 {
		margin-bottom: 45px;
	}
	#about .sec01 .textBox .imgtext02 {
		margin-bottom: 13px;
		margin: 0 -3px 13px -2px;
	}
	#about .sec01 .textBox .imgtext03 {
		margin-right: -6px;
	}
	#about .sec01 .textBox .imgtext:last-child {
		margin-bottom: 0;
	}
	#about .sec01 .textBox .imgtext .black {
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}
	#about .sec02 {
		padding: 66px 0 30px;
		background-image: url("img/about/sp_bg05.jpg");
	}
	#about .sec02 h3 {
		margin-bottom: 38px;
	}
	#about .sec02 h3 img {
		width: 260px;
	}
	#about .sec02 h3 .en {
		margin-top: 15px;
		font-size: 0.9rem;
	}
	#about .sec02 .textBox {
		max-width: 85%;
	}
	#about .sec02 .textBox p {
		margin-bottom: 20px;
		font-size: 1.25rem;
		line-height: 1.75;
		letter-spacing: 0.18em;
	}
	#about .sec02 .textBox p:last-child {
		margin-bottom: 0;
	}
}
@media all and (max-width: 359px) {
	#about .sec01 .content {
		padding-left: 30px;
	}
	#about .sec01 .ttlBox .text01 {
		letter-spacing: 0.05em;
	}
}
/*------------------------------------------------------------
	contact thanks
------------------------------------------------------------*/
#contact .thanks p {
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}
@media all and (max-width: 896px) {
	#contact .thanks p {
		font-size: 1.3rem;
	}
}
.moveUp.show img {
	opacity: 1 !important;
	-webkit-transform: translateY(0) !important;
	transform: translateY(0) !important;
}
.fadeIn {
	opacity: 0;
	transition: all .5s ease;
}
.fadeIn.show {
	opacity: 1;
}
.fadeInUp {
	opacity: 0;
	-webkit-transform: translateY(3rem);
	transform: translateY(3rem);
	transition: all .5s ease;
}
.fadeInUp.show {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
/* logoページ作成
-------------------- */
.logo-inner {
	width: 728px;
	margin: 0 auto;
	max-width: 100%;
}
.logo-img {
	text-align: center;
	padding-bottom: 65px;
	border-bottom: 1px solid #E5E5E5;
	margin-bottom: 40px;
}
.logo-p1 {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
	font-size: 2.3rem;
	line-height: 23px;
	letter-spacing: 2px;
	color: #000000;
	margin-bottom: 30px;
}
.logo-p2 {
	font-size: 1.3rem;
	line-height: 28px;
	letter-spacing: 1px;
	color: #000000;
	margin-bottom: 30px;
}
.logo-p2.mb {
	margin-bottom: 0;
}
.logo-sec1 {
	margin-bottom: 12px;
}
.logo-sec2 {
	padding-bottom: 185px;
	background-color: white;
	position: relative;
	padding-top: 268px;
}
.logo-sec2::after {
	width: 100%;
	height: 200px;
	position: absolute;
	left: 0;
	top: -1px;
	background: url(img/logo/bg01.png) no-repeat center center / 100% 100%;
	content: "";
}
.logo-sec3 {
	padding: 67px 0 0;
	position: relative;
}
.logo-sec3::before {
	width: 100%;
	height: 155px;
	position: absolute;
	left: 0;
	top: -155px;
	background: url(img/logo/bg02.png) no-repeat center center / 100% 100%;
	content: "";
}
.logo-sec4 {
	padding-top: 244px;
	padding-bottom: 92px;
}
.logo-sec4::after {
	top: -8px;
}
.logo-sec4 .logo-img {
	padding-bottom: 28px;
}
.about-logo-sec {
	background-color: white;
	padding: 80px 0;
	transition: 0.3s;
	position: relative;
	cursor: pointer;
}
.about-logo-sec a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: block;
	z-index: 1;
}
.about-logo-flex-item2 img {
	transition: 0.3s;
}
.about-logo-sec:hover {
	opacity: 0.6;
}
.about-logo-sec:hover .about-logo-flex-item2 img {
	transform: scale(1.03);
}
.about-logo-inner {
	width: 974px;
	margin: 0 auto;
	max-width: 100%;
}
.about-logo-flex-container {
	align-items: center;
	position: relative;
}
.about-logo-flex-item1 {
	box-sizing: border-box;
	margin-top: 10px;
	padding: 20px 9px 20px 0;
	width: 24%;
	text-align: center;
	border-right: 1px solid rgba(0, 0, 0, 0.35);
}
.about-logo-flex-item2 {
	box-sizing: border-box;
	padding-left: 10px;
	flex: 1;
	text-align: center;
}
.about-logo-flex-item2 img {
	width: 614px;
}
@media all and (max-width: 896px) {
	.logo-p1, .logo-p2 {
		padding: 0 20px;
	}
	.logo-p1 {
		font-size: 2rem;
		line-height: 28px;
		margin-bottom: 25px;
	}
	.logo-p2 {
		font-size: 1.1rem;
		line-height: 20px;
		margin-bottom: 25px;
	}
	.logo-sec1 {
		margin-bottom: 40px;
		padding: 0 20px;
	}
	.logo-sec2 {
		padding: 132px 20px 95px;
	}
	.logo-img img {
		width: 65%;
	}
	.logo-sec2::after {
		height: 80px;
		background: url(img/logo/bg01-sp.png) no-repeat center center / 100% 100%;
	}
	.logo-sec3 {
		padding: 58px 20px 50px;
	}
	.logo-sec3::before {
		height: 70px;
		top: -70px;
		background-image: url(img/logo/bg02-sp.png);
	}
	.logo-sec3 .logo-img {
		margin-bottom: 30px;
		padding-bottom: 41px;
	}
	.logo-sec3 .logo-img img {
		width: 62.8%;
	}
	.about-logo-sec-sp {
		text-align: center;
		background-color: white;
	}
	.about-logo-sec-sp a {
		display: block;
	}
	.about-logo-sec-sp img {
		width: 100%;
	}
}
.comp-hover {
	text-decoration: underline;
}
.comp-hover:hover {
	text-decoration: unset;
}
.hikoukai-p {
	text-align: center;
	padding: 150px 0 300px;
	font-size: 1.8rem;
}
@media all and (max-width: 896px) {
	.hikoukai-p {
		padding: 200px 0 300px;
	}
}
/*------------------------------------------------------------
	agent
------------------------------------------------------------*/
#agent {
	position: relative;
}
#agent::before {
	width: 578px;
	position: absolute;
	left: 0;
	top: 0;
	aspect-ratio: 578/454;
	background: url(img/agent/bg01.png) no-repeat left top / 100%;
	content: '';
}
#agent::after {
	width: 708px;
	position: absolute;
	right: 0;
	top: 0;
	aspect-ratio: 708/490;
	background: url(img/agent/bg02.png) no-repeat right top / 100%;
	content: '';
}
#agent #main {
	margin-bottom: 0;
}
#agent .pageTitle {
	padding-bottom: 95px;
	position: relative;
	z-index: 1;
}
#agent .pageTitle h2 .img {
	display: none;
}
#agent .content {
	max-width: 900px;
	position: relative;
	z-index: 1;
}
#agent .sec01 h3 {
	margin-bottom: 43px;
	font-size: 4.6rem;
	letter-spacing: 0.14em;
}
#agent .sec01 .imgBox {
	display: flex;
	justify-content: space-between;
}
#agent .sec01 .imgBox .textBox {
	margin-left: 2px;
	width: 40%;
}
#agent .sec01 .imgBox .textBox p {
	text-align: justify;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.16em;
}
#agent .sec01 .imgBox .photoBox {
	margin-top: 8px;
	width: 50.9%;
}
#agent .sec01 .imgBox .photoBox img {
	width: 421px;
}
#agent .heading01 {
	margin-bottom: 23px;
}
#agent .heading01 .txt01 {
	margin-bottom: 33px;
	display: block;
	font-size: 2rem;
	letter-spacing: 0.03em;
}
#agent .heading01 .txt02 {
	margin-bottom: 6px;
	display: block;
	font-size: 3.9rem;
	letter-spacing: 0.04em;
}
#agent .heading01 .txt03 {
	display: block;
	color: #BFBFBF;
	font-size: 1.5rem;
	letter-spacing: 0.04em;
}
#agent .intro {
	margin-bottom: 14px;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.16em;
}
#agent .sec02 {
	margin: -29px 0 220px;
	position: relative;
}
#agent .sec02::before {
	width: 100%;
	position: absolute;
	left: 0;
	top: -126px;
	bottom: -172px;
	background: #fff;
	clip-path: polygon(0 0, 100% 155px, 100% calc(100% - 155px), 0 100%);
	content: '';
}
#agent .sec02 .txtList {
	margin-bottom: 49px;
	display: flex;
	gap: 7px;
}
#agent .sec02 .txtList li {
	box-sizing: border-box;
	padding: 18px 10px 22px;
	width: calc((100% - 28px) / 5);
	display: flex;
	align-items: center;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	text-align: center;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.08em;
	background: rgba(234, 234, 234, 0.95);
}
#agent .sec02 .txtList li p {
	width: 100%;
}
#agent .sec02 .txtList li .num {
	font-size: 1.3rem;
	line-height: 1.4;
	letter-spacing: 0.03em;
}
#agent .sec02 .parnter {
	padding-top: 44px;
	border-top: 1px solid #E1E1E1;
}
#agent .sec02 .parnter .heading01 {
	margin-bottom: 43px;
}
#agent .sec02 .parnter .intro {
	margin-bottom: 30px;
}
#agent .sec02 .partnerList {
	margin: 0 3px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px 6.8%;
}
#agent .sec02 .partnerList li {
	width: 28.8%;
}
#agent .sec02 .partnerList li .photo {
	margin-bottom: 2px;
}
#agent .sec02 .partnerList li .photo a {
	display: block;
}
#agent .sec02 .partnerList li .photo a:hover {
	opacity: 0.7;
}
#agent .sec02 .partnerList li .photo img {
	width: 100%;
}
#agent .sec02 .partnerList li .name {
	font-size: 3rem;
}
#agent .sec02 .partnerList li .name .en {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
}
#agent .sec02 .partnerList li .txt {
	margin-top: 7px;
	font-size: 1.4rem;
	color: #808080;
	letter-spacing: 0.08em;
}
#agent .sec03 .ttlBox {
	margin-bottom: 125px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 0 6.8%;
}
#agent .sec03 .ttlBox .heading01 {
	margin-bottom: 6px;
	flex-shrink: 0;
}
#agent .sec03 .ttlBox .rBox {
	flex: 1;
}
#agent .sec03 .ttlBox .rBox p {
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.16em;
}
#agent .sec03 .event {
	padding: 72px 0 80px;
	color: #fff;
	background: #000;
}
#agent .sec03 .event .content {
	max-width: 1212px;
}
#agent .sec03 .event h4 {
	margin-bottom: 16px;
	text-align: center;
	font-size: 2rem;
	letter-spacing: 0.03em;
	position: relative;
	z-index: 2;
}
#agent .sec03 .event .cTxt {
	margin-bottom: 31px;
	text-align: center;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.16em;
	position: relative;
	z-index: 2;
}
#agent .sec03 .eventList {
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
#agent .sec03 .eventList::before {
	width: 375px;
	position: absolute;
	left: -108px;
	top: -78px;
	aspect-ratio: 375/273;
	background: url(img/agent/img02.png) no-repeat left top / 100%;
	content: '';
}
#agent .sec03 .eventList::after {
	width: 458px;
	position: absolute;
	right: -47px;
	bottom: -9px;
	aspect-ratio: 458/250;
	background: url(img/agent/img03.png) no-repeat left top / 100%;
	content: '';
}
#agent .sec03 .eventList li {
	width: 25%;
	position: relative;
	aspect-ratio: 1521/855;
	z-index: 1;
}
#agent .sec03 .eventList li a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}
#agent .sec03 .eventList li .photo {
	width: 100%;
	height: 100%;
	overflow: hidden;
}
#agent .sec03 .eventList li .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.5s;
	will-change: transform;
}
#agent .sec03 .eventList li .txtBox {
	box-sizing: border-box;
	padding: 10px 15px;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	color: #fff;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: 0.5s;
	z-index: 1;
}
#agent .sec03 .eventList li .txtBox .name {
	margin-bottom: 8px;
	padding-bottom: 8px;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
	line-height: 1.315;
	border-bottom: 1px solid #fff;
}
#agent .sec03 .eventList li .txtBox .text {
	margin-bottom: 5px;
	font-size: 1.3rem;
	font-family: "源ノ角ゴシック JP Medium";
	letter-spacing: 0.04em;
	line-height: 1.571;
	overflow: hidden;
	word-wrap: break-word;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}
#agent .sec03 .eventList li .txtBox .date {
	font-size: 1.3rem;
	letter-spacing: 0.12em;
}
#agent .cta {
	padding: 58px 0 54px;
	text-align: center;
	background: #fff;
}
#agent .cta h3 {
	margin-bottom: 29px;
}
#agent .cta h3 img {
	width: 178px;
}
#agent .cta p {
	margin-bottom: 25px;
	font-size: 1.4rem;
	line-height: 1.68;
	letter-spacing: 0.2em;
}
#agent .cta .link a {
	display: inline-block;
	padding-bottom: 5px;
	position: relative;
	font-size: 1.5rem;
	color: #4255CC;
	letter-spacing: 0.24em;
}
#agent .cta .link a::after {
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #4255CC;
	transition: 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
	content: '';
}
@media all and (min-width: 897px) {
	#agent .sec03 .eventList li:hover .photo img {
		transform: scale(1.03);
		filter: blur(5px);
	}
	#agent .sec03 .eventList li:hover .txtBox {
		opacity: 1;
	}
	#agent .cta .link a:hover:after {
		width: 0;
		left: auto;
		right: 0;
	}
}
@media all and (min-width: 897px) and (max-width: 1216px) {
	#agent .sec03 .eventList li .txtBox {
		padding: 1.645vw 2.056vw;
	}
	#agent .sec03 .eventList li .txtBox .name {
		margin-bottom: 0.658vw;
		padding-bottom: 0.658vw;
		font-size: 1.563vw;
	}
	#agent .sec03 .eventList li .txtBox .text {
		margin-bottom: 0.411vw;
		font-size: 1.151vw;
	}
	#agent .sec03 .eventList li .txtBox .date {
		font-size: 1.151vw;
		letter-spacing: 0.06em;
	}
}
@media all and (max-width: 896px) {
	#agent::before,
	#agent::after {
		display: none;
	}
	#agent .pageTitle {
		padding: 70px 40px 16px;
	}
	#agent .pageTitle::before {
		display: none;
	}
	#agent .pageTitle h2 {
		text-align: left;
		font-size: initial;
		line-height: 1;
	}
	#agent .pageTitle h2 .txt {
		display: none;
	}
	#agent .pageTitle h2 .img {
		width: 164px;
		display: block;
	}
	#agent .content {
		padding: 0 40px;
		max-width: initial;
	}
	#agent .sec01 h3 {
		margin-bottom: 23px;
		font-size: 3.25rem;
		line-height: 1.32;
	}
	#agent .sec01 .imgBox {
		display: block;
	}
	#agent .sec01 .imgBox .textBox {
		margin: 0 0 26px;
		width: auto;
	}
	#agent .sec01 .imgBox .textBox p {
		font-size: 1.3rem;
		line-height: 1.615;
	}
	#agent .sec01 .imgBox .photoBox {
		margin: 0 -29px 0 31px;
		width: auto;
		text-align: center;
	}
	#agent .sec01 .imgBox .photoBox img {
		width: auto;
	}
	#agent .heading01 {
		margin-bottom: 15px;
	}
	#agent .heading01 .txt01 {
		margin-bottom: 23px;
		font-size: 2rem;
	}
	#agent .heading01 .txt02 {
		margin-bottom: 2px;
		font-size: 2.6rem;
		letter-spacing: 0.07em;
	}
	#agent .heading01 .txt03 {
		font-size: 1.3rem;
	}
	#agent .intro {
		text-align: justify;
		font-size: 1.3rem;
		line-height: 1.769;
		letter-spacing: 0.08em;
	}
	#agent .sec02 {
		margin: -10px 0 98px;
	}
	#agent .sec02::before {
		top: -72px;
		bottom: -70px;
		clip-path: polygon(0 0, 100% 69px, 100% calc(100% - 69px), 0 100%);
	}
	#agent .sec02 .txtList {
		margin-bottom: 38px;
		display: block;
	}
	#agent .sec02 .txtList li {
		margin-bottom: 2px;
		padding: 8px 10px 12px;
		width: auto;
		gap: 10px;
	}
	#agent .sec02 .txtList li:last-child {
		margin-bottom: 0;
	}
	#agent .sec02 .txtList li p {
		width: auto;
	}
	#agent .sec02 .txtList li .num {
		margin-top: 2px;
		width: 2.4em;
		font-size: 1.3rem;
		line-height: 1.4;
		letter-spacing: 0.03em;
	}
	#agent .sec02 .txtList li .text {
		flex: 1;
		text-align: left;
		line-height: 1.97;
		letter-spacing: 0.14em;
	}
	#agent .sec02 .parnter {
		padding-top: 30px;
	}
	#agent .sec02 .parnter .heading01 {
		margin-bottom: 28px;
	}
	#agent .sec02 .parnter .intro {
		margin-bottom: 26px;
	}
	#agent .sec02 .partnerList {
		margin: 0;
		justify-content: space-between;
		gap: 29px 0;
	}
	#agent .sec02 .partnerList li {
		width: 44.6%;
	}
	#agent .sec02 .partnerList li .name {
		font-size: 2.4rem;
	}
	#agent .sec02 .partnerList li .txt {
		margin-top: 2px;
		font-size: 1.2rem;
	}
	#agent .sec03 .ttlBox {
		margin-bottom: 53px;
		display: block;
	}
	#agent .sec03 .ttlBox .heading01 {
		margin-bottom: 15px;
	}
	#agent .sec03 .ttlBox .rBox p {
		text-align: justify;
		font-size: 1.3rem;
		line-height: 1.769;
		letter-spacing: 0.08em;
	}
	#agent .sec03 .event {
		padding: 49px 0 52px;
	}
	#agent .sec03 .event .content {
		margin: 0 20px;
		padding: 0;
		max-width: initial;
	}
	#agent .sec03 .event .cTxt {
		margin-bottom: 31px;
		font-size: 1.3rem;
		line-height: 1.769;
		letter-spacing: 0.08em;
	}
	#agent .sec03 .eventList::before {
		width: 140px;
		left: -20px;
		top: -193px;
		aspect-ratio: 140/160;
		background-image: url(img/agent/img02_sp.png);
	}
	#agent .sec03 .eventList::after {
		width: 225px;
		right: -20px;
		bottom: 2px;
		aspect-ratio: 225/123;
		background-image: url(img/agent/img03_sp.png);
	}
	#agent .sec03 .eventList li {
		width: 50%;
	}
	#agent .sec03 .eventList li .txtBox {
		display: none;
	}
	#agent .cta {
		padding: 53px 0 46px;
	}
	#agent .cta .content {
		padding: 0 20px !important;
	}
	#agent .cta h3 {
		margin-bottom: 25px;
	}
	#agent .cta h3 img {
		width: 137px;
	}
	#agent .cta p {
		margin-bottom: 27px;
		font-size: 1.3rem;
		line-height: 1.769;
		letter-spacing: 0.08em;
	}
	#agent .cta .link a {
		padding-bottom: 1px;
		font-size: 1.3rem;
	}
}
@media all and (max-width: 374px) {
	#agent .content {
		padding: 0 30px;
	}
	#agent .sec02 .partnerList li p .en {
		font-size: 2.5rem;
	}
}
/*------------------------------------------------------------
	member
------------------------------------------------------------*/
#member .pageTitle {
	padding-bottom: 93px;
}
#member .heading {
	margin-bottom: 19px;
	font-size: 4.2rem;
	line-height: 1.2;
	letter-spacing: 0.04em;
}
#member .staffList {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
#member .staffList li {
	width: calc((100% - 60px) / 3);
}
#member .staffList li a {
	padding: 15px;
	width: 100%;
	height: 100%;
	display: flex;
	gap: 20px;
	box-sizing: border-box;
	background: #fff;
}
#member .staffList li a:hover {
	opacity: 0.7;
}
#member .staffList li .photo {
	width: 42.5%;
	display: block;
}
#member .staffList li .photo img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}
#member .staffList li .textBox {
	padding-top: 2px;
	display: block;
	flex: 1;
}
#member .staffList li .textBox .name {
	margin-bottom: 34px;
	display: block;
	font-size: 2.2rem;
	letter-spacing: 0.08em;
}
#member .staffList li .textBox .name .en {
	margin-top: 5px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
}
#member .staffList li .textBox .tag {
	display: block;
	font-size: 1.3rem;
	color: #808080;
}
#member .secBox {
	margin-bottom: 53px;
}
#member #main {
	margin-bottom: 150px;
}
@media all and (max-width: 896px) {
	#member .pageTitle {
		padding-bottom: 50px;
	}
	#member .pageTitle::before {
		height: 300px;
	}
	#member .heading {
		font-size: 3.4rem;
	}
	#member .staffList {
		gap: 16px 0;
		justify-content: space-between;
	}
	#member .staffList li {
		width: calc(50% - 8px);
	}
	#member .staffList li a {
		display: block;
	}
	#member .staffList li .photo {
		width: auto;
	}
	#member .staffList li .textBox {
		padding-top: 8px;
	}
	#member .staffList li .textBox .name {
		margin-bottom: 20px;
		font-size: 2rem;
	}
	#member .staffList li .textBox .name .en {
		margin-top: 3px;
	}
	#member .secBox {
		margin-bottom: 45px;
	}
	#member #main {
		margin-bottom: 60px;
	}
}
/*------------------------------------------------------------
	member-detail
------------------------------------------------------------*/
#member-detail #main {
	margin-bottom: 0;
	background: #fff;
}
#member-detail .pageTitle {
	background: #F1F1F1;
	position: relative;
	z-index: 2;
}
#member-detail .profile {
	padding-top: 79px;
	position: relative;
}
#member-detail .profile::before {
	width: 100%;
	height: calc(100% + 85px);
	position: absolute;
	left: 0;
	top: 0;
	background: #F1F1F1;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 154px));
	content: '';
}
#member-detail .content {
	max-width: 896px;
	position: relative;
	z-index: 3;
}
#member-detail .profile {
	margin-bottom: 44px;
}
#member-detail .profile .imgBox {
	display: flex;
	gap: 0 6.7%;
}
#member-detail .profile .imgBox .photo {
	width: 41.5%;
}
#member-detail .profile .imgBox .photo img {
	width: 100%;
}
#member-detail .profile .imgBox .textBox {
	margin-top: -4px;
	flex: 1;
}
#member-detail .profile .imgBox .textBox .heading {
	margin-bottom: 27px;
}
#member-detail .profile .imgBox .textBox .heading .txt01 {
	margin-bottom: 5px;
	display: block;
	font-size: 1.6rem;
	font-weight: normal;
	color: #808080;
	line-height: 1.3;
}
#member-detail .profile .imgBox .textBox .heading .txt02 {
	margin-bottom: 12px;
	display: block;
	font-size: 4.2rem;
	letter-spacing: 0.08em;
}
#member-detail .profile .imgBox .textBox .heading .txt03 {
	font-size: 1.8rem;
	letter-spacing: 0.06em;
}
#member-detail .profile .imgBox .textBox p {
	margin-bottom: 26px;
	font-size: 1.4rem;
	color: #808080;
	line-height: 1.85;
	letter-spacing: 0.1em;
}
#member-detail .profile .imgBox .textBox .sns {
	padding-top: 24px;
	border-top: 1px solid #BEBEBE;
	font-size: 1.2rem;
	letter-spacing: 0.16em;
}
#member-detail .profile .imgBox .textBox .sns a {
	color: #4255CB;
	text-decoration: underline;
}
#member-detail .works {
	padding-bottom: 128px;
	border-bottom: 1px solid #BEBEBE;
}
#member-detail .works .heading {
	margin-bottom: 44px;
	font-size: 2rem;
	letter-spacing: 0.035em;
}
#member-detail .works .worksList {
	display: flex;
	flex-wrap: wrap;
	gap: 53px 6.65%;
}
#member-detail .works .worksList li {
	width: 28.9%;
}
#member-detail .works .worksList li a {
	display: block;
}
#member-detail .works .worksList li .photo {
	margin-bottom: 11px;
	display: block;
	position: relative;
	overflow: hidden;
}
#member-detail .works .worksList li .photo::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	z-index: 1;
	opacity: 0;
	transition: all 300ms linear;
}
#member-detail .works .worksList li .photo img {
	width: 100%;
	aspect-ratio: 246/351;
	object-fit: cover;
	transition: all 300ms linear;
	will-change: transform;
}
#member-detail .works .worksList li .photo01 img {
	object-fit: contain;
}
#member-detail .works .worksList li .ttl {
	margin-bottom: 8px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.357;
}
#member-detail .works .worksList li .date {
	font-size: 1.2rem;
	letter-spacing: 0.24em;
}
#member-detail .backTop {
	padding: 45px 0 56px;
	text-align: center;
}
#member-detail .backTop a {
	display: inline-block;
	position: relative;
	color: #4255CC;
	font-size: 2rem;
	padding-bottom: 7px;
	letter-spacing: 0.04em;
}
#member-detail .backTop a::after {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	bottom: 0;
	border-bottom: 1px solid currentColor;
	content: '';
	transition: 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media all and (min-width: 897px) {
	#member-detail .profile .imgBox .textBox .sns a:hover {
		text-decoration: none;
	}
	#member-detail .backTop a:hover:after {
		width: 0;
		left: auto;
		right: 0;
	}
	#member-detail .works .worksList li a:hover .photo img {
		transform: scale(1.02);
	}
	#member-detail .works .worksList li a:hover .photo::before {
		opacity: 0.3;
	}
}
@media all and (max-width: 896px) {
	#member-detail .profile {
		padding: 0 0 40px;
	}
	#member-detail .profile::before {
		height: calc(100% + 40px);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 40px));
	}
	#member-detail .content {
		max-width: initial;
	}
	#member-detail .profile {
		margin-bottom: 44px;
	}
	#member-detail .profile .imgBox {
		display: block;
		position: relative;
	}
	#member-detail .profile .imgBox .photo {
		width: 124px;
		position: absolute;
		left: 40px;
		top: 20px;
	}
	#member-detail .profile .imgBox .photo img {
		width: 100%;
		aspect-ratio: 124/160;
		object-fit: cover;
	}
	#member-detail .profile .imgBox .textBox {
		margin-top: 0;
		padding: 20px;
		background: #fff;
	}
	#member-detail .profile .imgBox .textBox .heading {
		margin: 0 0 15px 139px;
		min-height: 160px;
	}
	#member-detail .profile .imgBox .textBox .heading .txt01 {
		font-size: 14px;
	}
	#member-detail .profile .imgBox .textBox .heading .txt02 {
		margin-bottom: 5px;
		font-size: 2.6rem;
	}
	#member-detail .profile .imgBox .textBox .heading .txt03 {
		font-size: 1.4rem;
	}
	#member-detail .profile .imgBox .textBox p {
		margin-bottom: 15px;
		font-size: 1.3rem;
	}
	#member-detail .profile .imgBox .textBox .sns {
		padding-top: 15px;
	}
	#member-detail .works {
		padding-bottom: 60px;
	}
	#member-detail .works .heading {
		margin-bottom: 30px;
	}
	#member-detail .works .worksList {
		display: flex;
		justify-content: space-between;
		gap: 25px 0;
	}
	#member-detail .works .worksList li {
		width: calc(50% - 11px);
	}
	#member-detail .works .worksList li .photo {
		margin-bottom: 8px;
	}
	#member-detail .works .worksList li .ttl {
		margin-bottom: 5px;
		font-size: 1.2rem;
	}
	#member-detail .works .worksList li .date {
		font-size: 1.1rem;
	}
	#member-detail .backTop {
		padding: 40px 0;
	}
	#member-detail .backTop a {
		font-size: 1.8rem;
	}
}