@charset "utf-8";
/*-----------------------------------------------
 * common.css
 * レスポンシブは基本スタイルを引き継ぐ（PCファースト）
 * @media screen and (max-width:767px)
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
 * Bace
 * Modal
 * Header
 * Footer
 * Parts
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
-------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#FFF}hr{display:none}img{vertical-align:bottom}select,input,button,textarea{font-size:99%}table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}.hd{display:block;width:0;height:0;overflow:hidden}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{*zoom:1}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none;}*:focus{outline: none;}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;}

:root {
	--common-min-width: 1200px;
	--common-min-height: 620px;

	/* メインで使用するサイズやカラー */
	--main-font-size: 16px;
	--main-font-family: 'Roboto' ,'Noto Sans JP', "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;

	/* 横幅1000px */
	--common-in-width: 1000px;

	/* header横幅 */
	--header-width: 200px;

	/* カラー */
	--color-keycolor: 39,169,172; /* #27a9ac（水色） */
	--color-offgray: 239, 239, 239; /* #efefef */

}
@media screen and (max-width:767px){
	:root {
		--common-min-width: 100%;
		--common-min-height: auto;
		--main-font-size: 12px;

		/* 横幅1000px */
		--common-in-width: 100%;

		/* header横幅 */
		--header-width: 100%;
	}
}

/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
	-webkit-text-size-adjust: 100%;
	background-color: #000;
	color: #fff;
	font-family: var(--main-font-family);
	font-size: var(--main-font-size);
	font-feature-settings: "palt";
	font-weight: normal;
	letter-spacing: 0.04em;
	line-height: 1.8;
	word-wrap: break-word;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: #000; }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
    background: #B7D4F9;
    color: #000;
}
::-moz-selection{
    background: #B7D4F9;
    color: #000;
}
@media screen and (max-width:767px){
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
}

::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
	background: #fff;
}
::-webkit-scrollbar-thumb {
	background: #000;
	margin: 2px;
	box-shadow: none;
}

/**
 * Wrap
 * 大枠のwrap指定
 */
/* fullWrap */
#fullWrap {
	min-width: var(--common-min-width);
	position: relative;
	z-index: 1;
}

/* contWrap */
#contWrap {
	margin-left: var(--header-width);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:767px){
	#contWrap {
		margin-left:0;
	}
}


/*-----------------------------------------------
 * Modal
-------------------------------------------------*/

/**
 * modalBox
 * 基盤のモーダル
 */
 .modalBox{
	-webkit-overflow-scrolling: touch;
	background: rgba(0,0,0,.9);
	-webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.oneModal{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}

/* oneModalIn */
.oneModalIn{
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    width: 100%;
	min-width: 1200px;
    min-height: 100%;
    margin: 0 auto;
    position: relative;
}
.oneModalIn__cont{
    padding: 50px 0;
}
@media screen and (max-width:767px){
    .oneModalIn{
        min-width: 100%;
    }
    .oneModalIn__cont{
        width: 100%;
    }
}

/**
 * closeBtn
 */
.closeBtn{
	width: 80px;
	height: 80px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}
@media screen and (max-width:767px){
	.closeBtn{
		width:50px;
		height:50px;
	}
}

.closeBtn a {
	background-color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* img */
.closeBtn a:before {
	content: "";
	background: url(../img/common/close.svg) no-repeat 0 0 / 100%;
	width: 40%;
	height: 40%;
}

/**
 * iframe
 */
/* common */
.commonIframe{
    width: 100%;
    height: 100%;
    display: block;
}

/* youtube */
.youtubeIframeWrap {
    width: 70%;
    max-width: 159.993vh;
    position: relative;
}
@media screen and (max-width:767px){
    .youtubeIframeWrap {
        width: 100%;
        max-width: 100%;
		margin: 50px 0;
    }
}
.youtubeIframeWrap:before{
    content: "";
    display: block;
    padding-top: 56.25%;
    z-index: 0;
}
.youtubeIframe{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

/**
 * imgModal
 */
 .imgModal__imgWrap {
	max-width: 1000px;
}
.imgModal__imgWrap img {
	width: 100%;
}
@media screen and (max-width:767px){
	.imgModal__imgWrap {
		width: 100%;
	}
}

/**
 * caststaffCont
 */
.caststaffCont {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	width: 800px;
}
@media screen and (max-width:767px){
	.caststaffCont {
		width: 100%;
		padding: 0 20px;
	}
}

/* logo */
.caststaffCont__logo {
	margin-bottom: 60px;
}
.caststaffCont__logo img {
	max-width: 100%;
}
@media screen and (max-width:767px){
	.caststaffCont__logo {
		margin-bottom: 40px;
	}
}

/* flex */
.caststaffCont__listFlex {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
@media screen and (max-width:767px){
	.caststaffCont__listFlex {
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}

	/* caststaffOne */
	.caststaffOne:not(:first-of-type) {
		margin-top: 40px;
	}
}

/* caststaffOne__title */
.caststaffOne__title {
	color: #fff;
	font-size: 24px;
	letter-spacing: 1.03em;
	line-height: 1;
	margin-bottom: 60px;
	position: relative;
}
.caststaffOne__title > span {
	position: relative;
}
.caststaffOne__title > span:before {
	content: "";
	background-color: #fff;
	width: 60px;
	height: 2px;
	position: absolute;
	right: 1em;
    bottom: -14px;
}
@media screen and (max-width:767px){
	.caststaffOne__title {
		font-size: 17px;
		text-align: center;
		margin-bottom: 40px;
	}
	.caststaffOne__title > span {
		padding-left: 1em;
	}
	.caststaffOne__title > span:before {
		width: 30px;
		margin: auto;
		right: 0;
		left: 0;
	}
}

/* item */
.caststaffLists > li {
	font-size: 16px;
}
.caststaffLists > li:not(:first-child) {
	margin-top: 16px;
}
@media screen and (max-width:767px){
	.caststaffLists > li {
		font-size: 12px;
		text-align: center;
	}
	.caststaffLists > li:not(:first-child) {
		margin-top: 14px;
	}
}


/*-----------------------------------------------
 * Header
-------------------------------------------------*/
.header {
	width: var(--header-width);
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}
@media screen and (max-width:767px){
	.header {
		height: 50px;
		pointer-events: none;
	}
}

/* right line */
.header:before {
	content: "";
	background-color: #2b2b2b;
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
}
@media screen and (max-width:767px){
	.header:before {
		background-color: #000;
		width: 100%;
		position: fixed;
		transform: translateX(100%);
		transition: transform .6s cubic-bezier(0.25, 1, 0.5, 1);
	}
	.header.is-active:before {
		transform: translateX(0);
	}
}

/* bottom line */
.bottomLine {
	content: "";
	background-color: #000;
	width: 1px;
	height: 20px;
	margin: auto;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 0;
}
@media screen and (max-width:767px){
	.bottomLine {
		content: none;
	}
}

/* top line */
.header:after {
	content: "";
	background-color: #fff;
	width: 30px;
	height: 2px;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width:767px){
	.header:after {
		content: none;
	}
}

/**
 * header__inner
 */
.header__inner {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	width: 100%;
	padding-top: 33px;
	position: absolute;
	top: 0;
	z-index: 1;
	transition: top .3s;
}
@media screen and (max-width:767px){
	.header__inner {
		-webkit-overflow-scrolling: touch;
		height: 100%;
		overflow-x: hidden;
		padding-top: 40px;
		padding-right: 20px;
		padding-left: 20px;
		position: fixed;
		top: 0 !important;
		z-index:1;
		transform: translateX(100%);
		transition: transform .6s cubic-bezier(0.25, 1, 0.5, 1);
		z-index: 2;
		pointer-events: auto;
	}
	.header.is-active .header__inner {
		transform: translateX(0);
	}

	/* line */
	.header__inner:before,
	.header__inner:after {
		content: "";
		background-color: #313131;
		width: 1px;
		height: 100%;
		position: fixed;
		top: 0;
	}
	.header__inner:before {
		left: 20px;
	}
	.header__inner:after {
		right: 20px;
	}
}

/**
 * header__title
 */
.header__title {
	width: 166px;
	height: 52px;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width:767px){
	.header__title {
		width: 256px;
		height: 80px;
		margin-bottom: 40px;
	}
}

/* header__title__link */
.header__title__link {
	background: url(../img/common/header_logo.png) no-repeat 0 0 / 100%;
	display: block;
	width: 100%;
	height: 100%;
}

/**
 * header__ntext
 */
.header__ntext {
	display: flex;
	flex-direction: column;
	width: 12px;
	height: 94px;
	position: absolute;
	top: 0;
	right: -5px;
}
@media screen and (max-width:767px){
	.header__ntext {
		display: none;
	}
}

/* line */
.header__ntext:before {
	content: "";
	background-color: #fff;
	width: 1px;
	height: 20px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
}

/* in */
.header__ntext__in {
	background-color: #000;
	color: #fff;
	display: block;
	width: 100%;
	margin-top: auto;
	font-size: 10px;
	letter-spacing: 0.04em;
	line-height: 1;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	padding: 4px 0px;
}

/**
 * header__nav
 */
@media screen and (max-width:767px){
	.header__nav {
		position: relative;
		z-index: 1;
	}
}

/**
 * header__navLists
 */
.header__navLists {
	margin-top: 24px;
}
@media screen and (max-width:767px){
	.header__navLists {
		margin-top: 0;
		display: flex;
		flex-wrap: wrap;
		border-bottom: 1px solid #313131;
	}
}

/* item */
.header__navLists__item {
	overflow: hidden;
}
@media screen and (max-width:767px){
	.header__navLists__item {
		overflow: inherit;
		border-top: 1px solid #313131;
		width: 50%;
		position: relative;
	}
	.header__navLists__item:nth-child(odd) {
		border-right: 1px solid #313131;
	}
	.header__navLists__item:before {
		content: "";
		background-color: #fff;
		width: 8px;
		height: 1px;
		position: absolute;
		top: -1px;
		left: 0;
	}
	.header__navLists__item:nth-child(even):before {
		left: -1px;
	}
}

/* link */
.header__navLists__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 10px 0;
	position: relative;
	text-decoration: none;
}
@media screen and (max-width:767px){
	.header__navLists__link {
		justify-content: flex-start;
		padding: 14px 8px;
	}
}

/* line */
.header__navLists__link:before {
	content: "";
	background-color: #fff;
	width: 100%;
	height: 1px;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 0;
	transform: scale(0,1);
    transform-origin: right top;
    transition: transform .4s cubic-bezier(.25,1,.5,1);
}
.header__navLists__link:hover:before, .header__navLists__link.is-active:before {
    transform-origin: left top;
    transform: scale(1,1);
}
@media screen and (max-width:767px){
	.header__navLists__link:before {
		content: none;
	}
}

.header__navLists__link:after {
	content: "";
	background-color: #fff;
	width: 1px;
	height: 0;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 0;
	transition: height .4s cubic-bezier(.25,1,.5,1);
}
.header__navLists__link:hover:after, .header__navLists__link.is-active:after {
	transition-delay: .3s;
    height: 20px;
}
@media screen and (max-width:767px){
	.header__navLists__link:after {
		content: none;
	}
}

/* inner */
.header__navLists__link__inner {
	background-color: #000;
	color: #fff;
	display: flex;
	align-items: center;
	font-size: 12px;
	padding: 0 8px;
	position: relative;
	z-index: 0;
}
@media screen and (max-width:767px){
	.header__navLists__link__inner {
		background-color: transparent;
		color: #fff;
	}
}

/* is-twitter */
.header__navLists__item.is-twitter .header__navLists__link__inner:after {
	content: "";
    background-color: #fff;
    display: block;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100%;
    mask-size: 100%;
	width: 16px;
    height: 16px;
    -webkit-mask-image: url(../img/common/icon_tw.svg);
    mask-image: url(../img/common/icon_tw.svg);
	margin-left: 6px;
}
@media screen and (max-width:767px){
	.header__navLists__item.is-twitter .header__navLists__link__inner:after {
		background-color: #fff;
	}
}

/**
 * headerMovLinkWrap
 */
.headerMovLinkWrap {
	width: 100%;
	margin-top: 20px;
	padding-top: 56.25%;
	position: relative;
}

/* link */
.headerMovLink {
	background-color: #000;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	display: block;
	width: 100%;
	height: 100%;
	padding: 8px;
	position: absolute;
	top: 0;
}

/* line */
.headerMovLink:before {
	content: "";
	border: 1px solid #3a3a3a;
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 100%;
}

/* arrow */
.headerMovLink:after {
	content: "";
	background: url(../img/common/icon_play.png) no-repeat 0 0 / 100%;
	width: 20px;
	height: 14px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

/* inner */
.headerMovLink__inner {
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	pointer-events: none;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

/* in line */
.headerMovLink__inner:before,
.headerMovLink__inner:after {
	content: "";
	background-color: #fff;
	width: 6px;
	height: 1px;
	position: absolute;
}

.headerMovLink__inner:before {
	top: 0;
	right: 0;
}
.headerMovLink__inner:after {
	bottom: 0;
	left: 0;
}

/**
 * seriesLists
 */
.seriesLists {
	margin-top: auto;
	padding-top: 22px;
}
@media screen and (max-width:767px){
	.seriesLists {
		margin-top: 40px;
		padding-top: 0;
		padding-bottom: 120px;
		z-index: 1;
	}
}

/* item */
.seriesLists__item:not(:first-child) {
	margin-top: 5px;
}

/* a */
.seriesLists__item > a {
	background-color: #fff;
	color: #000;
	display: block;
	font-size: 12px;
	overflow: hidden;
	padding: 6px 0 6px 30px;
	position: relative;
	text-decoration: none;
}
@media screen and (max-width:767px){
	.seriesLists__item > a {
		background-color: #fff;
		color: #000;
		padding: 6px 0 6px 16px;
	}
}

/* arrow */
.seriesLists__item > a:before {
	content: "";
	background-color: #000;
	display: block;
	width: 14px;
	height: 13px;
	-webkit-mask-image: url(../img/common/arrow_right.svg);
	mask-image: url(../img/common/arrow_right.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	transition: background-color .3s ease;
	position: absolute;
	right: 0;
	bottom: 0;
}
@media screen and (max-width:767px){
	.seriesLists__item > a:before {
		background-color: #000;
	}
}

/* is-10th */
.seriesLists__item > a.is-10th {
	background-image: url(../img/common/10th_logo.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 103px;
	height: 165px;
	padding: 0;
}
.seriesLists__item > a.is-10th:before {
	-webkit-mask-image: url(../img/common/arrow2_right.svg);
	mask-image: url(../img/common/arrow2_right.svg);
	width: 20px;
	height: 14px;
	margin: auto;
	top: 0;
	right: 10px;
}
@media screen and (max-width:767px){
	.seriesLists__item > a.is-10th {
		background-size: min(13.33333vw, 100px);
		height: min(16vw, 120px);
	}
}

/**
 * header__title--sp
 */
@media screen and (max-width:767px){
	.header__title--sp {
		width: 36px;
		height: 34px;
		margin: auto;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}
	.header__title--sp a {
		display: block;
	}
	.header__title--sp img {
		width: 100%;
	}
}

/**
 * navBtn
 */
@media screen and (max-width:767px){
	.header__navBtnWrap {
		background-color: #000;
		width: 50px;
		height: 50px;
		margin-left: auto;
		position: relative;
		z-index: 10;
		pointer-events: auto;
	}
	.header__navBtn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		position: relative;
	}
	.header__navBtn__lineWrap {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 18px;
		height: 18px;
		position: relative;
	}
	.header__navBtn--line {
		background-color: #fff;
		border-radius: 3px;
		display: block;
		width: 100%;
		height: 2px;
		margin: auto;
		transition: all .3s ease;
		position: relative;
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(1) {
		top:6px;
		transform: rotate(45deg);
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(2) {
		opacity: 0;
		transform: translateX(10px);
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(3) {
		bottom:6px;
		transform: rotate(-45deg);
	}
}

/**
 * header__bottom
 */
@media screen and (max-width:767px){
	.header__bottom {
		width: calc(100% + 40px);
		height: 210px;
		overflow: hidden;
		pointer-events: none;
		margin-top: auto;
		margin-left: -20px;
		position: fixed;
		bottom: 0;
		opacity: 0;
		pointer-events: none;
		z-index: 1;
		transition: opacity .3s ease;
	}
	.header.is-active .header__bottom {
		opacity: 1;
	}
	.header__bottom:before {
		content: "";
		background: url(../img/common/icon_mark.svg) no-repeat 0 0 / 100%;
		width: 200px;
		height: 200px;
		position: absolute;
		right: -40px;
		bottom: -40px;
	}
	.header__bottom:after {
		content: "";
		background: url(../img/common/pstext.png) no-repeat 0 0 / 100%;
		width: 161px;
		height: 157px;
		position: absolute;
		bottom: -70px;
		left: 20px;
		z-index: 0;
		opacity: .7;
	}
}


/*-----------------------------------------------
 * Footer
-------------------------------------------------*/
.footer {
	margin-top: auto;
	padding-top: 200px;
}
@media screen and (max-width:767px){
	.footer {
		padding-top: 0;
		position: relative;
	}
}

/* inner */
.footer__inner {
	padding: 80px 60px;
	position: relative;
}
@media screen and (max-width:767px){
	.footer__inner {
		display: flex;
		flex-direction: column;
		padding: 0;
	}
}

.footer__inner:before {
    content: "";
    background-color: #2b2b2b;
    width: 100%;
    height: 1px;
    position: absolute;
    top: -1px;
    left: 0;
    z-index: 0;
}
@media screen and (max-width:767px){
	.footer__inner:before, .footer__inner:after {
		content: "";
		background-color: #2b2b2b;
		width: 1px;
		height: 100%;
		position: absolute;
		top: 0;
		pointer-events: none;
		z-index: 100;
	}
	.footer__inner:before {
		left: 20px;
	}
	.footer__inner:after {
		right: 20px;
	}
}

/* pagetop */
#pagetop {
	height: 60px;
	width: 120px;
	position: absolute;
	top: -30px;
	right: 60px;
}
@media screen and (max-width:767px){
	#pagetop {
		background-color: #2d2d2d;
		width: 100%;
		height: 50px;
		position: relative;
		top: auto;
		right: auto;
		order: 2;
		z-index: 101;
	}
}

#pagetop:before {
	content: '';
	position: absolute;
	top: 29px;
	left: 0;
	width: 20px;
	height: 1px;
	background-color: #fff;
}
#pagetop:after {
	content: '';
	position: absolute;
	top: 29px;
	right: 0;
	width: 20px;
	height: 1px;
	background-color: #fff;
}
@media screen and (max-width:767px){
	#pagetop:before, #pagetop:after {
		content: "";
		background-color: #3e3e3e;
		width: 1px;
		height: 100%;
		position: absolute;
		top: 0;
		pointer-events: none;
		z-index: 100;
	}
	#pagetop:before {
		left: 20px;
	}
	#pagetop:after {
		right: 20px;
	}
}

#pagetop a {
	position: relative;
	z-index: 2;
	display: block;
	height: 60px;
	text-decoration: none;
}
@media screen and (max-width:767px){
	#pagetop a {
		height: 100%;
	}
}

#pagetop a:before,
#pagetop a:after {
	content: '';
	position: absolute;
	left: 50%;
	margin-left: -4px;
	width: 8px;
	height: 8px;
	border-left: 1px solid #fff;
	border-top: 1px solid #fff;
	transform: rotate(45deg);
	box-sizing: border-box;
	transition: all 0.3s ease;
}
#pagetop a:before { top: 0px; }
#pagetop a:after { top: 6px; }
#pagetop a:hover:before { top: -4px; }
#pagetop a:hover:after { top: 2px; }
@media screen and (max-width:767px){
	#pagetop a:after {
		content: none;
	}
	#pagetop a:before {
		background: url(../img/common/arrow_top.svg) no-repeat 0 0 / 100%;
		width: 14px;
		height: 8px;
		left: 0;
		margin-left: 0;
		margin: auto;
		right: 0;
		top: 0;
		bottom: 0;
		border-left: none;
		border-top: none;
		transform: rotate(0);
	}
	#pagetop a:hover:before { top: 0; }
}

#pagetop a span {
	background-color: #000;
	color: #fff;
	line-height: 20px;
	text-align: center;
	display: block;
	height: 20px;
	width: 80px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -40px;
	margin-top: -10px;
	font-size: 12px;
	letter-spacing: .1em;
	text-indent: .1em;
}
@media screen and (max-width:767px){
	#pagetop a span {
		display: none;
	}
}

/* flex */
.footer__flex {
	display: flex;
}
@media screen and (max-width:767px){
	.footer__flex {
		flex-direction: column;
		padding: 0 20px;
	}
}

/**
 * footer__bnrLists
 */
.footer__bnrLists {
	display: flex;
	flex-wrap: wrap;
	width: 380px;
}
@media screen and (max-width:767px){
	.footer__bnrLists {
		width: 100%;
		order: 2;
	}
}

/* li */
.footer__bnrLists > li {
	width: calc((100% - 20px) / 3);
}
.footer__bnrLists > li:not(:nth-child(3n + 1)) {
	margin-left: 10px;
}
.footer__bnrLists > li:nth-child(n + 4) {
	margin-top: 10px;
}
@media screen and (max-width:767px){
	.footer__bnrLists > li {
		width: 50%;
		padding: 12px;
		position: relative;
	}
	.footer__bnrLists > li:not(:nth-child(3n + 1)) {
		margin-left: 0;
	}
	.footer__bnrLists > li:nth-child(n + 4) {
		margin-top: 0;
	}

	.footer__bnrLists > li img {
		width: 100%;
	}
	.footer__bnrLists > li:before {
		content: "";
		background-color: #2b2b2b;
		width: 100%;
		height: 1px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.footer__bnrLists > li:nth-child(odd):after {
		content: "";
		background-color: #2b2b2b;
		width: 1px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
	}
}

/**
 * footerShareDl
 */
.footerShareDl {
	display: flex;
	align-items: center;
	margin-left: auto;
}
@media screen and (max-width:767px){
	.footerShareDl {
		margin-right: auto;
		margin-bottom: 40px;
	}
}

/* dt */
.footerShareDl__dt {
	font-size: 10px;
	margin-right: 20px;
}
@media screen and (max-width:767px){
	.footerShareDl__dt {
		margin-right: 26px;
	}
}

/* dd */
.footerShareDl__dd {
	margin-right: -6px;
}

/**
 * footer__bottom
 */
.footer__bottom {
	margin-top: 60px;
}
@media screen and (max-width:767px){
	.footer__bottom {
		background-color: #000;
		order: 3;
		margin-top: 0;
		position: relative;
		padding-top: 150px;
		z-index: 101;
	}

	.footer__bottom:before, .footer__bottom:after {
		content: "";
		background-color: #2d2d2d;
		width: 1px;
		height: 100%;
		position: absolute;
		top: 0;
		pointer-events: none;
		z-index: 100;
	}
	.footer__bottom:before {
		left: 20px;
	}
	.footer__bottom:after {
		right: 20px;
	}
}

/* footer__notice */
.footer__notice {
	font-size: 10px;
	letter-spacing: 0.01em;
	text-align: center;
}
@media screen and (max-width:767px){
	.footer__notice {
		color: #7e7e7e;
		text-align: left;
		padding: 0 20px;
	}
}

/* copyright */
.policy,
.copyright {
	display: block;
	font-size: 10px;
	letter-spacing: 0.01em;
	margin-top: 30px;
	text-align: center;
}
@media screen and (max-width:767px){
	.copyright {
		color: #7e7e7e;
		text-align: left;
		margin-top: 10px;
		padding: 0 20px;
	}
}

/* footer__logo */
@media screen and (max-width:767px){
	.footer__logo {
		margin-bottom: 140px;
		padding: 0 40px;
		position: relative;
	}
	.footer__logo img {
		width: 100%;
		position: relative;
		z-index: 1;
	}

	/* mark */
	.footer__logo:before {
		content: "";
		background: url(../img/common/icon_mark.svg) no-repeat 0 0 / 100%;
		width: 140px;
		height: 140px;
		margin: auto;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 0;
		opacity: .6;
		pointer-events: none;
	}
}

.footer__policy{
	display: block;
	font-size: 10px;
	letter-spacing: 0.01em;
	margin-top: 10px;
	text-align: center;
}
.footer__policy a{
	color: #FFF;
}
@media screen and (max-width:767px){
	.footer__policy{
		text-align: left;
		padding: 0 20px 20px;
	}
	.footer__policy a{
		color: #7e7e7e;
}

/*-----------------------------------------------
 * Parts
-------------------------------------------------*/

/**
 * shareLists
 */
 .shareLists {
    display: flex;
}

/* item */
.shareLists__item {
    width: 30px;
    height: 30px;
}
.shareLists__item:not(:first-child) {
	margin-left: 16px;
}
@media screen and (max-width:767px){
	.shareLists__item {
		width: 40px;
    	height: 40px;
	}
}

/* link */
.shareLists__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    text-decoration: none;
}
.shareLists__link:before {
    content: "";
    background-color: #fff;
    display: block;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100%;
    mask-size: 100%;
}

/* 各SNSパーツ */
.shareLists__item.is-twitter .shareLists__link:before {
    width: 20px;
    height: 20px;
    -webkit-mask-image: url(../img/common/icon_tw.svg);
    mask-image: url(../img/common/icon_tw.svg);
}
.shareLists__item.is-facebook .shareLists__link:before {
    width: 20px;
    height: 20px;
    -webkit-mask-image: url(../img/common/icon_fb.svg);
    mask-image: url(../img/common/icon_fb.svg);
}
.shareLists__item.is-line .shareLists__link:before {
    width: 20px;
    height: 20px;
    -webkit-mask-image: url(../img/common/icon_line.svg);
    mask-image: url(../img/common/icon_line.svg);
}

/**
 * font
 */
/* bold */
.font-bold {
	font-weight: 700;
}

/* center */
.font-center {
	text-align: center;
}

/**
 * font-size
 * PCのサイズを基準
 */
/* size 14 */
.fontsize-14 {
	font-size: 14px;
}
@media screen and (max-width:767px){
	.fontsize-14 {
		font-size: 10px;
	}
}

/* size 16 */
.fontsize-16 {
	font-size: 16px;
}
@media screen and (max-width:767px){
	.fontsize-16 {
		font-size: 12px;
	}
}

/* size 18 */
.fontsize-18 {
	font-size: 18px;
}
@media screen and (max-width:767px){
	.fontsize-18 {
		font-size: 14px;
	}
}

/* size 20 */
.fontsize-20 {
	font-size: 20px;
}
@media screen and (max-width:767px){
	.fontsize-20 {
		font-size: 16px;
	}
}

/**
 * margin
 * PCのサイズを基準
 */
.mt-20 {
	margin-top: 20px;
}
.mb-20 {
	margin-bottom: 20px;
}
@media screen and (max-width:767px){
	.mt-20 {
		margin-top: 10px;
	}
	.mb-20 {
		margin-bottom: 10px;
	}
}

/* 30px */
.mt-30 {
	margin-top: 30px;
}
.mb-30 {
	margin-bottom: 30px;
}
@media screen and (max-width:767px){
	.mt-30 {
		margin-top: 20px;
	}
	.mb-30 {
		margin-bottom: 20px;
	}
}

/* 40px */
.mt-40 {
	margin-top: 40px;
}
.mb-40 {
	margin-bottom: 40px;
}
@media screen and (max-width:767px){
	.mt-40 {
		margin-top: 30px;
	}
	.mb-40 {
		margin-bottom: 30px;
	}
}

/* 50px */
.mt-50 {
	margin-top: 50px;
}
.mb-50 {
	margin-bottom: 50px;
}
@media screen and (max-width:767px){
	.mt-50 {
		margin-top: 40px;
	}
	.mb-50 {
		margin-bottom: 40px;
	}
}

/* 60px */
.mt-60 {
	margin-top: 60px;
}
.mb-60 {
	margin-bottom: 60px;
}
@media screen and (max-width:767px){
	.mt-60 {
		margin-top: 50px;
	}
	.mb-60 {
		margin-bottom: 50px;
	}
}
