@charset "UTF-8";
/*@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Poppins:wght@400;700&display=swap");
------------------------------------------------------------
	 
------------------------------------------------------------*/
@font-face{
font-family:'Russo_One';
src:url{'Russo_One.ttf'} format('ttf');
font-weight:normal;
font-style:normal;
font-display:swap;

}
*{font-family:myFirstFont;}
@font-face
{
font-family: myFirstFont;

src: url('/template/default/All/Russo_One.ttf'),  /*Firefox、Chrome、Safari, Android, IOS */

url('/template/default/All/Russo_One.ttf');  /* IE9+ */

}
*{font-family:myFirstFont;}
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: none;
	font-size: 1em;
}
@media screen and (max-width: 767px) {
	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 {
		-webkit-tap-highlight-color: transparent;
	}
}

html {
	font-size: 62.5%;
}

body,
table,
input,
textarea,
select,
option {
	font-family: "myFirstFont", sans-serif;
}

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: none;
}
@media screen and (max-width: 767px) {
	:focus {
		-webkit-tap-highlight-color: transparent;
	}
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	max-width: 100%;
}

a,
a:link {
	color: #fff;
	text-decoration: none;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-ms-transition: 0.3s;
}

a:visited {
	color: #fff;
}

a:hover {
	color: #fff;
}

a:active {
	color: #fff;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1280px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	position: relative;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #111;
	overflow-x: hidden;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
}
body::before {
	width: 1px;
	height: 100%;
	position: absolute;
	left: 8.35%;
	top: 0;
	background: #202020;
	content: "";
	mix-blend-mode: exclusion;
	z-index: 5;
}
body::after {
	width: 1px;
	height: 100%;
	position: absolute;
	right: 8.35%;
	top: 0;
	background: #202020;
	content: "";
	mix-blend-mode: exclusion;
	z-index: 5;
}
@media (min-width: 768px) and (max-width: 1280px) {
	body::before {
		left: 6.25%;
	}
	body::after {
		right: 6.25%;
	}
}
@media screen and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 1.3rem;
	}
	body::before {
		left: 16px;
	}
	body::after {
		right: 16px;
	}
}

#container {
	position: relative;
	text-align: left;
	background-color: #111;
	overflow: hidden;
}
#container::before {
	width: 1px;
	height: 100%;
	position: absolute;
	left: 36.1%;
	top: 0;
	background: #202020;
	content: "";
	mix-blend-mode: exclusion;
	z-index: 5;
}
#container::after {
	width: 1px;
	height: 100%;
	position: absolute;
	right: 36.1%;
	top: 0;
	background: #202020;
	content: "";
	mix-blend-mode: exclusion;
	z-index: 5;
}
@media (min-width: 768px) and (max-width: 1280px) {
	#container::before {
		left: 35.4%;
	}
	#container::after {
		right: 35.4%;
	}
}
@media screen and (max-width: 767px) {
	#container {
		overflow: hidden;
	}
	#container::before {
		margin-left: -1px;
		left: 50%;
	}
	#container::after {
		display: none;
	}
}

#main {
	padding-top: 81px;
	display: block;
	position: relative;
	z-index: auto;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	#main {
		padding-top: 61px;
	}
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 767px) {
	a:hover,
a:hover img {
		opacity: 1 !important;
	}

	.pc {
		display: none !important;
	}

	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
#header {
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 99;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
#header::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	/*background: -webkit-linear-gradient(-90deg, rgba(255, 255,255, 0.7), rgba(255, 255,255 0));
	background: -o-linear-gradient(-90deg, rgba(255, 255,255, 0.7), rgba(255, 255,255, 0));
	background: -moz-linear-gradient(-90deg, rgba(255, 255,255, 0.7), rgba(255, 255,255, 0));
	background: linear-gradient(180deg, rgba(255, 255,255, 0.7), rgba(255, 255,255, 0));*/
background:#fff;
color:#000;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	#header {
		padding: 13px 0;
		z-index: 999;
	}
	#header .menu-box {
		position: relative;
		z-index: 99;
	}
	#header .menu-box .m-btn {
		width: 32vw;
		position: fixed;
		right: 16px;
		bottom: 20px;
		transition: 1s;
		transition-delay: 0.3s;
		transform: scale(0);
		z-index: 90;
	}
	#header .menu-box .m-btn.open {
		transform: scale(1);
	}
	#header .menu-box .menu--left {
		padding: 80px 16px;
		width: 100%;
		height: 100vh;
		overflow-y: auto;
		position: fixed;
		left: 0;
		top: 0;
		box-sizing: border-box;
		opacity: 0;
		transition: 1s;
		transition-delay: 0.3s;
		transform: translateX(-100%);
		z-index: 90;
	}
	#header .menu-box .menu--left.open {
		opacity: 1;
		transform: none;
	}
	#header .menu-box .menu--left .m-ul {
		margin-bottom: 9.8vh;
	}
	#header .menu-box .menu--left .m-ul li {
		margin-bottom: 2vh;
	}
	#header .menu-box .menu--left .m-ul li a {
		padding-left: 8.6vw;
		position: relative;
		font-size: 7.5vw;
		display: block;
		line-height: 1.5;
		font-family:myFirstFont;
	}
	#header .menu-box .menu--left .m-ul li a span {
		position: absolute;
		left: 0;
		top: 0.2vh;
		font-size: 3.7vw;
	}
	#header .menu-box .menu--left .m-ul li.pull-item {
		position: relative;
	}
	#header .menu-box .menu--left .m-ul li.pull-item > a {
		display: block;
		position: relative;
	}
	#header .menu-box .menu--left .m-ul li.pull-item > a::before {
		width: 5vw;
		height: 1px;
		position: absolute;
		right: 4.533vw;
		top: 50%;
		background: #fff;
		content: "";
		transform: translateY(-50%);
		z-index: 1;
	}
	#header .menu-box .menu--left .m-ul li.pull-item > a::after {
		width: 1px;
		height: 5vw;
		position: absolute;
		right: 6.93vw;
		top: 50%;
		background: #fff;
		content: "";
		transform: translateY(-50%);
		z-index: 1;
		transition: 0.3s;
	}
	#header .menu-box .menu--left .m-ul li.pull-item > a.on::after {
		opacity: 0;
	}
	#header .menu-box .menu--left .m-ul li.pull-item .sub-ul {
		display: none;
		padding-top: 4vw;
	}
	#header .menu-box .menu--left .m-ul li.pull-item .sub-ul li {
		margin: 0;
		padding: 0;
	}
	#header .menu-box .menu--left .m-ul li.pull-item .sub-ul li a {
		padding: 2.13vw 8.53vw;
		display: block;
		font-weight: 400;
		font-size: 4.26vw;
		line-height: 1.44;
	}
	#header .menu-box .menu--left .sns-ul {
		margin-bottom: 80px;
	}
	#header .menu-box .menu--left .sns-ul li {
		margin-right: 5.5vw;
		display: inline-block;
		width: 6.45vw;
	}
	#header .menu-box .menu--left .sns-ul li img {
		width: 100%;
	}
	#header .menu-box .menu--right {
		width: 100%;
		height: 100vh;
		position: fixed;
		left: 0;
		top: 0;
		box-sizing: border-box;
		opacity: 0;
		transition: 1s;
		transition-delay: 0.3s;
		transform: translateX(100%);
		background: url(m_bg.png) no-repeat center center/100% auto;
		z-index: 80;
	}
	#header .menu-box .menu--right.open {
		transform: none;
		opacity: 1;
	}
	#header .cover {
		background-color: #111;
		width: 100%;
		height: 0;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 90;
		transition: height 0.5s;
	}
	#header .cover.open {
		height: 100vh;
	}
	#header .cover.delay {
		transition-delay: 1s;
	}
}
#header .content {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header .content .h-box {
	flex: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header .content .h-box h1 {
	margin-right: 80px;
	width: 260px;
}
@media (min-width: 768px) and (max-width: 1280px) {
	#header .content .h-box h1 {
		margin-right: 6.25vw;
	}
}
@media (min-width: 768px) and (max-width: 980px) {
	#header .content .h-box h1 {
		margin-right: 3.5vw;
	}
}
#header .content .h-box .h-nav {
	flex: 1;
}
#header .content .h-box .h-nav ul {
	display: flex;
}
#header .content .h-box .h-nav ul li {
	margin-right: 40px;
}
#header .content .h-box .h-nav ul li a {
	padding: 24px 0;
	display: block;
	font-family:myFirstFont;
color:#000;
}
#header .content .h-box .h-nav ul li a:hover {
	opacity: 0.5;
}
@media (min-width: 768px) and (max-width: 1280px) {
	#header .content .h-box .h-nav ul li a {
		font-size: 1.6rem;
	}
}
#header .content .h-box .h-nav ul li:last-child {
	margin-right: 0;
}
#header .content .h-box .h-nav ul li.pull-down {
	position: relative;
}
#header .content .h-box .h-nav ul li.pull-down > a {
	padding-right: 20px;
	position: relative;
}
#header .content .h-box .h-nav ul li.pull-down > a::before {
	width: 12px;
	height: 12px;
	position: absolute;
	right: 0;
	top: 52%;
	transform: translateY(-50%);
	background: url("icon22.png") no-repeat center center/12px auto;
	content: "";
}
#header .content .h-box .h-nav ul li.pull-down > a::after {
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -1px;
	background: linear-gradient(#b3acff 0%, #c8ffb4 100%);
	content: "";
	display: none;
}
#header .content .h-box .h-nav ul li.pull-down .pd-list {
	width: 300px;
	max-width: inherit;
	position: absolute;
	left: 50%;
	top: calc(100% + 19px);
	display: block;
	transform: translateX(-50%);
	background: #3D3D3D;
	display: none;
}
#header .content .h-box .h-nav ul li.pull-down .pd-list::before {
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	top: -13px;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 7px solid transparent;
	border-bottom: 7px solid #3D3D3D;
	transform: translateX(-50%);
	content: "";
}
#header .content .h-box .h-nav ul li.pull-down .pd-list li {
	margin: 0;
	width: auto;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
#header .content .h-box .h-nav ul li.pull-down .pd-list li a {
	padding: 14px 16px 7px;
	width: auto;
	position: relative;
	display: block;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	opacity: 1;
}
#header .content .h-box .h-nav ul li.pull-down .pd-list li a .en {
	font-family:myFirstFont;
	display: block;
	line-height: 1.3;
}
#header .content .h-box .h-nav ul li.pull-down .pd-list li a .jp {
	display: block;
	color: rgba(255, 255, 255, 0.5);
	font-size: 1.2rem;
	font-weight: 400;
}
#header .content .h-box .h-nav ul li.pull-down .pd-list li a::before {
	width: 12px;
	height: 12px;
	position: absolute;
	right: 18px;
	top: 53%;
	background: url("icon23.png") no-repeat center center/12px auto;
	content: "";
	z-index: 2;
	transform: translateY(-50%);
}
#header .content .h-box .h-nav ul li.pull-down .pd-list li a::after {
	width: 32px;
	height: 32px;
	position: absolute;
	right: 8px;
	top: 52%;
	border-radius: 100%;
	background: #fff;
	content: "";
	z-index: 0;
	transform: translateY(-50%) scale(0);
	transition: 0.3s;
}
@media screen and (min-width: 767px) {
	#header .content .h-box .h-nav ul li.pull-down .pd-list li a:hover::before {
		background-image: url("icon26.png");
	}
	#header .content .h-box .h-nav ul li.pull-down .pd-list li a:hover::after {
		transform: translateY(-50%) scale(1);
	}
}
#header .content .h-box .h-nav ul li.pull-down.on::after {
	width: 300px;
	height: 20px;
	bottom: -19px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	content: "";
}
#header .content .h-box .h-nav ul li.pull-down.on > a::before {
	transform: translateY(-50%) rotate(180deg);
}
#header .content .h-box .h-nav ul li.pull-down.on > a::after {
	display: block;
}
@media (min-width: 768px) and (max-width: 1280px) {
	#header .content .h-box .h-nav > ul > li:not(:last-child) {
		margin-right: 3.125vw;
	}
}
@media (min-width: 768px) and (max-width: 980px) {
	#header .content .h-box .h-nav > ul > li:not(:last-child) {
		margin-right: 1.5vw;
	}
	#header .content .h-box .h-nav > ul > li > a {
		font-size: 1.63vw;
	}
}
#header .content .h-btn {
	width: 122px;
}
#header .content .h-btn a {
	display: block;
	font-family:myFirstFont;
	position: relative;
color:#000;
}
@media screen and (max-width: 767px) {
	#header .content {
		margin: 0;
		padding: 0 16px;
		display: block;
		box-sizing: border-box;
		z-index: 9999;
	}
	#header .content .h-box {
		flex: 1;
		display: block;
	}
	#header .content .h-box h1 {
		margin: 0;
		position: relative;
		z-index: 1000;
	}
	#header .content .h-box .h-nav {
		display: none;
		flex: 1;
	}
	#header .content .h-box .h-nav ul {
		display: block;
	}
	#header .content .h-box .h-nav ul li {
		margin-right: 0;
	}
	#header .content .h-box .h-nav ul li a {
		padding: 5px 0 5px 32px;
		position: relative;
		font-size: 2.8rem;
	}
	#header .content .h-box .h-nav ul li a span {
		position: absolute;
		left: 0;
		top: 12px;
		font-size: 1.4rem;
		font-family:myFirstFont;
	}
	#header .content .h-box .h-nav ul li:last-child {
		margin-right: 0;
	}
	#header .content .h-btn {
		width: 120px;
		height: 120px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
		border: 1px solid #fff;
		box-sizing: border-box;
		display: none;
	}
	#header .content .h-btn a {
		display: block;
		font-family:myFirstFont;
		position: relative;
	}
	#header .content .h-btn a .c-arrow {
		display: none;
	}
}
#header .copy {
	margin-top: -11px;
	position: fixed;
	font-family:myFirstFont;
	font-size: 1.1rem;
	opacity: 0.5;
	left: -4.15%;
	top: 50%;
	transform: rotate(90deg);
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	#header .copy {
		display: none;
	}
}
@media (min-width: 768px) and (max-width: 1280px) {
	#header .copy {
		left: -6.15%;
	}
}
#header .sns {
	width: 24px;
	position: fixed;
	right: 1.35%;
	top: 50%;
	transform: translateY(-50%);
}
#header .sns li {
	margin-bottom: 22px;
}
#header .sns li:last-child {
	margin-bottom: 0;
}
#header .sns li a {
	display: block;
}
#header .sns li a:hover {
	opacity: 0.5;
}
@media screen and (max-width: 767px) {
	#header .sns {
		width: 24px;
		position: relative;
		right: 0;
		top: 0;
		display: none;
	}
	#header .sns li {
		margin-bottom: 20px;
		display: inline-block;
	}
	#header .sns li:last-child {
		margin-bottom: 0;
	}
	#header .sns li a {
		display: block;
	}
	#header .sns li a:hover {
		opacity: 0.5;
	}
}
@media (min-width: 768px) and (max-width: 1280px) {
	#header .sns {
		right: 1.8%;
	}
}
@media screen and (max-width: 767px) {
	#header .menu {
		width: 93px;
		padding-right: 41px;
		position: fixed;
		right: 13px;
		top: 16px;
		color: #fff;
		font-size: 1.4rem;
		font-family:myFirstFont;
		z-index: 9999;
		box-sizing: border-box;
		text-align: right;
	}
	#header .menu p {
		position: relative;
	}
	#header .menu p span {
		transition: 0.8s;
	}
#header .menu p span1 {
		transition: 0.8s;
	}
	#header .menu p span.close {
		opacity: 0;
		position: absolute;
		right: 0;
		top: 4px;
	}
	#header .menu > span {
		width: 30px;
		height: 1px;
		position: absolute;
		right: 3px;
		top: 9px;
		background-color: #000;
		transition: 0.8s;
	}

	#header .menu p span1.close {
		opacity: 0;
		position: absolute;
		right: 0;
		top: 4px;
	}
	#header .menu > span1 {
		width: 30px;
		height: 1px;
		position: absolute;
		right: 3px;
		top: 9px;
		background-color: #000;
		transition: 0.8s;
	}

	#header .menu > span:nth-of-type(2) {
		top: 17px;
	}
	#header .menu.active p span.close {
		opacity: 1;
	}
#header .menu.active p span1.close {
		opacity: 1;
	}
	#header .menu.active p span.open {
		opacity: 0;
	}
	#header .menu.active > span {
		transform: translateY(4px) rotate(30deg);
	}
	#header .menu.active > span:nth-of-type(2) {
		transform: translateY(-4px) rotate(-30deg);
	}
}

/*------------------------------------------------------------
	footer
------------------------------------------------------------*/
#footer {
	padding: 261px 0 61px;
	position: relative;
	z-index: 90;
}
@media (min-width: 768px) and (max-width: 1280px) {
	#footer {
		padding-top: 175px;
	}
}
@media screen and (max-width: 767px) {
	#footer {
		padding: 196px 0 59px;
	}
}
#footer .page-top {
	width: 140px;
	height: 140px;
	position: absolute;
	right: 4.75%;
	top: 181px;
	z-index: 25;
}
#footer .page-top a {
	display: block;
}
#footer .page-top a .c-arrow--white {
	width: 140px;
	height: 140px;
}
#footer .page-top a .c-arrow--white small {
	width: 21px;
	height: 25px;
	background-image: url(page_top_on.png);
}
@media screen and (max-width: 767px) {
	#footer .page-top {
		width: 114px;
		right: 16px;
		top: 110px;
	}
	#footer .page-top a .c-arrow--white {
		width: 114px;
		height: 114px;
	}
}
@media (min-width: 768px) and (max-width: 1280px) {
	#footer .page-top {
		width: 110px;
		height: 110px;
		right: 10px;
		top: 73px;
	}
	#footer .page-top a .c-arrow--white {
		margin-top: -4px;
		width: 110px;
		height: 110px;
	}
}
#footer .f-inner {
	margin-bottom: 125px;
	display: flex;
	justify-content: space-between;
}
#footer .f-inner .f-box {
	width: 260px;
}
#footer .f-inner .f-box .logo {
	margin-bottom: 40px;
}
#footer .f-inner .f-box ul li {
	margin-bottom: -1px;
}
#footer .f-inner .f-box ul li a {
	font-size: 1.3vw;
	font-family:myFirstFont;
	letter-spacing: 0.07em;
}
#footer .f-inner .f-box ul li a:hover {
	opacity: 0.5;
}
#footer .f-inner .f-nav {
	margin-top: -6px;
	padding-right: 13px;
	width: 66.7%;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}
#footer .f-inner .f-nav li {
	width: 50%;
}
#footer .f-inner .f-nav li p {
	margin-bottom: 46px;
	line-height: 1;
}
#footer .f-inner .f-nav li p a {
	display: inline-block;
	font-size: 2.8vw;
	/*font-family:myFirstFont;*/font-family:'Russo_One';
src:url{'Russo_One.ttf'} format('ttf');
font-weight:normal;
font-style:normal;
font-display:swap;
	position: relative;
}
#footer .f-inner .f-nav li p a img {
	opacity: 0;
	margin-left: 1.25vw;
	width: 3.125vw;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-ms-transition: 0.3s;
	display: inline-block;
	vertical-align: middle;
}
#footer .f-inner .f-nav li p a:hover img {
	opacity: 1;
}
#footer .f-inner .f-nav li p:last-child {
	margin-bottom: 0;
}
#footer .f-inner .f-nav li .pull-item a {
	pointer-events: none;
}
#footer .f-inner .f-nav li .sub-ul {
	margin-top: -15px;
	padding-bottom: 15px;
}
#footer .f-inner .f-nav li .sub-ul li {
	width: auto;
}
#footer .f-inner .f-nav li .sub-ul li a {
	padding: 0.3vw 0 0.3vw 3.2vw;
	display: block;
	font-size: 1.25vw;
	font-family:myFirstFont;
	position: relative;
}
#footer .f-inner .f-nav li .sub-ul li a img {
	opacity: 0;
	margin-left: 1.25vw;
	width: 3.125vw;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-ms-transition: 0.3s;
	display: inline-block;
	vertical-align: middle;
}
#footer .f-inner .f-nav li .sub-ul li a:hover img {
	opacity: 1;
}
@media (min-width: 768px) and (max-width: 1280px) {
	#footer .f-inner .f-nav li .sub-ul li a {
		padding: 4px 0 4px 41px;
		font-size: 1.6rem;
	}
	#footer .f-inner .f-nav li .sub-ul li a img {
		margin-left: 16px;
		width: 40px;
	}
}
@media screen and (max-width: 767px) {
	#footer .f-inner {
		margin-bottom: 84px;
		display: block;
	}
	#footer .f-inner .f-box {
		margin-bottom: 89px;
		width: auto;
	}
	#footer .f-inner .f-box .logo {
		margin-bottom: 55px;
	}
	#footer .f-inner .f-box .logo a {
		width: 100px;
		display: block;
	}
	#footer .f-inner .f-box ul {
		margin: -16px -32px 0 0;
	}
	#footer .f-inner .f-box ul li {
		margin: 16px 32px 0 0;
		display: inline-block;
		vertical-align: top;
	}
	#footer .f-inner .f-box ul li a {
		font-size: 1.6rem;
	}
	#footer .f-inner .f-box ul li a:hover {
		text-decoration: none;
	}
	#footer .f-inner .f-nav {
		margin-top: -6px;
		padding-right: 13px;
		width: auto;
		display: block;
	}
	#footer .f-inner .f-nav li {
		margin-bottom: 32px;
		width: auto;
	}
	#footer .f-inner .f-nav li:last-of-type {
		margin-bottom: 0;
	}
	#footer .f-inner .f-nav li p {
		margin-bottom: 32px;
		line-height: 1;
	}
	#footer .f-inner .f-nav li p a {
		font-size: 4rem;
	}
	#footer .f-inner .f-nav li p a img {
		display: none;
	}
	#footer .f-inner .f-nav li p a:hover {
		opacity: 1;
	}
	#footer .f-inner .f-nav li p:last-child {
		margin-bottom: 0;
	}
	#footer .f-inner .f-nav li .pull-item {
		margin-bottom: 24px;
		position: relative;
	}
	#footer .f-inner .f-nav li .pull-item::before {
		width: 5vw;
		height: 1px;
		position: absolute;
		right: -1vw;
		top: 50%;
		background: #fff;
		content: "";
		transform: translateY(-50%);
		z-index: 1;
	}
	#footer .f-inner .f-nav li .pull-item::after {
		margin-top: 1px;
		width: 1px;
		height: 5vw;
		position: absolute;
		right: 1.23vw;
		top: 50%;
		background: #fff;
		content: "";
		transform: translateY(-50%);
		z-index: 1;
		transition: 0.3s;
	}
	#footer .f-inner .f-nav li .pull-item.on::after {
		opacity: 0;
	}
	#footer .f-inner .f-nav li .sub-ul {
		margin-top: 0;
		margin-bottom: 24px;
		padding-bottom: 0;
		display: none;
	}
	#footer .f-inner .f-nav li .sub-ul li {
		margin: 0;
		padding: 0;
		width: auto;
	}
	#footer .f-inner .f-nav li .sub-ul li a {
		padding: 2.13vw 8.53vw;
		display: block;
		font-weight: 400;
		font-size: 4.26vw;
		line-height: 1.44;
	}
	#footer .f-inner .f-nav li .sub-ul li a img {
		display: none;
	}
}
@media (min-width: 768px) and (max-width: 1280px) {
	#footer .f-inner {
		margin-bottom: 128px;
	}
	#footer .f-inner .f-box .logo {
		margin: -3px 0 50px;
		width: 100px;
	}
	#footer .f-inner .f-box ul li {
		margin-bottom: 5px;
	}
	#footer .f-inner .f-nav {
		margin-top: -5px;
	}
	#footer .f-inner .f-nav li p {
		margin-bottom: 27px;
	}
	#footer .f-inner .f-nav li p a {
		font-size: 4.8rem;
	}
}
#footer .f-btm {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family:myFirstFont;
}
#footer .f-btm .link li {
	margin-right: 42px;
	display: inline-block;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
#footer .f-btm .link li:last-child {
	margin-right: 0;
}
#footer .f-btm .link li a:hover {
	opacity: 0.5;
}
#footer .f-btm .r-box {
	justify-content: flex-end;
	display: flex;
	align-items: center;
}
#footer .f-btm .r-box p {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
#footer .f-btm .r-box ul {
	margin-left: 38px;
	width: 97px;
	display: flex;
	justify-content: space-between;
	opacity: 0;
	visibility: hidden;
}
#footer .f-btm .r-box ul li {
	height: 54px;
}
#footer .f-btm .r-box ul li img {
	width: auto;
	height: 100%;
}
@media screen and (max-width: 767px) {
	#footer .f-btm {
		display: block;
	}
	#footer .f-btm .link {
		margin-bottom: 32px;
	}
	#footer .f-btm .link li a:hover {
		text-decoration: none;
	}
	#footer .f-btm .r-box {
		display: block;
	}
	#footer .f-btm .r-box p {
		margin-bottom: 36px;
	}
}
@media screen and (max-width: 767px) and (max-width: 374px) {
	#footer .f-btm .r-box p {
		letter-spacing: 0;
	}
}
@media screen and (max-width: 767px) {
	#footer .f-btm .r-box ul {
		margin-left: 0;
		width: 97px;
		display: flex;
		justify-content: space-between;
	}
	#footer .f-btm .r-box ul li {
		height: 54px;
	}
	#footer .f-btm .r-box ul li img {
		width: auto;
		height: 100%;
	}
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 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;
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	max-width: 83.3%;
	position: relative;
	z-index: 10;
	box-sizing: border-box;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.content {
		max-width: 87.5%;
	}
}
@media screen and (max-width: 767px) {
	.content {
		margin: 0 16px;
		max-width: inherit;
	}
}

/*------------------------------------------------------------
	c-arrow
------------------------------------------------------------*/
.c-arrow {
	margin-top: -20px;
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	/*background: #f4ce38;*/
border:1px solid #000;
	border-radius: 100%;
	box-sizing: border-box;
}
.c-arrow::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #fff;

	content: "";
	z-index: -1;
}
.c-arrow::after {
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	top: 50%;
	background: #dbb315;
	transform: translate(-50%, -50%);
	content: "";
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-ms-transition: 0.3s;
	border-radius: 100%;
}
.c-arrow small {
	width: 15px;
	height: 13px;
	position: relative;
	z-index: 2;
	display: block;
	margin: auto;
	background: url(icon01.png) no-repeat center center/100% 100%;

}
.c-arrow small img {
	width: 100%;
}
.c-arrow.hover::after {
	width: 100%;
	height: 100%;
}
.c-arrow.hover small img {
	opacity: 0;
}
.c-arrow--white::before {
	background: none;
}
@media screen and (max-width: 767px) {
	.c-arrow {
		margin-top: -18px;
	}
	.c-arrow small {
		width: 15px;
		height: 13px;
		position: relative;
		z-index: 2;
		display: block;
		margin: auto;
		background: url(icon02.png) no-repeat center center/100% 100%;
	}
	.c-arrow small img {
		width: 100%;
	}
	.c-arrow:hover::after {
		display: none;
	}
	.c-arrow:hover small img {
		opacity: 1 !important;
	}
	.c-arrow--white::before {
		background: none;
	}
}



/*------------------------------------------------------------
	c-arrow
------------------------------------------------------------*/
.c-arrow1 {
	margin-top: -20px;
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	/*background: #f4ce38;*/
border:1px solid #fff;
	border-radius: 100%;
	box-sizing: border-box;
}
.c-arrow1::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;

	content: "";
	z-index: -1;
}
.c-arrow1::after {
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	top: 50%;
	background: #dbb315;
	transform: translate(-50%, -50%);
	content: "";
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-ms-transition: 0.3s;
	border-radius: 100%;
}
.c-arrow1 small {
	width: 15px;
	height: 13px;
	position: relative;
	z-index: 2;
	display: block;
	margin: auto;
	background: url(icon02.png) no-repeat center center/100% 100%;

}
.c-arrow1 small img {
	width: 100%;
}
.c-arrow1.hover::after {
	width: 100%;
	height: 100%;
}
.c-arrow1.hover small img {
	opacity: 0;
}
.c-arrow1--white::before {
	background: none;
}
@media screen and (max-width: 767px) {
	.c-arrow1 {
		margin-top: -18px;
	}
	.c-arrow1 small {
		width: 15px;
		height: 13px;
		position: relative;
		z-index: 2;
		display: block;
		margin: auto;
		background: url(icon02.png) no-repeat center center/100% 100%;
	}
	.c-arrow1 small img {
		width: 100%;
	}
	.c-arrow1:hover::after {
		display: none;
	}
	.c-arrow1:hover small img {
		opacity: 1 !important;
	}
	.c-arrow1--white::before {
		background: none;
	}
}



/*------------------------------------------------------------
	c-arrow--white
------------------------------------------------------------*/
.c-arrow--white {
	margin-top: -20px;
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 100%;
	box-sizing: border-box;
}
.c-arrow--white::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border: 1px solid #fff;
	border-radius: 100%;
	content: "";
	box-sizing: border-box;
}
.c-arrow--white::after {
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	top: 50%;
	background: #dbb315;
	transform: translate(-50%, -50%);
	content: "";
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-ms-transition: 0.3s;
	border-radius: 100%;
}
.c-arrow--white small {
	width: 15px;
	height: 13px;
	position: relative;
	z-index: 2;
	display: block;
	margin: auto;
	background: url(icon02.png) no-repeat center center/100% 100%;
}
.c-arrow--white small img {
	width: 100%;
}
.c-arrow--white.hover::after {
	width: 100%;
	height: 100%;
}
.c-arrow--white.hover small img {
	opacity: 0;
}
.c-arrow--white-left small {
	background-image: url(icon21.png);
}

/*------------------------------------------------------------
	c-scroll
------------------------------------------------------------*/
.c-scroll {
	width: 95px;
	position: absolute;
	right: 0;
	bottom: 12px;
	line-height: 1;
	z-index: 11;
}
.c-scroll a {
	position: relative;
	font-size: 1.25vw;
	font-family:myFirstFont;
	display: block;
	overflow: hidden;
}
.c-scroll a::before {
	width: 30px;
	height: 100%;
	position: absolute;
	right: 0;
	background: url(icon08.png) no-repeat right center/auto 94%;
	content: "";
	transition: all linear 0.3s;
}
.c-scroll a::after {
	width: 30px;
	height: 100%;
	position: absolute;
	right: 0;
	background: url(icon08.png) no-repeat right center/auto 94%;
	content: "";
	transform: translateY(-150%);
	transition: all linear 0.3s;
}
.c-scroll a:hover::after {
	transform: translateY(0);
}
.c-scroll a:hover::before {
	transform: translateY(100%);
}
@media screen and (max-width: 767px) {
	.c-scroll {
		width: 67px;
		right: auto;
		left: 0;
		bottom: auto;
		top: -101px;
	}
	.c-scroll a {
		font-size: 1.6rem;
	}
	.c-scroll a::after {
		display: none;
		width: 12px;
		height: 14px;
		right: -1px;
	}
	.c-scroll a:hover::after {
		animation: sdl 0.3s linear forwards;
	}
}
@media (min-width: 768px) and (max-width: 1280px) {
	.c-scroll {
		width: 67px;
		right: 82px;
		bottom: 20px;
	}
	.c-scroll a::after {
		width: 12px;
		height: 100%;
		background-position: right center;
		background-size: 100% auto;
	}
	.c-scroll a::before {
		width: 12px;
		height: 100%;
		background-position: right center;
		background-size: 100% auto;
	}
}

@keyframes sdl {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}
.c-ttl-box {
	margin-bottom: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.c-ttl-box .txt {
	width: 35%;
}
.c-ttl-box .txt h3 {
	margin-bottom: 22px;
	font-size: 4.25vw;
	font-family:myFirstFont;
	line-height: 1;
}
.c-ttl-box .txt h3 .num {
	margin-bottom: 31px;
	display: block;
	font-size: 2.5vw;
	font-weight: normal;
}
.c-ttl-box .txt h3 .num .passing .passing-bar::before {
	bottom: 0;
}
.c-ttl-box .txt h3 .passing .passing-bar::before {
	bottom: -14%;
}
.c-ttl-box .txt .more {
	margin-top: 42px;
}
.c-ttl-box .txt .more a {
	padding-right: 55px;
	position: relative;
	font-size: 1.05vw;
	display: inline-block;
	font-family:myFirstFont;
}
.c-ttl-box .r-txt {
	margin-top: 51px;
	width: 70%;
}
.c-ttl-box .r-txt.r-txt01 {
	line-height: 1.75;
}
@media screen and (max-width: 767px) {
	.c-ttl-box {
		margin-bottom: 80px;
		padding-bottom: 82px;
		display: block;
		position: relative;
	}
}
@media screen and (max-width: 767px) and (min-width: 1024px) {
	.c-ttl-box {
		margin-bottom: 122px;
		padding-bottom: 82px;
		display: block;
		position: relative;
	}
}
@media screen and (max-width: 767px) {
	.c-ttl-box .txt {
		width: auto;
	}
	.c-ttl-box .txt h3 {
		margin-bottom: 10px;
		font-size: 5.6rem;
		line-height: 1;
	}
	.c-ttl-box .txt h3 .num {
		margin-bottom: 26px;
		font-size: 3.2rem;
	}
	.c-ttl-box .txt p {
		font-size: 1.6rem;
	}
	.c-ttl-box .txt .more {
		margin-top: 42px;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.c-ttl-box .txt .more a {
		padding-right: 55px;
		font-size: 2rem;
	}
}
@media screen and (max-width: 767px) {
	.c-ttl-box .r-txt {
		margin-top: 40px;
		width: auto;
		font-size: 1.6rem;
	}
}
@media (min-width: 768px) and (max-width: 1280px) {
	.c-ttl-box {
		margin-bottom: 62px;
	}
	.c-ttl-box .txt h3 {
		margin-bottom: 8px;
	}
	.c-ttl-box .txt h3 .num {
		margin-bottom: 21px;
	}
	.c-ttl-box .txt .more {
		margin-top: 54px;
	}
	.c-ttl-box .txt .more a {
		font-size: 2rem;
	}
	.c-ttl-box .r-txt {
		margin-top: 19px;
		width: 44.8%;
	}
}

/*------------------------------------------------------------
	c-contact
------------------------------------------------------------*/
.c-contact {
	margin-bottom: 160px;
	position: relative;
	z-index: 20;
}
.c-contact .img-txt {
	margin-bottom: -113px;
}
.c-contact .img-txt img {
	margin-left: -33px;
	width: 57.8%;
}
.c-contact .c-ttl-box {
	margin-bottom: 76px;
}
.c-contact .c-ttl-box .r-txt {
	margin-top: -23px;
}
.c-contact .c-ttl-box .txt p {
	font-size: 1.6rem;
}
.c-contact .c-ttl-box .txt h3 {
	margin-bottom: 17px;
}
.c-contact .link-ul {
	display: flex;
	justify-content: space-between;
}
.c-contact .link-ul li {
	padding: 53px 10px 64px;
	width: 48.6%;
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-sizing: border-box;
}
.c-contact .link-ul li .ttl {
	margin-bottom: 41px;
	font-size: 2.9rem;
	text-align: center;
}
.c-contact .link-ul li .ttl span {
	margin-bottom: 7px;
	padding-left: 2.7vw;
	font-size: 1.8vw;
	display: inline-block;
	font-weight: 700;
	background: url(icon09.png) no-repeat left center/auto 1.2vw;
}
.c-contact .link-ul li .link {
	text-align: center;
	line-height: 1;
}
.c-contact .link-ul li .link a {
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
	display: inline-block;
	font-size: 1.8vw;
	font-family:myFirstFont;
	letter-spacing: 0.1em;
}
.c-contact .link-ul li .link a .c-arrow--white {
	margin-top: -30px;
	width: 60px;
	height: 60px;
}
.c-contact .link-ul li .link.link01 a {
	padding-right: 91px;
	letter-spacing: 0;
}
.c-contact .link-ul li:last-child .ttl span {
	background-image: url(icon10.png);
	background-size: auto 1.5vw;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.c-contact {
		margin-bottom: 82px;
	}
	.c-contact .c-ttl-box .txt h3 {
		margin-bottom: 10px;
	}
	.c-contact .c-ttl-box .r-txt {
		margin-top: -22px;
		width: 49.1%;
	}
	.c-contact .link-ul li {
		padding-bottom: 57px;
	}
	.c-contact .link-ul li .ttl {
		margin-bottom: 35px;
	}
	.c-contact .link-ul li .ttl span {
		padding-left: 46px;
		font-size: 2rem;
		background-size: 35px 23px;
	}
	.c-contact .link-ul li .link a {
		padding-top: 12px;
		padding-bottom: 12px;
	}
	.c-contact .link-ul li .link.link01 a {
		padding-right: 84px;
	}
	.c-contact .link-ul li:last-child .ttl span {
		background-size: 29px auto;
	}
}
@media screen and (max-width: 767px) {
	.c-contact {
		margin-bottom: 80px;
	}
	.c-contact .img-txt {
		margin-bottom: -26px;
		width: 434px;
	}
	.c-contact .img-txt img {
		margin-left: -40px;
		width: 100%;
	}
	.c-contact .c-ttl-box {
		margin-bottom: 58px;
		padding: 0;
	}
	.c-contact .c-ttl-box .r-txt {
		margin-top: 41px;
	}
	.c-contact .c-ttl-box .txt {
		padding-left: 10px;
	}
	.c-contact .c-ttl-box .txt p {
		font-size: 1.6rem;
	}
	.c-contact .c-ttl-box .txt h3 {
		margin-bottom: 7px;
	}
	.c-contact .link-ul {
		display: block;
	}
	.c-contact .link-ul li {
		margin: 0 auto 40px;
		padding: 53px 10px 60px;
		width: auto;
		max-width: 500px;
	}
	.c-contact .link-ul li .ttl {
		margin-bottom: 35px;
		font-size: 1.4rem;
		text-align: center;
	}
	.c-contact .link-ul li .ttl span {
		padding-left: 47px;
		font-size: 2rem;
		background-size: 35px auto;
	}
	.c-contact .link-ul li .link {
		text-align: center;
		line-height: 1;
	}
	.c-contact .link-ul li .link a {
		font-size: 4rem;
		letter-spacing: 0.05em;
	}
	.c-contact .link-ul li .link.link01 a {
		padding: 10px 79px 10px 0;
		background-position: right 1px center;
		letter-spacing: 0;
	}
	.c-contact .link-ul li:last-child {
		margin-bottom: 0;
		padding-bottom: 58px;
	}
	.c-contact .link-ul li:last-child .ttl {
		margin-bottom: 33px;
	}
	.c-contact .link-ul li:last-child .ttl span {
		background-size: 28px auto;
	}
}
@media screen and (max-width: 374px) {
	.c-contact .link-ul li .ttl span {
		font-size: 1.8rem;
	}
	.c-contact .link-ul li .link a {
		font-size: 3rem;
	}
	.c-contact .link-ul li .link.link01 a {
		background-size: 50px auto;
	}
}

/*------------------------------------------------------------
	.c-recruit
------------------------------------------------------------*/
.c-recruit {
	padding: 212px 0 182px;
	position: relative;
	z-index: 10;
	/*background: url(recruit_bg.jpg) no-repeat center center/cover;*/
}
.c-recruit svg {
	bottom: auto;
	top: 44px;
	width: 50.5vw;
	right: -42px;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.c-recruit svg {
		top: -38px;
		right: -34px;
	}
}
@media screen and (max-width: 767px) {
	.c-recruit svg {
		top: -36px;
		width: 89.5vw;
		right: -26px;
	}
}
.c-recruit .c-ttl-box {
	margin-bottom: 0;
	position: relative;
	z-index: 1;
}
.c-recruit .c-ttl-box .txt {
	width: 60%;
}
.c-recruit .c-ttl-box .txt h3 {
	margin-bottom: 14px;
}
.c-recruit .c-ttl-box .txt p {
	margin-bottom: 23px;
}
.c-recruit .c-ttl-box .txt p:last-child {
	margin-bottom: 0;
}
.c-recruit .c-ttl-box .r-txt {
	width: 18.6%;
}
.c-recruit .c-ttl-box .r-txt a {
	padding-right: 60px;
	display: block;
	font-size: 1.57vw;
	font-family:myFirstFont;
	position: relative;
}
.c-recruit .c-ttl-box .r-txt a .c-arrow--white {
	margin-top: -27px;
	width: 60px;
	height: 60px;
	border-color: #3d3d3d;
	background-color: #3d3d3d;
}
.c-recruit .c-ttl-box .r-txt a .c-arrow--white::before {
	border-color: #3D3D3D;
}
@media screen and (max-width: 767px) {
	.c-recruit {
		margin-left: 11px;
		padding: 92px 0 78px;
		background: url(sp_recruit_bg.jpg) no-repeat center center/cover;
	}
	.c-recruit .img-txt {
		margin: 0 -15px -38px auto;
		width: 335px;
	}
	.c-recruit .content .c-ttl-box {
		padding: 0;
		margin: 0;
	}
	.c-recruit .content .c-ttl-box .txt {
		width: auto;
	}
	.c-recruit .content .c-ttl-box .txt p {
		margin-bottom: 44px;
		line-height: 1.75;
	}
	.c-recruit .content .c-ttl-box .txt p:last-of-type {
		margin-bottom: 0;
	}
	.c-recruit .content .c-ttl-box .txt h3 {
		margin-bottom: 9px;
	}
	.c-recruit .content .c-ttl-box .r-txt {
		margin-top: 48px;
		width: auto;
	}
	.c-recruit .content .c-ttl-box .r-txt a {
		padding-right: 0;
		display: inline-block;
		position: relative;
		font-size: 2rem;
	}
	.c-recruit .content .c-ttl-box .r-txt a .c-arrow--white {
		margin-top: -20px;
		width: 40px;
		height: 40px;
		right: -54px;
		border-color: #3d3d3d;
		background-color: #3d3d3d;
	}
	.c-recruit .content .c-ttl-box .r-txt a .c-arrow--white::before {
		border-color: #3D3D3D;
	}
}
@media (min-width: 768px) and (max-width: 1280px) {
	.c-recruit {
		padding: 118px 0 111px;
		background-image: url(recruit_bg_1280.jpg);
	}
	.c-recruit .c-ttl-box .txt {
		width: 60%;
	}
	.c-recruit .c-ttl-box .txt h3 {
		margin-bottom: 10px;
	}
	.c-recruit .c-ttl-box .r-txt {
		margin-top: -9px;
		width: 16.7%;
	}
	.c-recruit .c-ttl-box .r-txt a {
		padding-right: 52px;
	}
	.c-recruit .c-ttl-box .r-txt a .c-arrow--white {
		margin-top: -20px;
		width: 40px;
		height: 40px;
		background: #3D3D3D;
	}
	.c-recruit .c-ttl-box .r-txt a .c-arrow--white::before {
		border-color: #3D3D3D;
	}
}

/*------------------------------------------------------------
	svg
------------------------------------------------------------*/
svg {
	position: absolute;
	z-index: 10;
	width: 74vw;
	opacity: 0;
	right: -18px;
	bottom: -75px;
	transition: opacity 1s;
	z-index: 1;
}
svg.on {
	opacity: 1;
}
svg.on #clip-path {
	transform: translateY(0);
}
@media (min-width: 768px) and (max-width: 1280px) {
	svg {
		width: 73vw;
		bottom: -148px;
		right: 0;
	}
}

#clip-path {
	transition: transform 1s;
	transform: translateY(100px);
}

/*------------------------------------------------------------
	cursor
------------------------------------------------------------*/
.cursor {
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	transform: translate(0, 0);
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	background: -webkit-linear-gradient(left bottom, #b3acff, #c8ffb4);
	background: -o-linear-gradient(top right, #b3acff, #c8ffb4);
	background: -moz-linear-gradient(top right, #b3acff, #c8ffb4);
	background: linear-gradient(to top right, #b3acff, #c8ffb4);
	border-radius: 50%;
	z-index: 999;
	transition: width 0.3s, height 0.3s, top 0.3s, left 0.3s, opacity 0.3s, background 0.3s;
	cursor: none;
}
.cursor a {
	cursor: none;
}
@media screen and (max-width: 767px) {
	.cursor a {
		cursor: default;
	}
}
.cursor span {
	opacity: 0;
	display: inline-block;
	transition: opacity 0.3s, transform 0.3s;
	transform: scale(0);
}
.cursor.on {
	top: -12px;
	left: -12px;
	width: 32px;
	height: 32px;
	background: rgba(200, 50, 50, 0.75);
}
.cursor.drag {
	opacity: 1;
	font-size: 16px;
	top: -45px;
	left: -45px;
	width: 90px;
	height: 90px;
}
.cursor.drag span {
	opacity: 1;
	transform: scale(1);
}
@media screen and (max-width: 767px) {
	.cursor {
		display: none !important;
	}
}

.cursor-box,
.cursor-box a {
	cursor: none;
}
@media screen and (max-width: 767px) {
	.cursor-box,
.cursor-box a {
		cursor: default;
	}
}

@media all and (-ms-high-contrast: none) {
	.c-arrow small {
		margin: 13px 12px;
	}

	.c-arrow--white small {
		margin: 13px 12px;
	}
}
/*------------------------------------------------------------
	page-title
------------------------------------------------------------*/
.page-title {
	padding: 161px 0 52px;
	position: relative;
	z-index: 10;
}
.page-title h2 {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
}
.page-title h2 .en {
	font-family:myFirstFont;
	font-size: 6.25vw;
	font-weight: 700;
	line-height: 1;
}
.page-title h2 .passing01 {
	margin-top: 24px;
	display: block;
}
.page-title h2 .passing01 .passing-bar {
	min-width: inherit;
}
.page-title h2 small {
	display: block;
	position: relative;
}
.page-title h2 small::before {
	position: absolute;
	width: 11.25vw;
	height: 2px;
	left: 167px;
	content: "";
	bottom: 41px;
	background-color: #fff;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.page-title {
		padding: 135px 0 52px;
	}
	.page-title h2 .passing01 {
		margin-top: 16px;
	}
}
@media screen and (max-width: 767px) {
	.page-title {
		padding: 130px 0 56px;
	}
	.page-title h2 .en {
		font-size: 5.4rem;
	}
	.page-title h2 .passing01 {
		margin-top: 11px;
	}
}

/*------------------------------------------------------------
	.wp-pagenavi
------------------------------------------------------------*/
.wp-pagenavi {
	position: relative;
	clear: both;
	text-align: center;
	z-index: 10;
}
@media screen and (max-width: 767px) {
	.wp-pagenavi {
		padding: 80px 16px 0 0;
	}
}

.wp-pagenavi a,
.wp-pagenavi span {
	padding-bottom: 3px;
	display: inline-block;
	font-size: 2rem;
	font-family:myFirstFont;
	border-bottom: 2px solid transparent;
	margin: 0 18px;
	opacity: 0.5;
	line-height: 1.1;
}

.wp-pagenavi a:hover {
	opacity: 1;
	border-color: #fff;
}
@media screen and (max-width: 767px) {
	.wp-pagenavi a:hover {
		opacity: 0.5 !important;
		border-color: transparent;
	}
}

.wp-pagenavi span.current {
	opacity: 1;
	border-color: #fff;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages,
.wp-pagenavi .extend {
	display: none;
}

.wp-pagenavi .previouspostslink {
	margin: 3px 0 0;
	padding: 0 0 0 52px;
	position: absolute;
	left: -3px;
	top: 50%;
	font-size: 3.2rem;
	opacity: 1;
	transform: translateY(-50%);
	background: url(icon16.png) no-repeat left center/37px auto;
	border: none !important;
}
.wp-pagenavi .previouspostslink:hover {
	opacity: 0.5;
}
@media screen and (max-width: 767px) {
	.wp-pagenavi .previouspostslink {
		margin: 0 0 0 -115px;
		padding-left: 34px;
		font-size: 2.4rem;
		top: 15px;
		left: 50%;
		background: url(icon18.png) no-repeat left center/27px auto;
	}
}

.wp-pagenavi .nextpostslink {
	margin: 3px 0 0;
	padding: 0 52px 0 0;
	position: absolute;
	right: -3px;
	top: 50%;
	font-size: 3.2rem;
	opacity: 1;
	transform: translateY(-50%);
	border: none !important;
	background: url(icon17.png) no-repeat right center/37px auto;
}
.wp-pagenavi .nextpostslink:hover {
	opacity: 0.5;
}
@media screen and (max-width: 767px) {
	.wp-pagenavi .nextpostslink {
		margin: 0 -96px 0 0;
		padding-right: 34px;
		font-size: 2.4rem;
		top: 15px;
		right: 50%;
		background: url(icon19.png) no-repeat right center/27px auto;
	}
}

.wp-pagenavi .off {
	opacity: 0.5 !important;
}

/*------------------------------------------------------------
	page_path
------------------------------------------------------------*/
#page-path {
	margin-bottom: 68px;
	position: relative;
	z-index: 10;
}
#page-path li {
	display: inline-block;
	padding: 0 13px 0 20px;
	font-family:myFirstFont;
	font-size: 1.4rem;
	vertical-align: middle;
}
#page-path li a {
	opacity: 0.5;
	display: inline-block;
}
#page-path li a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	#page-path li a {
		opacity: 0.5 !important;
	}
	#page-path li a:hover {
		text-decoration: none;
	}
}
#page-path li:first-child {
	padding-left: 0;
}
#page-path li + li {
	position: relative;
}
#page-path li + li::before {
	margin-top: -4px;
	width: 5px;
	height: 9px;
	position: absolute;
	left: 0;
	top: 50%;
	background: url(icon15.png) no-repeat left top/100% 100%;
	content: "";
	opacity: 1;
	z-index: 1;
}

/*------------------------------------------------------------
	head-line01
------------------------------------------------------------*/
.head-line01 {
	margin-bottom: 60px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
}
.head-line01 span {
	margin-bottom: 21px;
	display: block;
	font-family:myFirstFont;
	font-size: 5.62vw;
	font-weight: 700;
	line-height: 1;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.head-line01 span {
		margin-bottom: 14px;
		font-size: 7.2rem;
	}
}
@media screen and (max-width: 767px) {
	.head-line01 span {
		margin-bottom: 4px;
		font-size: 5.6rem;
		line-height: 1.28;
	}
}

/*------------------------------------------------------------
	head-line02
------------------------------------------------------------*/
.head-line02 {
	margin-bottom: 40px;
	font-size: 1.6rem;
	font-weight: 400;
	text-align: center;
}
.head-line02 span {
	margin-bottom: 2px;
	display: block;
	font-family:myFirstFont;
	font-size: 5.62vw;
	font-weight: 700;
	line-height: 1.2;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.head-line02 span {
		margin-bottom: 12px;
	}
}
@media screen and (max-width: 767px) {
	.head-line02 span {
		margin-bottom: 4px;
		font-size: 5.6rem;
	}
}

/*------------------------------------------------------------
	head-line03
------------------------------------------------------------*/
.head-line03 {
	margin-bottom: 40px;
	font-size: 1.6rem;
	font-weight: 400;
}
.head-line03 .en {
	display: block;
	font-family:myFirstFont;
	font-weight: 700;
	font-size: 7.2rem;
	line-height: 1.52;
}
@media screen and (max-width: 767px) {
	.head-line03 .en {
		font-size: 5.6rem;
		line-height: 1.38;
	}
}

/*------------------------------------------------------------
	.c-sort-ul
------------------------------------------------------------*/
.c-sort-ul {
	margin: -10px -10px 39px 0;
}
.c-sort-ul li {
	margin: 10px 13px 0 0;
	display: inline-block;
	min-width: 94px;
	vertical-align: top;
}
.c-sort-ul li a {
	padding: 4px 3px 3px;
	display: block;
	color: #fff;
	position: relative;
	border: 1px solid #fff;
	font-family:myFirstFont;
	text-align: center;
	line-height: 1.3;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-ms-transition: 0.3s;
	border-radius: 15px;
	z-index: 1;
}
.c-sort-ul li a::before {
	opacity: 0;
	left: -1px;
	top: -1px;
	right: -1px;
	bottom: -1px;
	position: absolute;
	content: "";
	background: -webkit-linear-gradient(left, #b3acff, #c8ffb4);
	background: -moz-linear-gradient(left, #b3acff, #c8ffb4);
	/* Firefox 3.6+ */
	background: -ms-linear-gradient(left, #b3acff, #c8ffb4);
	/* IE 10 */
	background: -o-linear-gradient(left, #b3acff, #c8ffb4);
	/* Opera 11.10+ */
	background: linear-gradient(to right, #b3acff, #c8ffb4);
	border-color: transparent;
	z-index: -1;
	border-radius: 15px;
	overflow: hidden;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-ms-transition: 0.3s;
}
.c-sort-ul li a:hover {
	border-color: transparent;
}
.c-sort-ul li a:hover::before {
	opacity: 1;
}
.c-sort-ul li a.on {
	border-color: transparent;
}
.c-sort-ul li a.on::before {
	opacity: 1;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.c-sort-ul {
		margin-bottom: 37px;
	}
}
@media screen and (max-width: 767px) {
	.c-sort-ul {
		margin: -16px 13px 41px 0;
		display: flex;
		flex-wrap: wrap;
	}
	.c-sort-ul li {
		margin: 16px 5% 0 0;
		min-width: inherit;
		width: 30%;
	}
	.c-sort-ul li a {
		font-size: 1.6rem;
	}
	.c-sort-ul li a:hover {
		border-color: #fff;
	}
	.c-sort-ul li a:hover::before {
		opacity: 0 !important;
	}
	.c-sort-ul li a.on:hover::before {
		opacity: 1 !important;
	}
	.c-sort-ul li:nth-child(3n) {
		margin-right: 0;
	}
}

/*------------------------------------------------------------
	c-tab
------------------------------------------------------------*/
.c-tab {
	margin: 211px auto 162px;
	width: 960px;
}
.c-tab table {
	margin-top: 56px;
	width: 100%;
	border-collapse: collapse;
}
.c-tab table th,
.c-tab table td {
	padding: 36px 0;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.c-tab table th {
	width: 29.2%;
	font-weight: normal;
	border-color: #fff;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.c-tab {
		margin: 207px auto 198px;
	}
}
@media screen and (max-width: 767px) {
	.c-tab {
		margin: 210px auto 179px;
		width: auto;
	}
	.c-tab > p {
		font-size: 1.6rem;
	}
	.c-tab table th,
.c-tab table td {
		font-size: 1.6rem;
		width: 100% !important;
		float: left !important;
		box-sizing: border-box;
		word-break: break-all;
	}
	.c-tab table th {
		padding-bottom: 0;
		font-weight: 700;
		border: none;
	}
	.c-tab table td {
		padding-top: 16px;
	}
}

.animation {
	opacity: 0;
	-webkit-animation-timing-function: ease-out;
	-ms-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
	-webkit-animation-duration: 1.5s;
	-ms-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 30px, 0) rotateZ(0.1deg);
		transform: translate3d(0, 30px, 0) rotateZ(0.1deg);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 30px, 0) rotateZ(0.1deg);
		transform: translate3d(0, 30px, 0) rotateZ(0.1deg);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

.grecaptcha-badge {
	display: none !important;
}

/*------------------------------------------------------------
	case-list
------------------------------------------------------------*/
.case-list {
	margin-bottom: 93px;
	display: flex;
	flex-wrap: wrap;
}
.case-list > li {
	margin: 0 5.3% 68px 0;
	width: 29.8%;
}
.case-list > li .pho {
	margin-bottom: 25px;
	height: 540px;
	position: relative;
	overflow: hidden;
}
.case-list > li .pho .bg {
	width: 100%;
	height: 120%;
	position: absolute;
	left: 0;
	top: 0;
	background-size: cover;
	background-position: center center;
}
.case-list > li p {
	letter-spacing: 0.01em;
	word-break: break-all;
}
.case-list > li p.ttl {
	margin-bottom: 11px;
	font-size: 1.25vw;
	font-weight: 700;
}
.case-list > li .tag {
	margin: -9px -9px 20px 0;
	display: flex;
	flex-wrap: wrap;
}
.case-list > li .tag li {
	margin: 9px 9px 0 0;
	padding: 5px 15px;
	color: #fff;
	font-size: 1.4rem;
	font-family: myFirstFont;;
	line-height: 1;
	border: 1px solid #fff;
	border-radius: 15px;
}
.case-list > li a {
	display: block;
}
.case-list > li a:hover {
	opacity: 0.5;
}
.case-list > li:nth-child(3n) {
	margin-top: 0px;
	margin-right: 0;
}
.case-list > li:nth-child(3n-1) {
	margin-top: 0px;
}
.case-list > li:nth-child(3n-2) {
	margin-top: 0px;
}
@media (min-width: 768px) and (max-width: 1280px) {
	.case-list {
		margin-bottom: 169px;
	}
	.case-list > li {
		width: 28.7%;
		margin-right: 6.95%;
	}
	.case-list > li .pho {
		height: 362px;
	}
}
@media screen and (max-width: 767px) {
	.case-list {
		margin-bottom: 141px;
		display: block;
	}
	.case-list > li {
		margin: 0 0 96px !important;
		width: auto;
	}
	.case-list > li:last-child {
		margin-bottom: 0 !important;
	}
	.case-list > li p {
		font-size: 1.6rem;
	}
	.case-list > li p.ttl {
		margin-bottom: 12px;
		font-size: 1.6rem;
	}
	.case-list > li .pho {
		margin-bottom: 20px;
		height: 388px;
	}
}/*# sourceMappingURL=common.css.map */