/*
 * htmlのfont-size用
 */

/*
 * font-size可変用
 */

/* -------------------------------------------------
anime
---------------------------------------------------- */

/*高さ・位置・透過が変化して線が上から下に動く*/

.scroll_up {
	-webkit-transform: translateY(30px);
	transform: translateY(30px);
	opacity: 0;
}

.scroll_up.on {
	-webkit-transition: opacity 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
	transition: opacity 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
	transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
	transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

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

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

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

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

/* change colours to suit your needs */

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

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

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

/* change border colour to suit your needs */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

ul li,
ol li {
	list-style-type: none; /*リストマーカー無しにする*/
}

html {
	scroll-behavior: smooth;
}

body {
	line-height: 1.85;
	color: #2e1e1e;
	background: #000;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	letter-spacing: 0.1em;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	text-spacing-trim: space-first;
	font-size: 62.5%; /*デフォルト10px*/
	-webkit-tap-highlight-color: transparent; /* リンクがタップされている間の強調をなくす */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-break: strict;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	min-width: 320px;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	overflow-x: hidden;
}

:target {
	scroll-margin-top: 3rem;
}

::-moz-selection {
	background: #acacac;
}

::selection {
	background: #acacac;
}

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

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

a,
a:hover,
a:visited,
a:active {
	text-decoration: none;
}

::-webkit-scrollbar {
	width: 5px;
}

::-webkit-scrollbar-track {
	background-color: #ccc;
}

::-webkit-scrollbar-thumb {
	background-color: #d11616;
}

.l-header {
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	width: 50px;
	height: 100vh;
	background: #222222;
}

.l-header__inner {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column; /* 子要素を垂直に配置 */
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between; /* 子要素を水平中央に配置 */
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center; /* 子要素を垂直中央に配置 */
}

.l-nav-btn {
	width: 50px;
	height: 50px;
	background-color: #222;
	cursor: pointer;
	position: relative;
	z-index: 4;
	margin-top: 80px;
}

.l-nav-btn span {
	display: inline-block;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	position: absolute;
	top: 50%;
	height: 2px;
	background-color: #ffffff;
	width: 60%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.l-nav-btn span:nth-child(1) {
	top: 40%;
}

.l-nav-btn span:nth-child(2) {
	top: 60%;
}

.l-nav-btn.is-active span {
	top: 50%;
}

.l-nav-lists {
	-ms-flex-item-align: end;
	align-self: flex-end; /* 下部に配置 */
	text-align: center;
	-ms-flex-item-align: stretch;
	-ms-grid-row-align: stretch;
	align-self: stretch;
	position: relative;
	z-index: 4;
}

.l-nav-lists li {
	margin-bottom: 10px;
}

.l-nav-lists li i {
	font-size: 24px;
}

.l-nav-global__overlay {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: calc(100% - 50px);
	height: 100%;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	background: #070707;
	cursor: pointer;
}

.l-nav-global.is-active .l-nav-global__overlay {
	visibility: visible;
	opacity: 0.8;
}

.l-nav-global__contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	width: 30svw;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-transition: 0.2s ease-in-out 0.1s;
	transition: 0.2s ease-in-out 0.1s;
	background: #222;
}

.l-nav-global.is-active .l-nav-global__contents {
	-webkit-transform: translateX(-50px);
	transform: translateX(-50px);
}

.l-nav-global__list a {
	color: #fff;
	display: block;
	margin-bottom: 1rem;
	font-size: clamp(1.25rem, -0.528rem + 3.7vw, 2.25rem);
	font-family: "Oswald", "Noto Sans JP";
	opacity: 0;
	-webkit-transform: translate3d(0, 100%, 0) skewY(5deg);
	transform: translate3d(0, 100%, 0) skewY(5deg);
}

.l-nav-global.is-active li a {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0) skewY(0);
	transform: translate3d(0, 0, 0) skewY(0);
	-webkit-transition: 0.4s ease 0.3s;
	transition: 0.4s ease 0.3s;
}

.l-nav-global.is-active li:nth-child(2) a {
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}

.l-nav-global.is-active li:nth-child(3) a {
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}

.l-nav-global.is-active li:nth-child(4) a {
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
}

.l-nav-global.is-active li:nth-child(5) a {
	-webkit-transition-delay: 0.7s;
	transition-delay: 0.7s;
}

.l-nav-global.is-active li:nth-child(6) a {
	-webkit-transition-delay: 0.8s;
	transition-delay: 0.8s;
}

.l-nav-global__inner {
	padding: 50px 40px;
}

.l-nav-lists li i {
	color: #ffffff;
}

.l-nav-lists.l-nav-lists--spSns {
	display: none;
}

.l-footer {
	position: relative;
	padding-block: 10vh;
	background: #222222;
	z-index: 99;
	border-top: 6px solid #d11616;
	text-align: center;
}

.l-footer__link {
	display: block;
}

/* area */

#l-container {
	overflow-x: hidden;
	position: relative;
	z-index: 99;
	opacity: 0; /*はじめは透過0に*/
}

.l-main {
	overflow: hidden;
}

.scrollgress {
	z-index: 999;
}

.c-btn {
	font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
	display: block;
	background: #d11616;
	color: #ffffff;
	text-align: center;
	border: 2px solid #d11616;
	padding: 0.5rem 0;
}

.c-btn:hover {
	background: #ffffff;
	color: #d11616;
	-webkit-transition: ease 0.4s;
	transition: ease 0.4s;
}

.c-ttl {
	border-left: 5px solid #d11616;
	padding-left: 0.4em;
	line-height: 1.4;
	font-size: clamp(1.25rem, -0.528rem + 3.7vw, 2.25rem);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-family: "Oswald", "Noto Sans JP";
	margin-bottom: 2.2rem;
	font-weight: normal;
}

.c-ttl--chara {
	color: #ffffff;
}

.c-charaTtl {
	text-align: center;
	color: #ffffff;
	font-weight: normal;
	font-size: clamp(1.125rem, 1.04rem + 0.18vw, 1.25rem);
	margin-bottom: 1rem;
}

.page_top span {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 1.25vw;
	height: 1.375vw;
	margin: auto;
	overflow: hidden;
	background: url(../img/pagetop_arrow.png) no-repeat;
	background-size: contain;
	text-indent: -9999px;
	animation: ROLLRING 14s linear reverse infinite;
}

.page_top {
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: absolute;
	right: 100px;
	bottom: 2vw;
	cursor: pointer;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 4.5vw;
	height: 4.5vw;
	overflow: hidden;
	background: url(../img/pagetop_ring.png) no-repeat;
	background-size: contain;
	text-indent: -9999px;
	-webkit-animation: ROLLRING 14s linear normal infinite;
	animation: ROLLRING 14s linear normal infinite;
	will-change: transform;
	z-index: 99999;
}

/*========= ローディング画面のためのCSS ===============*/

#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #000;
	z-index: 9999999;
	text-align: center;
	color: #fff;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.splashbg {
	display: none;
}

body.appear .splashbg {
	display: block;
	content: "";
	position: fixed;
	z-index: 9999;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	background-color: #960021; /*伸びる背景色の設定*/
	-webkit-animation-name: PageAnime;
	animation-name: PageAnime;
	-webkit-animation-duration: 0.8s;
	animation-duration: 0.8s;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

/*画面遷移の後現れるコンテンツ設定*/

/*bodyにappearクラスがついたら出現*/

body.appear #l-container {
	-webkit-animation-name: PageAnimeAppear;
	animation-name: PageAnimeAppear;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-delay: 0.8s;
	animation-delay: 0.8s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	opacity: 0;
}

/* loading ※https://projects.lukehaas.me/css-loaders/参照*/

.loader,
.loader:before,
.loader:after {
	background: #ffffff;
	-webkit-animation: load1 1s infinite ease-in-out;
	animation: load1 1s infinite ease-in-out;
	width: 0.5em;
	height: 1em;
}

.loader {
	color: #ffffff;
	text-indent: -9999em;
	margin: 88px auto;
	position: relative;
	font-size: 11px;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

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

.loader:before {
	left: -1.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

.loader:after {
	left: 1.5em;
}

.p-visual {
	background: #ffffff;
	height: 100svh;
	position: relative;
	font-family: "Oswald", sans-serif;
}

.p-visual:before {
	content: "";
	background-color: #d11616;
	width: 105%;
	height: 150%;
	position: fixed;
	left: -54.5%;
	top: -47%;
	-webkit-transform: rotate(10deg);
	transform: rotate(10deg);
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	-webkit-transition: -webkit-clip-path 0.4s ease;
	transition: -webkit-clip-path 0.4s ease;
	transition: clip-path 0.4s ease;
	transition: clip-path 0.4s ease, -webkit-clip-path 0.4s ease;
}

.p-visual:after {
	content: "";
	background-color: #111;
	width: 105%;
	height: 150%;
	position: fixed;
	left: -54.9%;
	top: -47%;
	-webkit-transform: rotate(10deg);
	transform: rotate(10deg);
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	-webkit-transition: -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
	transition: -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
	transition: clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
	transition: clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
}

.p-visual__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
	z-index: 1;
	position: fixed;
	width: 100%;
}

.p-visual__lead {
	margin: -3% 2% 0 3%;
	color: #ffffff;
}

.p-visual__logo {
	font-size: 2.6vw;
	margin-bottom: 1vw;
}

.p-visual__img {
	width: 42vw;
	margin: 0 0% 0 9%;
	opacity: 0;
}

.p-visual__img img {
	width: 100%;
}

.p-visual__ttl {
	line-height: 1.3;
	font-size: 4.8vw;
}

.p-visual__ttlAcc {
	display: block;
	letter-spacing: 0.8em;
	font-size: 0.5em;
}

body.appear .p-visual:before {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	-webkit-transition-delay: 2.6s;
	transition-delay: 2.6s;
}

body.appear .p-visual__img {
	-webkit-animation: fadeUpAnime ease 1s forwards 1.8s;
	animation: fadeUpAnime ease 1s forwards 1.8s;
}

.scrolldown1 {
	position: fixed;
	left: 40px;
	bottom: 3%;
	height: 50px;
	z-index: 2;
}

.scrolldown1 span {
	position: absolute;
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
	text-transform: uppercase;
	left: -20px;
	top: -32px;
}

.scrolldown1::after {
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 30px;
	background: #fff;
	-webkit-animation: pathmove 1.4s ease-in-out infinite;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}

.p-about {
	background: #ffffff;
	position: relative;
	z-index: 10;
	padding: clamp(5rem, 4.167rem + 1.74vw, 6.25rem) clamp(1rem, 0.417rem + 1.22vw, 1.875rem);
	width: calc(100% - 50px);
}

.p-about__inner {
	max-width: 1200px;
	margin-inline: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
	z-index: 4;
}

.p-about__bg {
	position: absolute;
	z-index: 3;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0%;
	width: 100%;
	height: 300px;
	background-repeat: repeat-x;
	background-image: url(../img/loop-logo.png);
	background-size: 1900px 300px;
	-webkit-animation: loop 50s linear infinite;
	animation: loop 50s linear infinite;
}

.p-about__img {
	width: 50%;
}

.p-about__box {
	width: 50%;
}

.p-about__ttl {
	font-size: clamp(1.5rem, 1.167rem + 0.69vw, 2rem);
	margin-bottom: 0.5rem;
}

.p-about__txt {
	font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
	margin-bottom: 2.5rem;
}

.item {
	background: #ffffff;
	position: relative;
	z-index: 5;
	padding: 50px clamp(1rem, 0.417rem + 1.22vw, 1.875rem);
	width: calc(100% - 50px);
	overflow: hidden;
}

.item--chara {
	background: #434343;
}

.item--chara:before {
	display: none;
}

.item--others:before {
	display: none;
}

.item:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0%;
	width: 80%;
	height: 100%;
	background: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), color-stop(10%, #eaeaea), color-stop(70%, #eaeaea), to(#f1f1f1));
	background: linear-gradient(180deg, #eeeeee 0%, #eaeaea 10%, #eaeaea 70%, #f1f1f1 100%);
	-webkit-transform: skewX(30deg);
	transform: skewX(30deg);
	z-index: -1;
	pointer-events: none;
}

.item__blk {
	margin-bottom: 80px;
}

.item__inner {
	max-width: 1200px;
	margin-inline: auto;
}

.item__wrap {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr 1fr;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
}

.item__wrap--single {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	justify-items: center;
}

.item__wrap--single a {
	max-width: 285px;
}

.item__box {
	margin-bottom: 3rem;
}

/* モーダルのスタイリング */

.modal {
	display: none; /* 初期状態では非表示 */
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.8);
}

.modal-content {
	background-color: #ffffff;
	margin: auto;
	padding: 50px 20px;
	border-radius: 0px;
	width: clamp(43.75rem, 22.917rem + 43.4vw, 75rem);
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/* 閉じるボタンのスタイリング */

.close {
	color: #6c757d;
	position: absolute;
	top: 0px;
	right: 10px;
	font-size: 28px;
	font-weight: bold;
	cursor: pointer;
}

.close:hover,
.close:focus {
	color: #343a40;
	text-decoration: none;
	cursor: pointer;
}

/* リンクのスタイル */

.modalBtn {
	color: #222222;
	text-decoration: none;
	cursor: pointer;
	display: block;
}

a.modalBtn:hover {
	color: #222222;
}

/* JSONデータがない場合の要素の非表示 */

.hide {
	display: none;
}

/* カードのスタイリング */

.col {
	background-color: #fff;
	padding: 15px 10px 25px;
	border-radius: 5px;
	-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2), 0 0 40px rgba(128, 128, 128, 0.1);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2), 0 0 40px rgba(128, 128, 128, 0.1);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
}

.col:hover {
	-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.4), 0 0 50px rgba(128, 128, 128, 0.1);
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.4), 0 0 50px rgba(128, 128, 128, 0.1);
	border-color: transparent;
}

.col__img {
	margin-bottom: 5px;
	width: 100%;
}

.col__img img {
	width: 100%;
}

.col__ttl {
	font-family: "Oswald", "Noto Sans JP";
	margin-bottom: 1rem;
	font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
	color: #2e1e1e;
	line-height: 1.3;
	font-weight: normal;
}

.col__ttl--jp {
	font-size: clamp(1.125rem, 0.958rem + 0.35vw, 1.375rem);
	font-family: "Noto Sans JP";
}

.col__colors {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.col__color {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	width: clamp(0.875rem, 0.653rem + 0.46vw, 1rem);
	height: clamp(0.875rem, 0.653rem + 0.46vw, 1rem);
	line-height: 24px;
	border-radius: 50%;
	background: #000;
	border: #000 1px solid;
	margin-inline: 0.2em;
}

.col__color--white {
	background: #fff;
	border: #999999 1px solid;
}

.col__color--clear {
	background: #fff;
	border: #999999 1px solid;
}

.col__color--aurora {
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(229, 162, 255)), to(rgb(152, 233, 157)));
	background-image: linear-gradient(180deg, rgb(229, 162, 255), rgb(152, 233, 157));
	border: #E5CDE7 1px solid;
}

.col__color--blue {
	background: #22adb7;
	border: #22adb7 1px solid;
}

.col__color--blue02 {
	background: #646B7C;
	border: #646B7C 1px solid;
}

.col__color--gray {
	background: #AFAFA5;
	border: #AFAFA5 1px solid;
}

.col__color--beige {
	background: #CAB4A6;
	border: #CAB4A6 1px solid;
}

.col__color--brown {
	background: #CAB4A6;
	border: #CAB4A6 1px solid;
}

.col__color--black {
	background: #333333;
	border: #333333 1px solid;
}

.col__color--silver {
	background: #e6e6e6;
	border: #e6e6e6 1px solid;
}

.col__color--red {
	background: #db2d2d;
	border: #db2d2d 1px solid;
}

.col__color--navy {
	background: #2040a7;
	border: #2040a7 1px solid;
}

.col__color--pink {
	background: #f197a1;
	border: #f197a1 1px solid;
}

.col__color--purpleRed {
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(219, 87, 205)), to(rgb(237, 47, 47)));
	background-image: linear-gradient(180deg, rgb(219, 87, 205), rgb(237, 47, 47));
	border: #f197a1 1px solid;
}

.col__color--greenBlue {
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(144, 245, 154)), to(rgb(4, 202, 255)));
	background-image: linear-gradient(180deg, rgb(144, 245, 154), rgb(4, 202, 255));
	border: #22adb7 1px solid;
}

#modalContent {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#modalContent .modal__leftCol {
	margin: 0 1.5rem 0 0;
	width: 46%;
	text-align: center;
}

#modalContent .modal__rightCol {
	width: 50%;
}

#modalContent .modal__rightCol .name {
	margin-bottom: 0.5rem;
	font-size: 1.4rem;
	font-weight: bold;
}

#modalContent .modal__rightCol .text {
	font-size: 0.9rem;
	margin-bottom: 2rem;
}

.modalLink {
	width: 49%;
	margin-bottom: 0.2rem;
}

.modalLink a {
	display: block;
	padding: 0.8rem 0.2rem;
	text-align: center;
	background: #222222;
	border: 1px solid #222222;
	color: #fff;
	margin-bottom: 0.3rem;
	font-size: 0.8rem;
}

.modalLink a:hover {
	background: #ffffff;
	color: #222222;
	-webkit-transition: ease 0.2s;
	transition: ease 0.2s;
}

.modal__rightBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media (hover: hover) {

.item__wrap--img a:hover {
	opacity: 0.7;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

}

@media (min-width: 768px) {

.is-sp {
	display: none !important;
}

.is-pc {
	display: block !important;
}

}

@media (max-width: 768px) {

.is-pc {
	display: none;
}

.is-sp {
	display: block;
}

}

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

.l-header {
	height: 50px;
	top: 15px;
	right: 15px;
}

.l-header__inner {
	height: inherit;
}

.l-nav-btn {
	margin-top: 0px;
}

.l-nav-btn span:nth-child(1) {
	top: 17px;
}

.l-nav-btn span:nth-child(2) {
	top: 34px;
}

.l-nav-btn.is-active {
	background-color: #fff;
}

.l-nav-btn.is-active span {
	top: 50%;
	background-color: #222;
}

.l-nav-lists {
	display: none;
}

.l-nav-global__overlay {
	width: 100%;
}

.l-nav-global__contents {
	width: 80svw;
}

.l-nav-global.is-active .l-nav-global__contents {
	-webkit-transform: translateX(0px);
	transform: translateX(0px);
}

.l-nav-global__list a {
	font-size: 1.5rem;
}

.l-nav-global__inner {
	padding: 80px 25px 30px;
	height: 100svh;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.l-nav-lists li i {
	font-size: 30px;
}

.l-nav-lists.l-nav-lists--spSns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.l-nav-lists.l-nav-lists--spSns li {
	margin-right: 0.8rem;
}

.l-footer__link {
	width: 120px;
	margin: auto;
}

.c-btn {
	font-size: 1rem;
}

.c-ttl {
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
}

.page_top span {
	width: 3vw;
	height: 3.3vw;
}

.page_top {
	width: 15vw;
	height: 15vw;
	right: 5vw;
	bottom: 4vw;
}

.p-visual:before {
	-webkit-transform: skewX(40deg);
	transform: skewX(40deg);
	top: 0;
	left: -188%;
	width: 260%;
	height: 100%;
	position: absolute;
}

.p-visual:after {
	-webkit-transform: skewX(40deg);
	transform: skewX(40deg);
	top: 0;
	left: -190%;
	width: 260%;
	height: 100%;
	position: absolute;
}

.p-visual__inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
	position: absolute;
}

.p-visual__lead {
	width: 100vw;
	margin: 0;
	text-align: center;
}

.p-visual__logo {
	font-size: 7vw;
}

.p-visual__img {
	width: 100vw;
	margin: 0;
	margin-bottom: -8vw;
}

.p-visual__ttl {
	font-size: 11vw;
}

.p-visual__ttlAcc {
	letter-spacing: 0.7em;
	font-size: 0.4em;
}

.scrolldown1 {
	left: 20px;
	display: none;
}

.scrolldown1 span {
	left: -19px;
}

.p-about {
	width: 100vw;
	padding: 3rem 1rem;
}

.p-about__inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.p-about__img {
	width: 90%;
	margin-bottom: 1rem;
}

.p-about__box {
	width: 100%;
}

.item {
	width: 100%;
}

.item:before {
	-webkit-transform: skewX(8deg);
	transform: skewX(8deg);
	top: 0;
	left: 40%;
	width: 80%;
	height: 100%;
}

.item__blk {
	margin-bottom: 50px;
}

.item__wrap {
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.modal-content {
	height: 86svh;
	width: 86svw;
	overflow-y: scroll;
}

.close {
	top: -5px;
}

#modalContent {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

#modalContent .modal__leftCol {
	width: 100%;
	margin: 1.4rem auto 0.5rem;
}

#modalContent .modal__rightCol {
	width: 100%;
}

.modalLink a {
	font-size: 0.7rem;
}

}

@-webkit-keyframes PageAnime {

0% {
	-webkit-transform-origin: left;
	transform-origin: left;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

50% {
	-webkit-transform-origin: left;
	transform-origin: left;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

50.001% {
	-webkit-transform-origin: right;
	transform-origin: right;
}

100% {
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

}

@keyframes PageAnime {

0% {
	-webkit-transform-origin: left;
	transform-origin: left;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

50% {
	-webkit-transform-origin: left;
	transform-origin: left;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

50.001% {
	-webkit-transform-origin: right;
	transform-origin: right;
}

100% {
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

}

@-webkit-keyframes PageAnimeAppear {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes PageAnimeAppear {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@-webkit-keyframes load1 {

0%,80%,100% {
	-webkit-box-shadow: 0 0;
	box-shadow: 0 0;
	height: 1em;
}

40% {
	-webkit-box-shadow: 0 -2em;
	box-shadow: 0 -2em;
	height: 2.2em;
}

}

@keyframes load1 {

0%,80%,100% {
	-webkit-box-shadow: 0 0;
	box-shadow: 0 0;
	height: 1em;
}

40% {
	-webkit-box-shadow: 0 -2em;
	box-shadow: 0 -2em;
	height: 2.2em;
}

}

@-webkit-keyframes fadeUpAnime {

from {
	opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
}

to {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

}

@keyframes fadeUpAnime {

from {
	opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
}

to {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

}

@-webkit-keyframes pathmove {

0% {
	height: 0;
	top: 0;
	opacity: 0;
}

30% {
	height: 30px;
	opacity: 1;
}

100% {
	height: 0;
	top: 50px;
	opacity: 0;
}

}

@keyframes pathmove {

0% {
	height: 0;
	top: 0;
	opacity: 0;
}

30% {
	height: 30px;
	opacity: 1;
}

100% {
	height: 0;
	top: 50px;
	opacity: 0;
}

}

@-webkit-keyframes ROLLRING {

0% {
	-webkit-transform: rotateZ(0deg);
	transform: rotateZ(0deg);
}

100% {
	-webkit-transform: rotateZ(360deg);
	transform: rotateZ(360deg);
}

}

@keyframes ROLLRING {

0% {
	-webkit-transform: rotateZ(0deg);
	transform: rotateZ(0deg);
}

100% {
	-webkit-transform: rotateZ(360deg);
	transform: rotateZ(360deg);
}

}

@-webkit-keyframes loop {

from {
	background-position: 0 0;
}

to {
	background-position: -1900px 0; /* 画像のマイナス幅 */
}

}

@keyframes loop {

from {
	background-position: 0 0;
}

to {
	background-position: -1900px 0; /* 画像のマイナス幅 */
}

}

/*# sourceMappingURL=map/style.css.map */
