@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Outfit&family=Zen+Kaku+Gothic+New:wght@700&display=swap');

html, body {
	overflow-x: hidden !important;
	width: 100% !important;
	font-size: 0.965rem;
	color: #231815;
}
main.top-sp.main-layout {
	width: 100% !important;
	overflow-x: hidden !important;
}
.top-sp footer,
#top-sp footer {
	margin-left: 0 !important;
	width: 100% !important;
	height: auto !important;
}
.top-sp footer > *, 
.top-sp.spe footer .footer-top-inner {
	height: auto !important;
}
.top-sp .footer-parts,
.top-sp .footer-top-inner,
.top-sp .footer-bottom {
	max-width: 100% !important;
	box-sizing: border-box !important;
}
.top-sp address, a, p {
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}
.top-sp p + p {
	margin-top: 20px;
}
.top-sp .f-min {
	font-family: "dnp-shuei-mincho-pr6", sans-serif;
}
.top-sp .btn1 {
	color: #FFF;
	font-size: 1.1rem;
	font-weight: bold;
	width: 68.75%;
	height: 55px;
	margin: 5vw auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100px;
}
.top-sp .btn1.defo {
	background-color: #afad4f;
}
.top-sp .btn1.anime {
	background-color: #699399;
	border: 1px #FFF solid;
}
.top-sp .btn1.clayart {
	background-color: #bc9b8b;
	border: 1px #FFF solid;
}
.top-sp .btn1.diorama {
	background-color: #6989a6;
	border: 1px #FFF solid;
}
.top-sp .btn1.videogame {
	background-color: #cebc9a;
	border: 1px #FFF solid;
}
.top-sp .mainvisual-wrapper {
	height: auto !important;
}
.top-sp .logo {
	position: absolute;
	width: 160px;
	margin: 0 auto;
	top: 20px;
	left: 0;
	right: 0;
}
.top-sp:not(.is-scrollLock) .header > .header-logo {
	display: none;
}
.top-sp .mainvisual-wrapper > .mainvisual_wrapwrap {
	max-width: 85%;
}
.top-sp .mainvisual {
	margin: 40px auto 0;
}
.top-sp ul.banner {
    padding: 0;
    margin-top: 15vw;
}
.top-sp ul.banner li a {
	display: flex;
	aspect-ratio: 68 / 25;
	height: auto;
 }
.top-sp ul.banner li:nth-child(1) a {
	background-image: url("/images/top_sp/banner01.png");
}
.top-sp ul.banner li:nth-child(2) a {
	background-image: url("/images/top_sp/banner02.png");
}
.top-sp ul.banner li .ttlen {
	font-size: 3.7vw;
}
.top-sp ul.banner li .ttl {
	font-size: 6.15vw;
}
.top-sp .intro {
	margin-top: 15vw;
}
.top-sp .intro_ttl {
	position: relative;
	z-index: 1;
	background-color: #FFF;
  	writing-mode: vertical-lr;
	font-size: 7.5vw;
	padding: 30px 10px;
	top: -88vw;
	left: 5%;
	margin-bottom: -68vw;
}
.top-sp .contents {
	padding: 0 7.5%;
}
.top-sp .txtttl {
	text-align: center;
	margin: 30px auto;
	font-size: 1.1rem;
}
.top-sp .intro_img {
	margin-top: 20px;
}
.top-sp .jusseki {
	text-align: center;
	margin: 60px auto 20px;
  	font-size: 2.3rem;
}
.top-sp .cat_btn {
	margin-top: 30px;
}
.top-sp .cat_btn li +li {
	margin-top: 5px;
}
.top-sp .cat_btn li a {
	padding-left: 40%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	aspect-ratio: 136 / 35;
}
.top-sp .cat_btn li:nth-child(1) a {
	background-image: url("/images/top_sp/cat_btn01.png");
	color: #FFF;
}
.top-sp .cat_btn li:nth-child(2) a {
	background-image: url("/images/top_sp/cat_btn02.png");
}
.top-sp .cat_btn li:nth-child(3) a {
	background-image: url("/images/top_sp/cat_btn03.png");
}
.top-sp .cat_btn li:nth-child(4) a {
	background-image: url("/images/top_sp/cat_btn04.png");
}
.top-sp .cat_btn li a .f-min {
	font-size: 1.55rem;
	margin-top: -1.5vw;
}
.top-sp .cat_btn li a .txt {
	font-size: 0.85rem;
}
.top-sp .cat_btn + p {
	text-align: center;
	margin-top: 8vw;
}
.top-sp .category {
	position: relative;
	padding-bottom: 15vw;
}
.top-sp #animation {
	background-color: #7d9da2;
	margin-top: 20vw;
}
.top-sp #clayart {
	background-color: #d5beb2;
}
.top-sp #diorama {
	background-color: #96a8ba;
}
.top-sp #videogame {
	background-color: #e3d8c4;
}
.top-sp .category > .ttl {
	position: absolute;
	width: 45.56%;
}
.top-sp .category#animation .ttl {
	top: 8vw;
  	left: 2.5%;
}
.top-sp .category#clayart .ttl {
	top: 19.5vw;
  	left: 7.5%;
}
.top-sp .category#diorama .ttl {
	position: absolute;
	top: 36vw;
  	left: 2.5%;
}
.top-sp .category#videogame .ttl {
	top: 19.5vw;
  	left: 7.5%;
}
.top-sp .category#animation p {
	color: #FFF;
}
.top-sp .category p {
	margin-top: 15vw;
}
.top-sp .slider li {
	border-radius: 15px;
	background-color: #FFF;
	position: relative;
	margin: 0 10px;
	display: flex !important;
    flex-direction: column;
}
.top-sp .slider li .img img {
	border-radius: 15px 15px 0 0;
	flex-shrink: 0;
	overflow: hidden;
    background-color: #FFF;
}
.top-sp .slider li .txt {
	padding: 7% 7% 60px 7%;
}
.top-sp .slider li .tag {
	display: inline-block;
	font-size: 0.895rem;
	font-weight: bold;
	padding: 2px 10px;
    border-radius: 4px;
}
.top-sp .slider li .tag.color01 {
	border: 2px solid #7d9da2;
	color: #7d9da2;
}
.top-sp .slider li .tag.color02 {
	border: 2px solid #a77559;
	color: #a77559;
}
.top-sp .slider li .tag.color03 {
	border: 2px solid #618ab4;
	color: #618ab4;
}
.top-sp .slider li .tag.color04 {
	border: 2px solid #aa9671;
	color: #aa9671;
}
.top-sp .slider li > .txt > .ttl {
	font-size: 1.245rem;
	font-weight: bold;
	width: 100%;
	margin-top: 10px;
	line-height: 1.4;
	position: unset !important;
}
.top-sp .slider li .desc {
	width: 100%;
	color: #231815;
	margin-top: 5px;
}
.top-sp .slider li a.detail {
	right: 15px;
    bottom: 15px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: absolute;
}
.top-sp .slider li a.detail::after {
	content: "";
	background-image: url("/images/top_sp/arrow.png");
	background-size: cover;
	width: 25px;
    height: 25px;
    margin-left: 5px;
}
/* Slick CSS */
.top-sp .slick-track {
	display: flex !important;
	align-items: stretch;
	padding: 30px 0 50px;
}
.top-sp .slick-slide {
	height: auto !important;
	box-sizing: border-box;
	outline: none;
}

/* ページャー */
.slick-dotted.slick-slider {
	margin-bottom: 0;
}
.top-sp .slick-dots {
	display: flex !important;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 0;
	margin: 10px 0 0 0;
	list-style: none;
	bottom: 10px;
}
.top-sp .slick-dots li {
	margin: 0;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: #ffffff;
	opacity: 0.4;
	transition: opacity 0.3s ease;
	cursor: pointer;
}
.top-sp .slick-dots li.slick-active {
	opacity: 1;
}
.top-sp .slick-dots li button {
	display: block;
	width: 100%;
	height: 100%;
	background: transparent !important;
	border: none;
	padding: 0;
	font-size: 0;
	color: transparent;
	cursor: pointer;
	outline: none;
}
.top-sp .slick-dots li button:before,
.top-sp .slick-dots li button::before {
	display: none !important;
}
.top-sp .most .ttl {
	line-height: 1.8;
	margin-top: -25vw;
}
.top-sp .most .ttl span {
	display: inline; 
	background-color: #FFF;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	font-family: "dnp-shuei-mincho-pr6", sans-serif;
	font-size: 8.8vw;
	color: #5b584f;
	padding: 2vw 5% 3vw 7.5%;
}
.top-sp .most .ttl  + .contents {
	margin-top: 10vw;
}
.top-sp .history {
	background-color: #e3d8c4;
	padding: 4vw 5.8%;
	border-radius: 15px;
	margin-top: 10vw;
}
.top-sp .history_ttl {
	color: #796423;
	font-family: "dnp-shuei-mincho-pr6", sans-serif;
	font-size: 5.8vw;
	font-weight: 600;
}
.top-sp .history dl {
	display: flex;
	flex-wrap: wrap;
}
.top-sp .history dl dt {
	color: #796423;
	font-weight: bold;
	width: 60px;
	margin-top: 3.5vw;
}
.top-sp .history dl dd {
	width: calc(100% - 60px);
	font-size: 0.9125rem;
	margin-top: 3.5vw;
}
.top-sp .history dl dd + dd {
	margin-top: 3vw;
	margin-left: 60px;
}
.top-sp .most_img {
	width: 69%;
	margin-left: 31%;
	margin-top: 5vw;
	position: relative;
	z-index: 1;
}
.top-sp .works_ttl {
	font-family: "dnp-shuei-mincho-pr6", sans-serif;
	color: #5b584f;
	font-size: 7.5vw;
	margin-bottom: 3vw;
	margin-top: -11vw;
}
.top-sp .works {
	margin-top: 5vw;
}
.top-sp .works li {
	background-color: #FFF;
	border-radius: 15px;
	padding: 3vw 5.8%;
}
.top-sp .works li + li {
	margin-top: 2.5vw;
}
.top-sp .works li dl {
	display: flex;
	align-items: center;
}
.top-sp .works li dl dt {
	color: #725f27;
	font-family: "dnp-shuei-mincho-pr6", sans-serif;
	font-size: 7.5vw;
	font-weight: bold;
	width: 45px;
	margin-bottom: 2vw;
}
.top-sp .works li dl dd {
	width: calc(100% - 45px);
}
.top-sp .works li dl dd div:nth-child(1) {
	color: #83756e;
	font-weight: bold;
	font-size: 1.245rem;
}
.top-sp .works li dl dd div:nth-child(2) {
	color: #8e7121;
	font-size: 0.9125rem;
}
.top-sp .btn_wrap {
	margin: 15vw auto;
    display: flex;
    justify-content: space-between;
}
.top-sp .btn_wrap a {
	width: 48.5%;
	max-width: 300px;
    height: 55px;
    font-size: 1.15em;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100px;
	color: #FFF;
	font-weight: bold;
}
.btn_wrap a:nth-child(1) {
	background-color: #3d2501;
}
.btn_wrap a:nth-child(2) {
	background-color: #b5b24d;
}