@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: 640px;
	/* メインで使用するサイズやカラー */
	--main-font-size: 16px;
	--main-font-family: 'Noto Serif JP', serif;
	/*
	Regular 400
	Medium 500
	SemiBold 600
	Bold 700	
	*/
    --main-color: #C41211;
	--sub-color: #8BCBBE;

	/*chara*/
    --chara1: #1B9D90;
	--chara2: #AF5A5F;
	--chara3: #CBAA68;
	--chara4: #7466A0;
	--chara5: #88AF60;
	--chara6: #DE8D90;
	
	--vw-min: 1200;

	/* easing */
	--easing-outquart: cubic-bezier(0.25, 1, 0.5, 1);
	/* sp-size */
	--sp-size-2: min(0.2667vw, 2px);
	--sp-size-4: min(0.5334vw, 4px);
	--sp-size-8: min(1.0667vw, 8px);
	--sp-size-10: min(1.3334vw, 10px);
	--sp-size-12: min(1.6vw, 12px);
	--sp-size-16: min(2.1334vw, 16px);
	--sp-size-20: min(2.6667vw, 20px);
	--sp-size-24: min(3.2vw, 24px);
	--sp-size-26: min(3.4667vw, 26px);
	--sp-size-28: min(3.7334vw, 28px);
	--sp-size-30: min(4vw, 30px);
	--sp-size-32: min(4.2667vw, 32px);
	--sp-size-36: min(4.8vw, 36px);
	--sp-size-40: min(5.3334vw, 40px);
	--sp-size-48: min(6.4vw, 48px);
	--sp-size-56: min(7.4667vw, 56px);
	--sp-size-64: min(8.5334vw, 64px);
	--sp-size-72: min(9.6vw, 72px);
	--sp-size-80: min(10.6667vw, 80px);
	--sp-size-96: min(12.8vw, 96px);
	--sp-size-192: min(25.6vw, 192px);
}
@media screen and (max-width:767px){
	:root {
		--common-min-width: 100%;
		--common-min-height: auto;
		--main-font-size: 12px;
		--vw-min: 375;
	}
}

/*FONT*/
.f_zen-old{
	font-family: "Zen Old Mincho", serif;
	/*
	Regular 400
	SemiBold 600
	Bold 700	
	*/
}
.f_cormo {
	font-family: "Cormorant Garamond", serif;
	/*
	Light 300
	Regular 400
	Medium 500
	SemiBold 600
	Bold 700
	*/
} 




/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: #000;
	font-family: var(--main-font-family);
	font-size: var(--main-font-size);
	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: #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; }
}
/**
 * scroll bar
 */
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
	background: var(--main-color);
}
::-webkit-scrollbar-thumb {
	background: var(--sub-color);
	margin: 2px;
	box-shadow: none;
}
/**
 * Wrap
 * 大枠のwrap指定
 */
/* fullWrap */
#fullWrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	z-index: 1;
}
/*-----------------------------------------------
 * Modal
-------------------------------------------------*/
/**
 * modalBox
 * 基盤のモーダル
 */
.modalBox{
	-webkit-overflow-scrolling: touch;
	background: rgba(27,157,144,.8);
	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;
}
.oneModal.is-show {
	display: block;
}

/* oneModalIn */
.oneModalIn{
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.oneModalIn__cont{
	padding: 50px 0;
}
@media screen and (max-width:767px){
	.modalBox{
		background: rgba(27,157,144,.9);
	}
	.oneModalIn{
		min-width: 100%;
	}
	.oneModalIn__cont{
		width: 100%;
		padding: 10vw 3vw;
	}
}

/**
 * closeBtn
 */
.closeBtn{
	width: 107px;
    height: 60px;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
}
@media screen and (max-width:767px){
	.closeBtn{
		width:11.2vw;
		height:6.4vw;
		top: 3vw;
		right: 3vw;
	}
}
.closeBtn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
/* img */
.closeBtn a:before {
	content: "";
	-webkit-mask-image: url(../img/common/icon/ic_close.png);
    width: 100%;
    height: 100%;
    background-color: #FFF;
	-webkit-mask-size: 100% auto;
    width: 100%;
}
/**
 * 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;
}


/*-----------------------------------------------
 * Header
-------------------------------------------------*/
.header {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 999;
}

/* inner */
.header__inner {
    background-color: rgba(255,255,255,.96);
    -webkit-overflow-scrolling: touch;
    width: 370px;
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1;
	background-image: url(../img/common/hd_deco_txt.png), url(../img/common/hd_line_btm.png),url(../img/common/hd_line_top.png);
	background-size: 26% auto,70% auto, 100% auto;
	background-position: left bottom,right bottom 5px, center top 5px;
	background-repeat: no-repeat,no-repeat,no-repeat;
}
@media screen and (max-width:767px){
	.header__inner {
		-webkit-overflow-scrolling: touch;
		width: 66.6vw;
		height: 100%;
		overflow-y: auto;
		overscroll-behavior: contain;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1;
		background-image:  url(../img/common/hd_line_top.png),url(../img/common/hd_line_top.png);
		background-size: 100% auto, 100% auto;
		background-position:right bottom 5px, center top 5px;
		background-repeat: no-repeat,no-repeat;
	
	}
}
/**
 * headerNav
 */
.headerNav,
.headerNav__inner,
.headerNav__cont {
	width: 100%;
	height: 100%;
}
@media screen and (max-width:767px){
	.headerNav {
		height: calc(100% + 1px);
		position: relative;
	}
	.headerNav__inner {
		display: flex;
		align-items: center;
		justify-content: center;
		height: auto;
		min-height: 100%;
		margin: 0 auto;
		position: relative;
	}
	.headerNav__cont {
		height: auto;
		margin: 100px 0;
		position: relative;
	}
}
/**
 * headerNavLists
 */
.headerNavLists {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.headerNavLists__item {
	height: 100%;
}
.headerNavLists__item a {
	color: #fff
}
@media screen and (max-width:767px){
	.headerNavLists {
		display: block;
	}
	.headerNavLists__item {
		height: auto;
	}
	.headerNavLists__item:not(:first-child) {
		margin-top: 20px;
	}
}
/* a */
.headerNavLists__item > a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 16px;
	font-weight: 800;
	padding: 0 20px;
	position: relative;
	text-decoration: none;
}
@media screen and (max-width:767px){
	.headerNavLists__item > a {
		display: block;
		color: #fff;
		height: auto;
		font-size: 16px;
		padding: 0 0 0 16px;
	}
}

/**
 * navBtn
 */
 .menuBtn{
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10;
    width: 88px;
    height:78px;
	background:url(../img/common/menu_bg.png) no-repeat top right;
	background-size: 100% auto;
}
@media screen and (max-width:767px){
	.menuBtn{
		width: 17.8vw;
		height: 17.3vw;
	}
}
/*
.menuBtn::before{
    content: "";
    position: absolute;
    margin: auto;
    width: 100%;
  height: 100%;
  display: block;
  background-color: var(--main-color);
  clip-path: circle(100% at right 0% top 0%);
}*/
	.header__navBtnWrap {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
	}
	.header__navBtn {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		position: absolute;
		top: 20px;
		right: 20px;
		text-decoration: none;
	}
	.header__navBtn__lineWrap {
		width: 33px;
		height: 6px;
		position: relative;
	}
	.header__navBtn--line {
		background-color: #FFF;
		display: block;
		width: 100%;
		height: 1px;
		margin: auto;
		position: absolute;
	}
	.header__navBtn--line:nth-child(1) {
		top: 0;
	}

	.header__navBtn--line:nth-child(2) {
		bottom: 0;
	}
	.header__navBtn::after{
		content: "Menu";
		color: #FFF;
		width: 100%;
		text-align: center;
		font-size: 13.7px;
		letter-spacing: 0.05em;
		line-height: 1.24;
		margin-top: 5px;
	}
	@media screen and (max-width:767px){
		.header__navBtn {
			top:  3.46vw;
			right: 3.46vw;
		}
		.header__navBtn__lineWrap {
			width: 7.4vw;
			height: 1.76vw;
		}
		.header__navBtn::after{
			font-size: 3.1vw;
		}
		.header__navBtn--line {
			height: .26vw;
		}
	}
/**
 * active
 */
.header__inner {
	transform: translateX(100%);
	transition: transform .5s var(--easing-outquart);
}
.header.is-active .header__inner {
	transform: translateX(0);
}
.header__navBtn--line {
	transition: transform .3s ease,
				opacity .3s ease;
}
.header__navBtn.is-active .header__navBtn--line:nth-child(1) {
	transform: rotate(13deg);
	top: 2px;
}
.header__navBtn.is-active .header__navBtn--line:nth-child(2) {
	transform: rotate(-13deg);
	top: -2px;
}
.header__navBtn.is-active::after{
	content: "Close";
}
@media screen and (max-width:767px){
	.header__navBtn.is-active .header__navBtn--line:nth-child(1) {
		top: 0.53vw;
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(2) {
		top: -0.53vw;
	}		
}

/*HEADER*/
.headerArea{
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 999;
}
.xBtn__link{
    color: #FFF;
    display: block;
    text-decoration: none;
    background-color: var(--main-color);
    border-radius: 100px;
    padding: 11px 36px;
    transition: all .4s ease;
	font-size: 17.5px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.04em;
}
.xBtn__link:hover{
    background-color: var(--sub-color);
}
.xBtn__txt{
    padding-right: 32px;
    position: relative;
}
.xBtn__link .xBtn__txt:after{
    content: '';
	position: absolute;
	right: 0;
	bottom: 0;
    top: 0;
    margin: auto;
	width: 20px;
	height: 20px;
	-webkit-mask-image: url(../img/common/sns/icon_x.svg);
    mask-image: url(../img/common/sns/icon_x.svg);
    -webkit-mask-size: cover;
    mask-size: cover;
    background-color: #FFF;
	transition: all .4s ease;
}
/*deco*/
.hd_deco{
    width: 100%;
    height: 100%;
    content: "";
    position: fixed;
    right: 0;
    top: 0;
    display: block;
    pointer-events: none;
}
.hd_deco::after,
.hd_deco::before{
    position: absolute;
    margin: auto;
    content: "";
    display: block;
    pointer-events: none;
}

.hd_deco._x::after{
    top: 1%;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(209,37,26,1) 50%, transparent 100%);
}
.hd_deco._x::before{
    bottom: 1%;
    right: 0;
    width: 70%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(209,37,26,1) 50%, transparent 100%);
}
.hd_deco._y::after{
    left: 6px;
    width: 1px;
    height: 88%;
    background: linear-gradient(0deg, transparent 0%, rgba(209,37,26,1) 20%, transparent 50%, rgba(209,37,26,1) 80%, transparent 100%);
}
@media screen and (max-width:767px){
	.hd_deco._y::after{
		height: 100%;
	}
}
.hd_deco._y::before{
    bottom: 0;
    right: 6px;
    width: 1px;
    height: 98%;
    background: linear-gradient(0deg, transparent 0%, rgba(209,37,26,1) 20%, transparent 50%, rgba(209,37,26,1) 80%, transparent 100%);
}
/*nav*/
.header__contentsBox{
	display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
	padding: 80px 0;
	width: 100%;
	min-height: 100%;
}
.hd_navWrap{
	display: flex;
	justify-content: center;
}
.hd_nav{
    margin-bottom: 56px;
	display: flex;
	flex-direction: column;
}
.hd_nav_item{
    margin-bottom: 25px;
}
.hd_nav_item_link{
    text-decoration: none;
    color: var(--main-color);
    font-size: 31px;
	letter-spacing: 0.02em;
    font-weight: 500;/*medium*/
    line-height: 1.22;
    transition: all .3s ease;
	margin-bottom: 17px;
}
.hd_nav_item_link.is-active,
.hd_nav_item_link:hover{
    color: var(--sub-color);
}
.nav_jp{
    display: block;
    font-size: 11px;
	letter-spacing: .17em;
	font-family: var(--main-font-family);
	font-weight: 500;
}
.hd_shareListsWrap{
    display: flex;
	align-items: center;
    margin-bottom: 37px;
    justify-content: center;
}
.sp.nav_jp{
	display: none;
}
.nav_official_xBtn{
	width: 162px;
	margin: 0 auto;
}
@media screen and (max-width:767px){
	.header__contentsBox{
		padding: 20.2vw 0;
	}
	.hd_nav{
		margin-bottom: 10.6vw;
	}
	.hd_nav_item{
		margin-bottom: 3.7vw;
	}
	.hd_nav_item_link{
		font-size: 5.5vw;
		line-height: 1.19;
		letter-spacing: 0.02em;
	}

	.nav_jp{
		display: block;
		margin-top:0;
		font-size: 2.6vw;
	}
	.hd_shareListsWrap{
		margin-bottom: 10.6vw;
	}
	.nav_official_xBtn{
		width: 39.4vw;
	}
	.nav_official_xBtn .xBtn__link {
		padding: 3.14vw 9vw;
		font-size: 4vw;
	}
	.nav_official_xBtn .xBtn__link .xBtn__txt:after {
		width: 4.8vw;
		height: 4.8vw;
	}
	.nav_official_xBtn .xBtn__txt {
		padding-right: 0;
	}
	
	
}
/*-----------------------------------------------
 * Parts
-------------------------------------------------*/
/**
 * shareLists
 */
.shareLists {
	display: flex;
}
/* item */
.shareLists__item {
	width:18px;
	height: 18px;
	margin:0 10px;
}
.footerArea .shareLists__item {
	width:20px;
	height: 20px;
	margin:0 10px;
}
@media screen and (max-width:767px){
	.shareLists__item {
		width:4.8vw;
		height: 4.8vw;
		margin:0 2.6vw;
	}
}
/* 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: var(--main-color);
	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;
	width: 100%;
	height: 100%;
}
.shareLists__link:hover:before {
	background-color: var(--sub-color);	
}
/* 各SNSパーツ */
.shareLists__item.is-x .shareLists__link:before {
	-webkit-mask-image: url(../img/common/sns/icon_x.svg);
	mask-image: url(../img/common/sns/icon_x.svg);
}
.shareLists__item.is-facebook .shareLists__link:before {
	-webkit-mask-image: url(../img/common/sns/icon_fb.svg);
	mask-image: url(../img/common/sns/icon_fb.svg);
}
.shareLists__item.is-line .shareLists__link:before {
	-webkit-mask-image: url(../img/common/sns/icon_line.svg);
	mask-image: url(../img/common/sns/icon_line.svg);
}
/*footer*/
.footerArea{
	margin-top:auto;
}
/*share*/
.footerArea .shareLists_ttl{
    color: #FFF;
}
.footerArea .shareLists__link:before {
	background-color: #FFF;
}
.footerArea .shareLists__link:hover:before {
	background-color: var(--sub-color);	
}
.copyright{
	color: #FFF;
    text-align: center;
    display: block;
	font-size: 11px;
	letter-spacing: 0.1em;
}
.ft_bnr_list{
    display: flex;
    justify-content: center;
    margin-top: 35px;
}
.ft_bnr_list li{
    margin: 0 5px;
}
.footerArea .shareListsWrap{
	display: flex;
    align-items: center;
    justify-content: center;
	margin-bottom: 50px;
}
.footerArea .area_inner {
    padding: 40px;
}

@media screen and (max-width:767px){
    .footerArea .area_inner {
        width: 100%;
        padding: 6vw 6vw;
    }
    .footerArea .shareListsWrap{
       color: var(--main-color); 
       margin-top: 5vw;
       display: flex;
	   align-items: center;
    }
    .footerArea .shareLists_ttl {
        margin-bottom: 0;
    }
    .footerArea .shareLists__item {
        width: 5vw;
        height:5vw;
        margin-left: 0;
        margin: 0 3vw;
    }
    .footerArea .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%;
        transition: background-color .4s ease;
        width: 100%;
        height: 100%;
    }

	.ft_bnr_list{
		flex-wrap: wrap;
		margin-top: 6.6vw;
	}
	.ft_bnr_list li{
		margin: 0 1.5vw 3vw 1.5vw;
		width: 40%;
	}
	.ft_bnr_list li img{
		width: 100%;
		height: auto;

	}
	.footerArea .area_inner {
		width: 100%;
		padding: 6vw 0;
	}
	.copyright{
		font-size: 2.9vw;
	}
	
}
/*-----------------------------------------------
 * Loading
-------------------------------------------------*/
.loading{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10002;
	pointer-events: none;	
}
.loading_inner{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #FFF;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 767px){
	.loading_logo{
		width: 40%;
	}
}
.loading_logo{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	opacity: 1;
}

body.--loaded .loading{
	animation: fadeOut .6s forwards;
}


.stage{
	opacity: 0;
}
body.--loaded .stage{
	animation: fadein .8s forwards;
	animation-delay: .8s;
}

@keyframes fadeOut {
	0% {opacity: 1}
	100% {opacity: 0}
}
@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}
/*COMMMON*/
img{
    vertical-align: bottom;
}
.fc_led{
    color: var(--main-color);
}
.stage{
    width: 100%;
    min-width: 1200px;
}
.area_inner{
    width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}
.inner{
	width: 1200px;
	margin: 0 auto;
	padding: 0 90px;
}	
@media screen and (max-width:767px){
    .stage{
        min-width: 100%;
    }
    .area_inner{
        width: 100%;
        padding: 14.6vw 6vw;
    }
	.inner{
		width: 100%;
		padding: 0 6.6vw;
	}
    img{
        width: 100%;
        height: auto;
    }
}

/*sns*/
.shareLists_ttl{
    font-size: 14.5px;
    color: var(--main-color);
	margin-right: 10px;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.17;
}
@media screen and (max-width:767px){
    .shareListsWrap{
        display: flex;
        align-items: center;
    }
    .shareLists_ttl{
        font-size: 3.2vw;
		margin-right: 2.6vw;
    }
}

/*toTop*/
.toTopWrap{
    text-align: center;
    padding-bottom: 60px;
}
.sub .toTopWrap{
    text-align: center;
    padding-bottom: 0;
	margin-top: 95px;
}


.toTop{
    display: block;
    margin: 0 auto;
    width: 45px;
    padding-top: 45px;
    background-color: var(--main-color);
    -webkit-mask: url(../img/common/totop.png) no-repeat center / contain;
	mask: url(../img/common/totop.png) no-repeat center / contain;
    transition: all .4s ease;
}
@media screen and (max-width:767px){
	.toTop{
		width: 9.33vw;
		padding-top: 9.33vw;
	}
	.sub .toTopWrap{
		text-align: center;
		padding-bottom: 0;
		margin-top: 20.5vw;
	}
}
/* hover */
.movieListsPager > a:before {
    transition: transform .3s ease;
}
.toTop:hover { transform: translateY(-20%); }


/*--------------
FOOTER
----------------*/
.footerArea{
    background-color:var(--main-color);
    width: 100%;
    padding: 70px 0;
}
.index .footerArea{
    margin-top: -30px;
}
.sub .footerArea{
    margin-top: auto;
}
.ft_nav{
    display: flex;
    justify-content: center;
    margin-bottom: 70px;
}
.ft_nav_item {
    display: block;
    margin: 0 13px;
    font-size: 19px;
}
.ft_nav_item a{
    text-decoration: none;
    color: #FFF;
	transition: all .4s ease;
}
.ft_nav_item:hover a{
    color: var(--sub-color);
}
@media screen and (max-width:767px){
    .footerArea{
        flex-direction: column;
    }
    .ft_nav{
		flex-direction: column;
		margin-bottom: 20vw;
		padding: 0 13.3vw;
	}
	.ft_nav_item {
		margin: 0 0 4.53vw;
		font-size: 7.73vw;
		line-height: 1.2;
		font-weight: 500;
	}
	.ft_nav_item .nav_jp{
		display: block;
		font-size: 2.93vw;
	}
}



/*--------------
SUB PAGE
----------------*/

/*sub common*/
.f_red{
    color: var(--main-color);
}
.f_green{
    color: var(--sub-color);
}

/*sub deco*/
.sub_deco{
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    pointer-events: none;
}
.sub_deco::before,
.sub_deco::after{
    position: absolute;
    margin: auto;
    content: "";
    display: block;
    pointer-events: none;
}
.sub_deco._x::after{
    top: 40px;
    right: 0;
    width: calc(50% - 90px);
    height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(209,37,26,1) 50%, transparent 100%);
}
.sub_deco._x::before{
    top: 40px;
	bottom: unset;
    left: 0;
    width: calc(50% - 90px);
    height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(209,37,26,1) 50%, transparent 100%);
}
.sub_deco._y::after{
    top: 1%;
    left: 20px;
    width: 1px;
    height: 99%;
	background: linear-gradient(0deg, transparent 0%, rgba(209,37,26,1) 17%, transparent 29%, rgba(209,37,26,1) 55%, transparent 72%, rgba(232,144,139,1) 87%, transparent 100%);
}
.sub_deco._y::before{
    bottom: 1%;
    right: 20px;
    width: 1px;
    height: 99%;
	background: linear-gradient(0deg, transparent 0%, rgba(209,37,26,1) 10%, transparent 30%, rgba(209,37,26,1) 50%,  transparent 100%);
}
@media screen and (max-width:767px){
    .sub_deco._x::after{
        
        left: unset;
        right: 0;
		width: calc(50% - 15vw);
		background: linear-gradient(90deg, transparent 0%, rgba(209,37,26,1) 50%, transparent 100%);
    }
    .sub_deco._x::before{
		bottom: unset;

        left: 0;
		width: calc(50% - 15vw);
        height: 1px;
		background: linear-gradient(90deg, transparent 0%, rgba(209,37,26,1) 50%, transparent 100%);
    }
    .sub_deco._y::after{
        bottom: 1%;
		top: unset;
		left: 1.86vw;
		width: 1px;
		height: 100%;
    }
    .sub_deco._y::before{
        bottom: 1%;
        right: 1.86vw;
        width: 1px;
        height: 100%;
        background: linear-gradient(0deg, transparent 0%, rgba(209,37,26,1) 17%, transparent 29%, rgba(209,37,26,1) 55%, transparent 72%, rgba(232,144,139,1) 87%, transparent 100%);
    }
}

/*site ttl*/
.siteTtl{
	width: 100%;
	text-align: center;
	position: absolute;
	margin: auto;
	top: 25px;
	left: 0;
	right: 0;
	z-index: 5;
}
.siteTtl_logo{
	width: 150px;
	height: auto;
}
@media screen and (max-width:767px){
	.siteTtl_logo{
		width: 26vw;
	}
}
/*
.siteTtl::after{
	content: "";
	width: calc(50% - 90px);
	height:1px;
	position: absolute;
	right: 0;
	top: 5px;
	background-color: var(--main-color);
}
.siteTtl::before{
	content: "";
	width: calc(50% - 90px);
	height:1px;
	position: absolute;
	left: 0;
	top: 5px;
	background-color: var(--main-color);
}*/


.sub .contentsArea{
	background-color: #FFF;
}
.sub .contentInner{
	/*width: 1360px;*/
	width: 1200px;
	margin: 0 auto;
	padding-bottom: 95px;
}
@media screen and (max-width:767px){
	.sub .contentInner{
		width: 100%;
		padding-bottom: 10vw;
	}
}
.contentsTtlBox{
	display: flex;
	justify-content: center;
	padding: 126px 0 65px;
	position: relative;
}
.contentsTtl{
	font-size: 70px;
	line-height: 1.21;
	font-weight: 300;
	letter-spacing: 0.14em;
}
.contentsTtl .ttl_jp{
	font-size: 15px;
	font-weight: 500;
	display: block;
	line-height: 2.53;
	letter-spacing: 0.18em;
	text-align: center;
	font-family: var(--main-font-family);
}
@media screen and (max-width:767px){
	.contentsTtl{
		font-size: 11.4vw;
	}
	.contentsTtl .ttl_jp{
		font-size: 2.9vw;
		/*margin-top: 5.3vw;*/
	}
}
/*contentsTtl deco*/
.contentsTtl_deco{
	position: absolute;
	bottom: 0;
	content: "";
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.contentsTtl_deco::before{
	position: absolute;
	bottom: 0;
	content: "";
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(209,37,26,1) 50%, transparent 100%);
}
.contentsTtl_deco::after{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	content: "";
	width: 1px;
	height: 29px;
	background: var(--main-color);
	background: linear-gradient(0deg, transparent 0%, rgba(209,37,26,1) 50%, transparent 100%);
	transform: translate(0, 50%);
}
@media screen and (max-width:767px){
	.contentsTtlBox{
		padding:21.6vw 0 9.86vw;
	}
}