@charset "utf-8";

/*! base.css | author TK | @version  1.1(updated :2020.11.01) */
/* =========================================================================================================
 *
 *
 *
 *
 * 共通スタイル
 *
 *
 *
 *
========================================================================================================= */
/* =========================================================================================================
 *
 * リセット
 *
========================================================================================================= */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
hr,
menu,
nav,
section {
	display: block
}

a,
hr {
	padding: 0
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: 0 0;
	font-size: 100%;
}

ins,
mark {
	background-color: #ff9;
	color: #191919
}

nav ul {
	list-style: none
}

blockquote,
q {
	quotes: none
}

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

a {
	margin: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	text-decoration: none;
}

ins {
	text-decoration: none
}

mark {
	font-style: italic;
	font-weight: 700
}

del {
	text-decoration: line-through
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}

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

hr {
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0
}

input,
select {
	vertical-align: middle
}

.defs {
	display: none;
}

img {
	vertical-align: bottom;
	width: 100%;
	height: auto;
}

button,
input,
select,
textarea {
	margin: 0;
	padding: 0;
	background: 0 0;
	border: none;
	border-radius: 0;
	outline: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: inherit;
	font-size: 100%;
}

select::-ms-expand {
	display: none;
}

svg {
	vertical-align: bottom;
}

[type=search] {
	appearance: textfield;
	-webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-input-placeholder {
	color: #ccc;
}

::-moz-placeholder {
	color: #ccc;
}

::-ms-input-placeholder {
	color: #ccc;
}

::selection {
	background-color: #0560aa;
	color: #ececec;
}

/* =========================================================================================================
 *
 * ルート
 *
========================================================================================================= */
:root {
	--base-color-blue: #143265;
	--base-color-white: #ffffff;
	--base-color-black: #121212;
	--base-color-gray: #808080;
	--base-color-offwhite: #f8f9fa;
}

/* =========================================================================================================
 *
 * フォント
 *
========================================================================================================= */
/*@font-face{font-family: YuGothicM; src: local(Yu Gothic Medium),local(Yu Gothic); font-weight: 500;}*/
/*body{font-size: 1.6rem; font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;}*/
html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}

/*Rubik*/
.rubik {
	font-family: 'Rubik', sans-serif;
	font-weight: 500;
	font-style: italic;
}

.rubik.bold {
	font-weight: 600;
}

/*HACK IE11*/
@media all and (-ms-high-contrast: none) {

	*::-ms-backdrop,
	body {
		font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	}

	/* IE11 */
}

/* =========================================================================================================
 *
 * ボディー
 *
========================================================================================================= */
body {
	line-height: 1.2;
	letter-spacing: .02em;
	color: var(--base-color-black);
	background-color: var(--base-color-offwhite);
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
}

body.pc {
	overflow-y: scroll;
}

/* =========================================================================================================
 *
 * ローダー
 *
========================================================================================================= */
/*ローダー本体*/
#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	z-index: 141;
	color: var(--base-color-blue);
}

#preloader.fadeout {
	opacity: 0;
	visibility: hidden;
	transition: visibility 0s ease-out 1.0s, opacity .4s ease-out .6s;
}

/*キャッチコピー*/
/*
#preloader p:nth-of-type(1) span {display: inline-block; margin: 0 2px; font-size: 1.4rem; animation: loading-blur .9s infinite;}
#preloader p:nth-of-type(1) span:nth-child(2){animation-delay: .1s;}
#preloader p:nth-of-type(1) span:nth-child(3){animation-delay: .2s;}
#preloader p:nth-of-type(1) span:nth-child(4){animation-delay: .3s;}
#preloader p:nth-of-type(1) span:nth-child(5){animation-delay: .4s;}
#preloader p:nth-of-type(1) span:nth-child(6){animation-delay: .5s;}
#preloader p:nth-of-type(1) span:nth-child(7){animation-delay: .6s;}
#preloader p:nth-of-type(1) span:nth-child(8){animation-delay: .7s;}
#preloader p:nth-of-type(1) span:nth-child(9){animation-delay: .8s;}
#preloader p:nth-of-type(1) span:nth-child(10){animation-delay: .9s;}
@keyframes loading-blur{20% {filter: blur(0); opacity: 1;} 100% {filter: blur(1px); opacity: .1;}}
*/
#preloader #loader-txt {
	font-size: 1.2rem;
	font-weight: 600;
}

#preloader #loader-txt span {
	display: inline-block;
	margin: 0 1px;
	/*animation: loading-blur .9s infinite alternate;*/
	opacity: .2;
	animation: loading-blur .9s ease-in-out infinite alternate;
}

#preloader #loader-txt span:nth-child(2) {
	animation-delay: .1s;
}

#preloader #loader-txt span:nth-child(3) {
	animation-delay: .2s;
}

#preloader #loader-txt span:nth-child(4) {
	animation-delay: .3s;
}

#preloader #loader-txt span:nth-child(5) {
	animation-delay: .4s;
}

#preloader #loader-txt span:nth-child(6) {
	animation-delay: .5s;
}

#preloader #loader-txt span:nth-child(7) {
	animation-delay: .6s;
}

#preloader #loader-txt span:nth-child(8) {
	animation-delay: .7s;
}

#preloader #loader-txt span:nth-child(9) {
	animation-delay: .8s;
}

#preloader #loader-txt span:nth-child(10) {
	animation-delay: .9s;
}

/*
@keyframes loading-blur{
	0%{opacity:.2; text-shadow: 0 0 20px #fff;}
	5%{text-shadow: 0 0 10px #fff;}
	30%{opacity: 1; text-shadow: 0 0 0px #fff;}
	70%{opacity: 1; text-shadow: 0 0 0px #fff;}
	95%{text-shadow: 0 0 10px #fff;}
	100%{opacity:.2; text-shadow:  0 0 20px #fff;}
}
*/
@keyframes loading-blur {
	0% {
		opacity: .2;
	}

	5% {}

	30% {
		opacity: 1;
	}

	70% {
		opacity: 1;
	}

	95% {}

	100% {
		opacity: .2;
	}
}

/*バー*/
#preloader #loaderBar {
	width: 70px;
	position: relative;
	padding-top: 1px;
	margin-top: 5px;
}

#preloader #loaderBar span {
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	left: 0;
	background: var(--base-color-blue);
	width: 0;
	animation: borealisBar .5s linear infinite;
}

/*テキスト2*/
#preloader #loader-statement {
	font-size: 1.0rem;
	padding-top: 7px;
	line-height: 1;
	letter-spacing: 0.1rem;
	color: var(--base-color-blue);
}

@keyframes borealisBar {
	0% {
		left: 0%;
		right: 100%;
		width: 0%;
	}

	10% {
		left: 0%;
		right: 90%;
		width: 10%;
	}

	90% {
		right: 0%;
		left: 90%;
		width: 10%;
	}

	100% {
		left: 100%;
		right: 0%;
		width: 0%;
	}
}

/*ローダー背景*/
#preloader-bg {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: var(--base-color-offwhite);
	z-index: 98;
}

/*#preloader.fadeout + #preloader-bg{opacity: 0; visibility: hidden; transition: visibility 0s ease-out 2.0s, opacity .6s ease-out 1.6s;}*/
#preloader.fadeout+#preloader-bg {
	opacity: 0;
	visibility: hidden;
	transition: visibility 0s ease-out 1.4s, opacity .6s ease-out 1.0s;
}

/* =========================================================================================================
 *
 * キーフレーム
 *
========================================================================================================= */
@keyframes bounce {

	0%,
	100%,
	20%,
	50%,
	80% {
		transform: translateY(0)
	}

	40% {
		transform: translateY(6px)
	}

	60% {
		transform: translateY(3px)
	}
}

@keyframes i-slide-r {
	0% {
		transform: translate(0, 0);
		opacity: 1;
	}

	50% {
		transform: translate(10px, 0);
		opacity: 0;
	}

	51% {
		transform: translate(-10px, 0);
		opacity: 0;
	}

	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}

@keyframes i-slide-l {
	0% {
		transform: translate(0, 0);
		opacity: 1;
	}

	50% {
		transform: translate(-10px, 0);
		opacity: 0;
	}

	51% {
		transform: translate(10px, 0);
		opacity: 0;
	}

	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}

@keyframes blind {
	0% {
		width: 0;
		left: 0;
		opacity: 1;
	}

	50% {
		width: 100%;
		left: 0;
	}

	51% {
		width: 100%;
		left: auto;
		right: 0;
	}

	100% {
		width: 0;
		left: auto;
		right: 0;
		opacity: 1;
		visibility: hidden;
	}
}

@keyframes scratch {
	0% {
		left: -35px;
		width: 0;
		opacity: 0;
	}

	30% {
		opacity: 1;
	}

	100% {
		left: 35px;
		width: 34px;
	}
}

@keyframes elasticus {
	0% {
		transform-origin: 0% 0%;
		transform: scale(1, 0);
	}

	50% {
		transform-origin: 0% 0%;
		transform: scale(1, 1);
	}

	50.1% {
		transform-origin: 0% 100%;
		transform: scale(1, 1);
	}

	100% {
		transform-origin: 0% 100%;
		transform: scale(1, 0);
	}
}

@keyframes header-dwon {
	0% {
		top: -100px;
	}

	100% {
		top: 0;
	}
}

@keyframes header-up {
	0% {
		top: 0;
	}

	100% {
		top: -100px;
	}
}

@keyframes current-line {
	0% {
		width: 0px;
	}

	100% {
		width: 100%;
	}
}

/* =========================================================================================================
 *
 * 枠組み
 *
========================================================================================================= */
/* ブロック
-----------------------------------------------------------------------------*/
[class^="block-"]:not(.block-button) {
	margin-left: auto;
	margin-right: auto;
	/*padding-left:50px; padding-right:50px;*/
	position: relative;
	z-index: 1;
}

.block {
	padding-left: 80px;
	padding-right: 80px;
	position: relative;
}

.block-s {
	padding-left: calc(12% + 40px);
	padding-right: calc(12% + 40px);
	/*max-width: 800px;*/
}

.block-m {
	padding-left: calc(9% + 30px);
	padding-right: calc(9% + 30px);
	/*max-width: 1000px;*/
}

.block-l {
	padding-left: calc(6% + 20px);
	padding-right: calc(6% + 20px);
	/*max-width: 1360px;*/
}

.block-x {
	padding-left: calc(3% + 10px);
	padding-right: calc(3% + 10px);
	/*max-width: 1460px;*/
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.block-s {
		padding-left: calc(9% + 40px);
		padding-right: calc(9% + 40px);
	}

	.block-m {
		padding-left: calc(6% + 30px);
		padding-right: calc(6% + 30px);
	}

	.block-l {
		padding-left: calc(3% + 20px);
		padding-right: calc(3% + 20px);
	}
}

@media screen and (max-width:767px) {
	.block-s {
		padding-left: calc(6% + 40px);
		padding-right: calc(6% + 40px);
	}

	.block-m {
		padding-left: calc(3% + 30px);
		padding-right: calc(3% + 30px);
	}

	.block-l {
		padding-left: calc(0% + 20px);
		padding-right: calc(0% + 20px);
	}
}

@media screen and (max-width:567px) {
	.block-s {
		padding-left: calc(3% + 25px);
		padding-right: calc(3% + 25px);
	}

	.block-m {
		padding-left: calc(0% + 20px);
		padding-right: calc(0% + 20px);
	}

	.block-l {
		padding-left: calc(0% + 15px);
		padding-right: calc(0% + 15px);
	}
}

/* コンテンツ枠
-----------------------------------------------------------------------------*/
main {
	display: block;
	overflow: hidden;
}

#contents {
	position: relative;
	/*overflow: hidden;*/
}

/* =========================================================================================================
 *
 * 余白調整
 *
========================================================================================================= */
[class^="pt_"] {
	position: relative;
}

[class^="pb_"] {
	position: relative;
}

.pt_30 {
	padding-top: 30%;
}

.pt_28 {
	padding-top: 28%;
}

.pt_26 {
	padding-top: 26%;
}

.pt_24 {
	padding-top: 24%;
}

.pt_22 {
	padding-top: 22%;
}

.pt_20 {
	padding-top: 20%;
}

.pt_18 {
	padding-top: 18%;
}

.pt_16 {
	padding-top: 16%;
}

.pt_14 {
	padding-top: 14%;
}

.pt_12 {
	padding-top: 12%;
}

.pt_10 {
	padding-top: 10%;
}

.pt_08 {
	padding-top: 8%;
}

.pt_06 {
	padding-top: 6%;
}

.pt_04 {
	padding-top: 4%;
}

/**/
.pb_30 {
	padding-bottom: 30%;
}

.pb_28 {
	padding-bottom: 28%;
}

.pb_26 {
	padding-bottom: 26%;
}

.pb_24 {
	padding-bottom: 24%;
}

.pb_22 {
	padding-bottom: 22%;
}

.pb_20 {
	padding-bottom: 20%;
}

.pb_18 {
	padding-bottom: 18%;
}

.pb_16 {
	padding-bottom: 16%;
}

.pb_14 {
	padding-bottom: 14%;
}

.pb_12 {
	padding-bottom: 12%;
}

.pb_10 {
	padding-bottom: 10%;
}

.pb_08 {
	padding-bottom: 8%;
}

.pb_06 {
	padding-bottom: 6%;
}

.pb_04 {
	padding-bottom: 4%;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.pt_30 {
		padding-top: 32%;
	}

	.pt_28 {
		padding-top: 30%;
	}

	.pt_26 {
		padding-top: 28%;
	}

	.pt_24 {
		padding-top: 26%;
	}

	.pt_22 {
		padding-top: 24%;
	}

	.pt_20 {
		padding-top: 22%;
	}

	.pt_18 {
		padding-top: 20%;
	}

	.pt_16 {
		padding-top: 18%;
	}

	.pt_14 {
		padding-top: 16%;
	}

	.pt_12 {
		padding-top: 14%;
	}

	.pt_10 {
		padding-top: 12%;
	}

	.pt_08 {
		padding-top: 10%;
	}

	.pt_06 {
		padding-top: 8%;
	}

	.pt_04 {
		padding-top: 6%;
	}

	/**/
	.pb_30 {
		padding-bottom: 32%;
	}

	.pb_28 {
		padding-bottom: 30%;
	}

	.pb_26 {
		padding-bottom: 28%;
	}

	.pb_24 {
		padding-bottom: 26%;
	}

	.pb_22 {
		padding-bottom: 24%;
	}

	.pb_20 {
		padding-bottom: 22%;
	}

	.pb_18 {
		padding-bottom: 20%;
	}

	.pb_16 {
		padding-bottom: 18%;
	}

	.pb_14 {
		padding-bottom: 16%;
	}

	.pb_12 {
		padding-bottom: 14%;
	}

	.pb_10 {
		padding-bottom: 12%;
	}

	.pb_08 {
		padding-bottom: 10%;
	}

	.pb_06 {
		padding-bottom: 8%;
	}

	.pb_04 {
		padding-bottom: 6%;
	}
}

@media screen and (max-width:767px) {
	.pt_30 {
		padding-top: 34%;
	}

	.pt_28 {
		padding-top: 32%;
	}

	.pt_26 {
		padding-top: 30%;
	}

	.pt_24 {
		padding-top: 28%;
	}

	.pt_22 {
		padding-top: 26%;
	}

	.pt_20 {
		padding-top: 24%;
	}

	.pt_18 {
		padding-top: 22%;
	}

	.pt_16 {
		padding-top: 20%;
	}

	.pt_14 {
		padding-top: 18%;
	}

	.pt_12 {
		padding-top: 16%;
	}

	.pt_10 {
		padding-top: 14%;
	}

	.pt_08 {
		padding-top: 12%;
	}

	.pt_06 {
		padding-top: 10%;
	}

	.pt_04 {
		padding-top: 8%;
	}

	/**/
	.pb_30 {
		padding-bottom: 34%;
	}

	.pb_28 {
		padding-bottom: 32%;
	}

	.pb_26 {
		padding-bottom: 30%;
	}

	.pb_24 {
		padding-bottom: 28%;
	}

	.pb_22 {
		padding-bottom: 26%;
	}

	.pb_20 {
		padding-bottom: 24%;
	}

	.pb_18 {
		padding-bottom: 22%;
	}

	.pb_16 {
		padding-bottom: 20%;
	}

	.pb_14 {
		padding-bottom: 18%;
	}

	.pb_12 {
		padding-bottom: 16%;
	}

	.pb_10 {
		padding-bottom: 14%;
	}

	.pb_08 {
		padding-bottom: 12%;
	}

	.pb_06 {
		padding-bottom: 10%;
	}

	.pb_04 {
		padding-bottom: 8%;
	}
}

@media screen and (max-width:567px) {
	.pt_30 {
		padding-top: 36%;
	}

	.pt_28 {
		padding-top: 34%;
	}

	.pt_26 {
		padding-top: 32%;
	}

	.pt_24 {
		padding-top: 30%;
	}

	.pt_22 {
		padding-top: 28%;
	}

	.pt_20 {
		padding-top: 26%;
	}

	.pt_18 {
		padding-top: 24%;
	}

	.pt_16 {
		padding-top: 22%;
	}

	.pt_14 {
		padding-top: 20%;
	}

	/*26*/
	.pt_12 {
		padding-top: 18%;
	}

	.pt_10 {
		padding-top: 16%;
	}

	.pt_08 {
		padding-top: 14%;
	}

	.pt_06 {
		padding-top: 12%;
	}

	.pt_04 {
		padding-top: 10%;
	}

	/**/
	.pb_30 {
		padding-bottom: 36%;
	}

	.pb_28 {
		padding-bottom: 34%;
	}

	.pb_26 {
		padding-bottom: 32%;
	}

	.pb_24 {
		padding-bottom: 30%;
	}

	.pb_22 {
		padding-bottom: 28%;
	}

	.pb_20 {
		padding-bottom: 26%;
	}

	.pb_18 {
		padding-bottom: 24%;
	}

	.pb_16 {
		padding-bottom: 22%;
	}

	.pb_14 {
		padding-bottom: 20%;
	}

	.pb_12 {
		padding-bottom: 18%;
	}

	.pb_10 {
		padding-bottom: 16%;
	}

	.pb_08 {
		padding-bottom: 14%;
	}

	.pb_06 {
		padding-bottom: 12%;
	}

	.pb_04 {
		padding-bottom: 10%;
	}
}

/* =========================================================================================================
 *
 * リンクボタン（アンダーライン）
 *
========================================================================================================= */
/* アンダーライン
-----------------------------------------------------------------------------*/
.link-underline {
	display: inline-block;
	vertical-align: middle;
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	position: relative;
	overflow: hidden;
	transition: color .2s ease-out;
	line-height: 100%;
	padding-bottom: 3px;
	padding-top: 3px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.link-underline::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	right: 50%;
	bottom: 0;
	background-color: #121212;
	height: 1px;
	opacity: 0;
	transition: left .3s cubic-bezier(.645, .045, .355, 1), right .3s cubic-bezier(.645, .045, .355, 1), opacity 0s .3s;
}

.link-underline.current::before {
	left: 0;
	right: 0;
	opacity: 1;
	transition: left .3s cubic-bezier(.645, .045, .355, 1), right .3s cubic-bezier(.645, .045, .355, 1);
}

.link-underline:hover::before {
	left: 0;
	right: 0;
	opacity: 1;
	transition: left .3s cubic-bezier(.645, .045, .355, 1), right .3s cubic-bezier(.645, .045, .355, 1);
}

/* アンダーライン ディスプレイ*/
.link-underline.display::before {
	left: 0;
	bottom: 0;
	background-color: #000;
	width: 100%;
	opacity: 1;
}

.link-underline.display::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0;
	background-color: #143265;
	height: 1px;
	opacity: 0;
	transition: left .3s cubic-bezier(.645, .045, .355, 1), right .3s cubic-bezier(.645, .045, .355, 1), opacity 0s .3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.pc .link-underline.display:hover::after {
	right: 0;
	opacity: 1;
	transition: left .3s cubic-bezier(.645, .045, .355, 1), right .3s cubic-bezier(.645, .045, .355, 1);
}

/*アイコンあり*/
.link-underline.icon {
	padding-right: 24px;
}

.link-underline.arrow svg {
	width: 17px;
	height: 4px;
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -4px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.link-underline.blank {
	padding-right: 20px;
}

.link-underline.blank svg {
	width: 12px;
	height: 10px;
	position: absolute;
	right: 2px;
	top: 50%;
	margin-top: -6px;
}

/* アンダーライン
-----------------------------------------------------------------------------*/
.hover-underline {
	position: relative;
	padding: 2px 0;
}

.hover-underline::before {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: 0;
	height: 1px;
	width: 100%;
	background-color: var(--base-color-blue);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.7s cubic-bezier(.175, .90, .44, 1);
}

.hover-underline:hover::before {
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(.645, .045, .355, 1);
}

/* =========================================================================================================
 *
 * リンクボタン（ブラインド）
 *
========================================================================================================= */
/* ブラインド
-----------------------------------------------------------------------------*/
/*デフォルト*/
/*
.blind-button{position:relative; display:inline-block; color:#000; cursor:pointer; overflow:hidden; -webkit-backface-visibility:hidden; backface-visibility:hidden; background-color: #f5f5f5;}
.blind-button > *{position:relative; display:block; z-index:2;}
.blind-button::before{display:block; content:''; z-index:1; position:absolute; left:0; right:0; bottom:0; height:100%; visibility:hidden; background-color:#DBD9E8; transform:scaleX(0); transform-origin:right; transition:0.3s transform cubic-bezier(0, 0.01, 0, 1), visibility 0s 0.4s;}
.blind-button:hover::before{height:100%; visibility:visible; transform:scaleX(1); transform-origin:left; transition:0.3s transform cubic-bezier(0, 0.01, 0, 1);}
.blind-button:hover{color:#000;}
*/
/*ダウン*/
/*
.blind-button.down::before{transform:scaleY(0); transform-origin:bottom;}
.blind-button.down:hover::before{transform:scaleY(1); transform-origin:top}
*/
.link-button {
	padding-top: 20px;
}

.blind-button {
	border-radius: 30px;
	box-sizing: border-box;
	/*height: 42px;*/
	border: 1px solid var(--base-color-blue);
	z-index: 2;
	background-color: var(--base-color-blue);
	position: relative;
	display: inline-block;
	cursor: pointer;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	text-decoration: none !important;
}

.blind-button::before {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	visibility: hidden;
	background-color: var(--base-color-white);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.7s cubic-bezier(0, 0.01, 0, 1), visibility 0s 0.8s;
}

.blind-button p {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 26px;
	z-index: 1;
}

.blind-button .text {
	display: block;
	color: var(--base-color-white);
	padding: 0 0 0 10px;
	font-size: 1.3rem;
	line-height: normal;
	transition: color .3s ease-out;
	white-space: nowrap;
}

.blind-button .icon {
	display: block;
	width: 11px;
	height: 11px;
	position: relative;
}

.blind-button .icon svg {
	fill: var(--base-color-white);
	width: 11px;
	height: 11px;
}

/*ホバー*/
.blind-button:hover::before {
	height: 100%;
	visibility: visible;
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(0, 0.01, 0, 1);
}

.blind-button:hover .text {
	color: var(--base-color-blue);
}

.blind-button:hover .icon svg {
	fill: var(--base-color-blue);
}

/*ホワイト*/
.blind-button.white {
	border: 1px solid var(--base-color-white);
	background-color: var(--base-color-white);
}

.blind-button.white::before {
	background-color: var(--base-color-black);
}

.blind-button.white .text {
	color: var(--base-color-black);
}

.blind-button.white .icon svg {
	fill: var(--base-color-black);
}

.blind-button.white:hover .text {
	color: var(--base-color-white);
}

.blind-button.white:hover .icon svg {
	fill: var(--base-color-white);
}

/*ブラック*/
.blind-button.black {
	border: 1px solid var(--base-color-black);
	background-color: var(--base-color-black);
}

.blind-button.black::before {
	background-color: var(--base-color-white);
}

.blind-button.black .text {
	color: var(--base-color-white);
}

.blind-button.black .icon svg {
	fill: var(--base-color-white);
}

.blind-button.black:hover .text {
	color: var(--base-color-black);
}

.blind-button.black:hover .icon svg {
	fill: var(--base-color-black);
}

/* =========================================================================================================
 *
 * ブラインドリンク
 *
========================================================================================================= */
/* ブラインド
-----------------------------------------------------------------------------*/
/*デフォルト*/
.blind-link {
	position: relative;
	display: inline-block;
	color: #000;
	cursor: pointer;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.blind-link>* {
	position: relative;
	display: block;
	z-index: 2;
}

.blind-link::before {
	display: block;
	content: '';
	z-index: -1;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	visibility: hidden;
	background-color: #f3f5f7;
	transform: scaleX(0);
	transform-origin: right;
	transition: 0.3s transform cubic-bezier(0, 0.01, 0, 1), visibility 0s 0.4s;
}

.blind-link:hover::before {
	height: 100%;
	visibility: visible;
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(0, 0.01, 0, 1);
}

.blind-link:hover {
	color: var(--base-color-black);
}

/*ダウン*/
.blind-link.down::before {
	transform: scaleY(0);
	transform-origin: bottom;
}

.blind-link.down:hover::before {
	transform: scaleY(1);
	transform-origin: top
}

/*薄いブルー*/
.blind-link.thin-blue::before {
	background-color: #f3f5f7;
}

/*ホワイト*/
.blind-link.white::before {
	background-color: #fff;
}

/*ブラック*/
.blind-link.black::before {
	background-color: #000;
}

/*グレイ*/
.blind-link.lightgray::before {
	background-color: rgba(0, 0, 0, .01);
}

/*ブルー→薄いブルー*/
.blind-link.blue-thin {
	background-color: #143265;
}

.blind-link.blue-thin::before {
	background-color: #f3f5f7;
}

/* =========================================================================================================
 *
 * アイコンアニメーション
 *
========================================================================================================= */
/* アイコンアニメーション
-----------------------------------------------------------------------------*/
a svg.i-slide-r {
	position: absolute;
	right: 0;
	top: 0;
	fill: #000;
}

a:hover svg.i-slide-r {
	animation: i-slide-r 640ms 1 forwards;
}

a svg.i-slide-l {
	position: absolute;
	left: 0;
	top: 0;
	fill: #000;
}

a:hover svg.i-slide-l {
	animation: i-slide-l 640ms 1 forwards;
}

/* プラスアイコンアニメーション
-----------------------------------------------------------------------------*/
.plus-icon {
	position: absolute;
	text-align: center;
	font-size: 1.2rem;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: #fff;
	z-index: 1;
	opacity: 0;
	transition: opacity .4s cubic-bezier(0.694, 0.048, 0.335, 1);
}

.plus-icon .plus {
	height: 30px;
	width: 30px;
	display: block;
	position: relative;
	border: 1px solid var(--base-color-white);
	border-radius: 50%;
	transform-origin: center center;
}

.plus-icon .plus::before,
.plus-icon .plus::after {
	display: block;
	content: '';
	background-color: var(--base-color-white);
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
}

.plus-icon .plus::before {
	width: 2px;
	height: 12px;
}

.plus-icon .plus::after {
	width: 12px;
	height: 2px;
}

.plus-icon span:nth-of-type(2) {
	padding-top: 5px;
	white-space: nowrap;
}

a:hover .plus-icon {
	opacity: 1;
}

a:hover .plus-icon .plus {
	transform: rotate(270deg);
	transition: .6s .4s;
}

/**/
.plus-icon .blank {
	height: 30px;
	width: 30px;
	display: block;
	position: relative;
	border: 1px solid var(--base-color-white);
	border-radius: 50%;
	transform-origin: center center;
}

.plus-icon .blank svg {
	fill: var(--base-color-white);
	width: 14px;
	height: 14px;
	position: absolute;
	/*top: 50%;*/
	top: 8px;
	left: 50%;
	/*margin-top: -7px;*/
	margin-left: -7px;
}

/* =========================================================================================================
 *
 * スクロールアニメーション
 *
========================================================================================================= */
/* フェード
-----------------------------------------------------------------------------*/
/*基本フェード*/
.scroll-fade {
	opacity: 0;
	position: relative;
}

.complete .scroll-fade.appear {
	opacity: 1;
	transition: opacity .8s ease-out .2s;
}

/*タイミング調整*/
.complete .scroll-fade.delay1.appear {
	transition: opacity 1s ease-in-out .4s;
}

.complete .scroll-fade.delay2.appear {
	transition: opacity 1s ease-in-out .6s;
}

.complete .scroll-fade.delay3.appear {
	transition: opacity 1s ease-in-out 1.0s;
}

/* スライド
-----------------------------------------------------------------------------*/
/*基本スライド*/
.scroll-slideup {
	transform: translateY(35px);
	opacity: 0;
	position: relative;
}

.complete .scroll-slideup.appear {
	transform: translateY(0);
	opacity: 1;
	transition: transform 0.8s cubic-bezier(.56, .08, .09, .96) 0.2s, opacity 0.8s cubic-bezier(.56, .08, .09, .96) 0.4s;
}

/*タイミング調整*/
.complete .scroll-slideup.delay1.appear {
	transition: transform 0.8s cubic-bezier(.56, .08, .09, .96) 0.3s, opacity .8s cubic-bezier(.56, .08, .09, .96) 0.5s;
}

.complete .scroll-slideup.delay2.appear {
	transition: transform 0.8s cubic-bezier(.56, .08, .09, .96) 0.4s, opacity .8s cubic-bezier(.56, .08, .09, .96) 0.6s;
}

.complete .scroll-slideup.delay3.appear {
	transition: transform 0.8s cubic-bezier(.56, .08, .09, .96) 0.6s, opacity .8s cubic-bezier(.56, .08, .09, .96) 0.8s;
}

/* 漂流
-----------------------------------------------------------------------------*/
.scroll-drifting {
	display: block;
	overflow: hidden;
}

.scroll-drifting .effect-block {
	padding: 0 0.03em;
	/*display: inline-flex;*/
	display: inline-flex;
	display: block;
	position: relative;
	transition: transform .8s cubic-bezier(.16, .43, .45, 1), opacity .8s cubic-bezier(.56, .08, .09, .96) .1s;
	transform: translate3d(0, 95%, 0) skewY(12deg);
	transform-origin: left;
	opacity: 0;
}

.complete .scroll-drifting .effect-block.appear {
	transform: translate3d(0, 0, 0) skewY(0);
	opacity: 1;
}

/*タイミング調整*/
.complete .scroll-drifting .effect-block.delay1 {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) .4s, opacity .8s cubic-bezier(.56, .08, .09, .96) .4s;
}

.complete .scroll-drifting .effect-block.delay2 {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) .6s, opacity .8s cubic-bezier(.56, .08, .09, .96) .6s;
}

.complete .scroll-drifting .effect-block.delay3 {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) .8s, opacity .8s cubic-bezier(.56, .08, .09, .96) .8s;
}

.complete .scroll-drifting .effect-block.delay4 {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.0s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.0s;
}

.complete .scroll-drifting .effect-block.fast {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 0s, opacity .8s cubic-bezier(.56, .08, .09, .96) 0s;
}

/* =========================================================================================================
 *
 * ハンバーガーボタン
 *
========================================================================================================= */
#menu-button {
	position: fixed;
	z-index: 102;
	top: 0px;
	right: 0;
	width: 80px;
	height: 80px;
	/*background-color: #121212;*/
	cursor: pointer;
	transition: background-color .4s cubic-bezier(.16, .43, .45, 1) 0s;
	/*-webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);*/
}

/*.pc #menu-button:hover{background-color: #666666;}*/
#menu-button span {
	display: block;
}

#menu-button #bars {
	position: absolute;
	top: 27px;
	left: 27px;
	width: 29px;
	height: 29px;
	transition: transform .3s cubic-bezier(0.694, 0.048, 0.335, 1);
	font-size: 0;
	text-align: left;
	overflow: hidden;
}

#menu-button #bars span {
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: #121212;
	overflow: hidden;
	left: 0;
	border-radius: 4px;
}

#menu-button #bars span:nth-child(1) {
	transform: scaleX(1);
	transition: transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition-delay: 0.4s;
	width: 60%;
	border-radius: 4px;
}

#menu-button #bars span:nth-child(1) {
	top: 6px;
}

#menu-button #bars span:nth-child(2) {
	top: 13px;
}

#menu-button #bars span:nth-child(3) {
	top: 20px;
}

#menu-button #bars span:nth-child(3) {
	width: 70%;
	transition: width 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition-delay: 0.4s;
}

#menu-button #bars #cross-bar {
	width: 2px;
	height: 0;
	position: absolute;
	top: 0;
	left: 13px;
	transition: height 0.4s cubic-bezier(0.694, 0.048, 0.335, 1), background-color 0s .6s;
	z-index: 10;
	margin-top: 0;
	margin-left: 0;
	border-radius: 4px;
}

/*スライドリセット*/
#menu-button #slide-reset {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

/*スクラッチアニメーション*/
@keyframes scratch {
	0% {
		left: -35px;
		width: 0;
		opacity: 0;
	}

	30% {
		opacity: 1;
	}

	100% {
		left: 35px;
		width: 34px;
	}
}

#menu-button #bars span:nth-child(-n + 3)::after {
	content: "";
	position: absolute;
	height: 5px;
	width: 0;
	background-color: #ffffff;
	top: -2px;
	left: -35px;
}

#menu-button.scratch #bars span:nth-child(-n + 3)::after {
	animation: scratch .9s cubic-bezier(0, 0.01, 0, 1) 1;
}

#menu-button.scratch #bars span:nth-child(1)::after {
	animation-delay: 0s;
}

#menu-button.scratch #bars span:nth-child(2)::after {
	animation-delay: .3s;
}

#menu-button.scratch #bars span:nth-child(3)::after {
	animation-delay: .6s;
}

/*トランスペアレント*/
#menu-button.transparent #bars span {
	background-color: #ffffff;
}

#menu-button.transparent #bars span:nth-child(-n + 3)::after {
	background-color: #ffffff;
}

/*アクティブ*/
/*
#menu-button.active{animation: fluffy1 2s ease 1;}
@keyframes fluffy1{0%{right: -100px; display: none;}50%{right: -100px; display: block;}100%{right: 23px;}}
@keyframes fluffy2{0%{right: -100px; display: none;}50%{right: -100px; display: block;}100%{right: 17px;}}
*/
#menu-button.active #slide-reset {
	display: none;
}

#menu-button.active #bars {
	transform: rotate(45deg);
	transition-delay: 0.4s;
}

#menu-button.active #bars span:nth-child(1) {
	transform: scaleX(0);
	transition: transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
}

/*#menu-button.active #bars span:nth-child(2){top: 6px;}*/
#menu-button.active #bars span:nth-child(3) {
	width: 0;
	transition: width 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
}

#menu-button.active #bars #cross-bar {
	height: 29px;
	transition: height 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition-delay: 0.3s;
}

#menu-button.active #bars span::after {
	display: none;
}

#menu-button.active #menu-text {
	color: #ffffff !important;
	transition: color 0s .5s;
}

#menu-button.active #menu-text span:nth-child(1) {
	display: none;
}

#menu-button.active #menu-text span:nth-child(2) {
	display: block;
}

#menu-button.transparent.active #bars span {
	background-color: #F80021;
}

/*メディアクリエ*/
@media screen and (max-width:567px) {
	#menu-button {
		width: 80px;
		height: 80px;
		top: 0;
	}

	#menu-button #bars {
		top: 25px;
		left: 25px;
	}
}

/* =========================================================================================================
 *
 * スイッチエフェクト
 *
========================================================================================================= */
/*ブラインド共通スタイル*/
@keyframes blind-effect-in {
	0% {
		transform: scaleY(0);
	}

	100% {
		transform: scaleY(1);
	}
}

@keyframes blind-effect-out {
	0% {
		transform: scaleY(1);
	}

	100% {
		transform: scaleY(0);
	}
}

#blind-effect-in-curtain-1,
#blind-effect-in-curtain-2,
#blind-effect-out-curtain-1,
#blind-effect-out-curtain-2 {
	position: fixed;
	width: 100%;
	height: 100%;
	display: block;
	left: 0;
	transform: scaleY(0);
	background-color: #FFFFFF;
	z-index: 101;
}

/*ブラインド イン*/
#blind-effect-in-curtain-1 {
	top: 0;
	transform-origin: top left;
}

#blind-effect-in-curtain-2 {
	bottom: 0;
	transform-origin: bottom left;
}

#blind-effect-in-curtain-1.active {
	animation: blind-effect-in 0.7s cubic-bezier(.19, 1, .22, 1);
}

#blind-effect-in-curtain-2.active {
	animation: blind-effect-out 1.3s cubic-bezier(.19, 1, .22, 1) 0.7s;
}

/*ブラインド アウト*/
#blind-effect-out-curtain-1 {
	bottom: 0;
	transform-origin: bottom left;
}

#blind-effect-out-curtain-2 {
	top: 0;
	transform-origin: top left;
}

#blind-effect-out-curtain-1.active {
	animation: blind-effect-in 0.7s cubic-bezier(.19, 1, .22, 1);
}

#blind-effect-out-curtain-2.active {
	animation: blind-effect-out 1.3s cubic-bezier(.19, 1, .22, 1) 0.7s;
}

/*ブラインド スタンバイ*/
#blind-effect-out-curtain-1,
#blind-effect-out-curtain-2 {
	visibility: hidden;
}

.complete #blind-effect-out-curtain-1,
.complete #blind-effect-out-curtain-2 {
	visibility: visible;
	transition: visibility 0s 2s;
}

/* =========================================================================================================
 *
 * ハンバーガーメニュー
 *
========================================================================================================= */
/* 枠組
-----------------------------------------------------------------------------*/
#sitenav {
	position: fixed;
	top: 0;
	left: 0;
	overflow: hidden;
	/*z-index:100;*/
	visibility: hidden;
	z-index: 100;
	height: 0;
	width: 100%;
	transition: visibility 0s 0.7s, height 0s 0.7s;
}

#sitenav #sitenav-inner {
	height: 100%;
	display: flex;
	align-items: center;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	background-color: rgba(255, 255, 255, 1);
	-webkit-overflow-scrolling: touch;
	position: relative;
}

/*スクロールバーの非表示*/
.pc #sitenav #sitenav-inner {
	overflow-y: scroll;
	-ms-overflow-style: none;
	/* IE, Edge 対応 */
	scrollbar-width: none;
	/* Firefox 対応 */
}

.pc #sitenav #sitenav-inner::-webkit-scrollbar {
	/* Chrome, Safari 対応 */
	display: none;
}

/*アクティブ*/
#sitenav.active {
	height: 100vh;
	visibility: visible;
}

/*インナー*/
.pc #sitenav #sitenav-inner {
	width: 100%;
}

.sp #sitenav #sitenav-inner {
	width: 100%;
}

/*リンク枠*/
#sitenav #select-contents {
	position: relative;
	width: 100%;
	height: 100%;
}

/* ナビゲーションリンク枠
-----------------------------------------------------------------------------*/
#sitenav #navigation-link {
	position: relative;
	padding: 15% 0 80px 0;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#sitenav #navigation-link {
		padding: 20% 0 80px 0;
	}
}

@media screen and (max-width:767px) {
	#sitenav #navigation-link {
		position: relative;
		padding: 25% 0 80px 0;
	}
}

@media screen and (max-width:567px) {
	#sitenav #navigation-link {
		position: relative;
		padding: 30% 0 160px 0;
	}
}

/* ナビゲーションリンク
-----------------------------------------------------------------------------*/
#sitenav .page-contents {
	width: 100%;
}

#sitenav .content-menu:nth-of-type(n + 2) {
	padding-top: 2.6%;
}

#sitenav .content-menu a {
	color: var(--base-color-black);
	line-height: 1;
	/*letter-spacing: 0.01rem;*/
	display: inline-block;
	position: relative;
	transition: left .3s ease-out, color .3s ease-out;
	left: 0;
}

.pc #sitenav .content-menu a:hover {
	color: var(--base-color-blue);
	left: 10px;
}

#sitenav a .en {
	font-weight: 600;
	line-height: 1;
}

#sitenav a .ja {
	font-size: 10px;
}

/**/
#sitenav .has-sub-menu {
	display: flex;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#sitenav .page-contents {
		padding-top: 0;
	}

	#sitenav .content-menu:nth-of-type(n + 2) {
		padding-top: 4.6%;
	}

	#sitenav .has-sub-menu {
		display: block;
	}
}

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

	/*#sitenav .page-contents{}*/
	#sitenav .content-menu:nth-of-type(n + 2) {
		padding-top: 6.6%;
	}
}

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

	/*#sitenav .page-contents{}*/
	#sitenav .content-menu:nth-of-type(n + 2) {
		padding-top: 8.6%;
	}
}

/*メインメニュー
-----------------------------------------------------------------------------*/
#sitenav .main-menu a {
	/*display: flex;*/
	display: inline-flex;
	align-items: flex-end;
}

#sitenav .main-menu a .en {
	font-size: 2.6vw;
	letter-spacing: normal;
}

#sitenav .main-menu a .ja {
	padding-left: 8px;
	padding-bottom: 7px;
	white-space: nowrap;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#sitenav .has-sub-menu .main-menu::before {
		top: 0;
		right: auto;
		left: 5px;
	}

	#sitenav .main-menu a .en {
		font-size: 3.2vw;
	}

	#sitenav .main-menu a .ja {
		padding-left: 8px;
		padding-bottom: 6px;
		white-space: nowrap;
	}
}

@media screen and (max-width:767px) {
	#sitenav .main-menu a .en {
		font-size: 5.2vw;
	}
}

@media screen and (max-width:567px) {
	#sitenav .main-menu a .en {
		font-size: 7.2vw;
	}
}

/*サブメニュー
-----------------------------------------------------------------------------*/
#sitenav .sub-menu {
	width: calc(100% - 60px);
	position: relative;
	padding-left: 60px;
}

#sitenav .sub-menu::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	background-color: var(--base-color-black);
	top: 0;
	left: 30px;
}

#sitenav .sub-menu ul {
	display: flex;
	align-items: flex-start;
	gap: 30px;
}

@media screen and (max-width:767px) {
	#sitenav .sub-menu ul {
		gap: 0;
	}
}

#sitenav .sub-menu li {
	/*padding-right: 30px;*/
	position: relative;
	overflow: hidden;
}

#sitenav .sub-menu .effect-block {
	padding-right: 10px;
}

/*#sitenav .sub-menu li:nth-last-of-type(1){padding-right: 0;}*/
#sitenav .sub-menu a span {
	display: block;
}

#sitenav .sub-menu a .en {
	font-size: 1.4vw;
}

#sitenav .sub-menu a .ja {
	padding-left: 0;
	padding-top: 3px;
}

/*アイコン付きメニュー*/
#sitenav .sub-menu ul:nth-of-type(2) {
	padding-top: 25px;
	padding-bottom: 3px;
}

#sitenav .sub-menu ul:nth-of-type(2) a {
	font-size: 1.2rem;
	display: inline-flex;
	align-items: center;
}

#sitenav .sub-menu ul:nth-of-type(2) a span {
	padding-left: 5px;
}

#sitenav .sub-menu ul:nth-of-type(2) svg {
	width: 20px;
	height: 20px;
}

.pc #sitenav .sub-menu ul:nth-of-type(2) a:hover svg {
	fill: var(--base-color-blue);
}

/*アサイドリンク*/
#sitenav .aside-menu {
	padding-top: 40px;
	margin-top: 40px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	display: flex;
	justify-content: space-between;
}

#sitenav .aside-menu .menu:nth-of-type(n + 2) {
	padding-top: 10px;
}

#sitenav .aside-menu .menu a {
	color: var(--base-color-black);
	line-height: 1;
	display: inline-block;
	position: relative;
	transition: left .3s ease-out, color .3s ease-out;
	left: 0;
	display: flex;
	align-items: flex-end;
}

.pc #sitenav .aside-menu .menu a:hover {
	color: var(--base-color-blue);
	left: 10px;
}

#sitenav .aside-menu .menu a .en {
	font-size: 1.4vw;
	font-weight: 500;
}

#sitenav .aside-menu .menu a span {
	display: block;
}

#sitenav .aside-menu .menu a .ja {
	padding-left: 8px;
	padding-bottom: 4px;
	white-space: nowrap;
}

/*ロケーションデータ*/
#sitenav .location-info {
	margin-left: 0%;
	margin-top: 40px;
}

/*バナー*/
#sitenav .aside-menu .banner {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

#sitenav .aside-menu .banner a {
	display: inline-flex;
	max-width: 280px;
}

/*メディアクリエ*/
@media screen and (max-width:1370px) {
	#sitenav .aside-menu .banner {
		justify-content: flex-end;
	}

	#sitenav .aside-menu .banner a {
		max-width: 35%;
	}
}

@media screen and (max-width:1024px) {
	#sitenav .aside-menu .banner {
		margin-top: 50px;
		justify-content: flex-start;
	}

	#sitenav .aside-menu .banner a {
		max-width: 400px;
	}
}

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

@media screen and (max-width:567px) {
	#sitenav .aside-menu .banner {
		flex-direction: column;
	}

	/*
	#sitenav .aside-menu .banner a {
		max-width: 320px;
	}
	*/
}

/* ADLPバナー */
#sitenav .aside-menu .banner a.adlp-bnr {
	display: block;
	overflow: hidden;
	position: relative;
}

#sitenav .aside-menu .banner a.adlp-bnr .icon {
	width: 10px;
	height: 10px;
	position: absolute;
	right: 4px;
	top: 4px;
}

#sitenav .aside-menu .banner a.adlp-bnr svg {
	fill: #121212;
	width: 10px;
	height: 10px;
}

/*プライバシー*/
#sitenav .privacy {
	padding-top: 20px;
}

#sitenav .privacy a {
	font-size: 1.3rem;
	color: var(--base-color-black);
	transition: color .3s ease-out;
}

#sitenav .privacy a:hover {
	color: var(--base-color-blue);
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#sitenav .sub-menu::before {
		left: 10px;
	}

	#sitenav .sub-menu {
		width: calc(100% - 30px);
		padding-left: 30px;
		margin-top: 15px;
	}

	#sitenav .sub-menu ul:nth-of-type(2) {
		padding-top: 15px;
	}

	#sitenav .sub-menu a .en {
		font-size: 2.0vw;
	}

	#sitenav .aside-menu .menu a .en {
		font-size: 2.4vw;
	}

	#sitenav .aside-menu {
		display: block;
		margin-top: 10px;
		border: none;
	}
}

@media screen and (max-width:767px) {
	#sitenav .sub-menu ul {
		display: inline-flex;
		flex-direction: column;
	}

	#sitenav .sub-menu li {
		padding-right: 0;
		position: relative;
		/*overflow: visible;*/
	}

	#sitenav .sub-menu li:nth-of-type(n + 2) {
		margin-top: 15px;
	}

	#sitenav .sub-menu ul:nth-of-type(2) {
		padding-top: 30px;
	}

	#sitenav .sub-menu a .en {
		font-size: 4.0vw;
		font-weight: 500;
		white-space: nowrap;
	}

	#sitenav .aside-menu .menu a .en {
		font-size: 3.0vw;
	}
}

@media screen and (max-width:567px) {
	#sitenav .sub-menu {
		width: auto;
		padding-left: 25px;
	}

	#sitenav .sub-menu::before {
		left: 5px;
	}

	#sitenav .sub-menu a .en {
		font-size: 4.6vw;
	}

	#sitenav .aside-menu .menu a .en {
		font-size: 5.0vw;
	}

	.location-info>p.address {
		font-size: 1.1rem;
	}
}

/* デコレーションテキスト
-----------------------------------------------------------------------------*/
#sitenav .deco-text {
	position: fixed;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

#sitenav .deco-text p {
	font-size: 16vw;
	line-height: 16vw;
	opacity: .06;
	position: relative;
	bottom: -3vw;
}

#sitenav .deco-text p span {
	color: #00b7a8;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {}

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

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

/* アニメーション
-----------------------------------------------------------------------------*/
#sitenav .effect-block {
	opacity: 0;
}

#sitenav .scroll-fade {
	opacity: 0;
}

#sitenav.active .scroll-fade {
	opacity: 1;
}

#sitenav.active .effect-block {
	opacity: 1;
}

#sitenav.active .scroll-drifting {
	overflow: unset;
}

#sitenav.active .scroll-drifting .effect-block {
	transform: translate3d(0, 0, 0) skewY(0);
	opacity: 1;
}

#sitenav.active .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) .4s, opacity .8s cubic-bezier(.56, .08, .09, .96) .4s;
}

/*表示タイミング*/
#sitenav.active .scroll-fade {
	opacity: 1;
	transition: opacity .8s ease-out .2s;
}

#sitenav.active .page-contents li:nth-of-type(1) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.0s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.0s;
}

#sitenav.active .page-contents li:nth-of-type(2) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.1s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.1s;
}

#sitenav.active .page-contents li:nth-of-type(3) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.2s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.2s;
}

#sitenav.active .page-contents li:nth-of-type(4) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.3s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.3s;
}

#sitenav.active .page-contents li:nth-of-type(5) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.4s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.4s;
}

#sitenav.active .page-contents li:nth-of-type(6) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.5s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.5s;
}

#sitenav.active .page-contents li:nth-of-type(7) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.6s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.6s;
}

#sitenav.active .page-contents li:nth-of-type(8) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.7s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.7s;
}

#sitenav.active .related-item li:nth-of-type(1) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.3s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.3s;
}

#sitenav.active .related-item li:nth-of-type(2) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.4s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.4s;
}

#sitenav.active .aside-link.us li:nth-of-type(1) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.5s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.5s;
}

#sitenav.active .aside-link.us li:nth-of-type(2) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.6s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.6s;
}

#sitenav.active .aside-link.legal li:nth-of-type(1) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.3s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.3s;
}

#sitenav.active .aside-link.legal li:nth-of-type(2) .scroll-drifting .effect-block {
	transition: transform .8s cubic-bezier(.16, .43, .45, 1) 1.4s, opacity .8s cubic-bezier(.56, .08, .09, .96) 1.4s;
}

/* =========================================================================================================
 *
 * ヘッダーロゴ
 *
========================================================================================================= */
/*ヘッダーロゴ*/
/*ロゴ画像*/
#header-logo {
	position: fixed;
	top: 15px;
	left: 25px;
	z-index: 105;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

#header-logo img {
	width: 280px;
	height: auto;
}

/*#header-logo{position:fixed; top:20px; left:25px; z-index:105; -webkit-backface-visibility:hidden; backface-visibility:hidden;}*/
#header-logo a {
	display: block;
}

#header-logo svg {
	fill: #121212;
	width: 200px;
	height: 18px;
	transition: fill .6s ease .2s;
}

#header-logo.transparent svg {
	fill: #ffffff;
}

.complete #header-logo.active svg {
	fill: #121212;
}

#header-logo span {
	display: block;
}

#header-logo span:nth-of-type(1) {
	font-size: 1.8rem;
	font-weight: 500;
}

#header-logo span:nth-of-type(2) {
	font-size: 1.2rem;
	position: absolute;
	bottom: -12px;
	left: 0;
	width: 100%;
	text-align: center;
}

/*サイトネーム*/
#header-logo #site-name {
	display: none;
}

/*透過*/
#header-logo.transparent svg {
	fill: #ffffff;
}

/*メディアクリエ*/
@media screen and (max-width:567px) {
	#header-logo {
		top: 16px;
		left: 15px;
	}

	#header-logo img {
		width: 240px;
	}

	/*#header-logo svg{width:180px; height:14px;}*/
}

/* =========================================================================================================
 *
 * ヘッダー：グローバルメニュー
 *
========================================================================================================= */
/* メニュー枠
-----------------------------------------------------------------------------*/
#global-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
}

#global-header.active {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0s ease 0s, visibility 0s ease 0s;
}

/*ヘッダーナビゲーション枠*/
.global-nav {
	width: 100%;
	z-index: 20;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	opacity: 1;
	visibility: visible;
	transition: opacity 0s ease 0s, visibility 0s ease 0s;
	left: 0;
	position: relative;
}

.global-nav::before {
	content: "";
	position: absolute;
	height: 1px;
	width: 100%;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.03);
}

.global-nav nav {
	font-size: 1.3rem;
	width: 100%;
	height: 100%;
	position: relative;
}

.global-nav nav>ul {
	display: flex;
	height: 80px;
	text-align: center;
	align-items: center;
	position: relative;
	padding-left: 330px;
	z-index: 3;
}

.global-nav nav>ul li {
	margin: 0 10px;
	height: 100%;
	display: flex;
	align-items: center;
	/*position: relative;*/
}

.global-nav nav>ul li:nth-last-of-type(1) {
	margin-right: 0;
}

.global-nav nav>ul li a {
	color: var(--base-color-black);
	display: flex;
	align-items: center;
	/*padding: 5px 0;*/
	letter-spacing: 0.08rem;
	height: 100%;
	position: relative;
	z-index: 2;
}

/*ホバー*/
.global-nav nav>ul li a {
	position: relative;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.global-nav nav>ul li a::before {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: 0;
	height: 2px;
	width: 100%;
	background-color: var(--base-color-blue);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.7s cubic-bezier(.175, .90, .44, 1);
}

/*.global-nav nav > ul li a::after{display:block; content:''; z-index: 1; position:absolute; right:0; bottom:0; height:1px; width: 100%; background-color: var(--base-color-white); }*/
.global-nav nav>ul li a:hover::before {
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(.645, .045, .355, 1);
}

/*カレント*/
.global-nav nav>ul li.current a {
	color: var(--base-color-blue);
}

.global-nav nav>ul li.current>a::before {
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(.645, .045, .355, 1);
}

/* 左側メニュー
-----------------------------------------------------------------------------*/
.global-nav nav>ul li:nth-of-type(1) {
	margin-left: 0;
}

/* サブメニュー
-----------------------------------------------------------------------------*/
/*サブメニュー親要素*/
.hold-sub-menu>a::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 30%;
	margin-left: -2px;
	display: block;
	width: 3px;
	height: 3px;
	border-top: solid 1px var(--base-color-black);
	border-right: solid 1px var(--base-color-black);
	transform: rotate(135deg);
	transition: bottom .6s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hold-sub-menu:hover>a::after {
	bottom: -10px;
}

.hold-sub-menu.current>a::after {
	border-top: solid 1px var(--base-color-blue);
	border-right: solid 1px var(--base-color-blue);
}

/*サブメニュー子要素*/
.hold-sub-menu .sub-menu {
	visibility: hidden;
	opacity: 0;
	display: flex;
	align-items: center;
	position: absolute;
	/*animation: blind-effect-in 0.7s cubic-bezier(.19,1,.22,1);*/
	top: 0;
	left: 0;
	background: var(--base-color-white);
	transition: all .3s ease;
	position: absolute;
	width: 100%;
	transform: scaleY(0);
	background-color: #FFFFFF;
	transform-origin: top left;
}

.hold-sub-menu .sub-menu::before {
	display: block;
	content: '';
	background-color: rgba(0, 0, 0, 0.03);
	position: absolute;
	height: 1px;
	width: 100%;
	top: 80px;
	left: 0;
}

.hold-sub-menu .sub-menu li {
	/*padding-top: 80px;*/
	height: 80px;
	margin-top: 80px;
}

.hold-sub-menu:hover .sub-menu {
	/*top: 100%;*/
	visibility: visible;
	opacity: 1;
	top: 0;
	/*animation: blind-effect-in 0.7s cubic-bezier(.19,1,.22,1) forwards;*/
	transform: scaleY(1);
}

/**/
.hold-sub-menu .sub-menu.sub-company li:nth-of-type(1) {
	margin-left: 330px;
	/*padding-left: 330px; width: calc(100% - 330px);*/
}

.hold-sub-menu .sub-menu.sub-business li:nth-of-type(1) {
	margin-left: 480px;
	/*padding-left: 480px; width: calc(100% - 480px);*/
}

/* 右側メニュー
-----------------------------------------------------------------------------*/
.global-nav nav>ul:nth-of-type(2) {
	padding: 0;
}

.global-nav nav>ul:nth-of-type(2) {
	position: absolute;
	right: 80px;
	top: 0;
	z-index: 22;
}

.global-nav nav>ul:nth-of-type(2) li {
	margin-right: 10px;
	position: relative;
}

.global-nav nav>ul:nth-of-type(2) li:nth-last-of-type(1) {
	margin-right: 0;
}

.global-nav nav>ul:nth-of-type(2)>li a {
	color: var(--base-color-black);
	padding: 0px 0 0px 28px;
	font-size: 1.2rem;
}

.global-nav nav>ul:nth-of-type(2)>li a svg {
	width: 22px;
	height: 22px;
	fill: var(--base-color-black);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -12px;
	padding: 1px;
}

/*ホバー*/
.global-nav nav>ul:nth-of-type(2)>li a:hover {
	color: var(--base-color-blue);
}

.global-nav nav>ul:nth-of-type(2)>li a:hover svg {
	fill: var(--base-color-blue);
}

/*カレント*/
.global-nav nav>ul:nth-of-type(2)>li.current a {
	color: var(--base-color-blue);
}

.global-nav nav>ul:nth-of-type(2)>li.current a svg {
	fill: var(--base-color-blue);
}

/*.global-nav nav > ul:nth-of-type(2) > li a:hover{}*/
/*.global-nav nav > ul:nth-of-type(2) > li a .link-underline:before{background-color:#b69997;}*/
/*メディアクリエ*/
@media screen and (max-width:1380px) {
	.global-nav nav>ul:nth-of-type(2) {
		display: none;
	}
}

@media screen and (max-width:1024px) {
	#global-header {
		display: none;
	}
}

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

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

/* 固定ヘッダー
-----------------------------------------------------------------------------*/
#fixed-header {
	position: fixed;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	visibility: hidden;
}

#fixed-header.display {
	animation: header-up 1.9s cubic-bezier(0, 0.01, 0, 1) forwards;
	background-color: var(--base-color-offwhite);
	visibility: visible;
}

#fixed-header.fixed {
	animation: header-dwon .9s cubic-bezier(0, 0.01, 0, 1) forwards;
	background-color: var(--base-color-offwhite);
	visibility: visible;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#fixed-header {
		display: none;
	}

	.sp #fixed-header {
		display: none;
	}
}

@media screen and (max-width:767px) {
	#fixed-header {
		display: none;
	}
}

/* 透過
-----------------------------------------------------------------------------*/
.global-nav.transparent::before {
	content: "";
	position: absolute;
	height: 1px;
	width: 100%;
	bottom: 0;
	left: 0;
	background-color: rgba(255, 255, 255, .1);
}

/*サイトリンク*/
.global-nav.transparent nav>ul>li a {
	color: var(--base-color-white);
}

.global-nav.transparent nav>ul>li a:hover {
	color: var(--base-color-white);
}

/*.global-nav.transparent nav > ul li > a::before{background-color:#fff;}*/
.global-nav.transparent nav>ul li.current a {
	color: var(--base-color-white);
}

/*.global-nav.transparent nav > ul li.current a::after{background-color: var(--base-color-white);}*/
.global-nav.transparent nav>ul:nth-of-type(2)>li a svg {
	fill: var(--base-color-white);
}

/**/
.global-nav.transparent nav>ul li a::before {
	background-color: var(--base-color-white);
}

/*サブメニュー*/
.global-nav.transparent .hold-sub-menu .sub-menu {
	/*background: var(--base-color-black);*/
	background-color: rgba(255, 255, 255, .3);
}

.global-nav.transparent .hold-sub-menu>a::after {
	border-top: solid 1px var(--base-color-white);
	border-right: solid 1px var(--base-color-white);
}

.global-nav.transparent .hold-sub-menu>a:hover::after {
	opacity: 0;
	border-top: solid 1px var(--base-color-blue);
	border-right: solid 1px var(--base-color-blue);
}

.global-nav.transparent .hold-sub-menu .sub-menu::before {
	background-color: rgba(255, 255, 255, 0.03);
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {}

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

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


/* =========================================================================================================
 *
 * フッター
 *
========================================================================================================= */
/* フッター枠
-----------------------------------------------------------------------------*/
#global-footer {
	display: block;
	background-color: var(--base-color-offwhite);
	position: relative;
}

#global-footer>.block-l {
	position: relative;
	padding-top: 6%;
	padding-bottom: 40px;
}

#global-footer .footer-logo img {
	width: 260px;
}

/*メディアクリエ*/
@media screen and (max-width:567px) {
	#global-footer>.block-l {
		padding-bottom: 20px;
	}

	#global-footer .footer-logo img {
		width: 220px;
	}
}

/* フッターナビゲーション
-----------------------------------------------------------------------------*/
#global-footer .navigation {
	padding-bottom: 30px;
}

#global-footer .navigation ul:nth-of-type(1) {
	display: flex;
	padding-top: 20px;
	padding-bottom: 10px;
}

#global-footer .navigation ul:nth-of-type(1) li {
	margin: 0 8px;
	position: relative;
}

#global-footer .navigation ul:nth-of-type(1) li:nth-of-type(1) {
	margin-left: 0;
}

#global-footer .navigation ul:nth-of-type(1) li:nth-last-of-type(1) {
	margin-right: 0;
}

#global-footer .navigation ul:nth-of-type(1) li a {
	display: block;
	color: var(--base-color-black);
	padding: 2px 0 2px 0;
	font-size: 1.4rem;
	transition: color .3s ease-out;
}

#global-footer .navigation ul:nth-of-type(1) li a:hover {
	color: var(--base-color-blue);
}

#global-footer .navigation ul:nth-of-type(1) li .hover-underline::before {
	background-color: var(--base-color-blue);
}

/**/
#global-footer .navigation ul:nth-of-type(2) {
	display: flex;
	padding: 0;
	flex-wrap: wrap;
}

#global-footer .navigation ul:nth-of-type(2) {
	position: relative;
}

#global-footer .navigation ul:nth-of-type(2) li {
	margin-right: 20px;
}

#global-footer .navigation ul:nth-of-type(2) li:nth-last-of-type(1) {
	margin-right: 0;
}

#global-footer .navigation ul:nth-of-type(2)>li a {
	display: block;
	color: #121212;
	padding: 4px 0 4px 22px;
	font-size: 1.2rem;
}

#global-footer .navigation ul:nth-of-type(2)>li a svg {
	width: 16px;
	height: 16px;
	fill: var(--base-color-black);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
	padding: 1px;
}

#global-footer .navigation ul:nth-of-type(2)>li a:hover svg {
	fill: var(--base-color-blue);
}

/*メディアクリエ*/
@media screen and (max-width:567px) {
	#global-footer .navigation ul:nth-of-type(1) {
		flex-wrap: wrap;
	}

	#global-footer .navigation ul:nth-of-type(1) li {
		margin: 8px 20px 0 0;
	}

	#global-footer .navigation ul:nth-of-type(1) li a {
		display: inline-block;
	}
}

/* ロケーションインフォ
-----------------------------------------------------------------------------*/
.location-info>p:nth-of-type(1) {
	font-size: 1.3rem;
	color: var(--base-color-gray);
}

.location-info>p.address {
	font-size: 1.3rem;
	line-height: 1.2;
	padding: 3px 0 10px 0;
}

.location-info .blind-button {
	border-radius: 14px;
	height: auto;
	padding: 5px 16px;
}

.location-info .blind-button p {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	z-index: 1;
	font-size: 1.0rem;
}

.location-info .blind-button .text {
	padding-left: 5px;
	font-size: 1.1rem;
}

.location-info .blind-button .icon {
	width: 14px;
	height: 14px;
}

.location-info .blind-button svg {
	width: 14px;
	height: 14px;
}

/*注意書き*/
#global-footer .attention {
	font-size: 1.0rem;
	line-height: 1.3;
	padding-top: 10px;
	color: var(--base-color-gray);
}

#global-footer .copy {
	font-size: 1.0rem;
	line-height: 1.3;
	padding-top: 20px;
	color: var(--base-color-gray);
}

/* デコレーションテキスト
-----------------------------------------------------------------------------*/
#global-footer .deco-text {
	font-size: 12rem;
	line-height: 1;
	opacity: .06;
	position: absolute;
	bottom: -20px;
	right: calc(6% + 20px);
}

#global-footer .deco-text span {
	color: #00b7a8;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#global-footer .deco-text {
		right: calc(3% + 20px);
	}
}

@media screen and (max-width:767px) {
	#global-footer .deco-text {
		font-size: 8rem;
		bottom: -14px;
	}

	#global-footer .deco-text {
		right: calc(0% + 20px);
	}
}

@media screen and (max-width:567px) {
	#global-footer .deco-text {
		font-size: 4.8rem;
		bottom: -8px;
		right: calc(0% + 15px);
	}
}

/* プライバシーリンク
-----------------------------------------------------------------------------*/
#global-footer .privacy {
	padding-top: 40px;
}

#global-footer .privacy a {
	font-size: 1.3rem;
	color: var(--base-color-black);
	transition: color .3s ease-out;
}

#global-footer .privacy a:hover {
	color: var(--base-color-blue);
}

/* フッターバナー
-----------------------------------------------------------------------------*/
#global-footer .banner {
	background-color: #cccccc;
	position: relative;
	z-index: 1;
	padding: 3% 0;
}

#global-footer .banner ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#global-footer .banner ul li {
	width: 30%;
}

/*#global-footer .banner ul li:nth-of-type(2){margin:0 4%; position: relative;}*/
#global-footer .banner ul li a {
	padding: 0;
	display: block;
	background-color: var(--base-color-white);
	position: relative;
	overflow: hidden;
}

#global-footer .banner .blank {
	position: absolute;
	top: 6px;
	right: 6px;
}

#global-footer .banner .blank svg {
	width: 9px;
	height: 9px;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#global-footer .banner ul li:nth-of-type(2) {
		margin: 0 20px;
	}
}

@media screen and (max-width:767px) {
	#global-footer .banner {
		padding: 4% 0;
	}
}

@media screen and (max-width:767px) {
	#global-footer .banner {
		padding: 6% 0;
	}

	#global-footer .banner ul {
		flex-wrap: wrap;
		justify-content: space-around;
	}

	#global-footer .banner ul li {
		width: calc(50% - 10px);
	}

	#global-footer .banner ul li:nth-of-type(2) {
		margin: 0;
	}

	#global-footer .banner ul li:nth-of-type(-n + 2) {
		margin: 0 0 8px 0;
	}
}

/* =========================================================================================================
 *
 * ソーシャルリンク
 *
========================================================================================================= */
/* デフォルト
-----------------------------------------------------------------------------*/
.social-link {
	display: flex;
	align-items: center;
	list-style: none;
}

.social-link li {
	margin-left: 10px;
	position: relative;
}

.social-link li:nth-of-type(1) {
	margin-left: 0;
}

.social-link li .account {
	position: absolute;
	display: block;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
	top: -30px;
	left: 0;
	width: 100%;
}

.social-link li .account::before {
	content: "";
	position: absolute;
	height: 8px;
	width: 1px;
	top: 18px;
	left: 50%;
	background-color: #fff;
}

.social-link a {
	padding: 7px;
	display: block;
	background-color: #f2f2f2;
	border-radius: 50%;
	width: 14px;
	height: 14px;
}

.social-link svg {
	width: 14px;
	height: 14px;
	fill: #727171;
	transition: fill .3s cubic-bezier(0.694, 0.048, 0.335, 1);
	vertical-align: top;
}

/*ホバーアクション*/
.pc .social-link a:hover svg {
	fill: #143265;
}

/* 個別ページ
-----------------------------------------------------------------------------*/
/*.social-link.individual{justify-content: space-between;}*/
.social-link.individual li {
	/*margin-left:0;*/
	position: relative;
}

/*.social-link.individual li:nth-of-type(1){margin-left:0;}*/
.social-link.individual a {
	padding: 10px;
	width: 38px;
	height: 38px;
	transition: background-color .3s cubic-bezier(0.694, 0.048, 0.335, 1)
}

@media all and (-ms-high-contrast:none) {
	.social-link.individual a {
		width: 38px;
		height: 38px;
	}
}

.social-link.individual svg {
	width: 18px;
	height: 18px;
	fill: #fff;
}

.social-link.individual a.twitter {
	background-color: #55acee;
}

.social-link.individual a.facebook {
	background-color: #3B5998;
}

.social-link.individual a.line {
	background-color: #00c300;
}

.social-link.individual a.google {
	background-color: #dd4b39;
}

/*ホバーアクション*/
.pc .social-link.individual a:hover {
	background-color: var(--base-color-white);
}

.pc .social-link.individual a:hover svg {
	fill: #143265;
}

.pc .social-link.individual a.twitter:hover svg {
	fill: #55acee;
}

.pc .social-link.individual a.facebook:hover svg {
	fill: #3B5998;
}

.pc .social-link.individual a.line:hover svg {
	fill: #00c300;
}

.pc .social-link.individual a.google:hover svg {
	fill: #dd4b39;
}

/* =========================================================================================================
 *
 * スクロールアップ
 *
========================================================================================================= */
#scroll-up-btn {
	position: fixed;
	bottom: 60px;
	right: 15px;
	opacity: 0;
	padding: 5px;
	visibility: hidden;
	cursor: pointer;
	overflow: visible;
	z-index: 10;
	transition: right .4s ease-out .6s, visibility .3s ease-out .4s, opacity .3s ease-out .6s;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

#scroll-up-btn svg {
	width: 10px;
	height: 94px;
	fill: #333333;
	transition: fill .2s ease-out;
}

#scroll-up-btn.on {
	right: 33px;
	opacity: 1;
	visibility: visible;
}

.pc #scroll-up-btn:hover svg {
	fill: #999999;
}

#scroll-up-btn.flip svg {
	fill: #fff;
}

.pc #scroll-up-btn.flip:hover svg {
	fill: rgba(255, 255, 255, .3);
}

/*メディアクリエ*/
@media screen and (max-width:767px) {
	#scroll-up-btn {
		/*bottom:160px;*/
		right: 0px;
	}

	#scroll-up-btn.on {
		/*bottom:160px;*/
		right: 12px;
	}
}

/* =========================================================================================================
 *
 * スクロールダウン
 *
========================================================================================================= */
a.scroll-down {
	position: absolute;
	right: 40px;
	height: 50px;
	width: 10px;
	bottom: 100px;
	background-color: transparent;
	cursor: pointer;
	outline: none;
	z-index: 50;
	transition: all .6s ease-in-out;
}

a.scroll-down:before,
a.scroll-down:after {
	position: absolute;
	background-color: var(--base-color-blue);
	content: '';
}

a.scroll-down:before {
	top: 0px;
	left: 50%;
	width: 7px;
	height: 7px;
	margin-left: -3px;
	border-radius: 100%;
	animation: scroll_down_btn-animation 2s infinite;
}

a.scroll-down:after {
	height: 100%;
	width: 1px;
	top: 0;
	left: 5px;
}

a.scroll-down.white:before,
a.scroll-down.white:after {
	background-color: var(--base-color-white);
}

a.scroll-down .text {
	color: var(--base-color-blue);
	font-size: 1.1rem;
	position: absolute;
	transform: rotate(90deg);
	left: -16px;
	top: -35px;
	line-height: 1;
}

a.scroll-down.white .text {
	color: var(--base-color-white);
}

@keyframes scroll_down_btn-animation {
	0% {
		transform: translate(0, 0);
		opacity: 0;
	}

	40% {
		opacity: 1;
	}

	80% {
		transform: translate(0, 40px);
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	a.scroll-down {
		bottom: 80px;
	}
}

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

@media screen and (max-width:567px) {
	a.scroll-down {
		left: 15px;
		bottom: 15px;
	}
}

/* =========================================================================================================
 *
 * 改行
 *
========================================================================================================= */
.white-space {
	white-space: nowrap;
}

br.sp-show-l,
br.sp-show-m,
br.sp-show-s {
	display: none;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	br.sp-hide-l {
		display: none;
	}

	br.sp-show-l {
		display: block;
	}
}

@media screen and (max-width:767px) {
	br.sp-hide-m {
		display: none;
	}

	br.sp-show-m {
		display: block;
	}
}

@media screen and (max-width:567px) {
	br.sp-hide-s {
		display: none;
	}

	br.sp-show-s {
		display: block;
	}
}

/* =========================================================================================================
 *
 * Swiper 4.0.2 上書き
 *
========================================================================================================= */
/*
.swiper-slide{height: auto;}
.swiper-slide > div{height: 100%;}
*/
/* ページネーション
-----------------------------------------------------------------------------*/
@keyframes displayTime {
	0% {
		left: -100%;
	}

	70% {
		left: 0%;
	}

	90% {
		opacity: 1;
	}

	100% {
		left: 0%;
		opacity: 0;
	}
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	display: flex;
	position: absolute;
	right: 40px;
	left: auto;
	bottom: 15px;
	z-index: 1;
	justify-content: flex-end;
	width: calc(100% - 80px);
}

.scope-clickable .swiper-pagination-bullet {
	margin-left: 6px !important;
	bottom: auto;
	top: auto;
	left: auto;
	padding: 0;
	text-align: left;
	position: relative;
	width: 36px;
	height: 3px;
	display: block;
	border-radius: 0;
	background-color: rgba(255, 255, 255, 0.5);
	opacity: 1;
	overflow: hidden;
	transition: background-color 0.7s cubic-bezier(.175, .90, .44, 1);
}

.scope-clickable .swiper-pagination-bullet:nth-last-of-type(1) {
	margin-left: 0;
}

/*.scope-clickable .swiper-pagination-bullet.swiper-pagination-bullet-active{background-color: rgba(255, 255, 255, 1);}*/
.scope-clickable .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
	content: '';
	background-color: var(--base-color-white);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: -100%;
	/*border-radius: 2px;*/
	animation: displayTime 5.5s linear forwards;
	z-index: 1;
}

/*青*/
.scope-clickable.blue .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
	background-color: var(--base-color-blue);
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {

	.swiper-container-horizontal>.swiper-pagination-bullets,
	.swiper-pagination-custom,
	.swiper-pagination-fraction {
		right: 30px;
		width: calc(100% - 60px);
	}
}

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

	.swiper-container-horizontal>.swiper-pagination-bullets,
	.swiper-pagination-custom,
	.swiper-pagination-fraction {
		right: 20px;
		width: calc(100% - 40px);
	}
}

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

	.swiper-container-horizontal>.swiper-pagination-bullets,
	.swiper-pagination-custom,
	.swiper-pagination-fraction {
		right: 10px;
		width: calc(100% - 20px);
	}
}

/* NEXT & PREV
-----------------------------------------------------------------------------*/
.move-button {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0 30px;
}

.move-button.outside {
	position: relative;
	height: 40px;
	margin-top: 50px;
}

.move-button.outside::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: calc(100% - 130px);
	background-color: #e6e6e6;
	height: 1px;
}

.move-button.outside::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 20px;
	background-color: #e6e6e6;
	height: 1px;
}

.swiper-button.move-next,
.swiper-button.move-prev {
	cursor: pointer;
	background-image: none;
	background-color: #ffffff;
	width: 40px;
	height: 40px;
	position: relative;
	z-index: 1;
	overflow: hidden;
	padding: 0;
}

.swiper-button.move-prev {
	margin-right: 10px;
}

.swiper-button.move-next.round,
.swiper-button.move-prev.round {
	border-radius: 50%;
}

/*
.swiper-button.move-next{right:0; bottom:0;}
.swiper-button.move-prev{right:50px; bottom:0;}
*/
.swiper-button.move-next svg,
.swiper-button.move-prev svg {
	width: 10px;
	height: 10px;
	fill: var(--base-color-blue);
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -5px;
	margin-left: -5px;
}

.swiper-button-disabled svg {
	opacity: .3;
}

.pc .swiper-button.move-next:hover svg {
	animation: i-slide-r 640ms 1 forwards;
}

.pc .swiper-button.move-prev:hover svg {
	animation: i-slide-l 640ms 1 forwards;
}

.pc .swiper-button-disabled.move-next:hover svg {
	animation: none;
}

.pc .swiper-button-disabled.move-prev:hover svg {
	animation: none;
}

/*青色*/
.swiper-button.blue.move-next,
.swiper-button.blue.move-prev {
	background-color: var(--base-color-blue);
}

.swiper-button.blue.move-next svg,
.swiper-button.blue.move-prev svg {
	fill: var(--base-color-white);
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {}

@media screen and (max-width:767px) {
	.move-button {
		padding: 0;
	}

	.move-button.outside {
		height: 36px;
		margin-top: 46px;
	}

	.swiper-button.move-next,
	.swiper-button.move-prev {
		width: 36px;
		height: 36px;
	}

	.move-button.outside::after {
		display: none;
	}

	.move-button.outside::before {
		width: calc(100% - 95px);
	}
}

@media screen and (max-width:567px) {
	.move-button.outside {
		height: 36px;
		margin-top: 26px;
	}
}

/* =========================================================================================================
 *
 * PSWP（上書き）
 *
========================================================================================================= */
.pswp__button {
	float: none;
}

.pswp__bg {
	/*background-color: #F8F5F4;*/
	background-color: #121212;
}

.pswp__counter {
	font-family: 'Jost', sans-serif;
	left: 0;
	right: auto;
	color: #FFFFFF;
	font-size: 1.4rem;
	padding: 0 20px;
	white-space: nowrap;
}

.pswp__ui--fit .pswp__caption {
	background-color: rgba(0, 0, 0, 0);
}

.pswp__caption__center {
	text-align: center;
	max-width: 820px;
	/*color: #000;*/
}

.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
	background-color: rgba(0, 0, 0, 0);
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
	content: '';
	background-size: cover;
	top: 35px;
	background-color: rgba(0, 0, 0, 0);
	height: 30px;
	width: 32px;
}

.pswp__button--close {
	background-image: url(../images/parts/pswp-close-button.svg);
	background-size: 60px;
	width: 60px;
	height: 60px;
	background-position: center;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.pswp__button--arrow--left:before {
	background-image: url(../images/parts/pswp-left-button.svg);
	background-position: center;
}

.pswp__button--arrow--right:before {
	background-image: url(../images/parts/pswp-right-button.svg);
	background-position: center;
}

.pswp__button--arrow--left:before {
	left: 20px;
}

.pswp__button--arrow--right:before {
	right: 20px;
}

.pswp__top-bar {
	left: 0;
	top: 0;
	width: 100%;
}

.pswp__button--zoom {
	display: none !important;
}

.pswp__top-bar,
.pswp__caption {
	background-color: rgba(0, 0, 0, 0);
}

/*メディアクリエ*/
@media screen and (max-width:567px) {
	.pswp__button--close {
		width: 50px;
		height: 50px;
	}
}

/* =========================================================================================================
 *
 * イメージスケールアニメーション
 *
========================================================================================================= */
.magnify-scope {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	/*display: flex;*/
	align-items: center;
	justify-content: center;
	background-color: var(--base-color-white);
}

img.magnify {
	transform: scale(1.01);
	transition: transform 1.2s ease-in-out;
	width: 100%;
	height: auto;
}

a:hover img.magnify {
	transform: scale(1.05);
}

/* =========================================================================================================
 *
 * 共通見出し
 *
========================================================================================================= */
.headline h2 {
	font-size: 2.6rem;
	line-height: 1.4;
	font-weight: 500;
}

/*注意*/
.headline .asterisk {
	font-size: 1.0rem;
	vertical-align: text-top;
	line-height: normal;
	font-weight: normal;
	padding-top: 5px;
	padding-left: 1px;
	display: inline-block;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.headline h2 {
		font-size: 2.5rem;
	}
}

@media screen and (max-width:767px) {
	.headline h2 {
		font-size: 2.4rem;
	}
}

@media screen and (max-width:567px) {
	.headline h2 {
		font-size: 2.3rem;
	}
}

/* =========================================================================================================
 *
 * 共通テキスト
 *
========================================================================================================= */
.txt-content {
	padding-top: 20px;
}

.txt-content p {
	font-size: 1.5rem;
	line-height: 1.8;
	font-weight: 400;
	letter-spacing: 0.06rem;
}

.txt-content p:nth-of-type(n + 2) {
	padding-top: 15px;
}

/* =========================================================================================================
 *
 * 注意事項（リファレンス）
 *
========================================================================================================= */
.asterisk-reference {
	padding-top: 20px;
}

.asterisk-reference p {
	font-size: 1.1rem;
	padding: 0;
	display: flex;
	line-height: 1.4rem;
}

.asterisk-reference p:nth-of-type(n + 2) {
	padding-top: 5px;
}

/*.asterisk-reference p span:nth-of-type(1){}*/
.asterisk-reference p span:nth-of-type(2) {
	padding-left: 5px;
}

/* =========================================================================================================
 *
 * カラム
 *
========================================================================================================= */
/* 基本カラム
-----------------------------------------------------------------------------*/
.column-row {
	display: flex;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.column-row {
		display: block;
	}
}

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

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

/* タイル
-----------------------------------------------------------------------------*/
.masonry .column-row {
	justify-content: space-between;
	flex-wrap: wrap;
}

/**/
.col-4 .column-child {
	background-color: var(--base-color-white);
	width: calc((100% / 4) - 3px);
	margin-bottom: 4px;
}

.col-4::after {
	content: "";
	width: calc((100% / 4) - 3px);
	display: block;
}

/**/
.col-3 .column-child {
	background-color: var(--base-color-white);
	width: calc((100% / 3) - 3px);
	margin-bottom: 4px;
}

.col-3::after {
	content: "";
	width: calc((100% / 3) - 3px);
	display: block;
}

/*************/
.masonry ul {
	list-style: none;
}

.masonry a {
	position: relative;
	display: block;
}

.masonry a.blank {
	overflow: hidden;
}

.masonry a.blank:hover .overlay {
	background-color: rgba(0, 0, 0, .1);
}

.masonry .icon-blank {
	position: absolute;
	right: 6px;
	top: 6px;
	display: block;
}

.masonry .icon-blank svg {
	width: 9px;
	height: 9px;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.masonry .column-row {
		display: flex;
	}
}

@media screen and (max-width:567px) {
	.col-4 .column-child {
		background-color: var(--base-color-white);
		width: calc((100% / 3) - 3px);
		margin-bottom: 3px;
	}

	.col-4::after {
		content: "";
		width: calc((100% / 3) - 3px);
		display: block;
	}

	.col-3 .column-child {
		background-color: var(--base-color-white);
		width: calc((100% / 2) - 3px);
		margin-bottom: 4px;
	}

	.col-3::after {
		content: "";
		width: calc((100% / 2) - 3px);
		display: block;
	}
}

.feature-text h4 {
	font-size: 1.6rem;
	line-height: 1.2;
	padding-bottom: 20px;
}

/* =========================================================================================================
 *
 * ディティール
 *
========================================================================================================= */
/* 幅
-----------------------------------------------------------------------------*/
.detail {
	width: 100%;
	position: relative;
	z-index: 1;
}

.detail .column-row {
	justify-content: space-between;
}

.detail .detail-headline {
	width: 30%;
}

.detail .txt-container {
	width: calc(70% - 50px);
}

/*シングル幅*/
.detail.single .column-row {
	display: block;
}

.detail.single .detail-headline {
	width: 100%;
	padding-bottom: 40px;
}

.detail.single .txt-container {
	width: 100%;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.detail .detail-headline {
		width: 100%;
		padding-bottom: 30px;
	}

	.detail .txt-container {
		width: 100%;
	}
}

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

@media screen and (max-width:567px) {
	.detail .detail-headline {
		padding-bottom: 20px;
	}
}

/* 見出し
-----------------------------------------------------------------------------*/
/*大見出し*/
.detail .detail-headline .headline {
	font-size: 2.4rem;
	line-height: 1.1;
}

.detail .detail-headline .headline.smaller {
	font-size: 2.0rem;
}

.detail .detail-headline .headline.normal {
	font-weight: normal;
}

.detail .detail-headline .sub-headline {
	font-size: 1.0rem;
	line-height: 1.2;
	font-weight: 700;
}

.detail .detail-headline .sub-headline.rubik {
	font-weight: 500;
	padding-top: 3px;
	font-style: italic;
}

/*中見出し*/
.detail .heading {
	padding-bottom: 20px;
}

.detail .heading .number {
	font-size: 1.2rem;
	line-height: 1;
	color: var(--base-color-gray);
	padding-bottom: 3px;
}

.detail .heading .headline {
	font-size: 2.2rem;
	line-height: 1.1;
}

.detail .heading .sub-headline {
	font-size: 1.1rem;
	line-height: 1.1;
	padding: 0;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.detail .detail-headline .headline {
		font-size: 3.2rem;
		line-height: 1.1;
	}

	.detail .detail-headline .headline.smaller {
		font-size: 2.8rem;
		line-height: 1.1;
	}
}

@media screen and (max-width:767px) {
	.detail .detail-headline .headline {
		font-size: 3.0rem;
		line-height: 1.1;
	}

	.detail .detail-headline .headline.smaller {
		font-size: 2.4rem;
		line-height: 1.1;
	}
}

@media screen and (max-width:567px) {
	.detail .detail-headline .headline {
		font-size: 2.8rem;
		line-height: 1.1;
	}

	.detail .detail-headline .headline.smaller {
		font-size: 2.0rem;
		line-height: 1.1;
	}
}

/* 本文
-----------------------------------------------------------------------------*/
.nomal-text p {
	font-size: 1.4rem;
	line-height: 1.8;
	padding-top: 3%;
}

.nomal-text p:nth-of-type(1) {
	padding-top: 0;
}

/* =========================================================================================================
 *
 * ネットワークマップ
 *
========================================================================================================= */
/* 日本地図の配置
-----------------------------------------------------------------------------*/
.network-map {
	padding-top: 42%;
	position: relative;
}

.network-map .map-inner {
	overflow: hidden;
	position: absolute;
	top: -22%;
	left: 0;
}

.network-map.home {
	padding-top: 30%;
}

.network-map.home .map-inner {
	top: -70%;
}

.network-map .map-inner img {
	position: relative;
	right: -3%;
	opacity: .7;
}

/*メディアクリエ*/
@media screen and (max-width:767px) {
	.network-map {
		padding-top: 42%;
	}

	.network-map.home {
		padding-top: 28%;
	}
}

@media screen and (max-width:567px) {
	.network-map {
		padding-top: 46%;
	}

	.network-map.home {
		padding-top: 55%;
	}

	.network-map.home .map-inner {
		top: -15%;
		left: -5%;
	}
}

/* デコレーションテキスト
-----------------------------------------------------------------------------*/
.network-map .deco-text {
	font-size: 1.6rem;
	line-height: 1;
	text-align: center;
	position: absolute;
	white-space: nowrap;
}

.network-map .deco-text>p {
	display: block;
	padding: 8px 0;
}

.network-map .deco-text.border-black>p:nth-of-type(1) {
	border-bottom: 1px solid var(--base-color-black);
}

.network-map .deco-text.border-white>p:nth-of-type(1) {
	border-bottom: 1px solid var(--base-color-white);
}

.network-map .deco-text.place-top {
	left: calc(9% + 30px);
	top: 30%;
}

.network-map .deco-text.place-bottom {
	right: calc(9% + 30px);
	bottom: 15%;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.network-map .deco-text.place-top {
		left: calc(9% + 30px);
		top: 30%;
	}

	.network-map .deco-text.place-bottom {
		right: calc(9% + 30px);
		bottom: 15%;
	}
}

@media screen and (max-width:767px) {
	.network-map .deco-text.place-top {
		left: calc(9% + 30px);
		top: 30%;
	}

	.network-map .deco-text.place-bottom {
		right: calc(0% + 30px);
		bottom: 15%;
	}

	.network-map .deco-text {
		font-size: 1.3rem;
	}

	.network-map .deco-text>p {
		padding: 4px 0;
	}
}

@media screen and (max-width:567px) {
	.network-map .deco-text.place-top {
		left: calc(6% + 0px);
		top: 30%;
	}

	.network-map .deco-text.place-bottom {
		right: calc(0% + 15px);
		bottom: 15%;
	}

	.network-map .deco-text {
		font-size: 1.0rem;
	}

	.network-map .deco-text>p {
		padding: 4px 0;
	}
}

/* 波紋
-----------------------------------------------------------------------------*/
.ripples {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.ripples div {
	position: absolute;
	left: 62.5%;
	top: 74.7%;
	/*width: 0; height: 0; border: solid 1px #d7063b; opacity: 0;*/
	width: 10px;
	height: 10px;
	background-color: #d7063b;
	border-radius: 50%;
	/*border: solid 3px #ffffff;*/
	/*box-sizing: border-box;*/
}

.ripples.black div {
	border: solid 3px var(--base-color-black);
}

.ripples.white div {
	border: solid 3px var(--base-color-offwhite);
}

.ripples div::before,
.ripples div::after {
	content: "";
	position: absolute;
	top: -3px;
	left: -3px;
	width: 16px;
	height: 16px;
	border: solid 1px #d7063b;
	opacity: 0;
	border-radius: 50%;
	/*transform: translate(-50%, -50%);*/
	transform-origin: center;
	box-sizing: border-box;
}

@media all and (-ms-high-contrast:none) {

	#index-news+#index-program-sales .ripples div::before,
	#index-news+#index-program-sales .ripples div::after {
		top: -6px;
		left: -6px;
	}
}

.ripples div::before {
	animation: ripple 2.2s linear infinite;
}

.ripples div::after {
	animation: ripple 2.2s linear infinite .4s;
}

@keyframes ripple {
	0% {
		opacity: 1;
		transform: scale(0.5);
	}

	50% {
		opacity: 0;
		transform: scale(3);
	}
}

/* =========================================================================================================
 *
 * 誘導リンク
 *
========================================================================================================= */
.induction {
	position: relative;
}

/*背景*/
.induction .block-m::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	height: 50%;
	background-color: var(--base-color-offwhite);
}

.induction nav::before,
.induction nav::after {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	top: 0;
	left: 0;
	transition: width .8s cubic-bezier(.04, .36, .07, .98) 1.6s;
}

.induction nav::before {
	background-color: #e6e6e6;
	height: 100%;
}

/*.induction nav::after{background-color:var(--base-color-offwhite); height: 25px;}*/
.induction.appear nav::before {
	width: calc(88% - 30px);
}

.induction.appear nav::after {
	width: calc(88% - 30px);
}

/*ナビゲーション*/
.induction nav {
	position: relative;
	z-index: 1;
}

.induction h4 {
	font-size: 5.0vw;
	-webkit-text-stroke: 1px #121212;
	/*text-stroke: 1px #121212;*/
	white-space: nowrap;
	color: transparent;
	line-height: 1;
	position: relative;
	z-index: 1;
}

.induction ul li {
	margin-top: 3%;
}

.induction ul li:nth-of-type(1) {
	margin-top: 5%;
}

/*メディアクリエ*/
@media screen and (max-width:767px) {
	.induction nav::after {
		height: 19px;
	}

	.induction h4 {
		font-size: 3.6rem;
	}

	.induction.appear nav::before {
		width: calc(94% - 30px);
	}

	.induction.appear nav::after {
		width: calc(94% - 30px);
	}
}

@media screen and (max-width:567px) {
	.induction nav {
		padding-bottom: 40px;
	}

	.induction nav::after {
		height: 14px;
	}

	.induction h4 {
		font-size: 2.6rem;
	}

	.induction.appear nav::before {
		width: calc(94% - 15px);
	}

	.induction.appear nav::after {
		width: calc(94% - 15px);
	}
}

/* ブラインド上書き
-----------------------------------------------------------------------------*/
.blind-button.white-gray {
	border: 1px solid var(--base-color-white);
	background-color: var(--base-color-white);
}

.blind-button.white-gray::before {
	background-color: var(--base-color-blue);
}

/**/
.blind-button.rectangle {
	border-radius: 0;
	height: auto;
	border: none;
	display: block;
	position: relative;
}

.blind-button.rectangle:hover h5,
.blind-button.rectangle:hover p.ja {
	color: var(--base-color-white);
}

.blind-button.rectangle .link-name {
	z-index: 1;
	position: relative;
	padding: 0 calc(3% + 20px) 0 calc(3% + 20px);
}

.blind-button.rectangle h5 {
	font-size: 2.8vw;
	color: var(--base-color-blue);
	padding-top: 15%;
}

.blind-button.rectangle p.ja {
	font-size: 1.0vw;
	display: block;
	padding: 0;
	color: var(--base-color-blue);
	padding-bottom: 40px;
}

.blind-button.rectangle .view-more-link {
	position: absolute;
	right: calc(3% + 20px);
	bottom: 40px;
	display: inline-block;
	padding: 0 70px 0 0;
	color: var(--base-color-blue);
	margin-top: 0;
}

.blind-button.rectangle .view-more-link::before {
	background-color: var(--base-color-blue);
}

.blind-button.rectangle .view-more-link::after {
	background-color: var(--base-color-white);
}

.blind-button.rectangle:hover .view-more-link {
	color: var(--base-color-white);
}

.blind-button.rectangle:hover .view-more-link::after {
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(.645, .045, .355, 1);
}

/*メディアクリエ*/
@media screen and (max-width:767px) {
	.blind-button.rectangle h5 {
		font-size: 2.0rem;
		padding-top: 15%;
	}

	.blind-button.rectangle p.ja {
		padding-bottom: 30px;
		font-size: 1.3rem;
	}

	.blind-button.rectangle .view-more-link {
		bottom: 30px;
	}
}

@media screen and (max-width:567px) {
	.blind-button.rectangle h5 {
		font-size: 1.8rem;
		padding-top: 15%;
	}

	.blind-button.rectangle p.ja {
		padding-bottom: 15px;
		font-size: 1.1rem;
	}

	.blind-button.rectangle .link-name {
		z-index: 1;
		position: relative;
		padding: 0 calc(0% + 20px) 0 calc(0% + 20px);
	}

	.blind-button.rectangle .view-more-link {
		position: relative;
		right: auto;
		bottom: auto;
		margin-bottom: 15px;
	}
}

/* =========================================================================================================
 *
 * トグルアイコン共通スタイル
 *
========================================================================================================= */
.i-toggle {
	width: 15px;
	height: 15px;
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -8px;
}

.i-toggle::before,
.i-toggle::after {
	content: "";
	display: block;
	position: absolute;
	background-color: #000;
	transition: 0.5s;
	transform: translateZ(0);
}

.i-toggle::before {
	width: 1px;
	height: 100%;
	left: 7px;
	top: 0;
	margin-left: 0px;
}

.i-toggle::after {
	width: 100%;
	height: 1px;
	left: 0;
	top: 7px;
	margin-top: 0px;
}

/* =========================================================================================================
 *
 * セクションタイトル
 *
========================================================================================================= */
.section-title .title {
	font-size: 4.8rem;
	font-weight: 500;
	line-height: 1;
}

.section-title p {
	font-size: 1.1rem;
	font-weight: 500;
}

.section-title .title.relation {
	font-size: 3.0rem;
}

/*メディアクリエ*/
@media screen and (max-width:767px) {
	.section-title .title {
		font-size: 4.0rem;
	}

	.section-title .title.relation {
		font-size: 2.6rem;
	}
}

@media screen and (max-width:567px) {
	.section-title .title {
		font-size: 3.2rem;
	}

	.section-title .title p {
		font-size: 1.0rem;
		padding-left: 5px;
	}

	.section-title .title.relation {
		font-size: 2.2rem;
	}
}

/* =========================================================================================================
 *
 * アテンションライン
 *
========================================================================================================= */
.attention-line {
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.attention-line-inner {
	display: block;
	position: relative;
	top: 0px;
	left: 0px;
	bottom: auto;
	right: auto;
	width: 100%;
	height: 100%;
	transform-origin: 100% 0%;
	animation: attention-line 2.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s infinite;
}

.attention-line-inner .line-inner {
	position: absolute;
	top: 0px;
	left: 0px;
	bottom: auto;
	right: auto;
	width: 100%;
	height: 100%;
	background-color: #FFFFFF;
	transform-origin: 0% 0%;
}

.attention-line-inner .line-inner.hidden-line {
	opacity: 0;
	animation: attention-hidden-line 2.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s infinite;
}

.attention-line-inner .line-inner.visible-line {
	opacity: 1;
	animation: attention-visible-line 2.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s infinite;
}

@keyframes attention-line {
	0% {
		transform: scaleX(1);
	}

	50% {
		transform: scaleX(1);
	}

	100% {
		transform: scaleX(0);
	}
}

@keyframes attention-hidden-line {
	0% {
		transform: scaleX(0);
	}

	25% {
		transform: scaleX(1);
	}

	100% {
		transform: scaleX(1);
	}
}

@keyframes attention-visible-line {
	0% {
		transform: scaleX(0);
	}

	25% {
		transform: scaleX(0);
	}

	50% {
		transform: scaleX(1);
	}

	100% {
		transform: scaleX(1);
	}
}

/* =========================================================================================================
 *
 * lity.js上書き
 *
========================================================================================================= */
.lity {
	background-color: #121212;
	display: flex;
	justify-content: center;
	align-items: center;
}

.lity-hide {
	display: none;
}

/*.lity.lity-opened{opacity: 0.98;}*/
/**/
.lity-content {
	z-index: 9995;
}

.lity-content:after {
	box-shadow: none;
}

.lity-close {
	color: transparent;
	width: 80px;
	height: 80px;
	text-shadow: none;
	top: 0;
	right: 0;
	background-color: #121212;
	transition: background-color .4s cubic-bezier(.16, .43, .45, 1) 0s;
	font-size: 0;
}

.lity-close>p {
	display: block;
	width: 29px;
	height: 29px;
	position: absolute;
	overflow: hidden;
	top: 26px;
	left: 26px;
	z-index: 9994;
	transform: rotate(-45deg);
}

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
	color: transparent;
	text-shadow: none;
	/*background-color: #666666;*/
}

.lity-close:active {
	top: 0;
}

.lity-close>p span {
	display: block;
}

.lity-close>p span:nth-of-type(1) {
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	overflow: hidden;
	left: 0;
	top: 13px;
}

.lity-close>p span:nth-of-type(2) {
	position: absolute;
	width: 2px;
	height: 100%;
	background-color: #ffffff;
	overflow: hidden;
	left: 14px;
	top: 0;
}

/*メディアクリエ*/
@media screen and (max-width:567px) {
	.lity-close {
		color: transparent;
		width: 50px;
		height: 50px;
	}

	.lity-close>p {
		top: 11px;
		left: 11px;
	}
}

/* =========================================================================================================
 *
 * オーバーレイ共通
 *
========================================================================================================= */
.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: background-color .6s cubic-bezier(0.694, 0.048, 0.335, 1);
}

/* =========================================================================================================
 *
 * ページャー
 *
========================================================================================================= */
.pager .wp-pagenavi {
	display: flex;
	margin: 0;
	border-bottom: 1px solid #F0F0F0;
	border-top: 1px solid #F0F0F0;
	justify-content: space-between;
	text-align: center;
}

/*.pager.border-bottom .wp-pagenavi{border-bottom:1px solid rgba(182,153,151,.1);}*/
.pager .wp-pagenavi>span,
.pager .wp-pagenavi a {
	width: 100%;
	border-left: 1px solid #F0F0F0;
	box-sizing: border-box;
	display: block;
	color: #143265;
	position: relative;
	line-height: 1;
	padding: calc(3% + 10px) 10px;
	font-size: 1.1vw;
}

.pager .wp-pagenavi a.blind-button:before {
	z-index: -1;
	background-color: rgba(20, 50, 101, 0.02);
}

.pager .wp-pagenavi>*:first-child {
	border-left: none;
}

.pager .wp-pagenavi>*:last-child {
	border-right: none;
}

/**/
.pager .wp-pagenavi .extend {
	display: none;
}

.pager .wp-pagenavi a svg.icon {
	fill: #143265;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	top: 50%;
	position: absolute;
}

/*
.pager .wp-pagenavi a:hover svg.i-arrow-l,
.pager .wp-pagenavi a:hover svg.i-arrow-r{fill:#000;}
*/
.pager .wp-pagenavi a svg.i-arrow-l {
	left: 15px;
}

.pager .wp-pagenavi a svg.i-arrow-r {
	right: 15px;
}

/**/
.pager .wp-pagenavi .current {
	background-color: rgba(20, 50, 101, 0.02);
	pointer-events: none;
	cursor: default;
	color: rgba(20, 50, 101, 0.2);
}

.pager .wp-pagenavi .current svg {
	fill: rgba(20, 50, 101, 0.2) !important;
}

/*.pc .pager .wp-pagenavi a:hover{color:#000; z-index:1;}*/
/**/
.pager .wp-pagenavi a.center {
	width: 100%;
}

.pager .wp-pagenavi a.center>span {
	display: inline-block;
}

.pager .wp-pagenavi a.center>span span {
	padding-left: 22px;
	position: relative;
	white-space: nowrap;
}

.pager .wp-pagenavi a.center svg.icon {
	left: 0;
	transition: fill .4s ease-in-out;
}

/*.pager .wp-pagenavi a.center:hover svg.icon{fill:#000;}*/
/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.pager .wp-pagenavi {
		margin: 0;
	}
}

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

	.pager .wp-pagenavi>span,
	.pager .wp-pagenavi a {
		padding: 40px 0;
		font-size: 1.1rem;
	}
}

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

	.pager.list .wp-pagenavi>span,
	.pager.list .wp-pagenavi a {
		display: none;
	}

	.pager.list .wp-pagenavi a.previouspostslink,
	.pager.list .wp-pagenavi a.nextpostslink {
		display: block;
		padding: 30px 10px;
		text-align: center;
	}

	.pager .wp-pagenavi>span,
	.pager .wp-pagenavi a {
		padding: 36px 0;
		font-size: 1.0rem;
	}

	.pager .wp-pagenavi a.index span span {
		display: block;
		padding: 1px;
	}

	.pager .wp-pagenavi a.index.center {
		display: flex;
		justify-content: center;
		align-items: center;
		max-width: 80px;
	}

	.pager .wp-pagenavi a svg.i-arrow-l {
		left: 6px;
	}

	.pager .wp-pagenavi a svg.i-arrow-r {
		right: 6px;
	}
}

/* =========================================================================================================
 *
 * オーバーフロー
 *
========================================================================================================= */
.overflow {
	display: block;
	overflow: hidden;
}


/* =========================================================================================================
 *
 * floating-cover
 *
========================================================================================================= */
.floating-cover {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 30%;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--base-color-offwhite);
	font-size: 1.2rem;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.floating-cover {
		width: 40%;
		height: 60px;
	}

	#page-header.company .page-header-lower {
		border: none;
	}
}

@media screen and (max-width:767px) {
	.floating-cover {
		width: 50%;
	}
}

@media screen and (max-width:767px) {
	.floating-cover {
		width: 40%;
	}
}

@media screen and (max-width:767px) {
	.floating-cover {
		height: 50px;
	}
}

/* =========================================================================================================
 *
 * ページヘッダー
 *
========================================================================================================= */
#page-header {
	padding: calc(10% + 80px) 0 6% 0;
	position: relative;
}

#page-header #headline {
	font-size: 5.6vw;
	line-height: 1;
	overflow: hidden;
}

#page-header #sub-headline {
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 1;
}

#page-header .page-header-upper {
	padding-bottom: 40px;
	position: relative;
}

#page-header .page-header-lower {
	border-top: 1px solid #F0F0F0;
	padding-top: 30px;
	position: relative;
}

/**/
#page-header.absolute {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

/*メディアクリエ*/
@media screen and (max-width: 1024px) {
	#page-header.absolute {
		top: 50%;
		padding: 0;
		transform: translateY(-50%);
	}

	#page-header #headline {
		font-size: 7.6vw;
	}
}

@media screen and (max-width: 767px) {
	#page-header #headline {
		font-size: 9.6vw;
	}
}

@media screen and (max-width: 567px) {
	#page-header #headline {
		font-size: 11.6vw;
	}

	#page-header {
		padding: calc(10% + 80px) 0 10% 0;
	}
}

/*フィルターボタン
-----------------------------------------------------------------------------*/
#filter-btn-wrap {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 1.3rem;
	height: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
}

#filter-btn {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding-top: 1px;
}

#filter-btn span {
	padding-left: 8px;
	transition: color .6s ease-out;
	color: #143265;
	white-space: nowrap;
}

#filter-btn svg {
	width: 15px;
	height: 15px;
	transition: fill .6s ease-out;
	fill: #143265;
}

/*ホバー*/
#filter-btn:hover span {
	color: #143265;
}

#filter-btn:hover svg {
	fill: #143265;
}

/*アクティブ*/
#filter-btn-wrap.active {
	color: #143265;
}

#filter-btn-wrap.active svg {
	fill: #143265;
}

#filter-btn-wrap::before {
	background-color: #143265;
	height: 2px;
	width: 100%;
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: -105%;
	transition: left .3s ease-out .3s;
}

#filter-btn-wrap.active::before {
	left: 0;
}

/*ノンフィルター*/
.non-filter #filter-btn-wrap {
	display: none;
}

@media screen and (max-width:1024px) {
	.non-filter #filter-btn-wrap {
		display: flex;
	}
}

/*カテゴリー（大）
-----------------------------------------------------------------------------*/
.page-header-lower {
	padding-bottom: 30px;
}

.page-header-lower .cat-target ul {
	list-style: none;
	display: flex;
	padding-left: 100px;
}

.page-header-lower .cat-target li {
	padding-right: 30px;
	position: relative;
}

.page-header-lower .cat-target li:nth-last-of-type(1) {
	padding-right: 0;
}

.page-header-lower .cat-target a {
	font-size: 1.3rem;
	color: var(--base-color-gray);
	line-height: 1;
	transition: color .3s ease-out;
}

.pc .page-header-lower .cat-target a:hover {
	color: var(--base-color-blue);
}

/*.page-header-lower .cat-target a.link-underline::before{background-color: #000;}*/
.page-header-lower .cat-target li.current a,
.page-header-lower .cat-target li a.current {
	color: var(--base-color-black);
}

.page-header-lower .cat-target li.current a::before {
	display: none;
}

/*ノンフィルター*/
.non-filter .page-header-lower .cat-target ul {
	padding-left: 0;
}

/*区切り線*/
.page-header-lower .cat-target li::before {
	content: '';
	z-index: 1;
	position: absolute;
	right: 8px;
	top: 50%;
	height: 1px;
	width: 15px;
	background-color: #999999;
	transform: rotate(-55deg);
}

.page-header-lower .cat-target li:nth-last-of-type(1)::before {
	display: none;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.page-header-lower .cat-target ul {
		display: none;
	}
}

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

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

/*カテゴリー（中）
-----------------------------------------------------------------------------*/
#cat-filter {
	background-color: var(--base-color-white);
	text-align: left;
	display: none;
	margin-bottom: 80px;
	position: relative;
	z-index: 1;
}

#cat-filter.show-cat-filter {
	display: block;
	margin-bottom: 0;
}

.categories .filter:nth-of-type(n + 2) {
	padding-top: 40px;
}

.categories .cat-frame {
	padding: 40px 0;
}

.categories .filter-head {
	padding-bottom: 15px;
}

.categories .filter-head p {
	line-height: 1;
}

.categories .filter-head p br {
	display: none;
}

.categories .filter-head p span.en {
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--base-color-blue);
}

.categories .filter-head p span.ja {
	font-size: 1.0rem;
	font-weight: normal;
	padding-left: 10px;
}

.categories .filter ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
}

.categories .filter li {
	width: calc((100% / 5) - 5px);
	margin-right: 6px;
	margin-bottom: 6px;
}

.categories .filter li:nth-of-type(5n) {
	margin-right: 0;
}

.categories .filter li.empty {
	margin-bottom: 0;
}

.categories .filter a {
	font-size: 1.2rem;
	color: var(--base-color-black);
	background-color: var(--base-color-offwhite);
	border-radius: 15px;
	padding: 10px 4px;
	display: block;
	text-align: center;
	line-height: 1;
	transition: background-color .3s ease-out, color .2s ease-out;
}

.pc .categories .filter a:hover {
	background-color: var(--base-color-blue);
	color: var(--base-color-white);
}

.categories .filter a.current {
	background-color: var(--base-color-blue);
	color: var(--base-color-white);
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.categories .filter li {
		width: calc((100% / 4) - 5px);
		margin-right: 6px;
	}

	.categories .filter li:nth-of-type(5n) {
		margin-right: 6px;
	}

	.categories .filter li:nth-of-type(4n) {
		margin-right: 0;
	}
}

@media screen and (max-width:767px) {
	.categories .filter li {
		width: calc((100% / 3) - 5px);
	}

	.categories .filter li:nth-of-type(5n) {
		margin-right: 6px;
	}

	.categories .filter li:nth-of-type(4n) {
		margin-right: 6px;
	}

	.categories .filter li:nth-of-type(3n) {
		margin-right: 0;
	}
}

@media screen and (max-width:567px) {
	.categories .filter li {
		width: calc((100% / 2) - 5px);
	}

	.categories .filter li:nth-of-type(5n) {
		margin-right: 6px;
	}

	.categories .filter li:nth-of-type(4n) {
		margin-right: 6px;
	}

	.categories .filter li:nth-of-type(3n) {
		margin-right: 6px;
	}

	.categories .filter li:nth-of-type(2n) {
		margin-right: 0;
	}
}

/*クローズボタン
-----------------------------------------------------------------------------*/
/*プラスアイコン*/
#filter-close-btn {
	text-align: center;
	border-top: 1px solid var(--base-color-offwhite);
	cursor: pointer;
	padding: 20px 0;
	transition: background-color .3s ease-out;
	display: block;
	color: #000;
}

#filter-close-inner {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

#filter-close-btn .en {
	font-size: 1.2rem;
	line-height: 1;
	padding-left: 6px;
}

#filter-close-btn .i-plus {
	width: 13px;
	height: 13px;
	transition: 0.5s;
	transform: translateZ(0) rotate(-225deg);
	/*position:absolute; left:0; top:50%; margin-top:-5px;*/
}

#filter-close-btn .i-plus:before,
#filter-close-btn .i-plus:after {
	content: "";
	display: block;
	position: absolute;
	background-color: #000;
}

#filter-close-btn .i-plus:before {
	width: 1px;
	height: 100%;
	left: 6px;
	top: 0;
	margin-left: 0px;
}

#filter-close-btn .i-plus:after {
	width: 100%;
	height: 1px;
	left: 0;
	top: 6px;
	margin-top: 0px;
}

#filter-close-btn:hover {
	background-color: #eff2f4;
}

#filter-close-btn:hover .i-plus {
	transform: rotate(225deg);
}

/*SP MENU
-----------------------------------------------------------------------------*/
.sp-menu {
	padding: 0px 0 0 0;
	display: none;
}

.sp-menu #filter-btn-wrap {
	position: relative;
	left: auto;
	top: auto;
	height: 60px;
	display: inline-flex;
	align-items: center;
}

.sp-menu #filter-btn-wrap #filter-btn {
	white-space: nowrap;
}

.sp-menu .categories .filter ul {
	display: block;
}

.sp-menu .categories .filter li {
	width: auto;
}

.sp-menu .categories .filter a {
	font-size: 1.4rem;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.sp-menu {
		display: block;
	}
}

/* =========================================================================================================
 *
 * フッター問い合わせエリア
 *
========================================================================================================= */
#get-in-touch {
	background-color: var(--base-color-offwhite);
}

/* リザーブリンク
-----------------------------------------------------------------------------*/
#get-in-touch a {
	display: block;
	padding: 10% 0;
	position: relative;
	z-index: 1;
}

#get-in-touch p {
	color: var(--base-color-blue);
	transition: color .6s ease-out, letter-spacing .6s ease-out;
	white-space: nowrap;
}

#get-in-touch p:nth-of-type(1) {
	font-size: 1.0rem;
	line-height: 1.1;
	padding-bottom: 5px;
	transition: color .6s ease-out;
}

#get-in-touch p:nth-of-type(2) {
	font-size: 1.0rem;
	line-height: 1;
	padding-bottom: 15px;
	transition: color .6s ease-out;
}

#get-in-touch p:nth-of-type(3) {
	font-size: 6.8vw;
	line-height: 1;
	padding-bottom: 5px;
	transition: color .6s ease-out, letter-spacing .6s ease-out;
}

#get-in-touch p:nth-of-type(3) .scroll-drifting {
	overflow: hidden;
}

#get-in-touch p:nth-of-type(4) {
	font-size: 1.4rem;
	line-height: 1;
	padding-bottom: 5px;
	transition: color .6s ease-out;
}

/*ホバーアクション*/
#get-in-touch a:hover p {
	color: var(--base-color-gray);
}

#get-in-touch a:hover p:nth-of-type(3) {
	letter-spacing: .14rem;
}

#get-in-touch a:hover .link-underline::after {
	left: 0;
	right: 0;
	opacity: 1;
}

@media all and (-ms-high-contrast:none) {
	#get-in-touch a:hover p:nth-of-type(3) {
		letter-spacing: 0.02em;
	}
}

/*アンダーライン*/
#get-in-touch .underline {
	position: relative;
	display: inline-block;
	cursor: pointer;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	line-height: 1;
	padding: 5px 0;
}

#get-in-touch .underline::before {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: 0;
	height: 1px;
	width: 100%;
	background-color: var(--base-color-blue);
}

#get-in-touch .underline::after {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: 0;
	height: 1px;
	width: 100%;
	background-color: var(--base-color-gray);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.7s cubic-bezier(.175, .90, .44, 1);
}

#get-in-touch a:hover .underline::after {
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(0, 0.01, 0, 1);
}

/*メディアクリエ*/
@media screen and (max-width:767px) {
	#get-in-touch a {
		display: block;
		padding: 8% 0;
	}

	#get-in-touch p:nth-of-type(3) {
		font-size: 4.8rem;
	}
}

@media screen and (max-width:567px) {
	#get-in-touch a {
		display: block;
		padding: 12% 0;
	}

	#get-in-touch p:nth-of-type(1) {
		font-size: 10px;
	}

	#get-in-touch p:nth-of-type(3) {
		font-size: 4.0rem;
	}
}

/* =========================================================================================================
 *
 * 流れるテキスト（共通）
 *
========================================================================================================= */
.flowing-text {
	position: absolute;
	top: 4%;
	left: 0;
}

.flowing-text .text-wrap {
	font-size: 22rem;
	line-height: 1;
	-webkit-text-stroke: 1px #121212;
	/*text-stroke: 1px #121212;*/
	color: transparent;
	white-space: nowrap;
	opacity: .08;
}

@media all and (-ms-high-contrast:none) {
	.flowing-text .text-wrap {
		text-shadow: #121212 1px 1px 0px, #121212 -1px 1px 0px, #121212 1px -1px 0px, #121212 -1px -1px 0px;
		color: #fff;
	}
}

.flowing-text .text-wrap>span {
	display: inline-block;
	padding-right: 3%;
}

.flowing-text .cover {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/*右方向*/
@keyframes loop-right-1 {
	0% {
		transform: translateX(100%);
	}

	to {
		transform: translateX(-100%);
	}
}

@keyframes loop-right-2 {
	0% {
		transform: translateX(0);
	}

	to {
		transform: translateX(-200%);
	}
}

.flowing-text .text-wrap.loop-right>span:nth-of-type(1) {
	animation: loop-right-1 100s -50s linear infinite;
}

.flowing-text .text-wrap.loop-right>span:nth-of-type(2) {
	animation: loop-right-2 100s linear infinite;
}

/*左方向*/
@keyframes loop-left-1 {
	0% {
		transform: translateX(-100%);
	}

	to {
		transform: translateX(100%);
	}
}

@keyframes loop-left-2 {
	0% {
		transform: translateX(-200%);
	}

	to {
		transform: translateX(0%);
	}
}

.flowing-text .text-wrap.loop-left>span:nth-of-type(1) {
	animation: loop-left-1 100s -50s linear infinite;
}

.flowing-text .text-wrap.loop-left>span:nth-of-type(2) {
	animation: loop-left-2 100s linear infinite;
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	.flowing-text .text-wrap {
		font-size: 18rem;
	}
}

@media screen and (max-width:767px) {
	.flowing-text .text-wrap {
		font-size: 16rem;
	}
}

@media screen and (max-width:567px) {
	.flowing-text .text-wrap {
		font-size: 12rem;
	}
}

/* =========================================================================================================
 *
 * モアーリンク
 *
========================================================================================================= */
.view-more-link {
	position: relative;
	display: inline-block;
	cursor: pointer;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	padding-right: 70px;
	line-height: 1;
	font-size: 1.2rem;
	margin-top: 20px;
	white-space: nowrap;
}

.view-more-link::before {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: calc(50% - 1px);
	height: 1px;
	width: 60px;
	background-color: var(--base-color-black);
}

.view-more-link::after {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: calc(50% - 1px);
	height: 1px;
	width: 60px;
	background-color: var(--base-color-blue);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.7s cubic-bezier(.175, .90, .44, 1);
}

/* =========================================================================================================
 *
 * スライドパネル
 *
========================================================================================================= */
/* ニュース スライドパネル
-----------------------------------------------------------------------------*/
#entry-slide-panel {
	padding-right: calc(6% + 20px);
	padding-left: calc(6% + 20px);
	cursor: grab;
}

#entry-slide-panel .post-news a {
	color: var(--base-color-black);
	transition: color .3s ease-out;
}

/*ポストデータ*/
#entry-slide-panel .post-news a:hover .overlay {
	background-color: rgba(0, 0, 0, .5);
}

#entry-slide-panel .entry-overview {
	padding-top: 15px;
}

#entry-slide-panel .entry-overview .post-date {
	transition: color .3s ease-out;
}

#entry-slide-panel .entry-overview .post-date .date {
	font-size: 1.8rem;
}

#entry-slide-panel .entry-overview .post-date .week {
	font-size: 1.1rem;
	padding-left: 5px;
}

#entry-slide-panel .entry-overview .post-cat {
	font-size: 1.2rem;
	color: var(--base-color-gray);
	padding-top: 3px;
}

#entry-slide-panel .entry-overview .post-title {
	font-size: 1.5rem;
	line-height: 1.4;
	padding-top: 8px;
	word-break: break-all;
}

#entry-slide-panel .entry-overview .post-description {
	font-size: 1.2rem;
	line-height: 1.6;
	padding-top: 10px;
	color: var(--base-color-gray);
	transition: color .3s ease-out;
}

/*ホバーアクション*/
#entry-slide-panel .post-news a:hover {
	color: var(--base-color-blue);
}

#entry-slide-panel .post-news a:hover .post-description {
	color: var(--base-color-blue);
}

#entry-slide-panel .post-news a:hover .view-more-link {
	color: var(--base-color-blue);
}

#entry-slide-panel .post-news a:hover .view-more-link::after {
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(0, 0.01, 0, 1);
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#entry-slide-panel {
		padding-right: calc(3% + 20px);
		padding-left: calc(3% + 20px);
	}
}

@media screen and (max-width:767px) {
	#entry-slide-panel {
		padding-right: calc(1.5% + 20px);
		padding-left: calc(1.5% + 20px);
	}
}

@media screen and (max-width:567px) {
	#entry-slide-panel {
		padding-left: calc(0% + 20px);
		padding-right: calc(0% + 20px);
	}
}

/* ニュース スライドパネル シングル
-----------------------------------------------------------------------------*/
.single #entry-slide-panel a {
	color: var(--base-color-black);
	transition: color .3s ease-out;
}

.single #entry-slide-panel .view-more-link::after {
	background-color: var(--base-color-blue);
}

.single #entry-slide-panel .view-more-link::before {
	background-color: var(--base-color-black);
}

/*ホバーアクション*/
/*.single #program-sales-slide-panel a:hover{color: var(--base-color-blue);}*/
.single #entry-slide-panel a:hover .overlay {
	background-color: rgba(0, 0, 0, .5);
}

.single #entry-slide-panel a:hover .post-title,
.single #entry-slide-panel a:hover .post-description,
.single #entry-slide-panel a:hover .view-more-link {
	color: var(--base-color-blue);
	transition: color .3s ease-out;
}

/* 番組販売ビジネス スライドパネル
-----------------------------------------------------------------------------*/
#program-sales-slide-panel {
	padding-right: calc(6% + 20px);
	padding-left: calc(6% + 20px);
	cursor: grab;
}

#program-sales-slide-panel .post-program a {
	color: var(--base-color-black);
	transition: color .3s ease-out 2.0s;
}

#program-sales-slide-panel .post-program .eye-cacht {
	display: flex;
	aspect-ratio: 16/9;
}

/*ポストデータ*/
#program-sales-slide-panel .post-program a:hover .overlay {
	background-color: rgba(0, 0, 0, .5);
}

#program-sales-slide-panel .entry-overview {
	padding-top: 15px;
}

#program-sales-slide-panel .entry-overview .post-date {
	transition: color .3s ease-out;
}

#program-sales-slide-panel .entry-overview .post-date .date {
	font-size: 1.8rem;
}

#program-sales-slide-panel .entry-overview .post-date .week {
	font-size: 1.1rem;
	padding-left: 5px;
}

#program-sales-slide-panel .entry-overview .post-cat {
	font-size: 1.2rem;
	color: var(--base-color-gray);
	padding-top: 3px;
}

#program-sales-slide-panel .entry-overview .post-title {
	font-size: 1.7rem;
	line-height: 1.4;
	padding-top: 8px;
}

#program-sales-slide-panel .entry-overview .post-description {
	font-size: 1.2rem;
	line-height: 1.6;
	padding-top: 10px;
	color: var(--base-color-gray);
	transition: color .3s ease-out;
}

/*リンク色*/
#program-sales-slide-panel .view-more-link::before {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: calc(50% - 1px);
	height: 1px;
	width: 60px;
	background-color: var(--base-color-white);
}

#program-sales-slide-panel .view-more-link::after {
	display: block;
	content: '';
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: calc(50% - 1px);
	height: 1px;
	width: 60px;
	background-color: var(--base-color-gray);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.7s cubic-bezier(.175, .90, .44, 1);
}

/*ホバーアクション*/
/*#program-sales-slide-panel .post-program a:hover{color: var(--base-color-gray); transition:color .3s ease-out;}*/
#program-sales-slide-panel .post-program a:hover .post-title,
#program-sales-slide-panel .post-program a:hover .post-description,
#program-sales-slide-panel .post-program a:hover .view-more-link {
	color: var(--base-color-gray);
	transition: color .3s ease-out;
}

#program-sales-slide-panel .post-program a:hover .view-more-link::after {
	transform: scaleX(1);
	transform-origin: left;
	transition: 0.3s transform cubic-bezier(0, 0.01, 0, 1);
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#program-sales-slide-panel {
		padding-right: calc(3% + 20px);
		padding-left: calc(3% + 20px);
	}
}

@media screen and (max-width:767px) {
	#program-sales-slide-panel {
		padding-right: calc(1.5% + 20px);
		padding-left: calc(1.5% + 20px);
	}
}

@media screen and (max-width:567px) {
	#program-sales-slide-panel {
		padding-left: calc(0% + 20px);
		padding-right: calc(0% + 20px);
	}
}

/* 番組販売ビジネス スライドパネル シングル
-----------------------------------------------------------------------------*/
.single #program-sales-slide-panel a {
	color: var(--base-color-black);
	transition: color .3s ease-out;
}

.single #program-sales-slide-panel .view-more-link::after {
	background-color: var(--base-color-blue);
}

.single #program-sales-slide-panel .view-more-link::before {
	background-color: var(--base-color-black);
}

/*ホバーアクション*/
/*.single #program-sales-slide-panel a:hover{color: var(--base-color-blue);}*/
.single #program-sales-slide-panel a:hover .overlay {
	background-color: rgba(0, 0, 0, .5);
}

.single #program-sales-slide-panel a:hover .post-title,
.single #program-sales-slide-panel a:hover .post-description,
.single #program-sales-slide-panel a:hover .view-more-link {
	color: var(--base-color-blue);
	transition: color .3s ease-out;
}

/* 映像・ライツビジネス スライドパネル
-----------------------------------------------------------------------------*/
#contents-business-slide-panel {
	padding-right: calc(6% + 20px);
	padding-left: calc(6% + 20px);
	cursor: grab;
}

#contents-business-slide-panel .swiper-slide {
	height: auto;
}

#contents-business-slide-panel .swiper-slide>div {
	height: 100%;
}

#contents-business-slide-panel .swiper-slide .eye-cacht {
	display: flex;
	aspect-ratio: 1/1.414;
}

/*ポストデータ*/
#contents-business-slide-panel .post-program a:hover .overlay {
	background-color: rgba(0, 0, 0, .5);
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {
	#contents-business-slide-panel {
		padding-right: calc(3% + 20px);
		padding-left: calc(3% + 20px);
	}
}

@media screen and (max-width:767px) {
	#contents-business-slide-panel {
		padding-right: calc(1.5% + 20px);
		padding-left: calc(1.5% + 20px);
	}
}

@media screen and (max-width:567px) {
	#contents-business-slide-panel {
		padding-left: calc(0% + 20px);
		padding-right: calc(0% + 20px);
	}
}

/* 広告代理店事業 スライドパネル
-----------------------------------------------------------------------------*/
#creative-agent-business-slide-panel {
	cursor: grab;
}

#creative-agent-business-slide-panel .eye-cacht {
	background-color: #ffffff;
}

/* ダイレクトジャンプ
-----------------------------------------------------------------------------*/
#ctrl-directjump {
	position: absolute;
	z-index: 5;
	bottom: 30px;
	left: 40px;
	/*width:60px;*/
	height: auto;
	display: flex;
	transition: all .4s;
}

#ctrl-directjump a {
	position: relative;
	width: 36px;
	display: block;
	height: 3px;
	margin-left: 6px;
	background-color: rgba(255, 255, 255, 0.5);
	opacity: 1;
	overflow: hidden;
	transition: background-color 0.7s cubic-bezier(.175, .90, .44, 1);
}

#ctrl-directjump a:nth-of-type(1) {
	margin-left: 0;
}

#ctrl-directjump a::before {
	content: '';
	background-color: rgba(255, 255, 255, 0.5);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: -100%;
	/*border-radius: 2px;*/
	z-index: 1;
}

#ctrl-directjump a.current::before {
	background-color: var(--base-color-white);
	animation: displayTime 5.5s linear forwards;
}

/*メディアクリエ*/
@media screen and (max-width:567px) {
	#ctrl-directjump {
		bottom: 60px;
		left: auto;
		right: 15px;
	}

	#ctrl-directjump a {
		margin-bottom: 5px;
		height: 2px;
		width: 18px;
	}
}

/* =========================================================================================================
 *
 * ディザブル
 *
========================================================================================================= */
a.disable {
	pointer-events: none;
	color: var(--base-color-black);
	text-decoration: none;
}

.disable {
	pointer-events: none;
	color: var(--base-color-black);
	text-decoration: none;
}

/* -- */

/* =========================================================================================================
 *
 * ヘッドカバー（各種ビジネス紹介）
 *
========================================================================================================= */
#head-cover.absolute {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	/*height: 100vh !important;*/
}

/*メディアクリエ*/
@media screen and (max-width:1024px) {

	#head-cover .vegas-slide,
	#head-cover .vegas-slide-inner {
		background-position: 80% center !important;
	}
}

/*ファーストビュー
-----------------------------------------------------------------------------*/
/*#head-cover-stack.collection{position: absolute; height: 100%; width: 100%; top: 70px; left: 0;}*/
#head-cover-stack {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

#head-cover-stack .overlay {
	background-color: rgba(0, 0, 0, .5);
	transition: background-color .6s cubic-bezier(0.694, 0.048, 0.335, 1);
}

/*ページヘッダー*/
#head-cover-stack #page-header {
	padding: 0;
	width: 100%;
	/*position: relative; height: 100%; width: 100%; display: flex; justify-content: flex-start; align-items: center;*/
}

#head-cover-stack #page-header h2 {
	line-height: .9;
	padding-bottom: 10px;
}

#head-cover-stack .page-header-upper {
	color: var(--base-color-white);
	transition: color .8s ease-out;
	position: relative;
	padding: 0 0 0 0;
	width: 100%;
}

/*追加情報*/

/* カーテン
-----------------------------------------------------------------------------*/
/*#head-cover-stack [id^="curtain-"]{position:absolute; background-color:#fff; display:block; z-index:auto; transition: all .8s cubic-bezier(0.785, 0.135, 0.15, 0.86) ;}*/
/*アクティブ*/
#head-cover-stack.collection.active #curtain-top,
#head-cover-stack.collection.active #curtain-bottom {
	height: 0;
}

#head-cover-stack.collection.active #curtain-left,
#head-cover-stack.collection.active #curtain-right {
	width: 0;
}

#head-cover-stack.collection.active .overlay {
	background-color: rgba(0, 0, 0, .7);
}

#head-cover-stack.collection.active .page-header-upper {
	color: #fff;
}

#head-cover-stack.collection.active .page-header-prop {
	color: #fff;
}

/* =========================================================================================================
 *
 * 検索結果ハイライト
 *
========================================================================================================= */
.highlight {
	/*font-weight: bold;*/
	background: linear-gradient(transparent 60%, #ffff66 60%);
}


/* =========================================================================================================
 * =========================================================================================================
 * =========================================================================================================
 * =========================================================================================================
 * =========================================================================================================
 * =========================================================================================================
 * =========================================================================================================
 * =========================================================================================================
 * =========================================================================================================
========================================================================================================= */

/* =========================================================================================================
 *
 * プリントスタイル
 *
========================================================================================================= */
@media print {

	.no-print,
	#global-header,
	#fixed-header,
	#global-footer,
	#menu-button,
	.pager,
	#global-reservation,
	#connect-sns,
	#aside-contents {
		display: none !important;
	}

	/* フェード
	-----------------------------------------------------------------------------*/
	/*基本フェード*/
	.scroll-fade,
	.scroll-slideup,
	.scroll-drifting .effect-block,
	.scroll-up {
		opacity: 1;
	}

	.scroll-up {
		top: 0;
	}

	.scroll-drifting .effect-block {
		transform: translate3d(0, 0, 0) skewY(0);
	}

	/*タイミング調整*/
	* {
		transition: none;
	}
}