@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

@font-face {
	font-family: "tamanegiFont";
	src:
		url("../fonts/tamanegi.woff2") format("woff2"),
		url("../fonts/tamanegi.woff") format("woff");
	font-display: swap;
}

:root {
	--base-color-blue: #171c61;
	--base-color-skyblue: #02448c;
	--base-color-red: #a3042a;

	--base-color-yellow: #f8ff13;
	--base-color-yellow2: #ffffd0;
	--base-color-green: #54ff73;
	--base-color-pink: #ee0fe4;
	--base-color-pink2: #ff65f8;
	--tx_base-color-black: #171509;
	--bg-black: #171509;
	--tx-white: #ffff;

	--font_main_sans-serif: "Noto Sans JP", sans-serif;
	--font_main_serif: "Noto Serif JP", serif;
	--font_tamanegi: "tamanegiFont", sans-serif;
	--font-weight-regular: 400;
	--font-weight-bold: 600;
	--font-weight-black: 900;
	--font-size-18px: clamp(0.813rem, 0.708rem + 0.45vw, 1.125rem);
	/* 13px-18px */
	--font-size-24px: clamp(1rem, 0.833rem + 0.72vw, 1.5rem);
	/* 16px-24px */
	--font-size-28px: clamp(1.313rem, 1.167rem + 0.63vw, 1.75rem);
	/* 21px-28px */
	--font-size-40px: ;
	--font-size-42px: clamp(1.75rem, 1.458rem + 1.26vw, 2.625rem);
	/* 24px-32px */
}


/*--------------------------------------------------------*/
/*リセット*/
html {
	margin: 0px;
	padding: 0px;
	border: 0px;
}

* {
	margin: 0px;
	padding: 0px;
	border: 0px;
}

body {
	line-height: 1;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
table,
a,
img,
dl,
dt,
dd,
ul,
li,
ol,
iframe,
nav {
	margin: 0px;
	padding: 0px;
	word-break: break-word;
	vertical-align: baseline;
	text-decoration: none;
	list-style: none;
}

* {
	border: 0;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

ol,
ul {
	list-style: none;
	list-style-type: none;
}

.cleartext {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	content: " ";
	clear: both;
	height: 0;
}

img {
	vertical-align: bottom;
}

.mx_menu_all {
	margin-bottom: 0px !important;
	min-width: initial !important;
	min-width: auto !important;
}

.pc_ad_head {
	text-align: center;
}

.banner_bg {
	margin-bottom: 0px !important;
}

/*--------------------------------------------------------*/
.span {
	display: inline-block;
}

small {
	line-height: 1.2em;
	font-size: min(2vw, 18px);
	display: block;
	margin-top: 3em;
	text-align: center;
}

body {
	background-color: #171c61;
	text-align: center;
	font-family: var(--font_main_sans-serif);
	font-weight: normal;
	color: #4f4f51;
	line-height: 1.2;
}

a:link {
	text-decoration: none;
	color: #ffffff;
	text-decoration: underline;
}

a:hover {
	opacity: .7;
}

/* a:visited{color:#039bdd; text-decoration:none;}
a:hover{color:#000; text-decoration:none;transition-duration: 0.2s;} */
#page_all {
	word-wrap: break-word;
	font-size: min(4vw, 1.2em);
}

#right_side {
	min-width: 300px;
	padding: 10px 0px 0px 30px;
	align-self: flex-start;
}

/*--------------------------------------------------------*/
/*--パンくず--*/
#pan_box {
	background-color: #000000;
	overflow-x: auto;
	overflow-y: hidden;
}

.panlist {
	padding: 8px;
	font-size: 80%;
	line-height: 120%;
	color: #fff;
	text-align: left;
	width: max-content;
}

#pan_box a {
	color: #fff;
}

.panlist a:link {
	color: #fff;
	text-decoration: underline;
}

.panlist a:visited {
	color: #fff;
	text-decoration: underline;
}

.panlist a:hover {
	color: #fff;
	text-decoration: underline;
}

/*--------------------------------------------------------*/
/*--SNS--*/
#sns_button_pc,
#sns_button_sp {
	text-align: center !important;
	margin: 5% 0 0 0;
	display: flex;
	gap: 1%;
	justify-content: center;
}

#sns_button img {
	width: 40px !important;
	height: 40px !important;
	margin: 0.5%;
}

#sns_button_pc img {
	height: 50px !important;
	width: 50px !important;
	margin: 0 5px !important;
}

#sns_button_sp img {
	height: 50px !important;
	width: 50px !important;
	margin: 0 5px !important;
}

#sns_button {
	text-align: center;
	padding-bottom: 6%;
}

/*--------------------------------------------------------*/
/*--フッター--*/
#footer {
	margin: 0 auto;
	padding: 1px 0 10px;
	padding: 1%;
	line-height: 200%;
	text-align: center;
}

.mx_copyright {
	color: #09397a;
	line-height: 1.5;
}

.mx_copyright a:link,
.mx_copyright a:visited {
	color: #09397a;
	text-decoration: none;
}

.mx_copyright a:hover {
	color: #ffffff;
	text-decoration: underline;
}

/*-----------------------------------*/
/*-- 緊急テキスト ----------------------*/
#rp_textbox .txt_text {
	border: rgb(255 255 255 / 50%) solid 0.25em;
	/* border-radius: 0.5em; */
	/* background: rgba(255,255,255,0.6); */
	/* margin: 20px auto; */
	padding: 8px;
	line-height: 1.6em;
	text-align: left;
	max-width: 960px;
	width: 90%;
}

#rp_textbox .pop_text {
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	border: #c9c9c9 solid 1px;
	font-size: 0.9em;
	line-height: 1.5em;
	margin: 0 auto;
	padding: 20px;
	text-align: left;
	max-width: 900px;
	word-break: break-all;
	width: 75%;
}

#rp_textbox .pop_text .popup_title {
	border-bottom: #999 dotted 1px;
	font-size: 1.1em;
	line-height: 1.5em;
	font-weight: bold;
	margin: 0 0 15px 0;
	padding-bottom: 5px;
	text-align: center;
	width: 100%;
}

#rp_textbox .eme_img {
	display: block;
	text-align: center;
	width: 100%;
}

#rp_textbox .eme_img img {
	margin: 0 auto 10px;
	max-width: 100%;
}

#rp_textbox a {
	color: #d00;
	text-decoration: underline;
}

.txt_title {
	border-left: solid 0.5em #333333;
	font-weight: bold;
	font-size: 1.2em;
	text-align: left;
	padding: 0.3em;
	margin-bottom: 0.5em;
}

/* loader */
#loader {
	background-image: linear-gradient(#b154ff, #4d08ff);
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 100;
}

/*背景*/
.loader,
.loader:before,
.loader:after {
	background: var(--base-color-pink2);
	-webkit-animation: load1 1s infinite ease-in-out;
	animation: load1 1s infinite ease-in-out;
	height: 4em;
	width: 1em;
	top: 50%;
}

.loader {
	color: #fff;
	text-indent: -9999em;
	margin: auto;
	position: relative;
	font-size: 11px;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.loader:before,
.loader:after {
	position: absolute;
	top: 0;
	content: '';
}

.loader:before {
	left: -1.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

.loader:after {
	left: 1.5em;
}

@-webkit-keyframes load1 {

	0%,
	80%,
	100% {
		box-shadow: 0 0;
		height: 4em;
	}

	40% {
		box-shadow: 0 -2em;
		height: 5em;
	}
}

@keyframes load1 {

	0%,
	80%,
	100% {
		box-shadow: 0 0;
		height: 4em;
	}

	40% {
		box-shadow: 0 -2em;
		height: 5em;
	}
}

/*-----------------------------------*/
/*google翻訳*/
.skiptranslate.goog-te-gadget,
a.goog-logo-link,
.goog-logo-link:link {
	color: #09397a;
	text-align: center;
}

/*-----------------
共通
------------------*/
.fonts-sans-serif {
	font-family: var(--font_main_sans-serif);
}

.fonts-serif {
	font-family: var(--font_main_serif);
	font-weight: var(--font-weight-bold);
}

body {
	color: var(--tx_base-color-black);
}

.pcOnly {
	display: block;
}

.spOnly {
	display: contents;
}

.pconly {
	display: block;
}

.sponly {
	display: none;
}

@media screen and (max-width: 800px) {
	.pcOnly {
		display: contents;
	}

	.spOnly {
		display: block;
	}

	.pconly {
		display: none;
	}

	.sponly {
		display: block;
	}
}

.wrap {
	width: min(85%, 1110px);
	margin: auto;
}

.wrap #right_side {
	padding-top: 0;
}

.wrap .left_side {
	width: min(calc(100% - 320px), 980px);
	background-color: #000000;
	height: 600px;
}

.wrap .left_side img {
	width: 100%;
}

@media screen and (max-width:767px) {

	/* #header {
        min-height: 80px;
    } */
	#page_all {
		overflow-x: hidden;
	}

	#pan_box {
		overflow-x: scroll;
	}

	.wrap {
		width: 90%;
	}

	.wrap .left_side {
		width: 100%;
	}

	.wrap #right_side {
		display: none;
	}
}


/* -----------------
main
---------------- */

.bg::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-image: url(../img/bg.webp);
	background-size: cover;
}

.kv {
	/* max-width: 1100px; */
	margin: auto;
	/* padding: 40px 0 0; */
}

.kv img {
	width: 100%;
}

.song_unit,
.detail_unit,
.cast_unit,
.news_unit,
.event_unit,
.sns_unit {
	padding-bottom: min(4vw, 6em);
}

.news_unit {
	padding-top: min(8vw, 6em);
	/* padding-bottom: min(8vw, 6em); */
	margin-bottom: min(10vw, 3em);
}

@media screen and (max-width:767px) {
	.bg {
		background-size: cover;
	}

	.song_box {
		display: block;
	}

	.news_unit {
		width: 90%;
	}

	.kv {
		padding: 0;
	}

	.intro {
		margin: min(7vw, 10em) 0 min(17vw, 11em);
	}

	.intro p {
		padding: min(8vw, 4em) 10px !important;
	}
}


/* ----------
イントロ
---------- */

.intro {
	margin: min(2vw, 6em) 0 min(19vw, 10em);
}

.intro p {
	color: #fff;
	font-size: clamp(.9rem, 0.75rem + 1vw, 2rem);
	font-family: var(--font_main_serif);
	font-weight: var(--font-weight-bold);
	line-height: 1.6;
	text-shadow: 0 0 5px #ffffff;
	padding: min(8vw, 4em) 0;
	letter-spacing: 0.05rem;
}

.tx-l {
	font-size: clamp(1.25rem, 1.009rem + 1.07vw, 2rem);
	font-weight: var(--font-weight-black);
}

.tx-s {
	/* font-size: var(--font-size-18px); */
}

.intro {
	background-image: url(../img/bg2.jpg);
	background-size: contain;
	mix-blend-mode: hard-light;
}

/* ---------
お知らせ
--------- */
#bangumi_detail,
#bangumi_news {
	margin: 0 auto;
	background-color: var(--bg-black);
	border: 2px solid var(--base-color-green);
}

.news_h3 {
	display: none;
}

.news_unit {
	position: relative;
}

.news_sbttl {
	position: absolute;
	font-size: clamp(1.2rem, 1.3rem + 1.36vw, 2.875rem);
	font-weight: bold;
	color: var(--base-color-yellow2);
	background-color: var(--base-color-pink);
	-webkit-transform: rotate(-6deg);
	transform: rotate(-6deg);
	line-height: 1;
	display: inline-block;
	margin-bottom: 10px;
	left: -21px;
	border: 1px solid #4d4d4dad;
	font-family: var(--font_tamanegi);
	-webkit-text-stroke: .02px var(--base-color-yellow2);
	-webkit-text-stroke: .03px #4d4d4d;
	letter-spacing: .2rem;
	padding: 10px 10px 6px;
}

.icon_oa {
	font-size: 1.5rem;
	font-weight: bold;
	text-align: left;
	width: 95%;
	margin: auto;
}

.naiyou {
	box-sizing: border-box;
	/* border: 1px solid #e2e2e2; */
	/* font-size: 1.2em; */
	line-height: 1.5;
	padding: 7% 2.5% 2.5%;
	text-align: left;
	overflow-y: scroll;
	height: 300px;
	-webkit-overflow-scrolling: touch;
}

.naiyou #array_subtitle_list {
	min-height: 300px;
}

.naiyou ul {
	border: 0;
	display: block;
	max-height: 195px;
	margin: 0;
	overflow: auto;
	padding: 0;
	position: relative;
}

.naiyou ul li {
	border-bottom: 1px #6e536f solid;
	line-height: 1.4;
	padding: 1.2% 0;
	text-align: left;
	display: flex;
}

.oatime_subtitle {
	font-size: clamp(.7rem, 0.8rem + 0.2vw, 1rem);
	color: var(--tx-white);
	margin-right: 1em;
	white-space: nowrap;
}

.naiyou ul li a {
	color: var(--base-color-pink);
	font-size: min(4vw, 1em);
	font-weight: var(--font-weight-regular);
}

/* .news_ttl_top {
	color: var(--base-color-blue);
	text-decoration: underline!important;
	font-size: clamp(1rem, 0.872rem + 0.34vw, 1.1rem);
}

.news_ttl_top a {
	color: var(--base-color-gray);!important;
	text-decoration: underline;
	font-size: clamp(1rem, 0.872rem + 0.34vw, 1.1rem);
} */

.news_img img {
	width: 100%;
}

.news_img {
	width: 70%;
	margin: auto;
}

@media screen and (max-width:767px) {
	.naiyou {
		width: 100%;
		padding: 17% 2.5% 2.5%;
	}

	.news_h3 {
		width: 100%;
		font-size: 20px;
	}

	.naiyou ul li {
		display: block;
	}

	.news_img {
		width: 90%;
		margin: auto;
	}

	.news_sbttl {
		left: -9px;
	}
}



/* -----------
お知らせ 詳細ページ
----------- */
#newspage .news_unit {
	position: relative;
	margin-top: min(2vw, 8em);
}

#newspage .naiyou ul li {
	border-bottom: none;
}

#newspage .news_tx {
	margin-top: 3%;
	font-size: clamp(0.875rem, 0.795rem + 0.36vw, 1.125rem);
	color: #fff;
}

#newspage .news_tx a {
	color: #fff;
}

#newspage .left_side {
	width: 100%;
}

#newspage .news_title {
	font-weight: var(--font-weight-bold);
	font-weight: bold;
	margin-bottom: 3%;
	color: var(--base-color-pink2);
	border-bottom: 1px solid var(--base-color-pink2);
	padding: .5rem 0 .5rem;
}

#newspage .news_img {
	margin-bottom: 4%;
}

.btn_top {
	text-align: center;
	margin: auto;
	padding: 0px 0 100px;

}

.btn_top a {
	color: var(--tx-white);
	text-decoration: underline;
}

.naiyou2 {
	border: 0;
	display: block;
	margin: 0;
	padding: 0;
}

.naiyou2 ul {
	box-sizing: border-box;
	/* border: 1px solid #e2e2e2; */
	font-size: 1.2em;
	line-height: 1.5;
	padding: 2.5%;
	text-align: left;
	margin: min(15vw, 4em) auto min(12vw, 2em);
}

.news_pager {
	margin-top: 100px;
	text-align: center;
}

.news_pager a {
	padding: 10px 20px;
	text-decoration: underline;
	color: var(--tx-white);
	display: inline-block;
	/* margin: 50px 20px 10px; */
	font-size: .8rem;
}

@media screen and (max-width:767px) {
	#newspage .news_title {
		font-size: 1rem;
	}
}


.sns-instagram {
	background: linear-gradient(135deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5);
	box-shadow: 0px 6px 7px -2px #61a4ff7a;
}

.sns-btn {
	--radius: 3em;
	--icon-size: 1.5em;
	display: flex;
	align-items: center;
	gap: 0.75em;
	padding: 0.5em 1em;
	border-radius: var(--radius);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	line-height: 1;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	/* outline: min(1vw, 0.1em) solid rgba(255, 255, 255, 0.9); */
	outline-offset: -2px;
	height: 3.5em;
	box-shadow: 0px 6px 7px -2px #4b08a37a;
}

.sns-x {
	background: #000;
	box-shadow: 0px 6px 7px -2px #4b08a37a;
}

.sns-btn {
	--radius: 3em;
	--icon-size: 1.5em;
	display: flex;
	align-items: center;
	gap: 0.75em;
	padding: 0.5em 1em;
	border-radius: var(--radius);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	line-height: 1;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	outline-offset: -2px;
	box-shadow: 0px 6px 7px -2px #4b08a37a;
	height: 3.5em;
	width: 3.5em;
}


.sns-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.sns-in {
	display: flex;
	align-items: center;
	background: #fff;
	padding: min(5vw, 1.5em) min(3vw, 0.75em);
	height: 2em;
	border-radius: 3em;
}

.sns-menu ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: min(3vw, 1em);
	margin: min(3vw, 1em);
	/* width: 15em; */
}

.sns-icon {
	flex: 0 0 auto;
	width: var(--icon-size);
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
}

.sns-facebook {
	padding: 0.5em 0em 0.5em !important;
}

.sns-facebook-icon {
	width: 3.5em;
}

.sns-menu ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: min(3vw, 1em);
	margin: min(3vw, 1em);
	/* width: 15em; */
}

.sns_unit ul {
	display: flex;
	justify-content: center;
	gap: 20px;
}

@media screen and (max-width: 767px) {
	.sns_unit ul {
		margin: 10% 0 15%;
	}
}

/* ---------------
イベント概要
--------------- */
.eventBox>div {
	display: flex;
	padding: 20px 0;
	border-bottom: 1px solid var(--base-color-pink2);
}

.eventBox>div:last-child {
	border-bottom: none;
}

.eventBox dd {
	text-align: left;
	width: 100%;
}

.eventBox dt {
	width: 160px;
	font-size: min(4vw, .9em);
	margin-right: 2rem;
	color: var(--tx-white);
	font-weight: var(--font-weight-bold);
	background-color: var(--base-color-pink);
	padding: .4%;
	height: 2.5rem;
}

.eventBox .map {
	width: 100%;
	height: 450px;
	margin-top: 30px;
	display: block;
	border: 0;
}

.eventBox .map iframe {
	width: 100%;
	height: 450px;
}

@media screen and (max-width: 767px) {
	.eventBox>div {
		display: block;
	}

	.eventBox dt {
		width: 100%;
		margin-right: 0;
		margin-bottom: .5rem;
		padding: 1%;
		height: unset;
	}

	.eventBox>div {
		border-bottom: none;
		padding: 10px 0;
	}

	.eventBox .map {
		width: 100%;
		height: 200px;
		margin-top: 30px;
	}

	.eventBox .map iframe {
		width: 100%;
		height: 200px;
	}
}


/* ---------------
キャスト
--------------- */
#event,
#cast,
#goods,
#staff {
	position: relative;
	margin-bottom: min(20vw, 7em);
}

.box_unit {
	background-color: var(--bg-black);
	border: 1px solid 3;
	padding: 5%;
	position: relative;
	border: 2px solid var(--base-color-green);
	color: #fff;
	line-height: 2rem;
}

.h2_left {
	font-family: var(--font_tamanegi);
	font-size: min(4vw, 2.6em);
	font-weight: bold;
	background-color: var(--base-color-green);
	display: inline-block;
	color: var(--base-color-pink2);
	border: 1px solid #4d4d4d;
	padding: 10px 10px 6px;
	position: absolute;
	z-index: 1;

	writing-mode: vertical-rl;
	width: 80px;
	height: auto;

	display: flex;
	align-items: center;
	justify-content: center;

	top: -20px;
	left: -47px;
	-webkit-text-stroke: .1px #4d4d4dad;
}

.h2_right {
	font-family: var(--font_tamanegi);
	font-size: 3rem;
	font-weight: bold;
	background-color: var(--base-color-green);
	display: inline-block;
	color: var(--base-color-pink2);
	border: 1px solid #4d4d4dad;
	padding: 10px 10px 6px;
	position: absolute;
	z-index: 1;

	writing-mode: vertical-rl;
	width: 80px;
	height: auto;

	display: flex;
	align-items: center;
	justify-content: center;

	top: -20px;
	right: -47px;
	-webkit-text-stroke: .1px #4d4d4dad;
}

.txadjustment {
	margin: min(3vw, -.2em);
}

.txadjustment2 {
	margin: -.3rem;
}

@media screen and (max-width:767px) {
	.box_unit {
		color: #fff;
		line-height: 1.5rem;
		padding: 8% 5% 7%;
	}

	.h2_right,
	.h2_left {
		font-size: min(6vw, 3em);
		width: 50px;
		width: unset;
		writing-mode: unset;
		padding: 8px 10px 6px;
	}

	.h2_right {
		right: -10px;
		top: -30px;
	}

	.h2_left {
		left: -10px;
		top: -30px;
	}

	.txadjustment,
	.txadjustment2 {
		margin: unset;
	}
}

.cast_box1,
.cast_box2,
.cast_box3 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0 auto min(4vw, 3em);
}

.cast_box3 {
	margin: 0 auto 0;
}

.cast_box1 {
	gap: 30px;
}

.cast_box2 {
	gap: 20px;
}

.cast_box3 {
	gap: 30px;
}

.cast_box1 li {
	width: calc((100% - 60px) / 3);
}

.cast_box2 li {
	width: calc((100% - 60px) / 4);
	margin-bottom: min(1vw, 1em);
}

.cast_box3 li {
	width: calc((100% - 60px) / 3.5);
}

.cast_box1 li p,
.cast_box2 li p .cast_box3 li p,
{
color: #fff;
font-size: 1.2rem !important;
}

.cast_box1 li img,
.cast_box2 li img,
.cast_box3 li img {
	width: 100%;
	margin-bottom: 10px;
}

.cast_box1 li p .role,
.cast_box2 li p .role,
.cast_box3 li p .role {
	color: #fff;
	display: block;
	font-size: min(4vw, .9em);
}

@media screen and (max-width:767px) {

	.cast_box1,
	.cast_box2 {
		display: flex;
		justify-content: center;
		gap: 20px;
		flex-wrap: wrap;
	}

	.cast_box2 {
		width: 80%;
		margin: auto;
		margin: 0 auto min(4vw, 3em);
	}

	.cast_box3 {
		width: 90%;
		margin: auto;
	}

	.cast_box1 li,
	.cast_box2 li,
	.cast_box3 li {
		width: calc((100% - 20px) / 2);
		margin-bottom: 3%;
	}

	.cast_box1 li:last-child,
	.cast_box2 li:last-child,
	.cast_box2 li:last-child {
		margin-bottom: 0;
	}
}

/* ---------------
グッズ
--------------- */
#goods img {
	width: 100%;
}

/* ---------------
トップに戻るボタン
--------------- */
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 14px;
	line-height: 1;
	z-index: 99;
}

#page-top a {
	background: var(--tx_base-color-black);
	text-decoration: none;
	color: #fff;
	padding: 30px 19px 20px;
	text-align: center;
	display: block;
	border-radius: 10px;
	opacity: 0.9;
	transition: all .3s ease;
	font-weight: var(--font-weight-regular);
}

#page-top a::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 50%;
	width: 11px;
	height: 11px;
	background: url(../img/ico.png) no-repeat center left;
	background-size: contain;
	-webkit-transform: rotate(-90deg) translate(0, -50%);
	transform: rotate(-90deg) translate(0, -50%);
	-webkit-transform-origin: center;
	transform-origin: center;
	color: #fff;
}

/* ---------------
フェードアップ
--------------- */
.fade-in {
	opacity: 0;
	transition: opacity .8s ease;
}

.fade-in-inner {
	transform: translateY(30px);
	transition: transform .8s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-in.is-visible {
	opacity: 1;
}

.fade-in.is-visible .fade-in-inner {
	transform: translateY(0);
}

/* ---------------
問い合わせボタン
--------------- */

a.btn--pink {
	color: #fff;
	background-color: var(--base-color-pink);
}

a.btn--pink:hover {
	color: #fff;
	background-color: var(--base-color-pink);
}

a.btn-c {
	position: relative;
	padding: 1.2rem 3rem 1.2rem 2rem;
	margin-bottom: 3%;
	display: inline-block;
	text-decoration: none;
	box-shadow: 0px 0px 0px 2px #ffffff;
	align-items: center;
	display: inline-flex;
}

a.btn-c i.fa {
	margin-right: 1rem;
}

a.btn-c i.fa:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url("../img/mail.svg") no-repeat center;
	background-size: contain;
}

a.btn-c:before {
	font-size: 2rem;
	line-height: 1;
	position: absolute;
	top: calc(50% - 1.3rem);
	right: 1rem;
	margin: 0;
	padding: 0;
	content: '›';
}

@media screen and (max-width:767px) {
	a.btn-c {
		font-size: 1rem;
		padding: 1rem 3rem 1rem 2rem;
		display: inline-block;
		align-items: center;
		display: inline-flex;
		border: none;
		margin-bottom: 13%;
	}
}