@charset "UTF-8";

html {
	font-family: 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 62.5%;
	color: #111;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}


/* -------------------------------------------- common -------------------------------------------- */
* { outline: none; backface-visibility: hidden; }
body { font-size: 16px; position: relative; z-index: 0; }
main { display: block; }
button { display: block; background-color: transparent; border: none; cursor: pointer; outline: none; border-radius: 0; padding: 0; margin: 0; font-family: inherit; font-weight: inherit; font-size: inherit; line-height: 1; }
img { object-fit: cover; object-position: 50% 50%; overflow: hidden; vertical-align: top; max-width: 100%; height: auto; }
svg { object-fit: cover; object-position: 50% 50%; overflow: hidden; vertical-align: top; }
a { text-decoration: none; color: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; }
input,select,textarea { display: block; border: none; border-radius: 0; -webkit-appearance: none; font-sizkve: inherit; }
table { width: 100%; }

.body.-fixed {
	padding-right: 1rem;
	overflow: hidden;
}

.body.-en {
	font-family: 'Overpass', 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
	font-weight: 900;
	font-style: normal;
}



/* ----- heading ----- */
.large-heading {
	padding-bottom: 4rem;
	margin: -0.35em 0;
	font-size: 4.2rem;
	line-height: 1.7;
	letter-spacing: 0.05em;
	font-weight: 700;
	overflow: hidden;
}

.body.-en .large-heading {
	margin: -0.25em 0;
	font-weight: 900;
	line-height: 1.5;
}

.small-heading {
	padding-bottom: 1.8rem;
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: 900;
	letter-spacing: 0.05em;
}

.circle-heading {
	position: relative;
	padding: 0 0 5rem 3.2rem;
	font-size: 2.5rem;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.circle-heading::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 1.2rem;
	width: 1.3rem;
	height: 1.3rem;
	border-radius: 50%;
	background: #111;
	pointer-events: none;
}

.circle-heading.-has-margin {
	margin-top: 13rem;
}

.body.-en .circle-heading::before {
	top: 1rem;
}

.dotted-heading {
	padding-bottom: 2.5rem;
	margin-bottom: 3.5rem;
	font-size: 2.5rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: 900;
	background: url(/img/common/dot.png) left bottom repeat-x;
	background-size: 0.6rem 0.2rem;
}

.dotted-heading.-has-margin {
	padding-top: 8rem;
}

.line-heading {
	padding-bottom: 1.2rem;
	border-bottom: 0.1rem solid #111;
	margin-bottom: 3rem;
}

.line-heading.-has-margin {
	padding-top: 2rem;
}

.line-heading__text {
	display: block;
	position: relative;
	padding-left: 2.1rem;
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: 900;
}

.line-heading__text::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 0.6rem;
	height: 1.8rem;
	background: #111;
}

/* ----- text ----- */
.text {
	margin: -0.625em 0;
	font-size: 1.6rem;
	line-height: 2.25;
}

.body.-en .text {
	margin: -0.45em 0;
	line-height: 1.9;
	font-weight: 700;
}

.text + .text {
	padding-top: 3.5rem;
}

.text.-has-margin {
	padding-top: 2rem;
}

.large-text {
	margin: -0.4em 0;
	font-size: 2.2rem;
	line-height: 1.8;
	font-weight: 700;
}

.text-bg {
	padding: 3.5rem 5rem 4.5rem 5rem;
	background: #f6f6f6;
}

.text-link {
	text-decoration: underline;
	transition: opacity 0.3s;
}

.text-link:hover {
	opacity: 0.5;
}


/* ----- link ----- */
.square-button {
	display: block;
	position: relative;
	width: 22rem;
	padding-bottom: 0.2rem;
	border-radius: 3rem;
	border: 3px solid #111;
	margin: 0 auto;
	/* line-height: 5.2rem; */
	color: #fff;
	text-align: center;
	overflow: hidden;
	background: #111;
	transition: background 0s, color 0.3s, transform 0.3s;
}

.square-button:hover {
	color: #111;
	background: transparent;
	transform: scale(1.08);
}

.square-button::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: 23rem;
	height: 23rem;
	border-radius: 50%;
	background: #fff;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.5);
	transition: transform 0.4s, opacity 0.3s;
	pointer-events: none;
}

.square-button:hover::before {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.square-button::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	background: #111;
}

.square-button__text {
	display: block;
}

.square-button__text.-en {
	display: block;
	padding: 1.7rem 0 1.3rem 0;
	font-size: 2.2rem;
}

.square-button__text.-jp {
	display: block;
	padding: 1.8rem 0;
	font-size: 1.6rem;
	font-weight: 700;
}

.square-button:hover .square-button__text {
	animation: square-button-animation 0.4s;
}

@keyframes square-button-animation {
	0% { transform: translateY(0); opacity: 1; }
	50% { transform: translateY(-30%); opacity: 0; }
	50.1% { transform: translateY(30%); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}

.circle-link {
	display: inline-flex;
	align-items: center;
	margin-left: auto;
}

.circle-link.-has-margin {
	margin-top: 3.5rem;
}

.circle-link__wrap {
	text-align: right;
}

.circle-link__text {
	display: block;
	padding: 0.5rem 2rem 0 0;
	font-size: 2rem;
}

.circle-link__circle {
	position: relative;
	box-sizing: border-box;
	width: 6.4rem;
	height: 6.4rem;
	border-radius: 50%;
	border: 2px solid #111;
	background: #111;
	transition: background 0.3s, transform 0.3s;
}

.circle-link:hover .circle-link__circle {
	background: #fff;
	transform: scale(1.08);
}

.circle-link__arrow-white {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1.8rem;
	height: 1.4rem;
	transition: 0.2s 0.1s;
}

.circle-link:hover .circle-link__arrow-white {
	transform: translate(0, -50%);
	opacity: 0;
	transition: 0.2s;
}

.circle-link__arrow-black {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-100%, -50%);
	width: 1.8rem;
	height: 1.4rem;
	opacity: 0;
	transition: 0.2s;
}

.circle-link:hover .circle-link__arrow-black {
	transform: translate(-50%, -50%);
	opacity: 1;
	transition: 0.2s 0.1s;
}


/* ----- other ----- */
.img {
	width: 100%;
	height: 100%;
}

.large-img {
	width: 89%;
	margin-left: auto;
}

.wrapper {
	width: 78%;
	max-width: 1500px;
	margin: 0 auto;
}

/* ----- modifier ----- */
.-sp1 {
	display: none !important;
}

.-sp2 {
	display: none !important;
}

.-en {
	font-family: 'Overpass', 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
	font-weight: 900;
	font-style: normal;
}

.-right {
	text-align: right;
}

/* ----- inview ----- */
.inview {
	opacity: 0;
	transform: translateY(0.8rem);
	transition: transform 0.8s, opacity 0.8s;
}

.inview.-action {
	opacity: 1;
	transform: translateY(0);
}


/* -------------------------------------------- home -------------------------------------------- */
/* ------------------------- loading ------------------------- */
.loading {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9000;
	width: 100%;
	height: 100%;
	background: #fff;
	transition: 0.5s 1s;
}

.loading.-end {
	opacity: 0;
	visibility: hidden;
}

.loading__content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
}

.loading__img {
	position: relative;
	width: 25rem;
	padding-bottom: 4rem;
	margin: 0 auto;
}

.loading__img-move {
	padding-right: 1rem;
	animation: loading-float 2s ease-in-out infinite both;
}

@keyframes loading-float {
	0% { transform: translateY(0); }
	50% { transform: translateY(2%); }
	100% { transform: translateY(0); }
}

.loading__img-shadow {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	width: 90%;
}

.loading__text {
	padding-top: 2rem;
	font-size: 4rem;
	text-align: center;
}

.loading__text-img {
	display: inline-block;
	width: 17.8rem;
	padding: 1rem 1rem 0 0;
}

.loading__text-dot1 {
	animation: loading-dot1 2s linear infinite both;
}

.loading__text-dot2 {
	animation: loading-dot2 2s linear infinite both;
}

.loading__text-dot3 {
	animation: loading-dot3 2s linear infinite both;
}

@keyframes loading-dot1 {
	0% { opacity: 0; }
	23% { opacity: 0; }
	25% { opacity: 1; }
	100% { opacity: 1; }
}

@keyframes loading-dot2 {
	0% { opacity: 0; }
	48% { opacity: 0; }
	50% { opacity: 1; }
	100% { opacity: 1; }
}

@keyframes loading-dot3 {
	0% { opacity: 0; }
	72% { opacity: 0; }
	75% { opacity: 1; }
	100% { opacity: 1; }
}


/* ------------------------- header ------------------------- */
.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 5000;
	width: 100%;
	height: 16rem;
	background: #fff;
	transition: background 0.3s, height 0.3s;
}

.header::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	height: 2rem;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.02), transparent);
	opacity: 0;
	transition: opacity 0.3s;
	pointer-events: none;
}

.header__lang {
	position: absolute;
	top: 1.6rem;
	right: 1.6rem;
	z-index: 6000;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	transition: opacity 0.3s, visibility 0.3s;
}

.header.-scroll .header__lang {
	opacity: 0;
	visibility: hidden;
}

.lang__link {
	color: #999;
	text-decoration: underline;
	transition: opacity 0.3s;
}

.lang__link:hover {
	opacity: 0.5;
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	width: 91.4%;
	height: 100%;
	margin: 0 auto;
	transition: 0.3s;
}

.header__large-logo {
	position: absolute;
	top: 4rem;
	left: 0;
	width: 10.5rem;
	transition: top 0.3s, opacity 0.3s;
}

.header__small-logo {
	width: 16rem;
	padding-bottom: 0.5rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s;
}

.header__nav {
	display: flex;
	align-items: center;
}

.header__nav-list {
	display: flex;
	gap: 0 4.8rem;
	padding-top: 0.3rem;
}

.header__nav-link {
	display: block;
	position: relative;
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	transition: transform 0.3s;
}

.header__nav-link:hover {
	transform: scale(1.08);
}

.header__nav-link::before {
	content: '';
	display: block;
	position: absolute;
	bottom: -0.2rem;
	left: -0.5rem;
	z-index: -1;
	width: calc(100% + 1rem);
	height: 1.3rem;
	background: #eee;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform 0.3s;
}

.header__nav-link:hover::before,
.header__nav-link.-current::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.header__recruit {
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 14rem;
	padding: 0.9rem 0 0.6rem 0;
	border-radius: 1.8rem;
	border: 2px solid #111;
	margin: 0 4rem 0 5rem;
	text-align: center;
	overflow: hidden;
	transition: color 0.3s, transform 0.3s;
}

.header__recruit-text {
	display: block;
	font-size: 1.7rem;
	letter-spacing: 0.05em;
}

.header__recruit:hover .header__recruit-text {
	animation: square-button-animation 0.4s;
}

.header__recruit:hover {
	color: #fff;
	transform: scale(1.08);
}

.header__recruit::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: 14rem;
	height: 14rem;
	border-radius: 50%;
	background: #111;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.3);
	transition: transform 0.4s, opacity 0.3s;
}

.header__recruit:hover::before {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.header__contact {
	display: block;
	position: relative;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	background: #111;
	transition: transform 0.3s;
}

.header__contact:hover {
	transform: scale(1.08);
}

.header__contact-img {
	position: absolute;
	top: 1.6rem;
	left: 1.5rem;
	width: 2rem;
}

.header__contact:hover .header__contact-img {
	animation: nav-animation 0.3s;
}

.header__contact-deco {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(30deg);
	z-index: -1;
	width: 7.7rem;
	height: 7.7rem;
	opacity: 0;
	transition: 0.3s;
	pointer-events: none;
}

.header__contact:hover .header__contact-deco {
	animation: contact-deco 0.3s ease-in forwards;
}

@keyframes contact-deco {
	0% { transform: translate(-50%, -50%) rotate(45deg); opacity: 0; }
	60% { transform: translate(-50%, -50%) rotate(-6deg); opacity: 1; }
	100% { transform: translate(-50%, -50%) rotate(0); opacity: 1; }
}



/* --------- header scroll --------- */
.header.-scroll {
	height: 9rem;
	background: #fff;
}

.header.-scroll::before {
	opacity: 1;
}

.header.-scroll .header__large-logo {
	top: 2rem;
	opacity: 0;
	visibility: hidden;
}

.header.-scroll .header__small-logo {
	opacity: 1;
	visibility: visible;
}

/* --------- header maintain --------- */
.header.-maintain {
	height: 9rem;
	background: #fff;
}

.header.-maintain::before {
	opacity: 1;
}

.header.-maintain .header__large-logo {
	top: 2rem;
	opacity: 0;
	visibility: hidden;
}

.header.-maintain .header__small-logo {
	opacity: 1;
	visibility: visible;
}

/* --------- top header --------- */
.home__header {
	background: transparent;
}

.home__header .header__large-logo {
	width: 13rem;
}

.home__header .header__nav-link::before {
	background: #fff;
}

.home__header.-scroll .header__nav-link::before {
	background: #eee;
}

/* --------- hamburger-button open --------- */
.header.-open {
	background: #fff;
}

.header.-open::before {
	opacity: 0;
}

.header.-open .header__large-logo {
	opacity: 0;
	visibility: hidden;
}

.header.-open .header__small-logo {
	opacity: 1;
	visibility: visible;
}


/* ------------------------- hamburger-button ------------------------- */
.hamburger-button {
	position: relative;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	background: #111;
}

.hamburger-button__line-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 2rem;
	height: 1.4rem;
}

.hamburger-button__line {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: 0.2s;
}

.hamburger-button__line.-line1 {
	top: 0;
}

.hamburger-button__line.-line2 {
	top: 50%;
	transform: translateY(-50%);
}

.hamburger-button__line.-line3 {
	bottom: 0;
}

.hamburger-button.-open .hamburger-button__line.-line2 {
	opacity: 0;
}
@keyframes menu-open-top {
	0% { top: 0; }
	60% { top: 50%; transform: translateY(-50%); }
	100% { top: 50%; transform: translateY(-50%) rotate(40deg); }
}

@keyframes menu-open-bottom {
	0% { bottom: 0; }
	60% { bottom: 50%; transform: translateY(50%); }
	100% { bottom: 50%; transform: translateY(50%) rotate(-40deg); }
}

@keyframes menu-close-top {
	0% { top: 50%; transform: translateY(-50%) rotate(40deg); }
	40% { top: 50%; transform: translateY(-50%); }
	100% { top: 0; }
}

@keyframes menu-close-bottom {
	0% { bottom: 50%; transform: translateY(50%) rotate(-40deg); }
	40% { bottom: 50%; transform: translateY(50%); }
	100% { bottom: 0; }
}

/* ------------------------- hamburger-menu ------------------------- */
.hamburger-menu {
	position: fixed;
	left: 0;
	top: 8.5rem;
	z-index: 3000;
	width: 100%;
	height: calc(100% - 8.5rem);
	background: #fff;
	transition: .2s;
	opacity: 0;
	visibility: hidden;
}

.hamburger-menu.-open {
	opacity: 1;
	visibility: visible;
}

.hamburger-menu__base {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 6rem 0 9rem 0;
	overflow-y: auto;
}

.hamburger-menu__nav-wrap {
	width: 55%;
	max-width: 40rem;
	margin: 0 auto;
}

.hamburger-menu__nav-list {
	padding-bottom: 5rem;
}

.hamburger-menu__nav-item:not(:last-child) {
	padding-bottom: 4rem;
}

.hamburger-menu__nav-link {
	display: block;
	transform-origin: left center;
	transition: transform 0.3s;
}

.hamburger-menu__nav-link:hover {
	transform: scale(1.02);
}

.hamburger-menu__nav-link-en {
	display: inline-block;
	position: relative;
	font-size: 2.8rem;
	letter-spacing: 0.05em;
}

.hamburger-menu__nav-link-en::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: -0.5rem;
	z-index: -1;
	width: calc(100% + 1rem);
	height: 1.3rem;
	background: #eee;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform 0.3s;
}

.hamburger-menu__nav-link:hover .hamburger-menu__nav-link-en::before,
.hamburger-menu__nav-link.-current .hamburger-menu__nav-link-en::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.hamburger-menu__nav-link-jp {
	display: block;
	padding-top: 0.5rem;
	font-size: 1.6rem;
	font-weight: 700;
}

.hamburger-menu__recruit {
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 92%;
	padding: 1.3rem 0 0.9rem 0;
	border-radius: 2.5rem;
	border: 3px solid #111;
	margin: 0 auto;
	text-align: center;
	overflow: hidden;
	transition: color 0.3s, transform 0.3s;
}

.hamburger-menu__recruit:hover {
	color: #fff;
	transform: scale(1.05);
}

.hamburger-menu__recruit-text {
	display: block;
	font-size: 2.2rem;
	letter-spacing: 0.05em;
}

.hamburger-menu__recruit:hover .hamburger-menu__recruit-text {
	animation: recruit-animation 0.4s;
}

.hamburger-menu__recruit::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: 40rem;
	height: 40rem;
	border-radius: 50%;
	background: #111;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.5);
	transition: transform 0.4s, opacity 0.3s;
}

.hamburger-menu__recruit:hover::before {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.hamburger-menu__contact {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	padding: 2rem 0;
	background: #111;
	transition: padding 0.3s;
}

.hamburger-menu__contact:hover {
	padding: 2.5rem 0;
}

.hamburger-menu__contact-img {
	width: 1.9rem;
	padding: 0 1rem 0.5rem 0;
}

.hamburger-menu__contact-text {
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	color: #fff;
}

/* ------------------------- home-kv ------------------------- */
.home-kv {
	position: relative;
	height: 100vh;
	min-height: 680px;
	background: #f2f2f2;
	overflow: hidden;
}

.home-kv__content {
	position: absolute;
	bottom: 12%;
	left: 0;
	width: 100%;
	overflow: hidden;
}

.home-kv__slide {
	width: 100%;
	height: 23vw;
	background: url(/img/home/kv-img1.jpg?20220928) repeat-x;
	background-size: 142vw auto;
	/*background-size: 148vw auto;*/
	animation: kv-slide 50s infinite linear, kv-slide-img 2s infinite steps(1);
	
}

@keyframes kv-slide {
	0% { background-position: 0 top; }
	100% { background-position: -142vw top; }
}

@keyframes kv-slide-img {
	0% { background-image: url(/img/home/kv-img1.jpg?20220928); }
	50% { background-image: url(/img/home/kv-img2.jpg?20220928); }
	100% { background-image: url(/img/home/kv-img2.jpg?20220928);  }
}

.home-kv__copy {
	padding-top: 2%;
	text-align: center;
}

.home-kv__copy-en {
	display: inline;
	padding: 0 0.5rem;
	font-size: 5.2rem;
	line-height: 1.36;
	letter-spacing: 0.02em;
	background: linear-gradient(to bottom, transparent 45%, #fff 45.1%, #fff 86%, transparent 86.1%);
}

.home-kv__copy-jp {
	display: block;
	padding-top: 1.6rem;
	font-size: 1.9rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.home-kv__link {
	display: block;
	position: absolute;
	right: 3%;
	bottom: 3.5%;
	padding-bottom: 0.3rem;
	text-align: center;
	animation: kv-scroll 1.6s ease-in-out infinite both;
}

@keyframes kv-scroll {
	0% { transform: translateY(0); }
	50% { transform: translateY(5%); opacity: 0.8; }
	100% { transform: translateY(0); }
}

.home-kv__link-text {
	display: block;
	padding-bottom: 0.8rem;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
}

.home-kv__link-circle {
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	margin: 0 auto;
	background: url(/img/home/kv-scroll.png) center no-repeat;
	background-size: 2.1rem 1.3rem;
	background-color: #111;
}


/* ------------------------- home-intro ------------------------- */
.home .text {
	font-size: 1.8rem;
	line-height: 2;
	margin: -0.5em 0;
}

.home-intro {
	padding: 12rem 0 18rem 0;
	text-align: center;
}

.home-intro__text {
	font-size: 1.8rem;
	line-height: 2.4;
	letter-spacing: 0.08em;
	font-weight: 700;
}

.home-intro__square-button {
	margin-top: 6rem;
}

/* ------------------------- home-service ------------------------- */
.home-service {
	position: relative;
}

.home-service__heading {
	position: absolute;
	top: -3.8rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 5;
	width: 100%;
}

.home-service__heading-text {
	font-size: 7.5rem;
}

.home-service__large-img-frame {
	position: relative;
	overflow: hidden;
	max-height: 500px;
}

.home-service__large-img {
	position: absolute;
	top: -20%;
	left: 0;
	width: 100%;
	height: 150%;
	transition: .8s;
}

.home__wrapper {
	width: 85.94%;
}

.home-service__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.home-service1__inner {
	padding: 8rem 0 12rem 0;
}

.home-service__icon-heading {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 27%;
	padding-right: 3rem;
}

.home-service__icon-heading-img {
	width: 4rem;
	padding-right: 1.5rem;
}

.home-service__icon-heading-text {
	display: block;
	padding-top: 0.3rem;
	font-size: 3rem;
	font-weight: 700;
}

.home-service__content {
	width: 73%;
	padding-top: 1rem;
}

.home-service1__game-list {
	display: flex;
	justify-content: space-between;
	width: 85%;
	padding: 6.5rem 0 4.5rem 0;
}

.home-service1__game-item {
	width: 30%;
}

.home-service1__game-img {
	border-radius: 25%;
	box-shadow: 0 0 1rem rgba(34, 34, 34, 0.25);
}

.home-service1__game-text {
	display: block;
	padding-top: 1.5rem;
	font-size: 1.8rem;
	line-height: 1.3;
	text-align: center;
}

.home-service2__inner {
	padding: 8rem 0 16rem 0;
}

/* ------------------------- home-card ------------------------- */
.home-card {
	padding: 12rem 0;
	background: #f6f6f6;
}

.home-card__wrapper {
	width: 68.75%;
}

.home-card__list {
	display: flex;
	justify-content: space-between;
}

.home-card__item {
	display: flex;
	flex-direction: column;
	width: 46.5%;
	background: #fff;
}

.home-card__content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 5rem 9%;
}

.home-card__heaidng {
	font-size: 4.2rem;
}

.home-card__text {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 3rem 0 3.5rem 0;
}

.home-topics {
	padding: 15rem 0 12rem 0;
}

.home-topics__flex {
	display: flex;
	justify-content: space-between;
}

.home-topics__heading {
	width: 30rem;
	font-size: 5.5rem;
}

.home-topics__topics-list {
	width: calc(100% - 30rem);
}

.home-topics__square-button {
	margin-top: 8rem;
}


/* ------------------------- footer ------------------------- */
.footer__wrapper {
	width: 85.9%;
	margin: 0 auto;
}

.footer__pagetop {
	display: block;
	width: 6rem;
	margin-left: auto;
	transform: translateX(20%);
}

.footer__pagetop-img {
	width: 4.6rem;
	margin: 0 auto;
	transition: transform 0.3s;
}

.footer__pagetop:hover .footer__pagetop-img {
	transform: translateY(-5%);
}

.footer__pagetop-text {
	display: block;
	padding-top: 0.8rem;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
}

.footer__path {
	width: 85.9%;
	padding-top: 4.5rem;
	margin: 0 auto;
	font-size: 1.5rem;
	line-height: 1.4;
}

.footer__path-inner {
	padding: 2.3rem 4rem;
	border-radius: 3.3rem;
	background: #f6f6f6;
}

.footer__path-home {
	position: relative;
	padding-left: 2.5rem;
	text-decoration: underline;
	transition: opacity 0.3s;
}

.footer__path-home:hover {
	opacity: 0.5;
}

.footer__path-home-img {
	position: absolute;
	left: 0;
	top: 52%;
	transform: translateY(-50%);
	width: 1.6rem;
	height: 1.7rem;
}

.footer__path-sign {
	padding: 0 0.2rem;
}

.footer__path-link {
	text-decoration: underline;
	transition: opacity 0.3s;
}

.footer__path-link:hover {
	opacity: 0.5;
}

.footer__main-content {
	display: flex;
	justify-content: space-between;
	padding: 6.5rem 0 9rem 0;
}

.footer__recruit-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 45rem;
	margin-top: 3rem;
	transition: opacity 0.3s;
}

.footer__recruit-link:hover {
	opacity: 0.8;
}

.footer__recruit-illust {
	position: relative;
	width: 20%;
}

.footer__recruit-illust::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0%;
	left: 21%;
	z-index: -1;
	width: 48%;
	height: 12%;
	border-radius: 50%;
	background: #ccc;
}

.footer__recruit-link:hover .footer__recruit-illust-move {
	animation: recruit-illust 2s ease-in-out infinite both;
}

@keyframes recruit-illust {
	0% { transform: translateY(0); }
	5% { transform: translateY(-0.7rem); }
	10% { transform: translateY(0); }
	15% { transform: translateY(-0.7rem); }
	20% { transform: translateY(0); }
	100% { transform: translateY(0); }
}

.footer__recruit-content {
	width: 75%;
	transition: 0.3s;
}

.footer__recruit-text {
	padding-bottom: 2.5rem;
	font-size: 1.3rem;
	line-height: 2;
}

.body.-en .footer__recruit-text {
	line-height: 1.6;
}

.footer__recruit-arrow {
	display: inline-flex;
	align-items: center;
}

.footer__recruit-arrow-img {
	width: 1.8rem;
	padding: 0 0.8rem 0.3rem 0;
}

.footer__recruit-arrow-text {
	display: block;
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	transition: letter-spacing 0.35s;
}

.footer__recruit-link:hover .footer__recruit-arrow-text {
	letter-spacing: 0.08em;
}

.footer__link-area {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	width: calc(100% - 48rem);
}

.footer__large-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 1.5rem 3.2rem;
	padding: 3rem 0;
}

.footer__large-link {
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	transition: opacity 0.3s;
}

.footer__large-link:hover {
	opacity: 0.5;
}

.footer__small-list {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 1.5rem 2rem;
}

.footer__small-link {
	font-size: 1.2rem;
	transition: opacity 0.3s;
}

.footer__small-link:hover {
	opacity: 0.5;
}

.footer__copyright {
	display: block;
	padding: 2.4rem 0;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	background: #111;
}


/* -------------------------------------------- asobiism -------------------------------------------- */
.lower-page__main {
	padding: 25rem 0 14.5rem 0;
}

.top-heading {
	padding-bottom: 12rem;
}

.top-heading__en {
	display: block;
	font-size: 5.5rem;
	line-height: 1.1;
}

.top-heading__jp {
	display: block;
	padding: 0 0 1.5rem 0.2rem;
	font-size: 1.9rem;
	letter-spacing: 0.05em;
	font-weight: 700;
	line-height: 1.4;
}

.jump-list {
	display: flex;
	width: 100%;
	gap: 0 3.5%;
	padding-bottom: 10rem;
}

.jump-list__item {
	width: 100%;
}

.jump-list__link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	box-sizing: border-box;
	height: 100%;
	padding: 2.3rem 6.5rem 2.3rem 3.2rem;
	line-height: 1.5;
	font-weight: 700;
	background: #f6f6f6;
	transition: transform 0.3s;
}

.jump-list__link:hover {
	transform: scale(1.05);
}

.jump-list__link::before {
	content: '';
	display: block;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
	height: 1rem;
	background: url(/img/common/triangle.svg) no-repeat;
	background-size: cover;
}

.jump-list__link-text {
	display: block;
}

.asobiism__circle-heading {
	padding-bottom: 6rem;
}

.asobiism__flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.asobiism__flex.-reverse {
	flex-direction: row-reverse;
}

.asobiism__flex-img {
	width: 46%;
}

.asobiism__flex-content {
	width: 46%;
}

.asobiism-philosophy__sign {
	padding-top: 7rem;
}

.asobiism-philosophy__sign-text {
	font-weight: 700;
}

.asobiism-philosophy__sign-img {
	display: inline-block;
	padding-left: 3rem;
}

.asobiism-thoughts {
	padding: 12rem 0 18rem 0;
}

.asobiism-place {
	padding: 10rem 0 11rem 0;
}

.asobiism-place__list {
	display: flex;
	justify-content: space-between;
	padding-top: 9rem;
}

.asobiism-place__list-item {
	width: 30%;
}

.asobiism-place__list-heading {
	padding-bottom: 4rem;
}

.asobiism-place__list-heading-en {
	display: block;
	font-size: 3rem;
}

.asobiism-place__list-heading-jp {
	display: block;
	padding-top: 1rem;
	font-size: 1.7rem;
	font-weight: 700;
}

.asobiism-place__circle-link {
	margin-top: 5rem;
}

.asobiism__bottom-links {
	display: flex;
	justify-content: space-between;
}

.asobiism__bottom-link {
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 47%;
	padding: 5.5rem 8% 5.5rem 4%;
	background: #f6f6f6;
	transition: transform 0.3s;
}

.asobiism__bottom-link:hover {
	transform: scale(1.03);
}

.asobiism__bottom-link-heading {
	padding-bottom: 1rem;
	font-size: 3.5rem;
}

.asobiism__bottom-link-text {
	line-height: 1.8;
}

.asobiism__bottom-link-arrow {
	position: absolute;
	top: 50%;
	right: 7%;
	transform: translateY(-50%);
	width: 1.8rem;
}


/* -------------------------------------------- service -------------------------------------------- */
.service__circle-heading {
	padding-bottom: 6rem;
}

.service__flex {
	display: flex;
}

.service__flex-large {
	width: 52%;
	max-width: 500px;
	padding-right: 3rem;
}

.service__flex-small {
	width: calc(48% - 3rem);
}

.service__large-heading {
	padding-bottom: 0;
	font-size: 3.9rem;
}

.service-game__large-img {
	padding: 10rem 0 11rem 0;
}

.service-game__list-item {
	display: flex;
	align-items: flex-start;
}

.service-game__list-item + .service-game__list-item {
	padding-top: 10rem;
}

.service-game__list-img {
	width: 32%;
	max-width: 32rem;
	border-radius: 25%;
	margin-right: 6%;
	box-shadow: 0 0 1rem rgba(34, 34, 34, 0.25);
}

.service-game__list-content {
	width: 61%;
}

.service-game__date-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2.5rem;
	padding-bottom: 3rem;
}

.service-game__date-item {
	display: flex;
	align-items: center;
}

.service-game__date-tag {
	padding: 0.7rem 1.4rem;
	border-radius: 1.3rem;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	background: #ededed;
}

.service-game__date-text {
	display: block;
	padding: 0.4rem 0 0 1rem;
	font-size: 1.5rem;
}

.service-game__list-heading {
	font-size: 3rem;
	line-height: 1.8;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.service-game__list-text {
	padding: 2rem 0 4rem 0;
	font-size: 1.8rem;
}

.circle-link-flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 3rem;
}

.circle-link-flex__content {
	padding-bottom: 1.2rem;
}

.circle-link-flex__link {
	margin-left: auto;
}

.service-game__download-links {
	display: flex;
	gap: 1.2rem;
	flex-wrap: wrap;
}

.service-game__download-link {
	display: block;
	transition: 0.3s;
}

.service-game__download-link:hover {
	opacity: 0.6;
}

.icon-heading {
	display: flex;
	padding-bottom: 4rem;
}

.service-game__icon-heading {
	padding-top: 10rem;
}

.icon-heading__icon {
	width: 2.5rem;
}

.icon-heading__text {
	display: block;
	padding: 0.2rem 0 0 1.5rem;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.service-slick {
	position: relative;
	padding-bottom: 16rem;
	overflow: hidden;
}

.service-slick__parent {
	width: calc(78% + 4rem);
	padding-top: 1.5rem;
	margin: 0 auto;
	overflow: visible;
	opacity: 0;
	transition: 0.2s;
}

.service-slick__parent.slick-initialized {
	opacity: 1;
}

.service-slick__child {
	float: left;
	margin: 0 2rem;
}

.service-slick__img {
	display: block;
	box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.15);
}

.service-slick__text {
	padding: 2rem 0;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.service-slick__small-text {
	display: block;
	padding-top: 1rem;
	font-size: 1.3rem;
	line-height: 1.4;
	letter-spacing: 0.02em;
}

.service-slick__tag {
	display: inline-block;
	padding: 0.7rem 1.4rem;
	border-radius: 1.3rem;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	background: #ededed;
}

.service-slick__nav {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	width: 42%;
	max-width: 100%;
	height: 6rem;
	padding: 0 9rem;
}

.service-slick__nav .slick-dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.5rem 0.2rem;
	width: 100%;
}

.service-slick__nav .slick-dots li {
	width: 6rem;
	height: 0.4rem;
}

.service-slick__nav .slick-dots button {
	width: 6rem;
	height: 0.4rem;
	text-indent: -9999px;
	background: #ededed;
	overflow: hidden;
}

.service-slick__nav .slick-dots .slick-active button {
	background: #111;
}

.service-slick__arrow {
	position: absolute;
	bottom: 0.1rem;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	background: url(/img/common/arrow.svg) center no-repeat;
	background-size: 1.8rem 1.4rem;
	background-color: #ededed;
	transition: 0.3s;
}

.service-slick__arrow:hover {
	opacity: 0.6;
}

.service-slick__arrow.-prev {
	left: 0;
	transform: scale(-1, 1);
}

.service-slick__arrow.-next {
	right: 0;
}

.service-slick .slick-list {
    padding: 0 !important;
    overflow: visible;
}

.service-education {
	padding: 15rem 0 13rem 0;
}

.service-education__kosaku {
	width: 23.9rem;
	padding-bottom: 3.5rem;
}

.service-education__large-img {
	padding-top: 8rem;
}

.service-education__square-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 33rem;
	margin-top: 7rem;
}

.service-education__square-button::before {
	width: 34rem;
	height: 34rem;
}

.square-button__arrow {
	padding-left: 1rem;
	width: 1.5rem;
	height: 1.5rem;
}

.service-education__square-button:hover .square-button__arrow {
	animation: square-button-animation 0.4s;
}

.square-button__arrow .cls-1 {
	transition: 0.4s;
}

.service-education__square-button:hover .square-button__arrow .cls-1 {
	stroke: #111;
}

.service-education__icon-heading {
	padding-top: 11rem;
}

.service-education__card-list {
	display: flex;
	justify-content: space-between;
}

.service-education__card-item {
	width: 46%;
}

.service-education__card-img {
	box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.08);
}

.service-education__card-large-text {
	padding: 4.5rem 0 3.2rem 0;
}

.service-education__card-circle-link {
	margin-top: 3.5rem;
}

.service-education__card-temporary {
	display: block;
	padding-top: 3.5rem;
	height: 6.4rem;
}

.service-education__flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.service-education__flex-img {
	width: 22%;
}

.service-education__flex-content {
	width: 74%;
	padding-top: 1.5rem;
}

.service-education__flex-large-text {
	padding-bottom: 4.5rem;
}

.service-contact__link {
	display: block;
	position: relative;
	box-sizing: border-box;
	padding: 10rem 0 13rem 0;
	overflow: hidden;
}

.service-contact__link::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.2);
	opacity: 0;
	transition: 0.3s;
}

.service-contact__link:hover::before {
	opacity: 1;
}

.service-contact__bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}

.service-contact__bg-img {
	display: block;
	transition: 0.5s;
}

.service-contact__link:hover .service-contact__bg-img {
	transform: scale(1.04);
}

.service-contact__wrapper {
	position: relative;
	z-index: 1;
	text-align: center;
	color: #fff;
}

.service-contact__square {
	display: block;
	box-sizing: border-box;
	width: 40rem;
	border-radius: 4.5rem;
	border: 3px solid #fff;
	margin: 5rem auto 0 auto;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 8.4rem;
	color: #111;
	background: #fff;
	transition: 0.3s;
}

.service-contact__link:hover .service-contact__square {
	background: transparent;
	color: #fff;
}



/* -------------------------------------------- company -------------------------------------------- */
.common-table {
	background: url(/img/common/dot.png) left top repeat-x;
	background-size: 0.6rem 0.2rem;
}

.common-table__row {
	background: url(/img/common/dot.png) left bottom repeat-x;
	background-size: 0.6rem 0.2rem;
}

.common-table__heading,
.common-table__data {
	box-sizing: border-box;
	padding: 2rem 0 2.2rem 0;
	vertical-align: top;
}

.common-table__heading {
	box-sizing: border-box;
	padding-right: 1rem;
	font-weight: 700;
}

.company-outline__common-table .common-table__heading {
	width: 20rem;
}

.common-table__text {
	line-height: 1.7;
}

.body.-en .common-table__text {
	hyphens: manual;
}

.body.-en .common-table__data {
	font-weight: 700;
}

.common-table__text + .common-table__text {
	padding-top: 1.5rem;
}

.common-table__small-text {
	display: inline-block;
	padding-top: 0.3rem;
	font-size: 1.4rem;
}

.company-access {
	padding-top: 15rem;
}

.company-access__circle-heading {
	padding-bottom: 5rem;
}
.company-access__unit1 {
	padding-bottom: 11rem;
}

.company-access__heading {
	padding: 4.5rem 0 2.5rem 0;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.company-access__sub-heading {
	display: flex;
	align-items: center;
	margin: 4rem 0 1.5rem 0;
}

.company-access__sub-heading-icon {
	width: 1.2rem;
	padding-right: 1rem;
}

.company-access__sub-heading-text {
	display: block;
	padding-top: 0.3rem;
	font-size: 2rem;
	font-weight: 700;
}

.company-access__circle-list {
	font-size: 1.4rem;
}

.circle-list__item {
	position: relative;
	padding-left: 2rem;
	line-height: 2.25;
}

.circle-list__item::before {
	content: '';
	display: block;
	position: absolute;
	top: 1.3rem;
	left: 0;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: #111;
}

.company-access__circle-list .circle-list__item::before {
	top: 1.2rem;
}

.company-history__circle-heading {
	padding-bottom: 5.2rem;
}

.company-history {
	padding-top: 15rem;
}

.history-list {
	display: flex;
	flex-wrap: wrap;
}

.history-list__date,
.history-list__content {
	line-height: 2.25;
}

.body.-en .history-list__date,
.body.-en .history-list__content {
	line-height: 1.8;
}

.history-list__date {
	box-sizing: border-box;
	width: 16rem;
	padding-right: 0.5rem;
	font-weight: 700;
}

.history-list__year {
	display: inline-block;
	width: 5.5rem;
}

.body.-en .history-list__year {
	width: 5rem;
}

.history-list__content {
	width: calc(100% - 16rem);
}

.history-list__content-small {
	display: inline-block;
	font-size: 1.4rem;
}


/* -------------------------------------------- topics -------------------------------------------- */
.topics__unit {
	display: flex;
	justify-content: space-between;
}

.topics__content {
	width: 76%;
}

.topics-list {
	background: url(/img/common/dot.png) left top repeat-x;
	background-size: 0.6rem 0.2rem;
}

.topics-list__item {
	background: url(/img/common/dot.png) left bottom repeat-x;
	background-size: 0.6rem 0.2rem;
}

.topics-list__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 3.5rem 4rem 3.5rem 0;
	background: url(/img/common/arrow.svg) right 0.4rem center no-repeat;
	background-size: 1.8rem 1.4rem;
	transition: opacity 0.3s, background 0.3s;
}

.topics-list__link:hover {
	opacity: 0.6;
	background-position: right 0.1rem center;
}

.topics-list__info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 20rem;
}

.topics-list__date {
	display: block;
	padding-top: 0.5rem;
	font-size: 1.5rem;
}

.topics-list__tag-list {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.topics-list__tag-item {
	box-sizing: border-box;
	width: 10rem;
	padding: 0.7rem 0;
	border-radius: 1.3rem;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	text-align: center;
	background: #eee;
}

.body.-en .topics-list__tag-item {
	padding: 0.8rem 0 0.6rem 0;
}

.topics-list__title {
	width: calc(100% - 23rem);
	line-height: 1.8;
}

.topics__side {
	width: 18%;
}

.topics-category + .topics-category {
	padding-top: 6rem;
}

.topics-category__heading {
	position: relative;
	padding-bottom: 2rem;
	font-size: 1.8rem;
	pointer-events: none;
}

.topics-category__heading-plus {
	position: absolute;
	top: 0;
	right: 0.2rem;
	width: 1.4rem;
	height: 1.4rem;
	opacity: 0;
	transition: transform 0.3s;
}

.topics-category__heading.-open .topics-category__heading-plus {
	transform: rotate(90deg);
}

.topics-category__heading-plus::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 0.3rem;
	background: #111;
}

.topics-category__heading.-open .topics-category__heading-plus::before {
	opacity: 0;
}

.topics-category__heading-plus::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0.3rem;
	height: 100%;
	background: #111;
	transition: 0.3s;
}

.topics-category__list {
	height: auto;
	opacity: 1;
}

.topics-category__item + .topics-category__item {
	padding-top: 1.5rem;
}

.topics-category__link {
	display: inline-block;
	position: relative;
	padding-left: 2.7rem;
	font-size: 1.5rem;
	line-height: 1.5;
}

.topics-category.-archive .topics-category__link {
	letter-spacing: 0.05em;
}

.topics-category__link::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.2rem;
	left: 0;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	border: 2px solid #ddd;
}

.body.-en .topics-category__link::before {
	top: 0;
}

.topics-category__link::after {
	content: '';
	display: block;
	position: absolute;
	left: 0.5rem;
	top: 0.7rem;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: #111;
	opacity: 0;
	transition: opacity 0.3s;
}

.body.-en .topics-category__link::after {
	top: 0.5rem;
}

.topics-category__link:hover::after,
.topics-category__link.-selected::after {
	opacity: 1;
}

.pagination {
	padding-top: 10rem;
	text-align: center;
}

.pagination__inner {
	display: inline-flex;
	gap: 1.2rem 2rem;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 0 9.5rem;
}

.pagination .page-numbers {
	display: inline-block;
	box-sizing: border-box;
	font-weight: 900;
	font-family:'Overpass', sans-serif;
	text-align: center;
	transition: transform 0.3s, opacity 0.3s;
}

.pagination .page-numbers:not(.prev):not(.next) {
	padding-top: 1.1rem;
	border-radius: 50%;
	width: 4rem;
	height: 4rem;
	font-size: 1.8rem;
}

.pagination .page-numbers:not(.prev):not(.next):not(.current) {
	border: 2px solid #ddd;
}

.pagination .page-numbers.current {
	border: 2px solid #111;
	color: #fff;
	background: #111;
}

.pagination .page-numbers:not(.prev):not(.next):not(.current):hover {
	transform: scale(1.1);
	opacity: 0.6;
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.2rem;
}

.pagination .page-numbers.prev:hover,
.pagination .page-numbers.next:hover {
	transform: translateY(-50%) scale(1.05);
}


.pagination .page-numbers.prev::before,
.pagination .page-numbers.next::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: -0.5rem;
	z-index: -1;
	width: calc(100% + 1rem);
	height: 1.3rem;
	background: #eee;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform 0.3s;
}

.pagination .page-numbers.prev:hover::before,
.pagination .page-numbers.next:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.pagination .page-numbers.prev {
	left: 0;
}

.pagination .page-numbers.next {
	right: 0;
}

/* --------- topics-single --------- */
.topics-single__info {
	display: flex;
	align-items: center;
	padding-bottom: 3rem;
}

.topics-single__date {
	display: block;
	padding: 0.5rem 2rem 0 0;
	font-size: 1.5rem;
}

.topics-single__tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.topics-single__tag-item {
	box-sizing: border-box;
	width: 10rem;
	padding: 0.7rem 0;
	border-radius: 1.3rem;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	text-align: center;
	background: #eee;
}

.cms-input p {
	line-height: 2.25;
}

.cms-input p + p {
	margin-top: 2rem;
}

.cms-input a {
	display: inline;
	word-break: break-all;
	text-decoration: underline;
	transition: opacity 0.3s;
}

.cms-input a:hover {
	opacity: 0.5;
}

.cms-input img {
	display: block;
	max-width: 100%;
	margin: 5rem auto;
}

.cms-input h2 {
	margin: 6.5rem 0 2.1rem 0;
	font-size: 2.3rem;
	line-height: 1.6;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.cms-input h3 {
	position: relative;
	padding: 0 0 1.5rem 2.1rem;
	border-bottom: 0.1rem solid #111;
	margin: 3.5rem 0 2.5rem 0;
	font-size: 2.0rem;
	line-height: 1.6;
	font-weight: 900;
}

.cms-input h3::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0.4em;
	width: 0.6rem;
	height: 1.8rem;
	background: #111;
}

.cms-input h3::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #111;
}

.cms-input h4 {
	margin: 3rem 0 1.8rem 0;
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: 700;
}

.cms-input ul,
.cms-input ol {
	margin: 2rem 0;
}

.cms-input ul li,
.cms-input ol li {
	position: relative;
	padding-left: 2rem;
	line-height: 2.25;
}

.cms-input ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: 1.5rem;
	left: 0;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: #111;
}

.cms-input ol {
	counter-reset: item;
}

.cms-input ol li::before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: item;
	content: counter(item)'.';
	font-size: 1.6rem;
	line-height: 2.25;
}

.cms-input table {
	margin: 3rem 0;
}

.cms-input table tr {
	background: url(/img/common/dot.png) left bottom repeat-x;
	background-size: 0.6rem 0.2rem;
}

.cms-input table th,
.cms-input table td {
	line-height: 2;
	vertical-align: top;
}

.cms-input table th {
	padding: 1.5rem 1.5rem 1.7rem 0;
	font-weight: 700;
}

.cms-input table td {
	padding: 1.5rem 0 1.7rem 0;
}

.cms-input table tr:first-child th,
.cms-input table tr:first-child td {
	padding-top: 0;
}

.cms-input hr {
	height: 2px;
	border: none;
	margin: 6rem 0;
	background: url(/img/common/dot.png) left bottom repeat-x;
	background-size: 0.6rem 0.2rem;
}

.cms-input blockquote {
	padding: 3rem 5rem;
	margin: 3rem 0;
	line-height: 2.25;
	background: #f6f6f6;
}

.topics-single__dotted-heading {
	margin-top: 6rem;
	font-size: 2.3rem;
}

.topics-single__related-item + .topics-single__related-item {
	padding-top: 1.5rem;
}

.topics-single__related-link {
	position: relative;
	display: inline-block;
	padding-left: 3rem;
	font-size: 1.5rem;
	line-height: 1.5;
	text-decoration: underline;
	transition: opacity 0.3s;
}

.topics-single__related-link:hover {
	opacity: 0.5;
}

.topics-single__related-link::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.6rem;
	left: 0;
	width: 1.8rem;
	height: 1.4rem;
	background: url(/img/common/arrow.svg) no-repeat;
	background-size: cover;
}

.topics-single__related-pdf {
	display: inline-block;
	width: 3.8rem;
	padding: 0.3rem 0 0.2rem 0;
	border-radius: 0.4rem;
	margin-right: 1rem;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	color: #fff;
	background: #111;
}

.topics-single__share-area {
	position: relative;
	margin-top: 11rem;
	padding: 4.5rem 0;
	background: #f6f6f6;

}

.topics-single__share-heading {
	position: absolute;
	top: -1rem;
	left: 2.5rem;
	font-size: 3.5rem;
}

.topics-single__share-list {
	display: flex;
	justify-content: center;
	gap: 4rem;
}

.topics-single__share-link {
	display: block;
	width: 4rem;
	transition: opacity 0.3s, transform 0.3s;
}

.topics-single__share-link:hover {
	transform: scale(1.05);
	opacity: 0.8;
}

.topics-single__square-button {
	margin-top: 9rem;
}


/* -------------------------------------------- contact -------------------------------------------- */
.contact__logo-group {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	padding-top: 6.5rem;
}

.contact__logo-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: calc((100% - 4rem) / 3);
	padding: 1.5rem 1.7rem;
	border-radius: 1rem;
	background: #f6f6f6;
	transition: transform 0.3s;
}

.contact__logo-button:hover {
	transform: scale(1.03);
}

.contact__logo-img {
	width: 86%;
	padding-left: 3%;
	mix-blend-mode: multiply;
}

.contact__logo-button-arrow {
	width: 4%;
	transition: transform 0.3s;
}

.contact__logo-button:hover .contact__logo-button-arrow {
	transform: translateX(20%);
}

.contact__logo-button-note {
	padding-top: 3rem;
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: right;
}

.contact-form {
	padding-top: 6rem;
}

.contact-form__table {
	background: url(/img/common/dot.png) left top repeat-x;
	background-size: 0.6rem 0.2rem;
}

.contact-form__table-row {
	display: flex;
	padding: 3.5rem 0;
	background: url(/img/common/dot.png) left bottom repeat-x;
	background-size: 0.6rem 0.2rem;
}

.contact-form__table-heading {
	width: 30rem;
	font-weight: 700;
}

.contact-form__tag {
	display: inline-block;
	padding: 0.4rem 0.8rem;
	margin-left: 1.5rem;
	font-size: 1.2rem;
	background: #e0e0e0;
}

.contact-form__table-data {
	width: calc(100% - 30rem);
}

.contact-form__radio-unit {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 2.5rem 4rem;
}

.contact-form__radio {
	display: none;
}

.contact-form__radio-label {
	display: inline-block;
	position: relative;
	padding-left: 3.8rem;
	cursor: pointer;
}

.contact-form__radio-label::before {
	content: '';
	display: block;
	position: absolute;
	top: -0.6rem;
	left: 0;
	box-sizing: border-box;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: 1px solid #ccc;
}

.body.-en .contact-form__radio-label::before {
	top: -0.9rem;
}

.contact-form__radio-label::after {
	content: '';
	display: block;
	position: absolute;
	top: 0.1rem;
	left: 0.7rem;
	box-sizing: border-box;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	background: #111;
	opacity: 0;
	transition: 0.2s;
}

.body.-en .contact-form__radio-label::after {
	top: -0.2rem;
}


.contact-form__radio:checked  + .contact-form__radio-label::after {
	opacity: 1;
}

.contact-form__input-flex {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}

.contact-form__input,
.contact-form__textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 1.8rem 2rem;
	border-radius: 0.5rem;
	background: #f6f6f6;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
	color: #aaa;
}

.contact-form__textarea {
	height: 23rem;
	resize: vertical;
}

.contact-form__privacy-check {
	padding: 8.5rem 0 7.5rem;
	text-align: center;
}

.contact-form__privacy-checkbox {
	display: none;
}

.contact-form__privacy-label {
	position: relative;
	display: inline-block;
	padding-left: 4rem;
	font-size: 1.8rem;
	font-weight: 700;
	cursor: pointer;
}

.contact-form__privacy-label::before {
	content: '';
	display: block;
	position: absolute;
	top: -0.2rem;
	left: 0;
	width: 2.2rem;
	height: 2.2rem;
	border: 1.5px solid #111;
}

.body.-en .contact-form__privacy-label::before {
	top: -0.5rem;
}

.contact-form__privacy-label::after {
	content: '';
	display: block;
	position: absolute;
	top: -0.4rem;
	left: 0.1rem;
	width: 3.6rem;
	height: 2.6rem;
	background: url(/img/contact/check.svg) no-repeat;
	background-size: cover;
	opacity: 0;
	transition: opacity 0.2s;
}

.contact-form__privacy-checkbox:checked + .contact-form__privacy-label::after {
	opacity: 1;
}

.contact-form__square-button {
	width: 40rem;
	border-radius: 4.2rem;
	/* line-height: 7.2rem; */
}

.contact-form__square-button::before {
	width: 41rem;
	height: 41rem;
}

.contact-form__square-button .square-button__text.-jp {
	padding: 2.7rem 0;
	font-size: 1.9rem;
}

.body.-en .contact-form__square-button .square-button__text.-jp {
	padding: 2.8rem 0 2.6rem 0;
}

.contact-form__back-button {
	text-align: center;
	text-decoration: underline;
	cursor: pointer;
	margin: 8rem auto 6rem;
	transition: opacity 0.3s;
}

.contact-form__back-button:hover {
	opacity: 0.7;
}

ul.entry-error__list {
	box-sizing: border-box;
    width: 100%;
    padding: 5rem 5rem;
	margin: 6rem 0 8rem;
    border-radius: 0.5rem;
    background: #f6f6f6;
	line-height: 2;
}

/* -------------------------------------------- privacy -------------------------------------------- */
.privacy__large-text {
	padding-bottom: 3.5rem;
}

.number-list {
	counter-reset: item;
}

.number-list__item {
	position: relative;
	padding-left: 2rem;
}

.number-list__item::before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: item;
	content: counter(item)'.';
	font-size: 1.6rem;
	line-height: 2.25;
}

.number-list__item.-has-margin {
	margin-top: 2rem;
}

.body.-en .number-list__item::before {
	line-height: 2;
}

.number-list__text {
	line-height: 2.25;
}

.body.-en .number-list__text {
	line-height: 2;
	font-weight: 700;
}

.privacy__text-bg1 {
	margin-top: 4.5rem;
}

.brackets-list {
	counter-reset: item;
}

.brackets-list__item {
	position: relative;
	padding-left: 2.5rem;
}

.brackets-list__item::before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: item;
	content: '('counter(item)')';
	font-size: 1.6rem;
	line-height: 2.25;
}

.brackets-list__item.-has-margin {
	margin-top: 2rem;
}

.body.-en .brackets-list__item::before {
	line-height: 1.8;
}

.brackets-list__text {
	line-height: 2.25;
}

.body.-en .brackets-list__text {
	line-height: 2;
	font-weight: 700;
}

.privacy__text-bg2 {
	margin:  2.5rem 0 3rem 0;
}


/* -------------------------------------------- guideline -------------------------------------------- */
.guideline__text {
	padding-top: 5rem;
}


/* -------------------------------------------- video-guideline -------------------------------------------- */
.video-guideline__text {
	padding-top: 5rem;
}


/* ----------------------------------------------- responsive ---------------------------------------------- */
/* ----------------------------------- BP1923 ---------------------------------- */
/* ---- wrapperクラスのmax-widthに合わせてlarge-imgのcssを変更 ---- */
@media screen and (min-width: 1923px) {
	/* ------------------------- common ------------------------- */
	.large-img {
		width: calc(50% + 75rem);
	}

	/* ------------------------- service ------------------------- */
	.service-slick__parent {
		width: calc(1500px + 4rem);
	}

}

/* ----------------------------------- BP1500 ---------------------------------- */
@media screen and (min-width: 1500px) {
	.asobiism__flex-content .text br {
		display: none;
	}


}

/* ----------------------------------- BP1150 ---------------------------------- */
@media screen and (max-width: 1150px) {
	/* ------------------------- common ------------------------- */
	.wrapper {
		width: 84%;
	}

	.large-img {
		width: 92%;
	}

	/* ------------------------- home ------------------------- */
	.header__inner {
		width: 93.75%;
	}

	.header__large-logo {
		width: 10rem;
	}

	.header__nav-wrap {
		padding-right: 1rem;
	}

	.header__nav-list {
		gap: 0 3.5rem;
	}

	.header__nav-link {
		font-size: 1.6rem;
	}

	.header__recruit {
		width: 13rem;
		padding: 0.9rem 0 0.6rem 0;
		margin: 0 3rem 0 3.8rem;
	}

	.header__recruit-text {
		font-size: 1.6rem;
	}

	.home__header .header__large-logo {
		width: 12rem;
	}

	/* --------- home-kv --------- */
	.home-kv__copy-en {
		font-size: 4.5rem;
	}

	/* --------- footer --------- */
	.footer__wrapper {
		width: 90%;
	}

	.footer__path {
		width: 90%;
	}

	.footer__main-content {
		padding: 5rem 0 9rem 0;
	}

	/* ------------------------- asobiism ------------------------- */
	.asobiism__flex-content .text br {
		display: none;
	}

	/* ------------------------- service ------------------------- */
	.service__flex-large {
		width: 48%;
	}

	.service__flex-small {
		width: 48%;
	}

	.service__large-heading {
		font-size: 3.5rem;
	}

	.service-slick__parent {
		width: calc(84% + 4rem);
	}
}

/* ----------------------------------- BP1000 ---------------------------------- */
@media screen and (max-width: 1000px) {
	/* ------------------------- common ------------------------- */
	.large-heading {
		padding-bottom: 2.8rem;
		font-size: 3.4rem;
		line-height: 1.6;
	}

	.circle-heading {
		padding: 0 0 3rem 2.5rem;
		font-size: 2.2rem;
	}

	.circle-heading::before {
		width: 1.1rem;
		height: 1.1rem;
	}

	.body.-en .circle-heading::before {
		top: 0.8rem;
	}

	.circle-heading.-has-margin {
		margin-top: 9rem;
	}

	.dotted-heading.-has-margin {
		padding-top: 6rem;
	}

	.text + .text {
		padding-top: 2.5rem;
	}

	.circle-link.-has-margin {
		margin-top: 2rem;
	}

	.circle-link__text {
		padding-right: 1.5rem;
		font-size: 1.8rem;
	}

	.circle-link__circle {
		width: 5.4rem;
		height: 5.4rem;
	}

	.circle-link__arrow-white {
		width: 1.5rem;
		height: 1.2rem;
	}

	.circle-link__arrow-black {
		width: 1.5rem;
		height: 1.2rem;
	}

	.text-bg {
		padding: 3.5rem 4.5rem 4.5rem 4.5rem;
	}

	.-pc1 {
		display: none !important;
	}

	.-sp1 {
		display: block !important;
	}

	/* ------------------------- home ------------------------- */
	.header {
		height: 8.5rem;
	}

	.header__large-logo {
		top: 1.5rem;
		opacity: 0;
		visibility: hidden;
	}

	.header__small-logo {
		opacity: 1;
		visibility: visible;
	}

	.header.-scroll,
	.header.-maintain {
		height: 8.5rem;
	}

	.header.-scroll .header__large-logo,
	.header.-maintain .header__large-logo {
		top: 1rem;
	}

	.home__header .header__large-logo {
		width: 10rem;
		opacity: 1;
		visibility: visible;
	}

	.home__header .header__small-logo {
		opacity: 0;
		visibility: hidden;
	}

	.home__header.-scroll .header__large-logo {
		opacity: 0;
		visibility: hidden;
	}

	.home__header.-scroll .header__small-logo {
		opacity: 1;
		visibility: visible;
	}

	.header__sp-asset {
		display: flex !important;
		gap: 2rem;
		align-items: center;
	}

	.header__lang {
		position: relative;
		top: 0;
		right: 0;
		opacity: 0;
	}

	.header.-open .header__lang {
		opacity: 1;
		visibility: visible;
	}


	/* --------- home-kv --------- */
	.home-kv__content {
		bottom: 16%;
	}

	.home-kv__slide {
		height: 24vw;
		background-size: 130vw auto;
	}

	@keyframes kv-slide {
		0% { background-position: 0 top; }
		100% { background-position: -130vw top; }
	}

	.home-kv__copy-en {
		padding: 0 0.5rem;
	}

	.home-kv__copy-jp {
		padding-top: 2rem;
	}

	.home-kv__link {
		right: auto;
		left: 4%;
	}

	.home-kv__link-text {
		padding-bottom: 0.8rem;
		font-size: 1.1rem;
	}

	.home-kv__link-circle {
		width: 4rem;
		height: 4rem;
		background-size: 1.6rem 1rem;
	}

	.home .text {
		font-size: 1.6rem;
	}

	.home-intro {
		padding: 10rem 0 12rem 0;
	}

	.home-intro__text {
		font-size: 1.6rem;
		letter-spacing: 0.05em;
	}

	.home-intro__square-button {
		margin-top: 5rem;
	}

	/* --------- home-service --------- */
	.home-service__heading {
		top: -3rem;
	}

	.home-service__heading-text {
		font-size: 6rem;
	}

	.home-service__inner {
		display: block;
	}

	.home-service1__inner {
		padding: 5rem 0 10rem 0;
	}

	.home-service__icon-heading {
		width: 100%;
		padding-right: 0;
	}

	.home-service__icon-heading-text {
		font-size: 2.8rem;
	}

	.home-service__content {
		width: 100%;
		padding-top: 3rem;
	}

	.home-service1__game-list {
		width: 100%;
		padding: 5rem 0 4rem 0;
	}

	.home-service1__game-img {
		box-shadow: 0 0 0.5rem rgba(34, 34, 34, 0.25);
	}

	.home-service1__game-text {
		font-size: 1.6rem;
	}

	.home-service2__inner {
		padding: 5rem 0 9rem 0;
	}

	/* --------- home-card --------- */
	.home-card {
		padding: 8rem 0;
	}

	.home-card__list {
		display: flex;
		justify-content: space-between;
	}

	.home-card__item {
		width: 48%;
	}

	.home-card__content {
		padding: 4rem 9%;
	}

	.home-card__heaidng {
		font-size: 3.2rem;
	}

	.home-card__text {
		padding: 2rem 0 3rem 0;
	}

	.home-topics {
		padding: 8rem 0 7rem 0;
	}

	.home-topics__flex {
		display: block;
	}

	.home-topics__heading {
		width: 100%;
		padding-bottom: 3.5rem;
		font-size: 4.8rem;
	}

	.home-topics__topics-list {
		width: 100%;
	}

	.home-topics__square-button {
		margin-top: 6rem;
	}


	/* --------- footer --------- */
	.footer__wrapper {
		width: 82%;
	}

	.footer__pagetop-img {
		width: 4rem;
	}

	.footer__path {
		width: 100%;
		padding-top: 2.5rem;
		font-size: 1.4rem;
	}

	.footer__path-inner {
		padding: 2rem 3rem;
		border-radius: 0;
	}

	.footer__main-content {
		display: block;
		padding: 5rem 0 7rem 0;
	}

	.footer__recruit-link {
		align-items: flex-start;
		width: 100%;
		margin-top: 0;
	}

	.footer__recruit-illust {
		width: 23%;
	}

	.footer__recruit-content {
		width: 72%;
		padding-top: 1rem;
	}

	.footer__recruit-arrow-text {
		font-size: 1.8rem;
	}

	.footer__link-area {
		display: block;
		width: 100%;
	}

	.footer__large-list {
		justify-content: flex-start;
		padding: 5rem 0 3rem 0;
	}

	.footer__large-link {
		font-size: 1.8rem;
	}

	.footer__small-list {
		justify-content: flex-start;
	}


	/* ------------------------- asobiism ------------------------- */
	.lower-page__main {
		padding: 20rem 0 10rem 0;
	}

	.top-heading {
		padding-bottom: 9rem;
	}

	.top-heading__en {
		font-size: 5rem;
	}

	.top-heading__jp {
		padding-top: 1rem;
	}

	.jump-list {
		gap: 0 2.5%;
		padding-bottom: 8rem;
	}

	.jump-list__link {
		padding: 1.8rem 1.5rem 4.5rem 1.5rem;
		text-align: center;
	}

	.jump-list__link::before {
		top: auto;
		right: auto;
		bottom: 1.8rem;
		left: 50%;
		transform: translate(-50%, 0);
	}

	.asobiism__circle-heading {
		padding-bottom: 4rem;
	}

	.asobiism__flex-img {
		width: 35%;
	}

	.asobiism__flex-content {
		width: 58%;
	}

	.asobiism-philosophy__sign {
		padding-top: 5rem;
	}

	.asobiism-thoughts {
		padding: 9rem 0 14rem 0;
	}

	.asobiism-place {
		padding: 7rem 0 10rem 0;
	}

	.asobiism-place__list {
		flex-wrap: wrap;
		padding-top: 7rem;
		margin-bottom: -5rem;
	}

	.asobiism-place__list-item {
		width: 47%;
		padding-bottom: 5rem;
	}

	.asobiism-place__circle-link {
		margin-top: 3.5rem;
	}

	.asobiism__bottom-links {
		display: block;
	}

	.asobiism__bottom-link {
		width: 100%;
		padding: 5.5rem 14% 5.5rem 10%;
	}

	.asobiism__bottom-link + .asobiism__bottom-link {
		margin-top: 2rem;
	}


	/* ------------------------- service ------------------------- */
	.service__circle-heading {
		padding-bottom: 4rem;
	}

	.service__flex {
		display: block;
	}

	.service__flex-large {
		width: 100%;
		max-width: 9999px;
		padding-right: 0;
	}

	.service__flex-small {
		width: 100%;
	}

	.service__large-heading {
		padding-bottom: 4rem;
		font-size: 3.2rem;
	}

	.service-game__large-img {
		padding: 7rem 0;
	}

	.service-game__list-item + .service-game__list-item {
		padding-top: 6rem;
	}

	.service-game__list-img {
		width: 28%;
		margin-right: 6%;
	}

	.service-game__list-content {
		width: 66%;
	}

	.service-game__date-list {
		padding-bottom: 1.5rem;
	}

	.service-game__list-text {
		font-size: 1.6rem;
		line-height: 2;
		margin: -0.5em 0;
	}

	.circle-link-flex {
		flex-direction: column;
		gap: 2.5rem 2rem;
	}

	.circle-link-flex__content {
		width: 100%;
		padding-bottom: 0;
	}

	.icon-heading {
		padding-bottom: 3rem;
	}

	.service-game__icon-heading {
		padding-top: 8rem;
	}

	.icon-heading__text {
		font-size: 2.0rem;
	}

	.service-slick {
		padding-bottom: 12rem;
	}

	.service-slick__parent {
		width: calc(84% + 2rem);
		padding-top: 1rem;
	}

	.service-slick__child {
		margin: 0 1rem;
	}

	.service-slick__img {
		box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
	}

	.service-slick__text {
		font-size: 1.6rem;
	}
	.service-slick__nav {
		width: 84%;
	}

	.service-education {
		padding: 10rem 0 8rem 0;
	}

	.service-education__large-img {
		padding-top: 7rem;
	}

	.service-education__square-button {
		margin-top: 5rem;
	}

	.service-education__icon-heading {
		padding-top: 7rem;
	}

	.service-education__card-list {
		display: block;
	}

	.service-education__card-item {
		width: 100%;
	}

	.service-education__card-item + .service-education__card-item {
		padding-top: 5rem;
	}

	.service-education__card-img {
		width: 60%;
		margin: 0 auto;
		box-shadow: 0 0 1rem rgba(0, 0, 0, 0.08);
	}

	.service-education__card-large-text {
		padding: 3.5rem 0 2rem 0;
	}

	.service-education__card-temporary {
		padding-top: 2rem;
		height: auto;
	}

	.service-education__flex {
		display: block;
	}

	.service-education__flex-img {
		width: 57%;
		margin: 0 auto;
	}

	.service-education__flex-content {
		width: 100%;
		padding-top: 3.5rem;
	}

	.service-education__flex-large-text {
		padding-bottom: 2.5rem;
	}

	.service-contact__bg-img {
		object-position: left bottom;
	}

	.service-contact__square {
		border-radius: 3.2rem;
		border-width: 2px;
		font-size: 1.6rem;
		line-height: 5.9rem;
	}

	/* ------------------------- company ------------------------- */
	.company-access {
		padding-top: 9rem;
	}

	.company-access__circle-heading {
		padding-bottom: 3.5rem;
	}

	.company-access__unit1 {
		padding-bottom: 7rem;
	}

	.company-access__heading {
		padding: 3rem 0 2.2rem 0;
		font-size: 2.2rem;
	}

	.company-history__circle-heading {
		padding-bottom: 3.5rem;
	}

	.company-history {
		padding-top: 8rem;
	}


	/* ------------------------- topics ------------------------- */
	.topics__unit {
		flex-direction: column-reverse;
	}

	.topics__content {
		width: 100%;
		padding-top: 6rem;
	}

	.topics__content .archiveTitle {
		padding: 0 0 6rem;
	}

	.topics-list__link {
		display: block;
		padding: 2.5rem  3rem 3rem 0;
		background-position: right 0.1rem center;
	}

	.topics-list__info {
		justify-content: flex-start;
		width: 100%;
		padding-bottom: 0.8rem;
	}

	.topics-list__date {
		padding: 0.5rem 1.2rem 0 0;
		font-size: 1.4rem;
	}

	.topics-list__tag-list {
		flex-direction: row;
	}

	.topics-list__tag-item {
		padding: 0.6rem 0;
	}

	.body.-en .topics-list__tag-item {
		padding: 0.7rem 0 0.5rem 0;
	}

	.topics-list__title {
		width: 100%;
	}

	.topics__side {
		width: 100%;
	}

	.topics-category + .topics-category {
		padding-top: 3rem;
	}

	.topics-category__heading {
		padding-bottom: 1.4rem;
		border-bottom: 1px solid #111;
		cursor: pointer;
		pointer-events: auto;
	}

	.topics-category__heading-plus {
		opacity: 1;
	}

	.topics-category__list {
		padding: 2.4rem 0 0 1rem;
		height: 0;
		opacity: 0;
		visibility: hidden;
	}

	.topics-category__list.-show {
		height: auto;
		visibility: visible;
		opacity: 1;
	}

	.topics-category__item + .topics-category__item {
		padding-top: 1.2rem;
	}

	.topics-category__link {
		display: block;
	}

	.pagination {
		padding-top: 8rem;
	}

	.pagination .page-numbers.prev,
	.pagination .page-numbers.next {
		top: 52%;
		font-size: 1.8rem;
	}

	/* --------- topics-single --------- */
	.topics-single__date {
		padding-right: 1.2rem;
		font-size: 1.4rem;
	}

	.topics-single__tag-item {
		padding: 0.6rem 0;
	}


	/* ------------------------- contact ------------------------- */
	.contact__logo-group {
		gap: 1.5rem;
	}

	.contact__logo-button {
		width: calc((100% - 1.5rem) / 2);
	}

	.contact-form__table-row {
		flex-direction: column;
		padding: 3.5rem 0;
	}

	.contact-form__table-heading {
		width: 100%;
		padding-bottom: 2rem;
	}

	.contact-form__tag {
		margin-left: 1rem;
	}

	.contact-form__table-data {
		width: 100%;
	}

	.contact-form__radio-unit {
		flex-direction: column;
	}

	.contact-form__input-flex {
		gap: 1rem;
	}

	.contact-form__privacy-check {
		padding: 6.5rem 0 5.5rem;
	}

	.contact-form__square-button {
		width: 40rem;
		border-radius: 4.2rem;
		/* line-height: 7.4rem; */
	}

	.contact-form__square-button .square-button__text.-jp {
		padding: 2.5rem 0;
		font-size: 1.8rem;
	}

	.body.-en .contact-form__square-button .square-button__text.-jp {
		padding: 2.6rem 0 2.4rem 0;
	}

	.contact-form__back-button {
		margin: 5rem auto 4.5rem;
	}

	ul.entry-error__list {
		padding: 5rem 2.5rem;
		margin: 6rem 0 7rem;
	}

	/* ------------------------- privacy ------------------------- */

	/* ------------------------- guideline ------------------------- */

	/* ------------------------- video-guideline ------------------------- */


}



/* ----------------------------------- BP600 ---------------------------------- */
@media screen and (max-width: 600px) {
	/* ------------------------- common ------------------------- */
	body {
		font-size: 14px;
	}

	.large-heading {
		font-size: 2.8rem;
	}

	.small-heading {
		font-size: 1.6rem;
	}

	.circle-heading {
		padding: 0 0 2.8rem 2.5rem;
		font-size: 2.1rem;
	}

	.circle-heading.-has-margin {
		margin-top: 5rem;
	}

	.dotted-heading {
		padding-bottom: 1.8rem;
		margin-bottom: 3rem;
		font-size: 2.3rem;
	}

	.dotted-heading.-has-margin {
		padding-top: 4.5rem;
	}

	.line-heading {
		margin-bottom: 2.5rem;
	}

	.line-heading.-has-margin {
		padding-top: 1.5rem;
	}

	.line-heading__text {
		padding-left: 1.8rem;
		font-size: 1.6rem;
	}

	.line-heading__text::before {
		height: 1.6rem;
	}

	.text {
		font-size: 1.4rem;
	}

	.large-text {
		font-size: 1.85rem;
	}

	.text-bg {
		padding: 3rem 3rem 4rem 3rem;
	}

	.square-button {
		width: 18rem;
		border-radius: 2.5rem;
		border-width: 2px;
		/* line-height: 4.2rem; */
	}

	.square-button::before {
		width: 19rem;
		height: 19rem;
	}

	.square-button__text.-en {
		padding: 1.4rem 0 1rem 0;
		font-size: 1.8rem;
	}

	.square-button__text.-jp {
		padding: 1.5rem 0;
		font-size: 1.5rem;
	}

	.wrapper {
		width: 87.5%;
	}

	.large-img {
		width: 93.75%;
	}

	.-pc2 {
		display: none !important;
	}

	.-sp2 {
		display: block !important;
	}

	/* ------------------------- home ------------------------- */
	/* ---------- loading ---------- */
	.loading__img {
		width: 20rem;
		padding-bottom: 2.2rem;
	}

	.loading__img-move {
		padding-right: 0.5rem;
	}

	.loading__img-shadow {
		width: 80%;
	}

	.loading__text {
		padding-top: 1.5rem;
		font-size: 2.5rem;
	}

	.loading__text-img {
		width: 12rem;
		padding: 1rem 0.5rem 0 0;
	}



	/* ---------- header ---------- */
	.header {
		height: 7rem;
	}

	.header__small-logo {
		width: 13.4rem;
		padding: 0.1rem 0 0 0;
	}

	.header.-scroll,
	.header.-maintain {
		height: 7rem;
	}

	.home__header .header__large-logo {
		width: 8rem;
	}

	.header__sp-asset {
		gap: 1.6rem;
	}

	.header__lang {
		padding-top: 1rem;
	}

	.hamburger-button {
		width: 4rem;
		height: 4rem;
		margin-right: 0.5rem;
	}

	.hamburger-button__line-wrap {
		width: 1.6rem;
		height: 1.1rem;
	}

	/* ---------- hamburger-menu ---------- */
	.hamburger-menu {
		top: 7rem;
		height: calc(100% - 7rem);
	}

	.hamburger-menu__base {
		padding: 5rem 0 9rem 0;
	}


	.hamburger-menu__nav-wrap {
		width: 75%;
	}

	.hamburger-menu__nav-list {
		padding-bottom: 4.5rem;
	}

	.hamburger-menu__nav-item:not(:last-child) {
		padding-bottom: 2.8rem;
	}

	.hamburger-menu__nav-link-en {
		font-size: 2.2rem;
	}

	.hamburger-menu__nav-link-jp {
		font-size: 1.4rem;
	}

	/* --------- home-kv --------- */
	.home-kv {
		min-height: 500px;
		max-height: 700px;
	}

	.home-kv__content {
		bottom: 12%;
	}

	.home-kv__slide {
		height: 28vh;
		background-size: 160vh auto;
		min-width: 100vw;
		animation: kv-slide 35s infinite linear, kv-slide-img 2s infinite steps(1);
	}

	@keyframes kv-slide {
		0% { background-position: 0 top; }
		100% { background-position: -160vh top; }
	}

	.home-kv__copy {
		padding-top: 5%;
	}

	.home-kv__copy-en {
		padding: 0 0.5rem;
		font-size: 3rem;
	}

	.home-kv__copy-jp {
		padding-top: 2rem;
		font-size: 1.35rem;
		letter-spacing: 0.02em;
	}

	.home-kv__link {
		left: 6%;
	}

	.home .text {
		font-size: 1.55rem;
	}

	.home-intro {
		padding: 6.5rem 0 9rem 0;
	}

	.home-intro__text {
		font-size: 1.55rem;
		letter-spacing: 0;
	}

	.home-intro__square-button {
		margin-top: 4rem;
	}

	/* --------- home-service --------- */
	.home-service__heading {
		top: -2.2rem;
	}

	.home-service__heading-text {
		font-size: 4.5rem;
	}

	.home-service1__inner {
		padding: 4rem 0 7rem 0;
	}

	.home-service__icon-heading-img {
		width: 3rem;
		padding-right: 1.2rem;
	}

	.home-service__icon-heading-text {
		padding-top: 0;
		font-size: 2.4rem;
	}

	.home-service__content {
		padding-top: 2.5rem;
	}

	.home-service1__game-list {
		padding: 3.5rem 0 3rem 0;
	}

	.home-service1__game-item {
		width: 31%;
	}

	.home-service1__game-text {
		padding-top: 1.2rem;
		font-size: 1.2rem;
	}

	.home-service2__inner {
		padding: 4rem 0 8rem 0;
	}

	/* --------- home-card --------- */
	.home-card {
		padding: 6rem 0;
	}

	.home-card__list {
		display: block;
	}

	.home-card__item {
		width: 100%;
	}

	.home-card__item + .home-card__item {
		margin-top: 3.5rem;
	}

	.home-card__content {
		padding: 3.5rem 8%;
	}

	.home-topics {
		padding: 7rem 0 5rem 0;
	}

	.home-topics__flex {
		display: block;
	}

	.home-topics__heading {
		padding-bottom: 3rem;
		font-size: 4rem;
	}

	.home-topics__square-button {
		margin-top: 4rem;
	}

	/* ---------- footer ---------- */
	.footer__wrapper {
		width: 85%;
	}

	.footer__pagetop-img {
		width: 3.6rem;
	}

	.footer__path {
		font-size: 1.3rem;
	}

	.footer__path-inner {
		padding: 2rem;
	}

	.footer__main-content {
		padding: 3.5rem 0 5.5rem 0;
	}

	.footer__recruit-content {
		padding-top: 0;
	}

	.footer__recruit-text {
		padding-bottom: 1.8rem;
	}

	.footer__large-list {
		gap: 2rem 0;
		max-width: 35rem;
	}

	.footer__large-item {
		box-sizing: border-box;
		width: 50%;
		padding-right: 0.3rem;
	}

	.footer__small-list {
		gap: 1.5rem 0;
		max-width: 35rem;
	}

	.footer__small-item {
		box-sizing: border-box;
		width: 50%;
		padding-right: 0.3rem;
	}


	/* ------------------------- asobiism ------------------------- */
	.lower-page__main {
		padding: 13rem 0 6rem 0;
	}

	.top-heading {
		padding-bottom: 6.5rem;
	}

	.top-heading__en {
		font-size: 4.3rem;
	}

	.top-heading__jp {
		font-size: 1.7rem;
	}

	.jump-list {
		padding-bottom: 6rem;
	}

	.jump-list__link {
		padding: 1.8rem 0.7rem 4.5rem 0.7rem;
	}

	.asobiism__circle-heading {
		padding-bottom: 3.5rem;
	}

	.asobiism__flex {
		display: block;
	}

	.asobiism__flex-img {
		width: 75%;
		margin: 0 auto;
	}

	.asobiism__flex-content {
		width: 100%;
		padding-top: 4rem;
	}

	.asobiism-philosophy__sign {
		padding-top: 4rem;
	}

	.asobiism-philosophy__sign-img {
		display: inline-block;
		padding: 0.5rem 0 0 0;
	}

	.asobiism-thoughts {
		padding: 7rem 0 8rem 0;
	}

	.asobiism-place {
		padding: 4rem 0 7rem 0;
	}

	.asobiism-place__list {
		width: 80%;
		padding-top: 5rem;
		margin: 0 auto -3.5rem auto;
	}

	.asobiism-place__list-item {
		width: 100%;
		padding-bottom: 3.5rem;
	}

	.asobiism-place__list-heading {
		padding-bottom: 2.5rem;
	}

	.asobiism-place__list-heading-en {
		font-size: 2.7rem;
	}

	.asobiism-place__list-heading-jp {
		padding-top: 0.3rem;
		font-size: 1.4rem;
	}

	.asobiism__bottom-link {
		padding: 3.5rem 20% 3rem 8%;
	}

	.asobiism__bottom-link-heading {
		padding-bottom: 1rem;
		font-size: 2.8rem;
	}



	/* ------------------------- service ------------------------- */
	.service__large-heading {
		padding-bottom: 3rem;
		font-size: 2.6rem;
	}

	.service-game__large-img {
		width: 100%;
		padding: 4rem 0 5rem 0;
	}

	.service-game__list-item {
		display: block;
	}

	.service-game__list-item + .service-game__list-item {
		padding-top: 5rem;
	}

	.service-game__date-text {
		font-size: 1.4rem;
	}

	.service-game__list-img {
		width: 50%;
		margin: 0 auto;
	}

	.service-game__list-content {
		width: 100%;
	}

	.service-game__date-list {
		padding-bottom: 1rem;
	}

	.service-game__list-heading {
		padding-bottom: 1.5rem;
		font-size: 2.5rem;
	}

	.service-game__list-text {
		padding: 3rem 0;
		font-size: 1.5rem;
	}

	.icon-heading {
		padding-bottom: 2.5rem;
	}

	.service-game__icon-heading {
		padding-top: 6rem;
	}

	.service-slick {
		padding-bottom: 10rem;
	}

	.service-slick__parent {
		width: calc(68.75% + 1rem);
	}

	.service-slick__text {
		padding: 1.8rem 0;
	}

	.service-slick__small-text {
		padding-top: 0.2rem;
	}

	.service-slick__nav {
		width: 87.5%;
		padding: 0 8rem;
	}

	.service-slick__nav .slick-dots li {
		width: 1.2rem;
	}

	.service-slick__nav .slick-dots button {
		width: 1.2rem;
	}

	.service-education {
		padding: 7rem 0 6rem 0;
	}

	.service-education__kosaku {
		width: 20rem;
		padding-bottom: 3.5rem;
	}

	.service-education__large-img {
		padding-top: 4rem;
	}

	.service-education__square-button {
		width: 100%;
		max-width: 33rem;
		margin-top: 4rem;
	}

	.service-education__square-button::before {
		width: 34rem;
		height: 34rem;
	}

	.service-education__icon-heading {
		padding-top: 6rem;
	}

	.service-education__card-img {
		width: 100%;
	}

	.service-education__flex-content {
		padding-top: 2.5rem;
	}

	.service-education__flex-large-text {
		padding-bottom: 2rem;
	}

	.service-contact__link {
		padding: 8rem 0 9rem 0;
	}

	.service-contact__square {
		width: 100%;
	}

	/* ------------------------- company ------------------------- */
	.common-table__heading,
	.common-table__data {
		padding: 1.6rem 0 1.8rem 0;
	}

	.common-table__heading {
		padding-right: 1rem;
	}

	.company-outline__common-table .common-table__heading {
		width: 8.5rem;
	}

	.common-table__small-text {
		font-size: 1.2rem;
	}

	.company-access {
		padding-top: 7rem;
	}

	.company-access__circle-heading {
		padding-bottom: 3rem;
	}

	.company-access__unit1 {
		padding-bottom: 7rem;
	}

	.company-access__heading {
		padding: 3rem 0 2rem 0;
		font-size: 2.1rem;
	}

	.company-access__sub-heading {
		margin: 3.5rem 0 1.2rem 0;
	}

	.company-access__sub-heading-icon {
		width: 1rem;
	}

	.circle-list__item {
		padding-left: 1.8rem;
	}

	.company-history__circle-heading {
		padding-bottom: 3rem;
	}

	.company-history {
		padding-top: 6rem;
	}

	.history-list__date {
		width: 9rem;
	}

	.body.-en .history-list__date {
		font-size: 1.3rem;
		width: 12rem;
	}

	.history-list__year {
		width: 4.8rem;
	}

	.body.-en .history-list__year {
		width: 4rem;
	}

	.history-list__content {
		width: calc(100% - 9rem);
	}

	.body.-en .history-list__content {
		width: calc(100% - 12rem);
	}

	.history-list__content-small {
		font-size: 1.2rem;
	}

	/* ------------------------- topics ------------------------- */
	.topics-list__link {
		padding: 2rem 3rem 2rem 0;
	}

	.topics-category__heading {
		font-size: 1.6rem;
	}

	.topics-category__item + .topics-category__item {
		padding-top: 1rem;
	}

	.topics-category__link {
		font-size: 1.4rem;
	}

	.topics-category__link::before {
		top: 0.1rem;
	}

	.body.-en .topics-category__link::before {
		top: -0.1rem;
	}

	.topics-category__link::after {
		top: 0.6rem;
	}

	.body.-en .topics-category__link::after {
		top: 0.4rem;
	}

	.pagination {
		padding-top: 6rem;
	}

	.pagination__inner {
		gap: 0.8rem;
		padding: 0 7rem;
	}

	.pagination .page-numbers:not(.prev):not(.next) {
		padding-top: 0.8rem;
		width: 3.4rem;
		height: 3.4rem;
		font-size: 1.6rem;
	}

	/* --------- topics-single --------- */
	.topics-single__info {
		padding-bottom: 1.5rem;
	}

	.cms-input img {
		margin: 3.5rem auto;
	}

	.cms-input h2 {
		margin: 4rem 0 1.8rem 0;
		font-size: 2.1rem;
	}

	.cms-input h3 {
		padding: 0 0 1.2rem 1.6rem;
		margin: 2.5rem 0 2rem 0;
		font-size: 1.7rem;
	}

	.cms-input h3::before {
		height: 1.7rem;
	}

	.cms-input h4 {
		margin: 2.5rem 0 1.5rem 0;
		font-size: 1.6rem;
	}

	.cms-input ul,
	.cms-input ol {
		margin: 1.5rem 0;
	}

	.cms-input ul li,
	.cms-input ol li {
		padding-left: 1.5rem;
	}

	.cms-input ul li::before {
		top: 1.3rem;
		width: 0.6rem;
		height: 0.6rem;
	}

	.cms-input ol li::before {
		font-size: 1.4rem;
	}

	.cms-input table {
		margin: 2rem 0;
	}

	.cms-input table th {
		padding: 1.2rem 1rem 1.5rem 0;
	}

	.cms-input table td {
		padding: 1.2rem 0 1.5rem 0;
	}

	.cms-input hr {
		margin: 5rem 0;
	}

	.cms-input blockquote {
		padding: 3rem 2.5rem;
		margin: 2rem 0;
	}

	.topics-single__dotted-heading {
		margin-top: 4rem;
		font-size: 2rem;
	}

	.topics-single__related-link {
		font-size: 1.4rem;
	}

	.topics-single__share-area {
		margin-top: 6rem;
		padding: 3.5rem 0;
	}

	.topics-single__share-heading {
		left: 2rem;
		font-size: 3.0rem;
	}

	.topics-single__share-list {
		gap: 2.5rem;
	}

	.topics-single__share-link {
		width: 3rem;
	}

	.topics-single__square-button {
		margin-top: 4.5rem;
	}


	/* ------------------------- contact ------------------------- */
	.contact__logo-group {
		gap: 1.2rem;
		padding-top: 3.5rem;
	}

	.contact__logo-button {
		width: calc((100% - 1.2rem) / 2);
		padding: 1.3rem 1.2rem;
		border-radius: 0.5rem;
	}

	.contact__logo-img {
		width: 90%;
		padding-left: 0;
		text-align: left;
	}

	.contact__logo-button-arrow {
		width: 0.7rem;
		height: 1rem;
	}

	.contact__logo-button-note {
		padding-top: 2rem;
		font-size: 1.3rem;
		text-align: left;
	}

	.contact-form {
		padding-top: 4rem;
	}

	.contact-form__table-row {
		padding: 2.5rem 0;
	}

	.contact-form__radio-label::before {
		width: 2.7rem;
		height: 2.7rem;
	}

	.contact-form__radio-label::after {
		width: 1.3rem;
		height: 1.3rem;
	}

	.contact-form__input,
	.contact-form__textarea {
		padding: 1.3rem 1.5rem;
	}

	.contact-form__privacy-check {
		padding: 4.5rem 0 5.5rem 0;
	}

	.contact-form__privacy-label {
		padding-left: 3.5rem;
		font-size: 1.6rem;
	}

	.contact-form__privacy-label::before {
		width: 2.2rem;
		height: 2.2rem;
	}

	.contact-form__privacy-label::after {
		width: 3.1rem;
		height: 2.3rem;
	}

	.contact-form__square-button {
		width: 100%;
		max-width: 40rem;
		border-radius: 3.5rem;
		/* line-height: 6.4rem; */
	}

	.contact-form__square-button::before {
		width: 41rem;
		height: 41rem;
	}

	.contact-form__square-button .square-button__text.-jp {
		padding: 2.3rem 0;
	}


	/* ------------------------- privacy ------------------------- */
	.privacy__large-text {
		padding-bottom: 3rem;
	}

	.number-list__item {
		padding-left: 1.8rem;
	}

	.number-list__item::before {
		font-size: 1.4rem;
	}

	.number-list__item.-has-margin {
		margin-top: 1.5rem;
	}

	.privacy__text-bg1 {
		margin-top: 3.5rem;
	}

	.brackets-list__item {
		padding-left: 2.3rem;
	}

	.brackets-list__item::before {
		font-size: 1.4rem;
	}

	.brackets-list__item.-has-margin {
		margin-top: 1.5rem;
	}

	/* ------------------------- guideline ------------------------- */
	.guideline__text {
		padding-top: 3rem;
	}

	/* ------------------------- video-guideline ------------------------- */
	.video-guideline__text {
		padding-top: 3rem;
	}

}
