@charset "utf-8";

html,
body {
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
}

body {
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	color: #3f220e;
	text-align: left;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	/*overflow-x: hidden;*/
}

header,
nav,
article,
aside,
section,
footer {
	display: block;
}

body,
h1,
h2,
h3,
h4,
h5 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: normal;
}

div,
p {
	color: #3f220e;
	margin: 0;
	padding: 0;
}

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

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

ol li {
	list-style: decimal-leading-zero;
	list-style-position: inside;
}

span {
	display: inline-block;
}

a {
	color: #34d8e2;
	outline: 0;
	word-wrap: break-word;
}

strong {
	color: #ff931e;
}

.theme_text_title {
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 5px;
	font-size: 1.6rem;
}


/* センター揃え */

.centre {
	text-align: center;
}


/* マーカー */

.marker_y {
	background: linear-gradient(transparent 60%, #fCD997 60%);
}


/* w */

.w100p {
	width: 100%;
	height: auto;
}

#footer {
	text-align: center;
	padding: 8px;
	margin: auto;
	color: #fff;
	background-color: #ff931e;
}


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


/*========= 現在地表示のためのCSS ===============*/

.header_logo img {
	width: 50px;
	transition: 0.3s;
}

#header {
	position: fixed;
	/*header固定*/
	height: 70px;
	/*Headerの高さ設定*/
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	color: #ff931e;
	text-align: center;
	padding: 20px;
	border-bottom: 2px #ff931e solid;
	z-index: 10;
}

/*------------------------------------*\
							ローディング画面
\*------------------------------------*/

#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: -moz-linear-gradient(top, #FFC778, #FFF);
	background: -webkit-linear-gradient(top, #FFC778, #FFF);
	background: linear-gradient(to bottom, #FFC778, #FFF);
	z-index: 1000000;
}

#loader {
	position: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -100px;
	margin-left: -100px;
	text-align: center;
	color: #fff;
	z-index: 2;
}

.main_logo-rotateY {
	display: block;
	-webkit-animation: animeY 5s linear infinite;
	animation: animeY 5s linear infinite;
	margin: 8px auto 0;
}

@-webkit-keyframes animeY {
	0% {
		-webkit-transform: rotateY(-0deg);
	}

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

@keyframes animeY {
	0% {
		transform: rotateY(-0deg);
	}

	100% {
		transform: rotateY(360deg);
	}
}

/*------------------------------------*\
スライダー
\*------------------------------------*/
/* カルーセル/////////////////////////// */
.carousel {
	margin: 0 auto;
	/* --carousel-width: 420px;*/
	--carousel-height: 370px;
	max-width: 550px;
	width: var(--carousel-width);
	height: var(--carousel-height);
	position: relative;
}


/* items----------------------------------- */
.carousel #items-wrapper {
	margin: 0 auto;
	width: calc(var(--carousel-width) - 100px);
	height: var(--carousel-height);
	position: relative;
	overflow: hidden;
}

.carousel #items-wrapper img {
	width: 100%;
	position: absolute;
	top: 20%;
	left: 0;
	opacity: 0;
}

.carousel #items-wrapper img.active {
	opacity: 1;
}

.carousel #items-wrapper img.fadeRightIn {
	animation-name: fadeRightIn;
	animation-duration: 0s;
	opacity: 1;
}

.carousel #items-wrapper img.fadeLeftOut {
	animation-name: fadeLeftOut;
	animation-duration: 0s;
}

.carousel #items-wrapper img.fadeLeftIn {
	animation-name: fadeLeftIn;
	animation-duration: 0s;
	opacity: 1;
}

.carousel #items-wrapper img.fadeRightOut {
	animation-name: fadeRightOut;
	animation-duration: 0s;
}

@keyframes fadeRightIn {
	0% {
		opacity: 0;
		transform: translateX(100%);
	}

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

@keyframes fadeLeftOut {
	0% {
		opacity: 1;
		transform: translateX(0%);
	}

	100% {
		opacity: 0;
		transform: translateX(-100%);
	}
}

@keyframes fadeLeftIn {
	0% {
		opacity: 0;
		transform: translateX(-100%);
	}

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

@keyframes fadeRightOut {
	0% {
		opacity: 1;
		transform: translateX(0%);
	}

	100% {
		opacity: 0;
		transform: translateX(100%);
	}
}


/* select-tabs----------------------------- */
#select-tabs {
	width: var(--carousel-width);
	text-align: center;
	position: sticky;
	top: 80%;
	left: 0;
}

#select-tabs button {
	margin: 0 3px;
	width: 0px;
	height: 13px;
	background-color: #cccccc80;
	border-radius: 50%;
	border: none;
	cursor: pointer;
}

#select-tabs button.active {
	background-color: #888;
}


/* change-buttons--------------------------
#change-buttons {
	width: var(--carousel-width);
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 45%;
	left: 0;
}

#change-buttons button {
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	--arrow-size: 10px;
	--arrow-design: 3px solid black;
	--arrow-rotate: -45deg;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 前へボタン
#change-buttons button:nth-child(1)::after {
	content: "";
	width: var(--arrow-size);
	height: var(--arrow-size);
	display: block;
	border-top: var(--arrow-design);
	border-left: var(--arrow-design);
	transform: rotate(var(--arrow-rotate));
}

/* 次へボタン
#change-buttons button:nth-child(2)::after {
	content: "";
	width: var(--arrow-size);
	height: var(--arrow-size);
	display: block;
	border-bottom: var(--arrow-design);
	border-right: var(--arrow-design);
	transform: rotate(var(--arrow-rotate));
}
	 */

/*------------------------------------*\
モーダルCSS
\*------------------------------------*/


/*全て共通：hideエリアをはじめは非表示*/

.hide-area {
	display: none;
}


/*全て共通：モーダルのボタンの色を変更したい場合*/

.modaal-close:after,
.modaal-close:before {
	background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
	background: #666;
}


/*確認を促すモーダル：タイトルの色を変更したい場合*/


/*動画表示のモーダル：余白を変更したい場合*/

.modaal-video .modaal-inner-wrapper {
	padding: 0;
}


/*以下はコンテンツ内のレイアウト*/

.info-list dl,
.gallery-list {
	display: flex;
}

.info-list dt {
	margin: 0 10px 0 0;
}

.gallery {
	width: 100%;
}

.logo_h {
	display: table;
	margin: auto;
	margin: 10px auto;
}

.logo_h-img {
	width: 70vw;
	max-width: 400px;
}

.f-bg {
	background-color: #fff;
}

.modaal-content-container {
	text-align: center;
}


/* 並び */

.y_box {
	display: flex;
}

.x_box {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	margin: 10px 0;
}

/* 右下カウント */

.img-wrapper {
	position: relative;
}

.count-badge {
	position: absolute;
	bottom: 4px;
	right: 4px;
	background: rgba(255, 255, 255, 0.85);
	color: #333;
	padding: 2px 6px;
	font-size: 12px;
	border-radius: 12px;
	font-family: sans-serif;
	line-height: 1;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}


/*------------------------------------*\
SNS
\*------------------------------------*/

.btn,
a.btn,
button.btn {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}

a.btn-sns {
	font-size: 2.4rem;
	line-height: 50px;
	width: 50px;
	height: 50px;
	padding: 0;
	letter-spacing: 0;
	color: #fff;
}

.sns_icon li {
	margin: 6px;
}


/*------------------------------------*\
 YouTube
\*------------------------------------*/

a.btn-sns--youtube {
	background: #cd201f;
	border-radius: 50%;
}

.fa-youtube-f:before {
	content: "\f167";
}


/*------------------------------------*\
 Twitter "\e61b" "\f099"
\*------------------------------------*/
a.btn-sns--twitter {
	background: #1da1f2;
	border-radius: 50%;
}

.fa-twitter-f:before {
	content: "\f099";
}

.fa-twitter-f:hover::before {
	content: '𝕏';
	font-family: unset;
	font-weight: bold;
}

/*------------------------------------*\
　X

a.btn-sns--X {
	background: #134094;
	border-radius: 50%;
}

.fa-X-f:before {
	content: '𝕏';
	font-family: unset;
	font-weight: bold;
}

\*------------------------------------*/

/*------------------------------------*\
LINE
\*------------------------------------*/

a.btn-sns--line {
	background: #00b900;
	border-radius: 50%;
}

.fa-line-f:before {
	content: "\f3c0";
}


/*------------------------------------*\
フォーム
\*------------------------------------*/

a.btn-s {
	margin-top: 50px;
	font-size: 1.8rem;
	position: relative;
	padding: 2rem 4rem 2rem 2rem;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(255, 114, 114);
	background: linear-gradient(90deg, rgba(255, 114, 114, 1) 0%, rgba(255, 208, 183, 1) 100%);
	-webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

a.btn-s_min {
	margin-bottom: 40px;
	font-size: 1.8rem;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(255, 114, 114);
	background: linear-gradient(90deg, rgba(255, 114, 114, 1) 0%, rgba(255, 208, 183, 1) 100%);
	-webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

a.btn-f {
	margin-top: 30px;
	font-size: 1.8rem;
	position: relative;
	padding: 2rem 4rem 2rem 2rem;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(40, 83, 148);
	background: linear-gradient(90deg, rgba(40, 83, 148, 1) 0%, rgba(0, 212, 255, 1) 100%);
	-webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

a.btn-f_min {
	margin-top: 20px;
	font-size: 1.8rem;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(40, 83, 148);
	background: linear-gradient(90deg, rgba(40, 83, 148, 1) 0%, rgba(0, 212, 255, 1) 100%);
	-webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

a.btn-i {
	margin-top: 50px;
	font-size: 1.8rem;
	position: relative;
	padding: 2rem 4rem 2rem 2rem;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(45, 198, 53);
	background: linear-gradient(90deg, rgba(45, 198, 53, 1) 0%, rgb(169, 255, 112) 100%);
	-webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

a.btn-i_min {
	margin-bottom: 40px;
	font-size: 1.8rem;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(45, 198, 53);
	background: linear-gradient(90deg, rgba(45, 198, 53, 1) 0%, rgb(169, 255, 112) 100%);
	-webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

a.btn-f:before,
a.btn-s:before,
a.btn-i:before {
	font-family: "Font Awesome 5 Free";
	font-size: 1.6rem;
	line-height: 1;
	position: absolute;
	top: calc(50% - 0.8rem);
	right: 2rem;
	margin: 0;
	padding: 0;
	content: "\f0da";
}

a.btn-f:hover,
a.btn-s:hover,
a.btn-i:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	color: #fff;
}

/*------------------------------------*\
フォーム ボタン2
\*------------------------------------*/

a.btn-b {
	position: relative;
	margin: 0 20px 20px 20px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(239, 169, 58);
	background: linear-gradient(90deg, rgb(255, 134, 69) 0%, rgb(255, 183, 0) 100%);
	-webkit-box-shadow: 0 2px 2px rgba(255, 251, 0, 0.2);
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

a.btn-b_min {
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(239, 169, 58);
	background: linear-gradient(90deg, rgb(255, 134, 69) 0%, rgb(255, 183, 0) 50%);
	-webkit-box-shadow: 0 2px 2px rgba(255, 251, 0, 0.2);
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

a.btn-c {
	position: relative;
	margin: 0 20px 20px 20px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(45, 98, 177);
	background: linear-gradient(90deg, rgb(51, 104, 183) 0%, rgb(0, 176, 239) 50%);
	-webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

a.btn-c_min {
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
	border-radius: 100vh;
	background: rgb(40, 83, 148);
	background: linear-gradient(90deg, rgba(40, 83, 148, 1) 0%, rgba(0, 212, 255, 1) 50%);
	-webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

a.btn-b:before,
a.btn-c:before {
	font-family: "Font Awesome 5 Free";
	font-size: 1.6rem;
	line-height: 1;
	position: absolute;
	top: calc(50% - 0.8rem);
	right: 2rem;
	margin: 0;
	padding: 0;
	content: "\f0da";
}

a.btn-b:hover,
a.btn-c:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	color: #fff;
}



/*------------------------------------*\
料金表
\*------------------------------------*/

table {
	border-collapse: collapse;
	margin: 0 auto;
	padding: 0;
	table-layout: fixed;
	color: #000;
}

table tr {
	background-color: #fff;
	padding: .35em;
	border: 1px solid #ff9901;
}

table thead {
	border-bottom: 5px solid #ff9900;
}

table th,
table td {
	padding: 1em 10px 1em 1em;
	border-right: 1px solid #ff9901;
}

tbody th {
	color: #fff;
	background-color: #ff9901;
	border-bottom: 5px solid #fff;
}

.txt {
	text-align: left;
	font-size: .85em;
}

@media screen and (max-width: 720px) {
	table {
		border: 0;
		width: 100%;
		width: 100% border solid 2px #ff9901;
	}

	table th {
		display: block;
		border-right: none;
		color: #fff;
		background-color: #ff9901;
		/*
		padding-bottom: .6em;
		margin-bottom: .6em;
*/
	}

	table thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}

	table tr {
		display: block;
		margin-bottom: 0.6em;
	}

	table td {
		border-bottom: 1px solid #ff9901;
		display: block;
		font-size: .8em;
		position: relative;
		padding: .625em .625em .625em 4em;
		border-right: none;
	}

	table td::before {
		content: attr(data-label);
		font-weight: bold;
		position: absolute;
		left: 10px;
	}

	table td:last-child {
		border-bottom: 0;
	}
}


/*------------------------------------*\
◆マーク
\*------------------------------------*/

.list_dia li {
	position: relative;
	padding: 0px 0px 0px 1em;
	list-style: none;
	margin: 0.6em 0;
	font-weight: bold;
}

.list_dia li::before {
	position: absolute;
	top: 50%;
	left: 3px;
	transform: translateY(-50%) rotate(45deg);
	width: 0.5em;
	height: 0.5em;
	background-color: #ff9901;
	content: "";
}


/*------------------------------------*\
レイアウト
\*------------------------------------*/


/*========= グリッド ============*/

body {
	background: #fff;
	background-image: linear-gradient(0deg, transparent 5px, rgba(100, 100, 100, 0.105) 6px), linear-gradient(90deg, transparent 5px, rgba(100, 100, 100, 0.150) 6px);
	background-size: 6px 6px;
}

h1 {
	font-size: 1.2rem;
}

h2 {
	margin: 0 0 10px 0;
	text-align: center;
	font-size: revert;
	font-weight: bold;
	font-family: vdl-logona, sans-serif;
	font-size: 21px;
}

h3 {
	text-align: center;
	padding-bottom: 20px;
	color: #ff931e;
	font-weight: bold;
}

a.info {
	text-decoration: none;
	color: inherit;
}

a.info h4 {
	text-align: center;
	margin: 4px auto;
	border-radius: 20px;
	background: #fff;
	max-width: 230px;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3);
	text-decoration: none;
	color: #333;
}

p {
	margin-top: 10px;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

a {
	color: #333;
}

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

nav ul {
	list-style: none;
	display: flex;
	justify-content: center;
}

nav ul li a {
	display: flex;
	text-decoration: none;
	color: #000;
	padding: 6px;
	transition: all 0.3s;
}

nav ul li.current a,
nav ul li a:hover {
	color: #ff931e;
	font-weight: bold;
}

@media screen and (max-width:720px) {
	nav ul li a:hover {
		color: #000;
	}

	nav ul li.current a {
		color: #ff931e;
	}
}

section:nth-child(1) {
	padding: 80px 30px 30px;
}

section:nth-child(2n) {
	background: rgb(255, 255, 230);
	background-image: linear-gradient(0deg, transparent 5px, rgba(100, 100, 100, 0.105) 6px), linear-gradient(90deg, transparent 5px, rgba(100, 100, 100, 0.150) 6px);
	background-size: 6px 6px;
	/*background: linear-gradient(#fff, rgba(255, 255, 255, 0));*/
}


/*------------------------------------*\
三角
\*------------------------------------*/

.Item-Content {
	position: relative;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 20px;
}

.Item-Content-Flg_01 {
	/*三角形左下*/
	position: absolute;
	bottom: 0;
	left: 0;
	border-right: 30px solid transparent;
	border-bottom: 30px solid #ff931e;
}

.Item-Content-Flg_02 {
	/*三角形右上*/
	position: absolute;
	top: 0;
	right: 0;
	border-top: 30px solid #ff931e;
	border-left: 30px solid transparent;
}

.Item-Content-Title {
	letter-spacing: 0.14em;
	color: #666;
	font-size: 18px;
}


/*------------------------------------*\
contents_body
\*------------------------------------*/

.faq {
	margin-bottom: 32px;
	/* 各Q&Aの下に余白 */
}

.faq__dt,
.faq__dd {
	position: relative;
	padding-left: 24px;
}

.faq__dt::before,
.faq__dd::before {
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
}

.faq__dt {
	font-weight: bold;
	/* 質問文は太字にしてみました */
	border-bottom: 1px solid #999;
	margin-bottom: 4px;
	/* 下にちょい余白 */
}

.faq__dt::before {
	content: 'Q.';
	color: #c80021;
	/* 「Q」の文字色 */
}

.faq__dd::before {
	content: 'A.';
	color: #0085C8;
	/* 「A」の文字色 */
}

.plan_box {
	max-width: 840px;
	margin: 90px auto 0;
}

.contents_body {
	padding: 10px 0;
	max-width: 1000px;
	margin: auto;
}

.contents_body-top {
	padding: 0 10px 10px;
	max-width: 1000px;
	margin: auto;
}

.m_10 {
	padding: 10px 0;
	margin: auto;
}

.m_20 {
	padding: 20px 0;
	margin: auto;
}

.m_30 {
	padding: 30px 0;
	margin: auto;
}

.m_24 {
	padding: 10px 24px;
	margin: auto;
}

.m_t_30 {
	padding-top: 30px;
	margin: auto;
}

.m_b_20 {
	padding-bottom: 20px;
	margin: auto;
}

.m_b_30 {
	padding-bottom: 30px;
	margin: auto;
}

.m_b_40 {
	padding-bottom: 40px;
	margin: auto;
}

.m_b_50 {
	padding-bottom: 50px;
	margin: auto;
}

/*------------------------------------*\
footer_body
\*------------------------------------*/

.footer_body {
	padding: 10px 0;
	max-width: 1000px;
	margin: auto;
}


/*------------------------------------*\
クリエイター
\*------------------------------------*/

.ct_bg {
	background: linear-gradient(#f18d00ce, rgba(255, 255, 255, 0));
	/*background: linear-gradient(#f18d00, #fff);*/
}

.ct_img {
	width: 60%;
	max-width: 400px;
	margin-top: -90px;
}


/*------------------------------------*\
Vtuber
\*------------------------------------*/

.v_list {
	display: flex;
	flex-wrap: wrap;
	margin: auto
}

.v_list li {
	padding: 6px;
}

/*-- 単体2分割 --*/
.v_list-half_box {
	display: flex;
	flex-wrap: wrap;
	margin: auto
}

.v_list-half_box li {
	padding: 6px;
}

.v_list-half_box img {
	width: 100%;
}

.ok {
	display: inline-block;
	/* 
	filter: drop-shadow(0 0px 3px rgba(60, 235, 229, 0.5));*/
}

.ok:hover {
	filter: drop-shadow(0 4px 10px rgba(60, 72, 235, 0.5));
	mix-blend-mode: color-dodge;
}

.ok_p {
	display: inline-block;
	/* 
	filter: drop-shadow(0 0px 3px rgba(235, 60, 232, 0.5));*/
}

.ok_p:hover {
	filter: drop-shadow(0 4px 10px rgba(235, 60, 232, 0.5));
	mix-blend-mode: color-dodge;
}

.v_list img {
	width: 100%;
	/* はみ出し隠す*/
	height: 220px;
	object-fit: cover;
	border: 4px ridge #eee;
}


/*------------------------------------*\
制作について
\*------------------------------------*/

.box-padding {
	padding: 60px 0 0;
}


/*------------------------------------*\
マルイチ
\*------------------------------------*/

.number {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
	margin: 0;
}

.number li {
	padding-left: 30px;
	position: relative;
}

/*------------------------------------*\
制作実績
\*------------------------------------*/

.s_img_visual {
	width: 100%;
	text-align: center;
}

.s_img_visual-img {
	width: 100%;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .5);
}


/*------------------------------------*\
制作目次
\*------------------------------------*/

.page_item {
	/*アニメーションの起点とするためrelativeを指定*/
	position: relative;
	overflow: hidden;
	/*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
	border: 1px solid #555;
	/* ボーダーの色と太さ */
	padding: 10px 30px;
	text-align: center;
	outline: none;
	/*アニメーションの指定*/
	transition: ease .2s;
	width: 100%;
	background-color: #fff;
}


/*ボタン内spanの形状*/

.page_item span {
	position: relative;
	z-index: 3;
	/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color: #333;
}

.page_item:hover span {
	color: #fff;
}


/*== 背景が流れる（斜め） */

.bgskew::before {
	content: '';
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: -130%;
	/*色や形状*/
	background: #ff931e;
	width: 120%;
	height: 100%;
	transform: skewX(-25deg);
}


/*hoverした時のアニメーション*/

.bgskew:hover::before {
	animation: skewanime .5s forwards;
	/*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
	100% {
		left: -10%;
		/*画面の見えていない左から右へ移動する終了地点*/
	}
}


/*------------------------------------*\
よくあるご質問
\*------------------------------------*/

.qa {
	margin-bottom: 32px;
	/* 各Q&Aの下に余白 */
	padding: 20px;
	background-color: #fff;
	border: 1px solid #ff931e;
}

.qa__dt,
.qa__dd {
	position: relative;
	padding-left: 40px;
}

.qa__dt::before,
.qa__dd::before {
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
}

.qa__dt {
	font-weight: bold;
	/* 質問文は太字にしてみました */
	border-bottom: 1px solid #ff931e;
	margin-bottom: 6px;
	padding-bottom: 6px;
	/* 下にちょい余白 */
}

.qa__dt::before {
	content: 'Q';
	color: #fff;
	/* 「Q」の文字色 */
	display: inline-block;
	width: 26px;
	height: 26px;
	line-height: 26px;
	border-radius: 50%;
	background: #888;
	text-align: center;
}

.qa__dd::before {
	content: 'A';
	color: #fff;
	/* 「A」の文字色 */
	display: inline-block;
	width: 26px;
	height: 26px;
	line-height: 26px;
	border-radius: 50%;
	background: #ff931e;
	text-align: center;
}


/*--------------------------------------------------------------*\
    						720px以下で適用する内容
\*--------------------------------------------------------------*/

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

	/*720px以下で適用する内容*/
	body {
		font-size: 1.6rem;
		line-height: 1.6;
		/*background: url(../images/top_img.jpg) center top 25px no-repeat #ffffff;
		background-size: auto 100%;
		height: 100vh;*/
	}

	/*------------------------------------*\
マージン0
		\*------------------------------------*/

	.m_reset {
		padding: 0;
	}

	/*------------------------------------*\
	マルイチ
	\*------------------------------------*/

	.number li:before {
		content: counter(my-counter);
		counter-increment: my-counter;
		background-color: #ff931e;
		border: 1px solid;
		border-radius: 50%;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 22px;
		width: 22px;
		color: #ffffff;
		font-size: 85%;
		line-height: 1;
		position: absolute;
		top: 0.2em;
		left: 0;
	}

	/*------------------------------------*\
	クリエイター
	\*------------------------------------*/
	.ct_bg {
		transform: skew(0deg, -12deg);
		margin-top: 16%;
		margin-bottom: 4%;
	}

	.ct_box {
		margin-top: 10px;
		padding: 26px 0px;
		max-width: 900px;
		margin: auto;
		transform: skew(0deg, 12deg)
	}

	.ct_img {
		padding-left: 16px
	}

	/*------------------------------------*\
					section
					\*------------------------------------*/
	.contents_body {
		padding: 60px 30px;
	}

	/*-- Vtuberアイコン --*/
	.v_list li {
		width: 50%;
	}

	/*-- 単体2分割 --*/
	.v_list-half_box li {
		width: 350px;
	}

	.location_live ul {
		padding: 0 10px;
	}


	/*------------------------------------*\
	スライダー
	\*------------------------------------*/
	.slider {
		/*横幅94%で左右に余白を持たせて中央寄せ*/
		width: 92%;
		margin: 0 auto;
	}

	.slider img {
		width: 88vw;
		/*スライダー内の画像を60vwにしてレスポンシブ化*/
		height: auto;
	}

	/* カルーセル/////////////////////////// */
	.carousel {
		max-width: 390px;
	}

	.mv_slider_top {
		margin-top: 14px;
	}

	/*------------------------------------*\
item
\*------------------------------------*/
	.blogList {
		display: flex;
		flex-wrap: wrap;
		/*4記事以上ある場合、折り返しできるように指定*/
		gap: 30px 1.4%;
	}

	.blogList li {
		width: 48.95%;
		padding: 0 4px;
	}

	.blogList li figure {
		overflow: hidden;
		padding-top: 56.25%;
		/* 画像の高さを幅の56.25%に固定する */
	}

	.blogList li figure img {
		width: 100%;
	}

	.blogList li figure {
		position: relative;
		overflow: hidden;
		/* 横長画像 
				padding-top: 60%;
				*/
		padding-top: 100%;
	}

	.blogList li figure img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		object-fit: cover;
		background-color: #fff;
		padding: 4px;
	}
}


/*------------------------------------*\
制作フロー
\*------------------------------------*/

dd {
	margin-left: 0;
}

.flow__min {
	min-width: 180px;
}

.flow>li {
	position: relative;
}

.flow>li:not(:last-child) {
	margin-bottom: 40px;
}

.flow>li dl {
	width: 100%;
	padding: 20px 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: block;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border: 2px solid #ff931e;
	border-radius: 10px;
	position: relative;
	background-color: #fff;
}

.flow>li:not(:last-child) dl::before,
.flow>li:not(:last-child) dl::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.flow>li:not(:last-child) dl::before {
	border-width: 22px;
	border-top-color: #ff931e;
}

.flow>li:not(:last-child) dl::after {
	border-width: 20px;
	border-top-color: #fff;
}

.flow>li dl dt {
	font-size: 20px;
	font-weight: 600;
	color: #ff931e;
	-ms-flex-preferred-size: 20%;
	flex-basis: 20%;
	margin-right: 2vw;
	text-align: center;
}

.flow>li dl dt .flow_icon {
	font-size: 12px;
	color: #fff;
	background: #ff931e;
	background: -moz-linear-gradient(left, #ff7011 0%, #ff931e 100%);
	background: -webkit-linear-gradient(left, #ff7011 0%, #ff931e 100%);
	background: linear-gradient(to right, #ff7011 0%, #ff931e 100%);
	filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#6b90db', endColorstr='#66d5e9', GradientType=1);
	padding: 5px 10px;
	margin-bottom: 10px;
	display: block;
	border-radius: 20px;
	position: relative;
}


/*------------------------------------*\
YouTube
\*------------------------------------*/

.movie {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	/* 現プレイヤーでは不要？ */
	height: 0;
	overflow: hidden;
}

.movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*--------------------------------------------------------------*\
    			721px以上で適用する内容
\*--------------------------------------------------------------*/

@media screen and (min-width: 721px) {
	body {
		font-size: 2rem;
		line-height: 1.8;
	}

	/*------------------------------------*\
				マルイチ
				\*------------------------------------*/

	.number li:before {
		content: counter(my-counter);
		counter-increment: my-counter;
		background-color: #ff931e;
		border: 1px solid;
		border-radius: 50%;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 25px;
		width: 25px;
		color: #ffffff;
		font-size: 85%;
		line-height: 1;
		position: absolute;
		top: 0.3em;
		left: 0;
	}

	/*------------------------------------*\
制作目次
\*------------------------------------*/
	.page ul {
		display: flex;
		justify-content: space-around;
	}

	.page li {
		width: 200px;
	}

	/*------------------------------------*\
	制作フロー
	\*------------------------------------*/
	.flow>li dl {
		display: flex;
	}

	/*------------------------------------*\
	クリエイター
	\*------------------------------------*/
	.ct_bg {
		transform: skew(0deg, -8deg);
		margin-top: 16%;
		margin-bottom: 4%;
	}

	.ct_box {
		max-width: 900px;
		margin: auto;
		transform: skew(0deg, 8deg)
	}

	/*------------------------------------*\
			section
			\*------------------------------------*/
	section {
		padding: 50px 30px;
	}

	.section-box {
		padding: 50px 30px;
	}

	/*-- 単体2分割 --*/
	.v_list-half_box li {
		width: 450px;
	}

	/*-- Vtuberアイコン --*/
	.v_list li {
		width: 300px;
	}


	/*------------------------------------*\
			スライダー
			\*------------------------------------*/
	/* カルーセル/////////////////////////// */
	.carousel {
		--carousel-height: 550px;
	}


	/* select-tabs----------------------------- */
	#select-tabs {
		top: 95%;
	}

	/*------------------------------------*\
item 素材画像
\*------------------------------------*/
	.blogList {
		display: flex;
		flex-wrap: wrap;
		/*4記事以上ある場合、折り返しできるように指定*/
		gap: 30px 1.4%;
	}

	.blogList li {
		width: 23.95%;
	}

	.blogList li figure {
		overflow: hidden;
		padding-top: 56.25%;
		/* 画像の高さを幅の56.25%に固定する */
	}

	.blogList li figure img {
		width: 100%;
	}


	.blogList li figure {
		position: relative;
		overflow: hidden;
		/* 横長画像 
		padding-top: 60%;
		*/
		padding-top: 100%;
	}

	.blogList li figure img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		object-fit: cover;
		background-color: #fff;
		padding: 4px;
	}

	/*------------------------------------*\
料金表
\*------------------------------------*/
	tbody th {
		width: 20%;
	}

	/*------------------------------------*\
よくあるご質問
\*------------------------------------*/
	.qa__dt::before {
		content: 'Q';
		color: #fff;
		display: inline-block;
		width: 32px;
		height: 32px;
		line-height: 32px;
	}

	.qa__dd::before {
		content: 'A';
		color: #fff;
		/* 「A」の文字色 */
		display: inline-block;
		width: 32px;
		height: 32px;
		line-height: 1.5;
		border-radius: 50%;
		background: #ff931e;
		text-align: center;
	}
}

/*==================================================
終
===================================*/

/*--  --*/


/*==================================================
ふわっ
===================================*/


/* ------------- スクロールフェードインDown用 ------------- */


/* スクロールCSS */

.fade-in {
	opacity: 0;
	transition-duration: 500ms;
	transition-property: opacity, transform;
	list-style: none;
}

.fade-in-up {
	transform: translate(0, 50px);
}

.fade-in-right {
	transform: translate(30px, 0);
}

.fade-in-left {
	transform: translate(-30px, 0);
}

.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}


/* ------------- スクロールフェードインDown用 END ------------- */


/*------------------------------------*\
レイアウトを制御する独自のCSS
\*------------------------------------*/


/* Slider */

.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}