@charset "utf-8";

/* ---------------
	reset
--------------------*/
body, div, main,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
figure, pre, form, fieldset, textarea, p, blockquote, th ,td {
	margin: 0;
	padding: 0;
}

main {
	display: block;
}

ul{
	list-style-type: none;
}

table {
	line-height: 1.6;
	border: 0px;
	border-collapse:collapse;
	font-size: 1.6rem;
}

table th {
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
}
textarea {
	padding: 2px 4px;
	font-size: 1.6rem;
	line-height: 1;
	color: #443e35;
}

input {
	vertical-align: middle;
	margin: 0;
	padding: 0;
	color: #443e35;
}

p {
	line-height: 1.5;
}

img {
	border: none;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
	max-width: 100%;
}

address {
	font-style:normal;
}

ul li {
	line-height: 1.4;
}

*,*::before,*::after{
	box-sizing: border-box;
}

em {
	font-style: normal;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

input[type='search'] {
	-webkit-appearance: none;
}

/* ---------------
　　　共用
--------------- */

:root {
  --color_yellow: #FDDC3C;
  --color_orange: #D85319;
  --color_text: #3D3D3D;
  --color_text_orange: #D85319;
  --min-width: min(95%,1100px);
  --unit-space-lg: 50px;
  --unit-space-md: 30px;
  --unit-space-sm: 15px;
  --unit-line-lg: 50px;
  --unit-line-md: 30px;
  --unit-line-sm: 15px;
  --separator-lg: 50px;
  --separator-md: 30px;
  --separator-sm: 15px;
}

@media screen and (min-width: 768px) {

  :root {
    --unit-space-lg: 100px;
    --unit-space-md: 60px;
    --unit-space-sm: 30px;
    --unit-line-lg: 100px;
    --unit-line-md: 60px;
    --unit-line-sm: 30px;
    --separator-lg: 100px;
    --separator-md: 60px;
    --separator-sm: 30px;
  }

}

html {
    font-size: 62.5%;
	scroll-padding-top: 100px;
}

@media screen and (min-width: 768px) {

	html {
		scroll-padding-top: 130px;
	}

}

body {
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 1;
	color: var(--color_text);
	-webkit-text-size-adjust: none;
	-webkit-print-color-adjust: exact;
  	font-optical-sizing: auto;
    background: #FED311;
}

a:link {
	border: none;
	color: var(--color_text);
	text-decoration: none;
	transition: all 0.1s ease;
}

a:visited {
	color: var(--color_text);
}

a:hover {
	border: none;
	color: var(--color_text);
	text-decoration: none;
	transition: all 0.1s ease;
}
/*
:focus:not(:focus-visible) {
	outline: none;
}
*/
@media screen and (min-width: 768px) {

	.alpha a:hover {
		filter: alpha(opacity=70);
		-moz-opacity:0.7;
		opacity:0.7;
		transition: opacity 0.25s ease 0s;
	}

	.alpha a {
		-webkit-transition: all 0.1s ease 0s;
		-moz-transition: all 0.1s ease 0s;
		transition: opacity 0.25s ease 0s;
	}

}

.sp {
	display: none;
}

.pc {
	display: block;
}

a[href^="tel:"] {
    text-decoration: none !important;
}

img.fit {
	width: 100%;
	height: auto;
}

img.trim_center {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

a[href^="no_large"] {
    pointer-events: none;
}

.wrapper {
	position: relative;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-optical-sizing: auto;
	overflow: hidden;
}

.back_img {
	position: relative;
}


.back_img::before {
	position: fixed;
	content: '';
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../images/common/back_yellow.jpg) no-repeat top center / cover;
}

@media screen and (min-width: 768px) {

	.back_img::after {
		position: fixed;
		content: '';
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: url(../images/common/back_table.png) no-repeat 0 0 / 1231px auto;
	}

	.lg_1 .back_img::after {
		background: url(../images/common/back_table.png) no-repeat 0 0 / 1231px auto;
	}

	.pcate_works .back_img::after,
	.works .back_img::after {
		display: none;
	}

}


@media screen and (min-width: 768px) and (max-height: 1099px){

	.back_img::after {
		background-position: -5vw 3%;
	}

	.lg_1 .back_img::after {
		background-position: -5vw calc(3% - 100px);
	}

}

@media screen and (min-width: 768px) and (max-height: 949px){


	.back_img::after {
		background-position: -5vw calc(50vh - 580px);
		background-position: -5vw calc(50dvh - 580px);
	}

}

.ft_zenkaku {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.ft_daruma {
	font-family: "Darumadrop One", sans-serif;
	font-weight: 500;
	font-style: normal;
}
/*
.ft_zenmaru {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
}
*/
.lg_1 .wrapper {
  margin-top: 100px;
}

.entry_edit .wrapper {
  margin-top: 250px;
}

.main {
	position: relative;
	z-index: 2;
}

.menu_open .main {
	padding-top: 80px;
}
/*
.modal_open .main {
	z-index: 5;
}
*/
@media screen and (max-width: 767px) {

	.wrapper {
		overflow: hidden;
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.columnImage {
		width: 100%;
	}

}

a.nolink {
	cursor: default;
	text-decoration: none !important;
    pointer-events: none;
}

@media screen and (min-width: 768px) {

	a[href^="tel:"] {
	    pointer-events: none;
	}

}

.center {
	text-align: center;
}


/* -----------------
	header
----------------- */

.header {
	padding: 20px 20px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	height: 80px;
}

.menu_open .header {
	position: fixed;
	top: 0;
	left: 0;
    width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 12;
	align-items: flex-start;
}

.header .logo {
	width: 85px;
}

.header .logo a {
	display: block;
}

.menu_open .header .logo {
	position: relative;
	z-index: 111;
}

.sp_menu_back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
    opacity: 0;
	visibility: hidden;
	background: url(../images/common/menu_back.jpg) no-repeat left top / cover;
    transition: all 0.4s ease;
}

.menu_open .sp_menu_back {
	opacity: 1;
	visibility: visible;
}

.header_parts {
	align-items: center;
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
	height: 100vh;
	height: 100dvh;
    opacity: 0;
	visibility: hidden;
    transition: all 0.4s ease;
}

.menu_open .header_parts {
    position: fixed;
    overflow: auto;
	opacity: 1;
	visibility: visible;
}

@media screen and (min-width: 768px) {

	.header {
		padding: 0;
		display: flex;
		justify-content: end;
		align-items: flex-start;
		height: auto;
		background: none;
		z-index: 4;
		height: 117px;
	}

	.header .logo {
		margin: 40px 20px 0 40px;
		width: 158px;
		position: fixed;
		left: 0;
	    transition: all 0.3s ease;
	}

	.header .logo:hover {
		transform: scale(1.15);
	}

	.sp_menu_back {
		display: none;
	}

	.header_parts {
		margin: 45px 36px 0 25px;
		display: flex;
		align-items: center;
    	position: relative;
    	top: auto;
    	left: auto;
    	width: auto;
		height: auto;
		visibility: visible;
    	opacity: 1;
    	z-index: 1;
	}

}

@media screen and (min-width: 768px) and (max-width: 1399px) {

	.header_parts {
		margin-left: 20px;
		margin-right: 20px;
	}

}

@media screen and (min-width: 768px) and (max-height: 849px) {

	.header .logo {
		margin-top: 20px;
	}

	.header_parts {
		margin-top: 20px;
	}

}

.gnavi {
	text-align: center;
}

.gnavi li {
	margin: 10px;
}

.gnavi li a {
	padding: 10px 0;
	display: inline-block;
}

.header_sns ul {
	margin: 20px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header_sns li {
	margin: 0 12px;
}

@media screen and (min-width: 768px) {

	.gnavi ul {
		display: flex;
		align-items: center;
	}

	.gnavi li {
		margin: 0;
	}

	.gnavi li a {
		padding: 0 24px;
		display: block;
	}

	.gnavi li a img {
    	transition: all 0.2s ease;
	}

	.gnavi li a:hover img {
		transform: scale(1.2);
	}

	.header_sns ul {
		margin: 0;
		display: flex;
		align-items: center;
	}

	.header_sns li {
		margin: 0 14px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1190px) {

	.header .logo {
		margin: 40px 10px 0 20px;
		width: 140px;
	}

	.header_parts {
		margin: 45px 15px 0;
	}

	.gnavi li a {
		padding: 0 15px;
		display: block;
	}

	.header_sns li {
		margin: 0 10px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1009px) {

	.header .logo {
		margin: 40px 10px 0 20px;
		width: 120px;
	}

	.header_parts {
		margin: 45px 10px 0;
	}

	.gnavi li a {
		padding: 0 10px;
	}

	.header_sns li {
		margin: 0 5px;
	}

}

@media screen and (min-width: 768px) and (max-width: 909px) {

	.header .logo {
		width: 110px;
	}

	.gnavi li.gnavi_shop img {
		width: 120px;
	}

	.header_sns li img {
		width: 18px;
	}

}

@media screen and (min-width: 768px) and (max-width: 839px) {

	.gnavi li img {
		zoom: 0.88;
	}

}

#menu_btn {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}

.menu_open #menu_btn {
	margin-top: 7px;
	position: relative;
	z-index: 111;
}

#menu_btn .btn_menu_close,
.menu_open #menu_btn .btn_menu {
	display: none;
}

.menu_open #menu_btn .btn_menu_close {
	display: block;
}

@media screen and (min-width: 768px) {

	#menu_btn {
		display: none;
	}

}

.sp_bottom_parts {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	display: flex;
	opacity: 0;
	visibility: hidden;
    transition: all 0.4s ease;
	background: url(../images/common/footer_back.png) no-repeat left bottom / 100% auto;
}

.menu_open .sp_bottom_parts {
	opacity: 1;
	visibility: visible;
}

.sp_bottom_parts .menu_meganeko {
	margin: 0 20px 35px auto;
	width: 86px;
}

.sp_bottom_parts .menu_mouse {
	position: absolute;
	width: 118px;
	left: 20px;
	bottom: 40px;
}

.sp_bottom_parts .menu_mouse.flip {
	transform: scaleX(-1);
}

@media screen and (min-width: 768px) {

	.sp_bottom_parts {
		display: none;
	}

}

/* -----------------------
　　　footer
----------------------- */

.footer {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 60px;
	background: url(../images/common/footer_back.png) no-repeat center top / cover;
	z-index: 10;
}

.footer .copyright {
	font-size: 1.1rem;
	text-align: right;
	position: absolute;
	right: 15px;
	bottom: 10px;
}

.top .footer {
	background: none;
	height: 30px;
}

.pcate_book .footer,
.pcate_works .footer,
.works .footer {
	background: none;
}

@media screen and (min-width: 768px) {

	.footer {
		height: auto;
		background: none;
	}

	.footer .copyright {
		position: relative;
		bottom: auto;
		left: auto;
		right: auto;
		padding: 0 15px 15px 0;
		font-size: 1.6rem;
		font-weight: 500;
		text-align: right;
	}

	.top .footer {
		background: none;
		height: auto;
		z-index: 1;
	}

	.top .footer .copyright {
		text-align: right;
		padding: 0 40px 30px 0;
	}

}


/* -----------------
	トップ
----------------- */

.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	width: 100dvw;
	height: 100vh;
	height: 100dvh;
	background: #FED311;
	z-index: 11;
	display: flex;
	justify-content: center;
	align-items: center;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.loaded .loading {
	opacity: 0;
	visibility: hidden;
}

.loading_box {
	text-align: center;
	width: 50%;
}

.loading_text {
	margin: 0 auto 20px;
	width: 100%;
}

.loading_window {
	margin: -40px 0 0;
}

@media screen and (min-width: 768px) {

	.lg_1 .loading {
		top: 100px;
		height: calc(100vh - 100px);
		height: calc(100dvh - 100px);
	}

	.loading_box {
		width: 350px;
	}

	.loading_text {
		width: 305px;
	}

}

.top .back_img::before {
	background: url(../images/common/back_yellow.jpg) no-repeat center center / cover;
}

.top .back_img::after {
	position: fixed;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	height: 44vh;
	height: 44dvh;
	background: url(../images/top/back_base.webp) no-repeat center top / cover;
}

.top .main {
	display: flex;
	align-items: center;
	min-height: calc(100vh - 110px);
	min-height: calc(100dvh - 110px);
}

.lg_1.top .main {
	min-height: calc(100vh - 217px);
	min-height: calc(100dvh - 217px);
}

@media screen and (min-width: 768px) {

	.top .back_img::before {
		background: url(../images/top/back_pc.jpg) no-repeat center center / cover;
	}

	.top .back_img::after {
		display: none;
	}

	.top .main {
		min-height: calc(100vh - 117px);
		min-height: calc(100dvh - 117px);
	}

	.lg_1.top .main {
		min-height: calc(100vh - 217px);
		min-height: calc(100dvh - 217px);
	}

}

.top_parts {
	position: relative;
	width: 100%;
	min-height: calc(100vh - 117px);
	min-height: calc(100dvh - 117px);
}

.top_window {
	position: absolute;
	top: 10px;
	right: 0;
	width: 180px;
	height: 145px;
}

.top_movie {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	object-fit: cover;
	width: 118px;
	height: 105px;
	padding: 0;
}

.window_frame {
	position: absolute;
}

.top_book {
	position: absolute;
	bottom: 34%;
	right: -130px;
	width: 250px;
}

.top_picture {
	position: absolute;
	top: 100px;
	left: -35px;
	width: 180px;
}

.top_meganeko {
	position: absolute;
	bottom: 26%;
	left: 50%;
	transform: translateX(-50%);
	width: 200px;
}

.top_chair {
	position: absolute;
	bottom: 15%;
	left: -20px;
	width: 170px;
}

.back_light {
	position: absolute;
	top: -45px;
	left: 95px;
	width: 115px;
	z-index: 3;
}

.about .back_light,
.news .back_light,
.contact .back_light {
	display: none;
}

@media screen and (min-width: 768px) {

	.top_parts {
		height: 700px;
		min-height: auto;
	}

	.top_window {
		top: -35px;
		right: calc(50% - 23vw);
		width: 316px;
		height: 256px;
	}

	.top_movie {
		width: 240px;
		height: 190px;
	}

	.top_book {
		top: calc(12vh + 50px);
		top: calc(12dvh + 50px);
		bottom: auto;
		right: 0;
		width: 556px;
	}

	.top_picture {
		top: 110px;
		left: calc(50% - 24vw);
		width: 313px;
	}

	.top_meganeko {
		top: calc(15vh + 50px);
		top: calc(15dvh + 50px);
		bottom: auto;
		width: 396px;
	}

	.top_chair {
		top: calc(18vh + 100px);
		top: calc(18dvh + 100px);
		left: calc(50% - 30vw);
		width: 380px;
	}

	.back_light {
		left: calc(50% - 29vw);
		top: -85px;
		width: 200px;
	}

	.lg_1 .back_light {
		top: -185px;
	}

	.top .back_light {
		top: 0;
	}

	.lg_1.top .back_light {
		top: -50px;
	}

	.about .back_light,
	.news .back_light,
	.contact .back_light {
		display: block;
	}

}

@media screen and (min-width: 768px) and (max-height: 1099px) {

	.lg_1.top .back_light {
/*		top: -130px;*/
	}

	.top .back_light {
		top: -110px;
		left: calc(50% - 35vw);
	}

}

@media screen and (min-width: 768px) and (max-width: 1999px) {

	.top_chair {
		left: calc(50% - 38vw);
	}

}

@media screen and (min-width: 768px) and (max-width: 1699px) {

	.top_picture {
		left: 24%;
	}

}

@media screen and (min-width: 768px) and (max-width: 1550px) {

	.top_window {
		right: 16%;
	}

	.top_picture {
		left: 16%;
	}

	.top_book {
		right: -10%;
	}

	.top_chair {
		left: 3%;
	}

}

@media screen and (min-width: 768px) and (max-width: 1199px) {

	.top_picture {
		left: -35px;
	}

	.top_window {
		right: 0;
	}

	.top_book {
		right: -15%;
	}

	.top_chair {
		left: -3%;
	}

}

@media screen and (min-width: 768px) and (max-width: 999px) {

	.top_book {
		top: calc(16vh + 50px);
		top: calc(16dvh + 50px);
		width: 445px;
	}

	.top_picture {
		width: 250px;
	}

	.top_meganeko {
		top: calc(20vh + 50px);
		top: calc(20dvh + 50px);
		width: 316px;
	}

	.top_chair {
		top: calc(23vh + 100px);
		top: calc(23dvh + 100px);
		width: 310px;
	}

	.back_light {
		width: 170px;
	}

}

@media screen and (min-width: 768px) and (max-height: 899px) {

	.top .back_light {
		top: -170px;
	}

}

@media screen and (min-width: 768px) and (max-height: 849px) {

	.top_parts {
		height: 650px;
	}

}


.top_news {
	position: absolute;
	left: 20px;
	bottom: 10px;
}

.top_news h2 {
	margin: 0 0 8px;
	width: 60px;
	flex-shrink: 0;
}

.top_news li a {
}

.top_news li time {
	margin: 0 0 2px;
	font-size: 1.4rem;
	font-weight: 700;
	display: block;
}

.top_news li h3 {
	font-size: 1.4rem;
	font-weight: 700;
}

@media screen and (min-width: 768px) {

	.top_news {
		display: flex;
		align-items: center;
		position: absolute;
		left: 4.3%;
		bottom: 40px;
		width: calc(100% - 310px);
	}

	.top_news h2 {
		margin: 0 25px 0 0;
		width: 93px;
		flex-shrink: 0;
	}

	.top_news li a {
		display: flex;
	}

	.top_news li time {
		margin: 0;
		width: 90px;
		white-space: nowrap;
		font-size: 1.6rem;
		font-weight: 700;
	}

	.top_news li h3 {
		font-size: 1.6rem;
		font-weight: 700;
		width: calc(100% - 90px);
	}

}

@media screen and (min-width: 768px) and (max-width: 1369px) {

	.top_news {
		margin-right: 20px;
		bottom: 25px;
	}

}

/* -----------------
	タイトルヘッダー
----------------- */

.page_header {
	padding: 20px;
	min-height: 270px;
	display: flex;
	align-items: center;
	background: #2562a9 url(../images/common/header_back_sp.png) no-repeat right top / cover;
}

.page_header .inner {
	display: flex;
	align-items: center;
	color: #fff;
}

.page_header .page_header_title {
	font-size: 2.6rem;
	line-height: 1.2;
	font-weight: bold;
}

.page_header .page_header_category {
	margin: 0 0 6px;
	font-size: 1.0rem;
	font-weight: bold;
}

.page_header_entry_info {
	margin: 15px 0 0;
	display: flex;
	align-items: flex-start;
}

.page_header_entry_info .campaign_term {
	margin: 0 8px 0 0;
	display: flex;
	align-items: center;
}

.page_header_entry_info .campaign_term p {
	font-size: 1.0rem;
	white-space: nowrap;
}

.page_header_entry_info .campaign_category {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
}

.page_header_entry_info .campaign_category li {
	padding: 0 3px 1px;
	background: #fff;
	color: #1763a1;
	font-size: 1.2rem;
	border-radius: 3px;
	font-weight: 500;
	white-space: nowrap;
}

@media screen and (min-width: 768px) {

	.page_header {
		padding: 50px 0;
		min-height: 300px;
		background: #2562a9 url(../images/common/header_back_pc.png) no-repeat right top -90px / 980px auto;
	}

	.page_header .inner {
		margin: 0 auto;
		width: var(--min-width);
	}

	.page_header .page_header_title {
		font-size: 3.6rem;
		line-height: 1.3;
	}

	.page_header .page_header_category {
		font-size: 1.4rem;
	}

	.page_header_entry_info {
		align-items: center;
	}

	.page_header_entry_info .campaign_term {
		margin: 0 15px 0 0;
	}

	.page_header_entry_info .campaign_term p {
		font-size: 1.4rem;
	}

	.page_header_entry_info .campaign_category li {
		font-size: 1.2rem;
	}

}

/* -----------------
	works
----------------- */

.title_works {
	margin: 40px 0;
	text-align: center;
}

.pcate_works.book .title_works,
.pcate_book .title_works {
	margin-bottom: 0;
}

.pcate_book .title_works h1 img,
.pcate_works .title_works h1 img,
.works .title_works h1 img {
	width: 140px;
}

.title_works .title_sub {
	margin: 15px 0 0;
}

.subtitle_book {
	width: 60px;
}

.subtitle_character {
	width: 137px;
}

.subtitle_illust {
	width: 96px;
}

.subtitle_other {
	width: 133px;
}

.book_series {
	margin: 20px 45px 20px 20px;
	position: relative;
	z-index: 2;
}

.book_series ul {
	display: flex;
	flex-wrap: wrap;
}

.book_series li {
	margin: 0 2.5px 10px;
	font-size: 1.3rem;
	font-weight: 600;
}

.book_series li a {
	padding: 6px 20px 6px 22px;
	background: #fff;
	display: block;
	border-radius: 30px;
	position: relative;
}

.book_series li a::after {
	position: absolute;
	content: '';
	left: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 7px;
	height: 7px;
	border-radius: 10px;
	background: var(--color_orange);
}

.book_series li.stay a {
	background: var(--color_orange);
	color: #fff;
}

.book_series li.stay a::after {
	background: #fff;
}

@media screen and (min-width: 768px) {

	.title_works {
		margin: 100px 0;
	}

	.pcate_works .title_works h1 img,
	.works .title_works h1 img {
		width: 230px;
	}

	.title_works .title_sub {
		margin: 30px 0 0;
	}

	.subtitle_book {
		width: 81px;
	}

	.subtitle_character {
		width: 183px;
	}

	.subtitle_illust {
		width: 128px;
	}

	.subtitle_other {
		width: 178px;
	}

	.book_series {
		margin: 40px 50px 20px;
	}

	.book_series ul {
		justify-content: center;
		align-items: center;
	}


	.book_series li {
		margin: 0 5px 20px;
		font-size: 2.0rem;
	}

	.book_series li a {
		padding: 8px 30px 8px 35px;
    	transition: all 0.4s ease;
	}

	.book_series li a::after {
		left: 18px;
		width: 12px;
		height: 12px;
	}

	.book_series li a:hover {
		background: var(--color_orange);
		color: #fff;
	}

	.book_series li a:hover::after {
		background: #fff;
	}

}

.works_list_wrapper {
	margin-bottom: 100px;
	position: relative;
	overflow: hidden;
}

.works_list {
	margin: 0 0 60px;
	padding: 0px 45px 10px 20px;
	display: flex;
	background: url(../images/works/book_base_sp.png) no-repeat center bottom / 100% auto;
	position: relative;
	z-index: 2;
}

.works_list_box {
	padding: 0px 12px 0;
	text-align: center;
	flex: 0 0 50%;
	min-width: 0;
	position: relative;
	z-index: 3;
}

.works_list_box a {
	display: block;
}

.works_list_box figure {
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.works_list_box figure img {
	max-width: 100%;
	max-height: 100%;
	height: auto;
	width: auto;
	display: block;
}

.works_list_box h3 {
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-family: "Darumadrop One", "sicrusk", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.3;
}

.works_list_box .publish_year {
	margin: 5px 0 0;
	display: block;
	font-size: 1.4rem;
	line-height: 1.0;
}

.works_list_box.cate_illust figure,
.works_list_box.cate_character figure,
.works_list_box.cate_other figure {
	padding: 15px 10px;
	background: url(../images/works/img_back.png) no-repeat center center / 100% auto;
}

@media screen and (min-width: 768px) {

	.works_list_wrapper {
		margin: -100px auto 0;
		padding: 0 70px 140px;
		display: grid;
		flex-wrap: wrap;
		grid-template-columns: repeat(auto-fill, 390px);
		justify-content: center;
		background: url(../images/works/book_base_pc.webp) repeat-y 0 0 / auto 535px;
	}

	.works_list {
		display: contents;
	}

	.works_list_box {
		margin: 95px 0 0;
		padding: 0;
		text-align: center;
		width: 305px;
		height: 440px;
	}

	.works_list_box a {
    	transition: all 0.3s ease;
	}

	.works_list_box a:hover {
		transform: scale(1.15);
	}

	.works_list_box figure {
		height: 290px;
	}

	.works_list_box h3 {
		margin: 10px 0 0;
		font-size: 2.2rem;
		line-height: 1.3;
	}

	.works_list_box .publish_year {
		margin: 5px 0 0;
		font-size: 2.0rem;
	}

	.works_list_box {
		width: 305px;
	}
/*
	.works_list_box.cate_illust,
	.works_list_box.cate_character,
	.works_list_box.cate_other {
		margin-top: 120px;
	}
*/
	.works_list_box.cate_illust figure,
	.works_list_box.cate_character figure,
	.works_list_box.cate_other figure {
		padding: 20px;
		width: 305px;
		height: 305px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1699px) {

	.works_list_wrapper {
		padding-left: 50px;
		padding-right: 50px;
		grid-template-columns: repeat(auto-fill, 360px);
	}

}

@media screen and (min-width: 768px) and (max-width: 839px) {

	.works_list_wrapper {
		grid-template-columns: repeat(auto-fill, 320px);
	}

}

.works .back_img::after,
.pcate_book .back_img::after,
.pcate_works .back_img::after {
	position: absolute;
	content: '';
	right: 5px;
	left: auto;
	top: 142px;
	width: 38px;
	height: calc(100% - 43px);
	display: block;
	z-index: 3;
	background: url(../images/works/ladder.png) repeat-y 0 0 / 100% auto;
}

.laddr_top {
	position: absolute;
	width: 38px;
	right: 5px;
	top: 110px;
}

.modal_open.works .back_img::after,
.modal_open.pcate_book .back_img::after,
.modal_open.pcate_works .back_img::after {
	z-index: 1;
}

@media screen and (min-width: 768px) {

	.works .back_img::after,
	.pcate_book .back_img::after,
	.pcate_works .back_img::after {
		right: 55px;
		top: 252px;
		width: 73px;
		height: calc(100% - 252px);
	}

	.laddr_top {
		width: 73px;
		right: 55px;
		top: 190px;
	}

}

.works_modal_wrapper {
	top: 20px;
	left: 0;
	width: 100%;
	height: calc(100% - 65px);
	z-index: -1;
	opacity: 0;
    transition: all 0.35s ease;
	display: flex;
	justify-content: center;
	align-items: center;
	inset: 0;
	position: absolute;
	transform: scale(0.4);
}

.modal_open {
	overflow: hidden;
}

.modal_open .works_modal_wrapper {
	z-index: 100;
	opacity: 1;
	position: fixed;
	transform: scale(1.0);
}

.works_modal_inner {
	margin: 0 4%;
	position: relative;
}

.works_modal_inner::-webkit-scrollbar {
	display: none;
}

.works_modal {
	padding: 10px 0px;
	border-top: 20px solid transparent;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-image-source: url(../images/works/modal_back_sp.svg);
	border-image-slice: 30 fill;
	border-image-repeat: stretch;
}

.works_modal .works_entry_box {
    padding: 20px;
	display: flex;
	flex-direction: column;
	overflow-y: scroll;
	max-height: calc(90vh - 80px);
	max-height: calc(90dvh - 80px);
	scrollbar-width: none;
	-ms-overflow-style: none;
	background: #fff;
}

.works_modal .works_entry_box::-webkit-scrollbar {
	display: none;
}

@media screen and (min-width: 768px) {

	.works_modal_wrapper {
		top: 0;
		height: 100%;
		align-items: center;
	}

	.lg_1 .works_modal_wrapper {
		top: 100px;
		height: calc(100% - 100px);
	}

	.modal_open .works_modal_wrapper {
		position: fixed;
	}

	.works_modal_inner {
		margin: 3% 4.5%;
		height: 90vh;
		height: 90dvh;
		max-height: 970px;
	}

	.lg_1 .works_modal_inner {
		height: calc(90vh - 100px);
		height: calc(90dvh - 100px);
		max-height: 970px;
	}

	.works_modal {
		padding: 30px 40px;
		border-top: 30px solid transparent;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-bottom: 60px solid transparent;
		border-image-source: url(../images/works/modal_back_pc.png);
		border-image-slice: 60 fill;
		border-image-repeat: stretch;
		height: 90vh;
		height: 90dvh;
		max-height: 970px;
	}

	.lg_1 .works_modal {
		height: calc(90vh - 100px);
		height: calc(90dvh - 100px);
		max-height: 970px;
	}

	.works_modal .works_entry_box {
		padding: 0;
		flex-direction: inherit;
		align-items: flex-start;
		overflow: hidden;
		height: auto;
		background: none;
		max-height: inherit;
	}

}

.works_modal .works_img {
	margin: 0 0 20px;
}

.works_modal .works_img figure {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.works_modal .works_img figure img {
	max-width: 100%;
	max-height: 100%;
	height: auto;
	width: auto;
	display: block;
}

.works_modal .works_img .main_img_caption {
	padding: 10px 0;
	font-size: 1.4rem;
	text-align: center;
}

@media screen and (min-width: 768px) {

	.works_modal .works_img {
		margin: 0;
		padding: 40px;
		width: 55%;
		height: calc(90vh - 125px);
		height: calc(90dvh - 125px);
		max-height: 830px;
		overflow: hidden;
		background: #fff;
	}

	.works_modal .works_img:has(.main_img_caption) {
		padding-bottom: 55px;
	}

	.lg_1 .works_modal .works_img {
		height: calc(90vh - 225px);
		height: calc(90dvh - 225px);
		max-height: 830px;
	}

	.works_modal .works_img .main_img_caption {
		padding: 10px 0 15px;
		font-size: 1.6rem;
	}

}

.works_modal .works_body h1 {
	margin: 0 0 15px;
	font-size: 2.6rem;
	line-height: 1.2;
	font-weight: 600;
}

.works_modal .works_body h2 {
	margin: 0 0 20px;
	font-size: 1.5rem;
	line-height: 1.4;
	font-weight: 600;
}

.works_modal .works_body dl {
	margin: 0 0 10px;
	font-size: 1.3rem;
	font-weight: 500;
	display: flex;
}

.works_modal .works_body dd a {
	color: var(--color_orange);
	text-decoration: underline;
}

.works_modal .works_body .works_text {
	margin: 30px 0 0;
	font-size: 1.5rem;
	line-height: 2.4;
	font-weight: 500;
}

.works_modal .works_body .works_html {
	margin: 30px 0 0;
}

.works_modal .works_body .works_html iframe {
	width: 100%;
}

.works_modal .works_body .detail_img {
	margin: 20px 0 0;
}

.works_modal .works_body .detail_img li {
    margin-bottom: 40px;
}

.works_modal .works_body .detail_img .detail_img_caption {
	margin: 10px 0 0;
	text-align: center;
	font-size: 1.4rem;
}


.modal_close {
	width: 37px;
	position: absolute;
	top: 30px;
	right: 20px;
}

@media screen and (min-width: 768px) {

	.works_modal .works_body {
		padding: 4% 0;
		width: 45%;
		height: calc(90vh - 125px);
		height: calc(90dvh - 125px);
		max-height: 830px;
		overflow-y: scroll;
		scrollbar-width: none;
		-ms-overflow-style: none;
		background: #fff;
	}

	.lg_1 .works_modal .works_body {
		height: calc(90vh - 225px);
		height: calc(90dvh - 225px);
		max-height: 830px;
	}

	.works_modal .works_body::-webkit-scrollbar {
		display: none;
	}

	.works_modal .works_body .works_info {
		padding: 0 40px 0 0;
	}

	.works_modal .works_body h1 {
		margin: 0 0 30px;
		font-size: 4.0rem;
	}

	.works_modal .works_body h2 {
		margin: 0 0 30px;
		font-size: 2.0rem;
	}

	.works_modal .works_body dl {
		font-size: 1.5rem;
	}

	.works_modal .works_body dd a:hover {
		color: #F86C31;
	}

	.works_modal .works_body .works_text {
		margin: 40px 0 0;
		font-size: 1.8rem;
	}

	.works_modal .works_body .works_html {
		margin: 40px 0 0;
	}

	.works_modal .works_body .detail_img {
		margin: 30px 0 0;
	}

	.works_modal .works_body .detail_img li {
		margin: 0 40px 100px 0;
	}

	.works_modal .works_body .detail_img li:has(.detail_img_caption) {
		margin-bottom: 80px;
	}

	.works_modal .works_body .detail_img .detail_img_caption {
		margin: 15px 0 0;
		font-size: 1.6rem;
	}

	.modal_close {
		width: 68px;
		top: 30px;
		right: 40px;
		cursor: pointer;
	}

}

.pcate_book .serial_nav,
.pcate_works .serial_nav {
	display: none;
}

.works_entry_wrapper .serial_nav_item {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 50px;
	height: 50px;
	right: -10px;
}

.works_entry_wrapper .serial_nav_item a {
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../images/works/arrow_back.svg) no-repeat 0 0 / 100% auto;
}

.works_entry_wrapper .serial_nav_item a img {
	width: 30px;
}

.works_entry_wrapper .serial_nav_item_next {
	right: auto;
	left: -10px;
	transform: rotate(-180deg);
}

@media screen and (min-width: 768px) {

	.works_entry_wrapper .serial_nav_item {
		width: 90px;
		height: 90px;
		right: -45px;
	}

	.works_entry_wrapper .serial_nav_item a {
		width: 90px;
		height: 90px;
	}

	.works_entry_wrapper .serial_nav_item a img {
		width: 53px;
	}

	.works_entry_wrapper .serial_nav_item_next {
		left: -45px;
		right: auto;
	}

}

.works_main {
	margin: 0 auto;
	max-width: 1200px;
}

.works_main .works_entry_box {
	padding: 30px 20px;
	display: flex;
	background: #fff;
}

.works_main .works_img {
	margin: 0;
	width: 50%;
	overflow: hidden;
	background: #fff;
}

.works_main .works_img figure {
	display: flex;
	justify-content: center;
}

.works_main .works_img figure img {
	max-width: 100%;
	max-height: 100%;
	height: auto;
	width: auto;
	display: block;
}

.works_main .works_body {
	padding: 4% 0;
	width: 50%;
}

.works_main .works_body .works_info {
	padding: 0 10%;
}

.works_main .works_body h1 {
	margin: 0 0 30px;
	font-size: 4.0rem;
	line-height: 1.2;
	font-weight: 600;
}

.works_main .works_body h2 {
	margin: 0 0 30px;
    font-size: 2.0rem;
	font-weight: 600;
}

.works_main .works_body dl {
	margin: 0 0 10px;
	font-size: 1.5rem;
	font-weight: 500;
	display: flex;
}

.works_main .works_body dd a {
	color: var(--color_orange);
	text-decoration: underline;
}

.works_main .works_body dd a:hover {
	color: #F86C31;
}

.works_main .works_body .works_text {
	margin: 40px 0 0;
	font-size: 1.8rem;
}

.works_main .works_body .works_html {
	margin: 40px 0 0;
}

.works_main .works_body .works_html iframe {
	width: 100%;
}

.works_main .works_body .detail_img {
	margin: 30px 0 0;
}

.works_main .serial_nav {
	display: none;
}

.side_navi {
	position: fixed;
	top: 150px;
	right: -3px;
	z-index: 4;
	display: flex;
}

.menu_open .side_navi {
	z-index: 1;
}

.side_navi_list {
	width: 195px;
	background: url(../images/works/snavi_back.png) no-repeat 0 0 / 100% auto;
	order: 1;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	position: absolute;
	transition: opacity 0.2s ease,
				visibility 0.3s ease;
	left: -110px;
	top: -10px;
}

.side_navi.hover .side_navi_list {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.side_navi_list ul {
	padding: 13px 40px 0 20px;
}

.side_navi_list li {
	margin: 30px 0;
}

.side_navi_list li a {
	padding: 0 0 0 28px;
	display: block;
}

.side_navi_list .snavi_book img {
	width: 45px;
}

.side_navi_list .snavi_illust img {
	width: 60px;
}

.side_navi_list .snavi_character img {
	width: 93px;
}

.side_navi_list .snavi_other img {
	width: 104px;
}

.side_navi_list .snavi_book.stay_book a,
.side_navi_list .snavi_illust.stay_illust a,
.side_navi_list .snavi_character.stay_character a,
.side_navi_list .snavi_other.stay_other a {
	background: url(../images/works/arrow.svg) no-repeat 0 6px / 19px auto;
}

@media screen and (min-width: 768px) {

	.side_navi {
		top: 200px;
		right: 27px;
	}

	.lg_1 .side_navi {
		top: 310px;
	}

	.side_navi_list {
		width: 264px;
		top: 20px;
		left: -100px;
	}
/*
	.side_navi:hover .side_navi_list {
		opacity: 1;
		visibility: visible;
		z-index: 1;
	}
*/
	.side_navi.on .side_navi_list {
		height: 378px;
	}

	.side_navi_list ul {
		padding: 30px 40px 36px 30px;
	}

	.side_navi_list li {
		margin: 20px 0;
	}

	.side_navi_list li a {
		padding: 10px 0 10px 35px;
	}

	.side_navi_list li a:hover {
		transition: none;
		background: url(../images/works/arrow.svg) no-repeat 0 17px / 23px auto;
	}

	.side_navi_list .snavi_book img {
		width: 54px;
	}

	.side_navi_list .snavi_illust img {
		width: 73px;
	}

	.side_navi_list .snavi_character img {
		width: 112px;
	}

	.side_navi_list .snavi_other img {
		width: 125px;
	}

	.side_navi_list .snavi_book.stay_book a,
	.side_navi_list .snavi_illust.stay_illust a,
	.side_navi_list .snavi_character.stay_character a,
	.side_navi_list .snavi_other.stay_other a {
		background: url(../images/works/arrow.svg) no-repeat 0 17px / 23px auto;
	}


}

.side_mouse {
	width: 135px;
	height: 90px;
	order: 2;
	position: relative;
	cursor: pointer;
}


@media screen and (min-width: 768px) {

	.side_mouse {
		width: 285px;
		height: 180px;
	}

}


/* -----------------
	about
----------------- */

.page_title_column {
	margin: 40px 0;
	display: flex;
	justify-content: center;
}

.about .page_title_column .category_title img {
	width: 135px;
}

.page_body_column {
	margin: 0 20px 100px;
}

.entry_line {
	visibility: inherit;
	background: url(../images/common/news_line.png) no-repeat 0 bottom / 4000px auto;
}

@media screen and (min-width: 768px) {

	.page_entry_column {
		display: flex;
		position: relative;
	}

	.news .page_entry_column {
		min-height: calc(100vh - 117px);
		min-height: calc(100dvh - 117px);
	}

	.lg_1.news .page_entry_column {
		min-height: calc(100vh - 217px);
		min-height: calc(100dvh - 217px);
	}

	.page_title_column {
		width: 37.5%;
		display: flex;
		justify-content: center;
		position: fixed;
		left: 0;
		top: 480px;
	}

	.about .page_title_column .category_title img {
		width: 189px;
	}

	.page_body_column {
		margin: 0;
		padding: 0 5% 80px 37.5%;
		width: 100%;
		z-index: 2;
	}

	.page_body_column .page_body_inner {
		max-width: 1200px;
	}

	.entry_line {
		visibility: inherit;
	}

}

@media screen and (min-width: 768px) and (max-height: 1099px){

	.page_title_column {
		top: 42vh;
		top: 42dvh;
	}

}

.about .entry_column h2 {
	margin: 0 0 20px;
	font-family: "Darumadrop One", sans-serif;
	font-weight: 500;
	font-size: 3.0rem;
	font-style: normal;
}

.entry_profile {
	margin: 30px 0 0;
}

.entry_profile:has(+.entry_profile) dl {
	margin: 0 0 50px;
}

.entry_profile dt {
	padding: 0 0 10px;
	font-size: 1.6rem;
	font-weight: 600;
}

.entry_profile dd {
	padding: 0 0 0 15px;
	background: url(../images/common/list_mark.svg) no-repeat 0 7px / 10px auto;
}

.entry_profile dd h3 {
	margin: 0 0 10px;
	padding: 0;
	background: none;
    color: var(--color_text);
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: 600;
}

.entry_profile dd p {
	margin: 0 0 10px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
}

@media screen and (min-width: 768px) {

	.about .entry_column h2 {
		font-size: 4.0rem;
	}

	.entry_profile {
		margin: 60px 0 0;
	}

	.entry_profile dl {
		display: flex;
	}

	.entry_profile:has(+.entry_profile) dl {
		margin: 0;
	}

	.entry_profile dt {
		padding: 3px 0 0;
		font-size: 1.8rem;
		line-height: 1.3;
		width: 120px;
	}

	.entry_profile dd {
		padding: 0 0 0 30px;
		background: url(../images/common/list_mark.svg) no-repeat 0 7px / 12px auto;
	}

	.entry_profile dd h3 {
		margin: 0 0 15px;
		font-size: 2.0rem;
	}

	.entry_profile dd p {
		font-size: 1.6rem;
	}

}

.side_anime {
	display: none;
}

.bottom_anime {
	z-index: 11;
}

.anime_about {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 260px;
}

.anime_news_sp {
	position: fixed;
	bottom: 0;
	left: -240px;
	width: 230px;
}

.anime_contact {
  	position: fixed;
  	bottom: 0;
  	left: 0;
  	width: 250px;
}

.anime_waking_mouse {
	position: absolute;
	top: 100px;
	left: -70px;
	width: 70px;
	z-index: 2;
}

.anime_meganeko {
	position: fixed;
	bottom: -10px;
	left: 0px;
	width: 120px;
	z-index: 11;
}

@media screen and (min-width: 768px) {

	.side_anime {
		display: block;
	}

	.bottom_anime {
		display: none;
	}

	.anime_about {
		position: absolute;
		top: 0;
		bottom: auto;
		left: -100px;
		width: 700px;
	}

	.anime_news_pc {
  		position: absolute;
  		top: 75px;
  		left: -550px;
  		width: 550px;
	}

	.anime_contact {
		position: absolute;
		top: 0;
		bottom: auto;
		left: 0;
		width: 700px;
	}

	.anime_waking_mouse {
  		top: 270px;
  		left: -170px;
  		width: 150px;
	}

	.anime_meganeko {
		position: fixed;
		bottom: -35px;
		left: 0px;
		width: 400px;
		z-index: 4;
	}

}

@media screen and (min-width: 768px) and (max-width: 1499px) {

	.anime_meganeko {
		bottom: -25px;
		width: min(400px, 26.6666vw);
	}

}

@media screen and (min-width: 768px) and (max-width: 1399px) {

	.anime_about {
		left: -15vw;
	}

	.anime_contact {
		left: -5vw;
	}

}

@media screen and (min-width: 768px) and (max-width: 1199px) {

	.anime_about {
		left: -23vw;
	}

}


/* -----------------
	contact
----------------- */

.contact .page_title_column .category_title img {
	width: 174px;
}

.contact_text .entry_column h2 {
	margin-bottom: 40px;
	font-family: inherit;
}

.contact_faq {
	margin: 0 0 80px;
}

.contact_faq h2 {
	margin: 0 0 30px;
	color: var(--color_text_orange);
	font-size: 2.7rem;
	font-weight: 600;
	line-height: 1.4;
}

.faq_list li {
	margin: 0 0 15px;
	background: #fff;
	border-radius: 30px;
}

.faq_q {
	cursor: pointer;
	list-style: none;
	padding: 20px 20px 20px 25px;
}

@media screen and (min-width: 768px) {

	.contact .page_title_column .category_title img {
		width: 209px;
	}

	.contact_faq {
		margin: 0 0 80px;
	}

	.contact_faq h2 {
		font-size: 3.0rem;
	}

	.faq_list li {
		margin: 0 0 18px;
		border-radius: 40px;
	}

	.faq_q {
		padding: 30px 30px 30px 60px;
	}

}

.faq_q h3 {
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--color_orange);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.faq_q h3 .plus {
	margin: 0 0 0 15px;
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
}

.faq_q h3 .plus::before,
.faq_q h3 .plus::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 20px;
	height: 20px;
	margin: auto;
	background: url(../images/common/minus.svg) no-repeat 0 0 / 20px auto;
    transition: all 0.3s ease;
}

.faq_q h3 .plus::after {
	transform: rotate(-90deg);
}

@media screen and (min-width: 768px) {

	.faq_q h3 {
		font-size: 2.3rem;
	}

	.faq_q h3 .plus {
		margin: 0 0 0 30px;
		width: 25px;
		height: 25px;
	}

	.faq_q h3 .plus::before,
	.faq_q h3 .plus::after {
		width: 25px;
		height: 25px;
		background: url(../images/common/minus.svg) no-repeat 0 0 / 25px auto;
	}

}

.step\=reapply .faq_q h3 .plus::after,
.is-open .faq_q h3 .plus::after {
	transform: rotate(0deg);
}

.faq_list .faq_a {
	padding: 0 25px 10px;
}

.faq_list .faq_a .entry_column {
	padding: 20px 0 0;
	background: url(../images/common/news_line.png) no-repeat 0 top / 4000px auto;
}

.acc_panel {
	display:none;
}

.step\=reapply .acc_panel {
	display: block;
}

@media screen and (min-width: 768px) {

	.faq_list .faq_a {
		padding: 10px 30px 30px;
	}

	.faq_list .faq_a .entry_column {
		padding: 20px 30px 0;
		background-position: 30px 0;
	}

}

.faq_a .entry_column {
	margin: 0;
}

.faq_a .entry_column p {
	margin: 0 0 20px;
	font-size: 1.4rem;
	line-height: 1.8;
	font-weight: 500;
}

.form_entry {
	padding: 0 0 50px;
}

.contact_form .contact_form_box {
	margin: 30px 0;
}

.contact_form .form_column {
	margin: 25px 0 0;
}

.contact_form .form_column dt {
	margin: 0 0 10px;
	font-size: 1.6rem;
	font-weight: 600;
	display: flex;
	align-items: center;
}

.contact_form .form_column dt .require {
	margin: 0 0 0 10px;
	background: var(--color_orange);
	color: #fff;
	font-size: 1.3rem;
	padding: 1px 4px 2px;
	display: inline-block;
	border-radius: 4px;
}

@media screen and (min-width: 768px) {

	.faq_a .entry_column p {
		margin: 0 0 20px;
		font-size: 2.0rem;
		line-height: 1.7;
	}

	.form_entry {
		padding: 0 30px 75px;
	}

	.contact_form .contact_form_box {
		margin: 45px 60px 30px 0;
	}

	.contact_form .form_column {
		margin: 30px 0 0;
	}

	.contact_form .form_column dt {
		font-size: 1.8rem;
	}

	.contact_form .form_column dt .require {
		margin: 0 0 0 15px;
		font-size: 1.5rem;
		padding: 1px 5px 2px;
	}

}

.contact_form_confirm dd {
	padding: 12px;
	border: 1px solid #C4C4C4;
	border-radius: 10px;
}

.contact_form .form_column dd label {
	display: block;
}

.contact_form .form_column dd input,
.contact_form .form_column dd textarea {
	padding: 12px;
	border: 1px solid #C4C4C4;
	border-radius: 10px;
	font-size: 1.5rem;
	line-height: 1.6;
	font-weight: 500;
	width: 100%;
}

.contact_form .form_column dd textarea {
	height: 190px;
}

.contact_form .form_column .form_error {
	margin: 10px 0 0;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color_text_orange);
}

@media screen and (min-width: 768px) {

	.contact_form_confirm dd {
		padding: 16px;
	}

	.contact_form .form_column dd input,
	.contact_form .form_column dd textarea {
		padding: 16px;
	}

	.contact_form .form_column dd textarea {
		height: 250px;
	}

	.contact_form .form_column .form_error {
		font-size: 1.6rem;
	}

}

.contact_form .form_btn_column .form_btn_back {
	margin: 50px 0 20px;
}

.contact_form .btn_confirm,
.contact_form .btn_send,
.contact_form .btn_back {
	padding: 16px 0px;
	line-height: 1.2;
	font-size: 1.5rem;
	font-weight: 700;
	border-radius: 50px;
	width: 100%;
	color: #fff;
	border: none;
	background: var(--color_orange);
}

.contact_form .btn_confirm span,
.contact_form .btn_send span {
	padding-right: 15px;
	background: url(../images/common/icon_btn.png) no-repeat right center / 10px auto;
}

.contact_form .btn_back span {
	padding-left: 15px;
	background: url(../images/common/icon_btn_back.png) no-repeat left center / 10px auto;
}

@media screen and (min-width: 768px) {

	.contact_form .form_btn_column {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.contact_form .form_btn_column .form_btn_back {
		margin: 0 60px 0 0;
	}

	.contact_form .btn_confirm,
	.contact_form .btn_send,
	.contact_form .btn_back {
		padding: 16px 25px 16px 30px;
		font-size: 2.0rem;
		width: auto;
		background: var(--color_orange);
	}

	.contact_form .btn_confirm span,
	.contact_form .btn_send span {
		padding-right: 30px;
		background-size: 14px auto;
	}

	.contact_form .btn_back span {
		padding-left: 30px;
		background-size: 14px auto;
	}

	.contact_form .btn_send:hover,
	.contact_form .btn_confirm:hover,
	.contact_form .btn_back:hover {
		background-color: #F86C31;
		color: #fff;
	}

}

/* -----------------
	news
----------------- */

.news .page_title_column .category_title img {
	width: 110px;
}

.news .index_text {
	margin: 40px 0 0;
}

.news .index_text p {
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.5;
}

.news .index_text + .news_list {
	margin-top: 30px;
}

.news .index_text + .entry_title {
	margin-top: 30px;
}

.news_list {
	margin: 0 0 50px;
	width: 100%;
}

.news_list li {
	background: url(../images/common/news_line.png) no-repeat 0 bottom / 4000px auto;
}

.news_list li a {
	padding: 20px 0;
	display: block;
}

.news_list li:first-child a {
	padding-top: 0;
}

.news_list li time {
	margin: 0 0 10px;
	font-size: 1.7rem;
	font-weight: 600;
	display: block;
	color: var(--color_text_orange);
}

.news_list li h2 {
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.4;
}

@media screen and (min-width: 768px) {

	.news .page_title_column .category_title img {
		width: 158px;
	}

	.news .index_text {
		margin: 80px 0 0;
	}

	.news .index_text p {
		font-size: 2.0rem;
	}

	.news .index_text + .news_list {
		margin-top: 50px;
	}

	.news .index_text + .entry_title {
		margin-top: 50px;
	}

	.news_list {
		margin: 100px 0 70px;
	}

	.news_list li a {
		padding: 35px 0;
	}

	.news_list li time {
		margin: 0 0 15px;
		font-size: 2.0rem;
	}

	.news_list li h2 {
		font-size: 2.0rem;
	}

}

/* -----------------
	ページャー
----------------- */

.pager {
	margin: 0;
	display: flex;
	justify-content: center;
}

.pager .pager_prev,
.pager .pager_next {
	width: 40px;
	height: 40px;
}

.pager .pager_prev a,
.pager .pager_next a {
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	font-size: 2.8rem;
	color: var(--color_orange);
}

.pager .pager_prev span,
.pager .pager_next span {
	height: 40px;
	padding-bottom: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pager .pager_list {
	margin: 0 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
}

.pager .pager_list_item {
	margin: 0 5px;
	display: block;
}

.pager .pager_list_item.cur > span,
.pager .pager_list_item.dot > span,
.pager .pager_list_item a {
	padding-bottom: 4px;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
}

.pager .pager_list_item.dot > span {
	padding-bottom: 16px;
}

.pager .pager_list_item.dot > span,
.pager .pager_list_item a {
	color: var(--color_orange);
	background: #fff;
}

.pager .pager_list_item.cur span {
	color: #fff;
	background: var(--color_orange);
}

@media screen and (min-width: 768px) {

	.pager .pager_list {
		font-size: 2.8rem;
	}

	.pager .pager_list_item.dot > span {
		padding-bottom: 20px;
	}

	.pager .pager_list_item.cur > span,
	.pager .pager_list_item.dot > span,
	.pager .pager_list_item a {
		padding-bottom: 8px;
	}

}


/* -----------------
	詳細ページ
----------------- */

.entry_title {
	margin: 0 0 30px;
}

.entry_title h1 {
	padding: 0 0 20px;
	color: var(--color_orange);
	font-size: 2.6rem;
	line-height: 1.4;
	font-weight: 700;
	background: url(../images/common/news_line.png) no-repeat 0 bottom / 4000px auto;
}

.entry_title time {
	margin-top: 15px;
	font-size: 1.6rem;
	font-weight: 700;
	display: block;
}

.entry_title + .entry_inner .entry_column {
	margin-top: 30px;
}


@media screen and (min-width: 768px) {

	.entry_column {
		margin: 120px 0 0;
	}

	.entry_title {
		margin: 120px 0 50px;
	}

	.entry_title h1 {
		padding: 0 0 30px;
		font-size: 3.0rem;
		line-height: 1.7;
	}

	.entry_title time {
		margin-top: 25px;
		font-size: 2.0rem;
	}

	.entry_title + .entry_inner .entry_column {
		margin-top: 50px;
	}

}

/* -----------------
	ユニットパーツ
----------------- */

.entry-container {
	margin: 0;
}

.media-image-block {
	margin: 0 0 25px;
}

.media-image-block img {
	border-radius: 10px;
	width: 100%;
	height: auto;
}

.align-center {
	text-align: center;
}

.entry_column p {
	margin: 0 0 30px;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.8;
}

.entry_column p em {
	color: var(--color_orange);
	font-weight: 900;
}

.works_info h1::selection,
.works_info h2::selection,
.works_info p::selection,
.works_info dt::selection,
.works_info dd::selection,
.entry_title time::selection,
.entry_column h4::selection,
.entry_column li::selection,
.entry_column td::selection,
.entry_column p::selection,
.entry_column td::selection,
.entry_column td div::selection,
.copyright::selection,
.entry_profile h3::selection,
.entry_profile dd::selection {
	color: #fff;
	background: var(--color_orange);
}

.entry_column p strong {
	color: #3D3D3D;
	font-weight: 900;
}

.entry_column p .p_min {
	font-size: 1.4rem;
	font-weight: 400;
}

.entry_column p a {
	text-decoration: underline;
	color: var(--color_orange);
}

.entry_column p a[target="_blank"] {
	padding-right: 22px;
	background: url(../images/common/icon_blank.svg) no-repeat right center / 18px auto;
}

.entry_column p.a_center {
	text-align: center;
}

.entry_column p.a_right {
	text-align: right;
}

.entry_column p.btn_link {
	margin: 20px 0;
	line-height: 1.2;
}

.entry_column p.btn_link a {
	padding: 12px 35px 12px 20px;
	color: #fff;
	border-radius: 30px;
	font-weight: 900;
	background: var(--color_orange) url(../images/common/icon_btn.png) no-repeat right 15px center / 10px auto;
	text-decoration: none;
	display: inline-block;
}

.entry_column p.note {
	margin: 0 0 10px;
	font-size: 1.4rem;
	line-height: 1.5;
	color: #636f7e;
	text-indent: -1em;
	padding-left: 1em;
}

@media screen and (min-width: 768px) {

	.media-image-block {
		margin: 0 0 45px;
	}

	.entry_column p {
		margin: 0 0 40px;
		font-size: 2.0rem;
		line-height: 2.1;
	}

	.entry_column p a:hover {
		color: #F86C31;
	}

	.entry_column p .p_min {
		font-size: 1.8rem;
	}

	.entry_column p.btn_link {
		margin: 30px 0;
	}

	.entry_column p.btn_link a {
		padding: 15px 45px 15px 25px;
		background: var(--color_orange) url(../images/common/icon_btn.png) no-repeat right 20px center / 14px auto;
    	transition: all 0.3s ease;
	}

	.entry_column p.btn_link a:hover {
		background-color: #F86C31;
		color: #fff;
	}

	.entry_column p.note {
		margin: 0 0 10px;
		font-size: 1.4rem;
		line-height: 1.4;
	}

}

.entry_column h2 {
	margin: 30px 0 10px;
	color: var(--color_text_orange);
	font-size: 2.7rem;
	line-height: 1.4;
	font-weight: 900;
}

.entry_column h3 {
	margin: 30px 0 10px;
	padding: 3px 10px 6px;
	background: var(--color_orange);
	border-radius: 10px;
	color: #fff;
	font-size: 2.2rem;
	line-height: 1.4;
	font-weight: 700;
}

.entry_column h4 {
	margin: 30px 0 10px;
	padding: 0 0 0 18px;
	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: 700;
	position: relative;
}

.entry_column h4::after {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 8px;
	height: 100%;
	background: var(--color_orange);
	border-radius: 5px;
}

@media screen and (min-width: 768px) {

	.entry_column h2 {
		margin: 60px 0 10px;
		font-size: 3.0rem;
	}

	.entry_column h3 {
		margin: 60px 0 10px;
		padding: 4px 15px 7px;
		font-size: 2.5rem;
	}

	.entry_column h4 {
		margin: 60px 0 15px;
		padding: 0 0 0 20px;
		font-size: 2.5rem;
	}

	.entry_column h4::after {
		width: 10px;
	}

}

.entry_column ul {
	margin: 30px 0;
}

.entry_column ul li {
	margin: 10px 0;
	padding: 0 0 0 15px;
	font-size: 1.7rem;
	font-weight: 700;
	position: relative;
}

.entry_column li p {
	margin: 0;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.6;
}

.entry_column ul li::after {
	position: absolute;
	content: '';
	left: 0;
	top: 8px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--color_orange);
}

.entry_column ol {
	margin: 30px 0 30px 20px;
}

.entry_column ol li {
	margin: 15px 0;
	padding: 0 0 0 5px;
	font-size: 1.8rem;
	font-weight: 700;
	position: relative;
}

@media screen and (min-width: 768px) {

	.entry_column ul {
		margin: 40px 0;
	}

	.entry_column ul li {
		margin: 15px 0;
		padding: 0 0 0 22px;
		font-size: 2.0rem;
	}

	.entry_column li p {
		font-size: 2.0rem;
		line-height: 1.4;
	}

	.entry_column ul li::after {
		top: 8px;
		width: 13px;
		height: 13px;
	}

	.entry_column ol {
		margin: 40px 0 40px 24px;
	}

	.entry_column ol li {
		margin: 25px 0;
		font-size: 2.0rem;
	}

}

.entry_column .column-table .acms-table-scrollable th,
.entry_column .column-table .acms-table-scrollable td {
	display: table-cell;
	white-space: nowrap;
}

.entry_column .column-table > div:has(.acms-table-scrollable) {
	overflow: auto;
}

.entry_column .column-table > div:has(.acms-table-scrollable) table {
	width: auto;
}

.entry_column .column-table {
	margin: 20px 0;
}

.entry_column table {
	margin: 15px 0;
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
}

.entry_column th {
	padding: 15px 20px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	background: var(--color_orange);
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	text-align: left;
}

.entry_column tr > th:first-child {
	border-left: none;
}

.entry_column tr:first-child > th {
	border-top: none;
}

.entry_column td {
	padding: 20px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	background: #fff;
	color: var(--color_text);
	border-bottom: 1px solid #948E8A;
	border-right: 1px solid #948E8A;
	vertical-align: top;
}

.entry_column tr:last-child > td {
	border-bottom: none;
}

.entry_column tr > td:last-child {
	border-right: none;
}

@media screen and (min-width: 768px) {

	.entry_column .column-table {
		margin: 50px 0;
	}

	.entry_column th {
		padding: 24px;
		font-size: 1.8rem;
	}

	.entry_column td {
		padding: 30px;
		font-size: 1.8rem;
	}

}

/* -----------------
	カラム設定
----------------- */

.group_white {
	margin: 0 0 40px;
	padding: 30px;
	background: #fff;
	border-radius: 20px;
}

.gropu_2column h2,
.gropu_2column h3,
.gropu_2column h4,
.group_white h2,
.group_white h3,
.group_white h4 {
	margin-top: 0;
}

.group_white p {
	margin-bottom: 0;
}

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

.gropu_2column_box {
	width: calc(50% - 15px);
}

@media screen and (min-width: 768px) {

	.group_white {
		margin: 0 0 50px;
		padding: 50px 65px 60px;
	}

	.gropu_2column_box {
		width: calc(50% - 35px);
	}

}


/* -----------------------
　　　404
----------------------- */

#notfound {
	color: var(--color_text);
}

#wrapper_404 {
	margin: 10px;
	padding: 30px;
	width: auto;
    background-image: none;
}

#box_404 {
	border-radius: 5px;
}

.inner_left404 {
    margin-right: 0;
    margin-bottom: 40px;
	text-align: left;
}

.inner_left404 img {
	margin: 0 auto;
	width: 200px;
}

.inner_right404 {
    font-size: 1.4rem;
}

.inner_right404 h1 {
    font-size: 2.0rem;
    margin-bottom: 20px;
	text-align: left;
}

.inner_right404 p {
    margin-bottom: 10px;
}

.inner_right404 p a {
	text-decoration: underline;
}

#copyright_404 {
    display: block;
	margin: 10px 10px 0;
	text-align: center;
	font-size: 1.2rem;
}

.inner_left404 .site_logo_gold {
	margin: 0 10px 0 0;
	width: 40px;
}

.inner_left404 .site_logo_text {
	width: 130px;
}

.inner_left404 a {
	display: flex;
	align-items: center;
}

@media screen and (min-width: 600px) {

	#notfound {
	    padding-top: 50px;
	}

	#wrapper_404 {
		margin: 0 auto;
		padding: 60px 60px 0 70px;
		width: 1100px;
	}

	#box_404 {
		margin-bottom: 40px;
		padding: 0;
		display: flex;
		align-items: center;
	}

	.inner_left404 {
	    margin-right: 50px;
	    margin-bottom: 0;
	    text-align: left;
	}

	.inner_left404 img {
		margin: 0 auto;
		width: 250px;
		text-align: center;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 16px;
	}

	.inner_right404 h1 {
	    font-size: 24px;
	    margin-bottom: 20px;
	    text-align: left;
	}

	.inner_left404 .site_logo_gold {
		margin: 0 10px 0 0;
		width: 40px;
	}

}

@media screen and (min-width: 600px) and (max-width: 768px) {

	#wrapper_404 {
		padding: 60px 20px;
		width: 600px;
	}

	#box_404 {
		margin-bottom: 20px;
	}

	.inner_left404 {
	    margin-right: 30px;
	}

	.inner_left404 img {
		width: 200px;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 14px;
	}

	.inner_right404 h1 {
	    font-size: 20px;
	}

}

#adminBox .acms-admin-btn-admin {
	padding: 5px;
	font-size: 1.2rem;
}

#adminBox {
    margin-bottom: 0 !important;
    height: 80px;
    width: 100%;
    z-index: 100;
}

.acms-admin-btn-admin {
	font-size: 1.6rem;
}

.acms-admin-btn-action-group th,
.acms-admin-btn-action-group td {
	padding-right: 10px !important;
	background-image: none !important;
	font-size: 1.4rem !important;
	white-space: nowrap !important;
}

.acms-admin-form .entryFormLiteEditor, .acms-admin-form textarea,
.acms-admin-btn,
.acms-admin-form select {
	font-size: 14px;
}

.lg_6 #adminBox,
.lg_7 #adminBox,
.lg_5 #adminBox,
.lg_4 #adminBox,
.lg_3 #adminBox,
.lg_2 #adminBox,
.lg_1 #adminBox {
	position: fixed;
	top: 0;
}

@media screen and (min-width: 768px) {

	#adminBox .acms-admin-btn-admin {
		padding: 10px;
		font-size: 1.2rem;
	}

	#adminBox {
	    height: 100px;
	}

}

.titleWrapper {
	margin: 0 auto;
	padding: 40px 30px;
	max-width: 1100px;
	background-color: #f2f2f5;
	text-align: left;
}

.titleWrapper h2 {
	margin: 0 0 30px 0;
	font-size: 3.0rem;
}

.custom_field_edit h3 {
	padding: 20px 10px;
	font-size: 1.8rem;
	font-weight: bold;
}

.entryFormLiteEditor a {
	text-decoration: underline;
	color: var(--color_red);
}

.entryFormLiteEditor em {
  color: var(--color_red);
  font-weight: bold;
}

.entryFormLiteEditor strong {
  font-weight: bold;
}

.entryFormLiteEditor span.p_min {
	font-size: 1.2rem;
}

.js-lazy-load {
	transform: translateY(0);
	transition: opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
}

.entryFormSelectBottom {
  max-width: inherit !important;
}

.entryFormWrapper,
.entryFormTable td {
	text-align: left;
}

.entryFormColumn .entryFormColumnHead .entryFormColumnHeadLayoutBox input,
.entryFormColumn .entryFormColumnHead .entryFormColumnHeadLayoutBox select {
	max-width: inherit;
}

.works_entry_wrapper .acms-box-medium {
  margin-bottom: 80px;
}

@media (min-width: 768px) {
  .acms-admin-inline-btn .acms-admin-btn-admin,
  .formEntryActionUnit .acms-admin-btn-admin {
    font-size: 14px;
  }

  .comPostWrapper .acms-admin-btn-admin {
    font-size: 16px;
  }
}
