@charset "utf-8";
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;}
/*-----------------------------------------------
 * Bace
 * Modal
 * Header
 * Footer
 * Parts
 * Subpage
-------------------------------------------------*/
:root {
	--max-width: 1600px;
	--color-blue: #013b96;
	--color-orange: #ee6a23;
	--color-green: #004d22;
	--color-green02: #445646;
	--color-red: #ec3a12;
	--color-gold: #bca071;
	--color-gold02:#9d814f;
	--color-twitter: #1DA1F2;
	--cubic-bezier-bound: 0.68, -0.6, 0.32, 1.6;
	--cubic-bezier-easeOutQuart: 0.25, 1, 0.5, 1;
}
@media screen and (max-width:767px){
	:root {
		--max-width: 100%;
	}
}
/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
    -webkit-text-size-adjust: 100%;
    background-color: #fff;
    color: #000;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    font-feature-settings: "palt";
    font-size: 14px;
    font-weight: normal;
    letter-spacing: 0.07em;
    line-height: 1.8;
    word-wrap: break-word;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: #222; }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
    background: #6ccfee;
    color: #fff;
}
::-moz-selection{
    background: #6ccfee;
    color:#fff;
}
#fullWrap {
	display: flex;
	flex-direction: column;
	min-width: 1200px;
	min-height: 100vh;
}
#fullWrap::before {
	content: "";
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background: url(../img/common/main_bg.svg) repeat 0 0 /963px 613px;
	animation: bgAni 20s linear infinite;
}
@keyframes bgAni {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: -963px -613px;
	}
}
@media screen and (max-width:767px){
    html{
        font-size: 62.5%;
    }
    body{
        font-size: 10px;
        font-size: 1rem;
    }
    .sp{ display: block; }
    .pc{ display: none; }
    .ah:hover { opacity: 1; }
	#fullWrap {
		min-width: 320px;
	}
}

/* font */
.font-spartan {
	font-family: 'Spartan', sans-serif;
}


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

/**
 * modalBox
 * 基盤のモーダル
 */
.modalBox{
    -webkit-overflow-scrolling: touch;
    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;
}

/* bg */
.modalBox__bg {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
    pointer-events: none;
}
.modalBox__bg:before {
    content: "";
    background-color: rgba(255,255,255,.8);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100%);
    transition: transform .6s cubic-bezier(var(--cubic-bezier-easeOutQuart));
}
.modalBox__bg.is-active:before {
    transform: translateX(0);
}

/* 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: 80px 0;
}
@media screen and (max-width:767px){
    .oneModalIn{
        min-width: 100%;
    }
    .oneModalIn__cont{
        width: 100%;
    }
}

/**
 * closeBtn
 */
.closeBtn{
    width: 160px;
    height: 200px;
	overflow: hidden;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
}
.closeBtn a{
    width: 80px;
    height: 100px;
    position: fixed;
    top: 0;
    right: 0;
	text-decoration: none;
}
@media screen and (max-width:767px){
    .closeBtn{
		width: 60px;
		height: 80px;
    }
	.closeBtn a{
		width: 50px;
    	height: 68px;
	}
}

/* icon */
.closeBtn a:before {
	content: "";
	display: block;
	background: url(../img/common/icon_close.svg) no-repeat 0 0 / 100%;
	width: 80px;
	height: 80px;
	transition: transform .3s ease-in-out;
}
.closeBtn a:hover:before {
	transform: rotate(180deg);
}
@media screen and (max-width:767px){
	.closeBtn a:before {
		width: 50px;
		height: 50px;
	}
}

/* span */
.closeBtn a > span {
	display: flex;
	justify-content: center;
	font-size: 12px;
	line-height: 1;
	width: 100%;
	position: absolute;
	bottom: 0;
}
@media screen and (max-width:767px){
	.closeBtn a > span {
		font-size: 10px;
		font-size: 1rem;
	}
}

/**
 * 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%;
    }
}
.youtubeIframeWrap:before{
    content: "";
    display: block;
    padding-top: 56.25%;
    z-index: 0;
}
.youtubeIframe{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}


/*-----------------------------------------------
 * Header
-------------------------------------------------*/
.header {
	background-color: rgba(255,255,255,.8);
    width: 100%;
	min-width: 1200px;
	height: 80px;
    position: fixed;
	top: 0;
    z-index: 999;
}
.header:before {
	content: "";
	background-color: #000;
	width: 100%;
	height: 4px;
	position: absolute;
	bottom: -4px;
}
@media screen and (max-width:767px){
    .header {
		background-color: transparent;
		width: 66.6%;
		height: 48px;
		min-width: 100%;
        top: 0!important;
        bottom: auto;
		pointer-events: none;
    }
	.header:before {
        background-color: rgba(0,0,0,.8);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        position: fixed;
        width: 66.6%;
        height: 100%;
        top: 0;
        right: 0;
        z-index: 0;
        pointer-events: none;
		transform: translateX(100%);
        transition: transform .6s cubic-bezier(var(--cubic-bezier-easeOutQuart));
	}
	.header.is-active:before {
		transform: translateX(0);
    }
}

/* inner */
.header__inner {
	width: 100%;
	height: 100%;
}
@media screen and (max-width:767px){
    .header__inner {
		pointer-events: auto;
        -webkit-overflow-scrolling: touch;
        width: 66.6%;
        height: 100%;
        overflow: auto;
        position: fixed;
        top: 0;
        right: 0;
        padding: 80px 0;
        z-index: 1;
		transform: translateX(100%);
        transition: transform .6s cubic-bezier(var(--cubic-bezier-easeOutQuart));
    }
    .header.is-active .header__inner {
		transform: translateX(0);
    }
}

/**
 * headerNav
 */
.headerNav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	padding: 0 40px;
}
@media screen and (max-width:767px){
    .headerNav {
		display: block;
        position: relative;
        z-index: 1;
    }

    .headerNavLists__item a {
        color: #fff;
    }
}

/**
 * headerNav__deco
 */
.headerNav__deco {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	position: relative;
}
.headerNav__deco.is-right {
	flex-direction: row-reverse;
}
@media screen and (max-width:767px){
	.headerNav__deco {
		display: none;
	}
}

/* before */
.headerNav__deco:before {
	content: "";
	background-color: var(--color-gold);
	display: block;
	width: 40px;
	height: 12px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
}
.headerNav__deco.is-left:before {
	-webkit-mask-image: url(../img/common/deco_line_left.svg);
	mask-image: url(../img/common/deco_line_left.svg);
}
.headerNav__deco.is-right:before {
	-webkit-mask-image: url(../img/common/deco_line_right.svg);
	mask-image: url(../img/common/deco_line_right.svg);
}

/* after */
.headerNav__deco:after {
	content: '';
	background-color: var(--color-gold);
	width: calc(100% - 40px);
    height: 2px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
}
.headerNav__deco.is-right:after {
	right: auto;
	left: 0;
}

/**
 * headerNavLists
 */
.headerNavLists {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 40px;
}
@media screen and (max-width:767px){
	.headerNavLists {
		display: block;
		height: auto;
		padding: 0;
	}
}

/* item */
.headerNavLists__item {
	height: 100%;
}
.headerNavLists__item:not(:first-child) {
	margin-left: 40px;
}
@media screen and (max-width:767px){
	.headerNavLists__item:not(:first-child) {
		margin-left: 0;
		/* margin-top: 30px; */
	}
}

/* a */
.headerNavLists__item > a {
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	height: 100%;
	position: relative;
	text-decoration: none;
	transition: color .3s ease-in-out;
	white-space: nowrap;
}
.headerNavLists__item > a:hover,
.headerNavLists__item > a.is-active {
	color: #be4bf8;
}
@media screen and (max-width:767px){
	.headerNavLists__item > a {
		color: #fff;
		font-size: 1.6rem;
		padding: 22px 0;
	}
}

/* icon king */
.headerNavLists__item > a:before {
	content: "";
	background-color: var(--color-gold);
	display: block;
	width: 29px;
	height: 16px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	-webkit-mask-image: url(../img/common/icon_king.svg);
	mask-image: url(../img/common/icon_king.svg);
	margin: auto;
	position: absolute;
	top: 6px;
	right: 0;
	left: 0;
	opacity: 0;
	transition: opacity .3s ease-in-out;
}
@media screen and (max-width:767px){
	.headerNavLists__item > a:before {
		top: 0;
	}
}
.headerNavLists__item > a.is-active:before,
.headerNavLists__item > a:hover:before {
    opacity: 1;
}

/* under lind */
.headerNavLists__item > a:after {
	content: '';
	background:var(--color-gold);
	width: 16px;
	height: 2px;
	margin: auto;
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	transition: transform .3s ease-in-out;
	transform: scale(0, 1);
	transform-origin: center top;
}
@media screen and (max-width:767px){
	.headerNavLists__item > a:after {
		bottom: 18px;
	}
}
.headerNavLists__item > a.is-active:after,
.headerNavLists__item > a:hover:after {
    transform: scale(1, 1);
}

/**
 * navBtn
 */
@media screen and (max-width:767px){
    .header__navBtnWrap {
        width: 48px;
        height: 48px;
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 2;
		pointer-events: auto;
    }
	.header__navBtnWrap:before {
		content: "";
		border: 1px solid #fff;
		width: calc(100% - 8px);
		height: calc(100% - 8px);
		margin: auto;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		z-index: 2;
		pointer-events: none;
	}
    .header__navBtn {
		background-color: #000;
		color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
		flex-direction: column;
        width: 100%;
        height: 100%;
        position: relative;
		text-decoration: none;
		transition: background-color .4s ease-in-out;
		z-index: 1;
    }
	.header__navBtn.is-active {
		background-color: #be4bf8;
	}
    .header__navBtn__lineWrap {
        width: 24px;
        height: 8px;
        position: relative;
    }
    .header__navBtn--line {
        background-color: #fff;
        display: block;
        width: 100%;
        height: 1px;
        margin: auto;
        position: absolute;
		transition: all .3s ease-in-out;
    }
    .header__navBtn--line:nth-child(1) {
        top: 0;
    }
    .header__navBtn--line:nth-child(2) {
        bottom: 0;
    }

	.header__navBtn.is-active .header__navBtn--line:nth-child(1) {
		top: 3px;
		transform: rotate(30deg);
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(2) {
		bottom: 4px;
		transform: rotate(-30deg);
	}

	.header__navBtn:after {
		content: "MENU";
		font-size: 1rem;
		transform: scale(.75);
		letter-spacing: 0.01em;
		line-height: 1;
		margin-top: 7px;
	}
	.header__navBtn.is-active:after {
		content: "CLOSE";
	}
}


/*-----------------------------------------------
 * Footer
-------------------------------------------------*/
.footer {
	margin-top: auto;
	position: relative;
	z-index: 1;
}

/* ptn */
.footer:before {
	content: "";
	background: url(../img/common/deco_eg3_ptn.png) repeat-x center top;
	display: block;
	width: 100%;
	height: 30px;
}

/* inner, top */
.footer__inner {
	background-color: #181818;
	padding: 80px 40px;
}
.footer__top {
	display: flex;
	align-items: center;
	margin-bottom: 80px;
}
@media screen and (max-width:767px){
	.footer__inner {
		padding: 48px 24px;
	}
	.footer__top {
		display: block;
		margin-bottom: 48px;
	}
}

/**
 * footer__share
 */
.footer__share {
	display: flex;
	align-items: center;
}
@media screen and (max-width:767px){
	.footer__share {
		justify-content: center;
	}
}

/* dt */
.footer__share > dt {
	color: #fff;
	font-size: 12px;
	margin-right: 20px;
}
@media screen and (max-width:767px){
	.footer__share > dt {
		font-size: 1.2rem;
	}
}

/**
 * footer__shareLists
 */
.footer__shareLists {
	display: flex;
	align-items: center;
}
/* icon */
.footer__shareLists .shareLists__link:before {
	background-color: #fff;
}
.footer__shareLists > li:not(:last-child) {
	margin-right: 20px;
}

/**
 * footer__linkLists
 */
 .footer__linkLists {
	display: flex;
	align-items: center;
	margin-left: auto;
}
@media screen and (max-width:767px){
	.footer__linkLists {
		justify-content: center;
		margin-left: 0;
		margin-top: 48px;
	}
}

/* item */
.footer__linkLists > li:not(:first-child) {
	margin-left: 40px;
}
.footer__linkLists > li a {
	color: #fff;
	display: flex;
	align-items: center;
	font-size: 12px;
	text-decoration: none;
}
.footer__linkLists > li a:before {
	content: "";
	background-color: #c29f6a;
	display: block;
	width: 8px;
	height: 4px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	-webkit-mask-image: url(../img/common/icon_kira_sm.svg);
	mask-image: url(../img/common/icon_kira_sm.svg);
	margin-right: 8px;
}

@media screen and (max-width:767px){
	.footer__linkLists > li a {
		font-size: 1.2rem;
	}
	.footer__linkLists > li a:before {
		width: 10px;
		height: 5px;
	}
}

/**
 * noticeText
 */
.footer__noticeText {
	color: #888888;
	font-size: 12px;
	text-align: center;
	margin-bottom: 40px;
}
@media screen and (max-width:767px){
	.footer__noticeText {
		font-size: 1.2rem;
		margin-bottom: 48px;
	}
}

/**
 * copyright
 */
.footer__copyright {
	display: block;
	color: #888888;
	font-size: 10px;
	text-align: center;
}
@media screen and (max-width:767px){
	.footer__copyright {
		font-size: 1rem;
	}
}


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

/**
 * shareLists
 */
/* item */
.shareLists__item {
    width: 30px;
    height: 30px;
}

/* 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: #000;
    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%;
    transition: background-color .4s ease;
}
.shareLists__link:hover:before {
    background-color: #7d6b4c;
}

/* 各SNSパーツ */
.shareLists__item.is-twitter .shareLists__link:before {
    width: 25px;
    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: 24px;
    height: 24px;
    -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: 24px;
    height: 24px;
    -webkit-mask-image: url(../img/common/icon_line.svg);
    mask-image: url(../img/common/icon_line.svg);
}

/**
 * twitter button
 */
a.twitterBtn {
	background-color: var(--color-twitter);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	position: relative;
}
a.twitterBtn: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%;
	-webkit-mask-image: url(../img/common/icon_tw.svg);
	mask-image: url(../img/common/icon_tw.svg);
	width: 25px;
	height: 20px;
}

/**
 * decoEgWrap
 */
.decoEgWrap {
	width: 100%;
	padding: 10px;
	position: relative;
}
.decoEg {
	border: 2px solid var(--color-gold);
	padding: 2px;
}
.decoEg__inner {
	border: 1px solid var(--color-gold);
	min-height: 160px;
	background: #fff;
}

/* 三角 */
.decoEgWrap:before,
.decoEg:before,
.decoEgWrap:after,
.decoEg:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
}
.decoEgWrap:before {
	border-width: 24px 24px 0 0;
	border-color: #ffffff transparent transparent transparent;
	top: 2px;
	left: 2px;
}
.decoEgWrap:after {
	border-width: 0 24px 24px 0;
	border-color: transparent #ffffff transparent transparent;
	top: 2px;
	right: 2px;
}
.decoEg:before {
	border-width: 24px 0 0 24px;
	border-color: transparent transparent transparent #ffffff;
	bottom: 2px;
	left: 2px;
}
.decoEg:after {
	border-width: 0 0 24px 24px;
	border-color: transparent transparent #ffffff transparent;
	bottom: 2px;
	right: 2px;
}

.decoEg__inner:before {
	content: "";
	background-image: url(../img/common/deco_eg2_lt.svg), url(../img/common/deco_eg2_rt.svg), url(../img/common/deco_eg2_rb.svg), url(../img/common/deco_eg2_lb.svg);
    background-position: top left, top right, bottom right, bottom left;
	background-repeat: no-repeat;
    background-size: auto;
	width: 100%;
	height: 100%;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

/**
 * link-a
 */
.link-a {
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	font-size: 16px;
	padding: 4px;
	position: relative;
	text-decoration: none;
}
@media screen and  (max-width:767px){
	.link-a {
		font-size: min(3.2vw, 24px);
	}
}
.link-a:before {
	content: "";
	background-color: #7d6b4c;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.link-a:after {
	content: "";
	border: 2px solid #7d6b4c;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 6px;
	left: 6px;
	z-index: 0;
}

/* color is-red */
.link-a.is-red:before {
	background-color: var(--color-red);
}
.link-a.is-red:after {
	border-color: var(--color-red);
}

/* color is-gold */
.link-a.is-gold:before {
	background-color: var(--color-gold);
}
.link-a.is-gold:after {
	border-color: var(--color-gold);
}

/* color is-black */
.link-a.is-black:before {
	background-color: #000;
}
.link-a.is-black:after {
	border-color: #000;
}

/* inner */
.link-a__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	width: 100%;
	padding: 14px 0;
	position: relative;
	z-index: 2;
}
@media screen and  (max-width:767px){
	.link-a__inner {
		padding: 10px 0;
	}
}

/* arrow */
.link-a__inner:before {
	content: "";
	background-color: #fff;
	display: block;
	width: 12px;
	height: 24px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	-webkit-mask-image: url(../img/common/arrow_right.svg);
	mask-image: url(../img/common/arrow_right.svg);
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
}
@media screen and  (max-width:767px){
	.link-a__inner:before {
		width: 8px;
		height: 16px;
		right: 4%;
	}
}


/**
 * pager
 */
 .pagerWrap {
    margin-top: 80px;
    position: relative;
}
.pagerLists {
    display: flex;
    justify-content: center;
    padding: 0 80px;
    position: relative;
    z-index: 1;
}

.pagerLists__item {
    margin: 0 10px;
}

.pagerLists__link {
    background-color: #fff;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 4px solid #000;
    border-radius: 8px;
    font-size: 12px;
    /* line-height: 1; */
    width: 40px;
    height: 40px;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease-in-out;
}

.pagerLists__link:hover,
.pagerLists__item.active .pagerLists__link {
    background-color: #000;
    color: #fff;
}

.pagerLists__link > span {
	display: block;
	margin-top: 3px;
}

@media screen and (max-width:767px) {
    .pagerWrap {
        margin-top: 40px;
        padding: 0 0 4px;
    }

    .pagerLists {
        padding: 0;
    }

    .pagerLists__item {
        margin: 0 8px;
    }

    .pagerLists__link {
    	border-radius: 4px;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 30px;
        width: 30px;
        height: 30px;
    }

    .pagerLists__link:hover {
        background-color: rgba(0, 0, 0, .6);
        color: #fff;
    }
}

/* nav */
.pager__navWrap {
    width: 100%;
    height: 100%;
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    z-index: 2;
}

.pager__nav {
    width: 80px;
    height: 100%;
    pointer-events: auto;
    position: absolute;
    top: 0;
}

.pager__nav a {
    color: #000;
    display: flex;
    align-items: center;
    font-size: 12px;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.pager__nav a span {
    display: flex;
    align-items: center;
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    transition: transform .3s ease-in-out;
}

.pager__nav--prev span {
	justify-content: flex-end;
}

.pager__nav--next {
    right: 0;
}

.pager__nav--next span:after {
	content: "";
    background-color: #000;
    display: block;
    width: 20px;
    height: 40px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    margin: auto;
    position: absolute;
    top: 0;
	right: 0;
    bottom: 0;
	-webkit-mask-image: url(../img/common/arrow_right.svg);
    mask-image: url(../img/common/arrow_right.svg);
}

.pager__nav--next a:hover span {
    transform: translateX(24px);
}

.pager__nav--prev {
    left: 0;
}

.pager__nav--prev span:before {
    content: "";
    background-color: #000;
    display: block;
    width: 20px;
    height: 40px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    margin: auto;
    position: absolute;
    top: 0;
	left:0;
    bottom: 0;
	-webkit-mask-image: url(../img/common/arrow_left.svg);
    mask-image: url(../img/common/arrow_left.svg);
}

.pager__nav--prev a:hover span {
    transform: translateX(-24px);
}

@media screen and (max-width:767px) {
    .pager__navWrap {
        height: 30px;
        margin-bottom: 20px;
        position: relative;
        top: auto;
        left: auto;
    }

    .pager__nav {
        width: 72px;
    }

    .pager__nav a {
        font-size: 12px;
        font-size: 1.2rem;
    }

    .pager__nav--next span:after {
        width: 12px;
        height: 18px;
		top: -3px;
    }

    .pager__nav--next a:hover span {
        transform: translateX(0);
    }

    .pager__nav--prev span:before {
        width: 12px;
        height: 18px;
		top: -3px;
    }

    .pager__nav--prev a:hover span {
        transform: translateX(0);
    }
}

/**
 * backTo
 */
.backTo {
	display: flex;
	justify-content: center;
}
.backTo a {
	color: #000;
    background-color: #fff;
    border-radius: 8px;
    border: 4px solid #000;
    display: block;
    font-size: 12px;
    letter-spacing: 0.01em;
    padding: 6px 40px;
    text-decoration: none;
	transition: all .3s ease-in-out;
}
.backTo a:hover {
	color: #fff;
	background-color: #000;
}
@media screen and (max-width:767px) {
	.backTo a {
		font-size: 1.2rem;
	}
}


/**
 * swiper
 */
/* swiperControl */
.swiperControl {
	width: 100%;
	margin: 50px auto 0;
	position: relative;
	padding: 0 120px;
	z-index: 10;
}
@media screen and  (max-width:767px){
	.swiperControl {
		margin: 24px auto 0;
		padding: 0 24px;
	}
}

/* swiper-button-disabled */
.swiperControl .swiper-button-disabled {
    opacity: .6;
    pointer-events: none;
}

/* scrollbar */
.swiperControl .swiper-scrollbarWrap{
    touch-action: manipulation;
    height: 80px;
    position:relative;
}
.swiperControl.is-small .swiper-scrollbarWrap{
    height: 24px;
}
@media screen and  (max-width:767px){
	.swiperControl .swiper-scrollbarWrap{
		height: 30px;
	}
}

.swiperControl .swiper-scrollbarWrap:before {
    content:'';
    height: 2px;
    margin: auto;
    position: absolute;
    top:0;
    right: 0;
    bottom: 0;
    left:0;
}
.swiperControl .swiper-scrollbarWrap:before {
    background:#999;
}
.swiperControl .swiper-scrollbar {
    background:transparent;
    height: 80px;
}
@media screen and  (max-width:767px){
	.swiperControl .swiper-scrollbarWrap:before {
		width: calc(100% - 60px);
	}
	.swiperControl .swiper-scrollbar {
		height: 30px;
		width: calc(100% - 60px);
		margin: 0 auto;
		z-index: 2;
	}
}

.swiperControl.is-small .swiper-scrollbar {
    height: 24px;
}
.swiperControl .swiper-scrollbar-drag {
    border-radius: 0;
    background:transparent;
    cursor: pointer;
}
.swiperControl .swiper-scrollbar-drag:before {
    content:'';
    margin: auto;
    position: absolute;
    top:0;
    right: 0;
    bottom: 0;
    left:0;
    height:6px;
}
.swiperControl.is-green .swiper-scrollbar-drag:before {
    background:#009944;
}
.swiperControl.is-red .swiper-scrollbar-drag:before {
    background:var(--color-red);
}

/* prev, next */
.swiperControl .swiper-btn-prev,
.swiperControl .swiper-btn-next {
    position: absolute;
    bottom:0;
    width:80px;
    height:80px;
    cursor: pointer;
}
@media screen and  (max-width:767px){
	.swiperControl .swiper-btn-prev,
	.swiperControl .swiper-btn-next {
		width:30px;
		height:30px;
	}
}

.swiperControl .swiper-btn-prev {
    left:0;
}
.swiperControl .swiper-btn-next {
    right:0;
}
.swiperControl .swiper-btn-prev:before,
.swiperControl .swiper-btn-next:before {
    content: "";
	background-color: #000;
    display: block;
    width: 20px;
    height: 40px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100%;
    mask-size: 100%;
	margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
}
@media screen and  (max-width:767px){
    .swiperControl .swiper-btn-prev,
    .swiperControl .swiper-btn-next {
        width:30px;
		height:30px;
    }
    .swiperControl .swiper-btn-prev:before,
    .swiperControl .swiper-btn-next:before {
        width:15px;
		height:30px;
    }
}
.swiperControl .swiper-btn-prev:before {
    left: 0;
}
.swiperControl .swiper-btn-prev:before {
    -webkit-mask-image: url(../img/common/arrow_left.svg);
    mask-image: url(../img/common/arrow_left.svg);
}
.swiperControl .swiper-btn-next:before {
    right: 0;
}
.swiperControl .swiper-btn-next:before {
    -webkit-mask-image: url(../img/common/arrow_right.svg);
    mask-image: url(../img/common/arrow_right.svg);
}

/* deco */
.swiper-scrollbar--deco {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	pointer-events: none;
}
@media screen and  (max-width:767px){
	.swiper-scrollbar--deco {
		padding: 0 30px;
	}
}


.swiper-scrollbar--deco:before,
.swiper-scrollbar--deco:after {
	content: "";
	background-color: #999;
	display: block;
	width: 40px;
	height: 12px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
}
.swiper-scrollbar--deco:before {
	-webkit-mask-image: url(../img/common/deco_line_left.svg);
    mask-image: url(../img/common/deco_line_left.svg);
	left: -40px;
}
.swiper-scrollbar--deco:after {
	-webkit-mask-image: url(../img/common/deco_line_right.svg);
	mask-image: url(../img/common/deco_line_right.svg);
	right: -40px;
}
@media screen and  (max-width:767px){
	.swiper-scrollbar--deco:before,
	.swiper-scrollbar--deco:after {
		width: 40px;
	}
	.swiper-scrollbar--deco:before {
		left: 0;
	}
	.swiper-scrollbar--deco:after {
		right: 0;
	}
}


/*-----------------------------------------------
 * Subpage
-------------------------------------------------*/
/* subMain */
.subMain {
	padding-top: 160px;
}
@media screen and  (max-width:767px){
	.subMain {
		padding-top: 30px;
	}
}

/* subToptext */
.subToptext {
	color: #000;
	font-size: 14px;
	padding-left: 40px;
}
@media screen and  (max-width:767px){
	.subToptext {
		font-size: 10px;
		font-size: 1rem;
		padding-left: 24px;
	}
}

/* subSection */
.subSection {
	padding: 80px 0;
	position: relative;
}
@media screen and  (max-width:767px){
	.subSection {
		padding: 30px 0 0;
	}
}

/* subSection__inner */
.subSection__inner {
	overflow-x: clip;
	position: relative;
	z-index: 1;
}

/* background */
.subSection__bgWrap {
	width: 100%;
	height: 450px;
	margin: auto;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	transform: skewY(-15deg);
	z-index: 0;
}
@media screen and  (max-width:767px){
	.subSection__bgWrap {
		height: 240px;
	}
}
.subSection.is-alignRight .subSection__bgWrap {
	transform: skewY(15deg);
}
.subSection__bgWrap:before {
	content: "";
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: cover;
	width: 100%;
	height: 300%;
	position: absolute;
	top: -100%;
	transform: skewY(15deg);
}
.subSection.is-alignRight .subSection__bgWrap:before {
	transform: skewY(-15deg);
}

/* subSectionHead */
.subSectionHead {
	display: flex;
	flex-direction: column;
	max-width: var(--max-width);
	margin: 0 auto 80px;
	position: relative;
}
@media screen and  (max-width:767px){
	.subSectionHead {
		margin: 0 auto 60px;
	}
}

/**
 * subSectionHead__h2
 */
.subSectionHead__h2 {
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100%;
	position: relative;
	z-index: 1;
}

/* alignRight */
.subSection.is-alignRight .subSectionHead__h2 {
	margin-left: auto;
	margin-right: -8px;
}
@media screen and  (max-width:767px){
	.subSection.is-alignRight .subSectionHead__h2 {
		margin-right: -4px;
	}
}

/* stroke */
.subSectionHead__h2:after {
	content: "";
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100%;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: -6px;
	left: -8px;
}
@media screen and  (max-width:767px){
	.subSectionHead__h2:after {
		top: -2px;
		left: -4px;
	}
}

/**
 * subSectionHead__jptitle
 */
.subSectionHead__jptitleWrap {
	position: absolute;
	bottom: 40px;
	right: 0;
	z-index: 2;
}
@media screen and  (max-width:767px){
	.subSectionHead__jptitleWrap {
		bottom: -22%;
	}
}

/* bg */
.subSectionHead__jpbgWrap {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
 }
.subSectionHead__jpbgWrap:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* title */
.subSectionHead__jptitle {
	color: #fff;
	display: flex;
	align-items: center;
	font-size: 32px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.6;
	padding: 0 80px 0 40px;
	position: relative;
	z-index: 1;
}
@media screen and  (max-width:767px){
	.subSectionHead__jptitle {
		font-size: min(4vw, 30px);
		padding: 0 10px;
		white-space: nowrap;
	}
}

/* alignRight */
.subSection.is-alignRight .subSectionHead__jptitleWrap {
	right: auto;
	left: 0;
}
.subSection.is-alignRight .subSectionHead__jpbgWrap {
	left: auto;
	right: 0;
}
.subSection.is-alignRight .subSectionHead__jptitle {
	padding: 0 40px 0 80px;
}
@media screen and  (max-width:767px){
	.subSection.is-alignRight .subSectionHead__jptitle {
		padding: 0 10px;
	}
}

/* icon */
.subSectionHead__jptitle:before {
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	-webkit-mask-image: url(../img/common/icon_kira.svg);
	mask-image: url(../img/common/icon_kira.svg);
	margin-right: 16px;
}
@media screen and  (max-width:767px){
	.subSectionHead__jptitle:before {
		width: 16px;
		height: 16px;
		margin-right: 8px;
	}
}

/**
 * subSectionHead__stitle
 */
.subSectionHead__stitle {
	color: #888;
	font-size: 12px;
	position: absolute;
	top: 0;
	right: 40px;
	text-align: right;
}
/* alignRight */
.subSection.is-alignRight .subSectionHead__stitle {
	right: auto;
	left: 40px;
	text-align: left;
}
@media screen and  (max-width:767px){
	.subSectionHead__stitle {
		font-size: min(1.6vw, 12px);
		right: 12px;
		transform: scale(.8);
    	transform-origin: right;
	}
	.subSection.is-alignRight .subSectionHead__stitle {
		left: 12px;
		transform-origin: left;
	}
}

/**
 * sub aside
 */
.subAside {
	padding: 0 0 150px;
	position: relative;
	z-index: 1;
}
@media screen and  (max-width:767px){
	.subAside {
		padding: 48px 0;
	}
}

.subAside__officialLinkWrap {
	width: 880px;
	margin-top: 80px;
	margin-right: auto;
	margin-left: auto;
}
.subAside__officialLinkWrap img {
	width: 100%;
}
@media screen and  (max-width:767px){
	.subAside__officialLinkWrap {
		width: 100%;
		margin-top: 0;
		padding: 0 24px;
	}
}
