@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: common.css
 * author		: libretto works
====================================**/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond&family=EB+Garamond&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@500;700&display=swap');

/* body
-------------------------------------------------- */
html {
	font-size: 62.5%;
}
body {
	font-size: 1.5em;
	line-height: 2.2;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	letter-spacing: 0.06em;
	color: #1a1a1a;
	width: 100%;
	min-width: 1080px;
    background: #ffffff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt" 1;
    font-optical-sizing: auto;
}
body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}
body.fade {
    opacity: 0;
    transition: .3s;
}

/* link
-------------------------------------------------- */
a {
	color: #1a1a1a;
	text-decoration: none;
	transition: all .2s !important;
}
a._underline {
	text-decoration: underline;
}
a._blank::after {
    content: "";
	display: inline-block;
    width: 12px;
    height: 12px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="12" height="12" viewBox="0 0 12 12"><path fill-rule="evenodd" fill="rgb(26, 26, 26)" d="M11,9H3V0h9v9h-1ZM11,1H4v7h7V1ZM9,11v1H0V3h1v8h8Z"/></svg>') no-repeat center center;
    background-size: 100% auto;
    margin-left: 6px;
    transform: translateY(2px);
}
@media screen and (min-width: 768px) {
	a:hover {
		opacity: 0.7;
	}
}

/* clear
-------------------------------------------------- */
.clear:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/* font
-------------------------------------------------- */
._en {
	font-family: "Cormorant Garamond", serif;
    font-weight: 400;
}
._numb {
	font-family: "EB Garamond", serif;
    font-weight: 400;
}
._min {
	font-family: "Shippori Mincho", serif;
    font-weight: 500;
    font-style: normal;
}
._nowrap {
    white-space: nowrap;
}

/* Responsive
-------------------------------------------------- */
.sp {
	display: none;
}

/* img
-------------------------------------------------- */
img {
	width: 100%;
	height: auto;
}
.thumb {
	display: block;
	overflow: hidden;
	position: relative;
	transition: .3s all;
    border-radius: 4px;
}
.thumb::after {
	display: block;
	content: "";
}
.thumb img,
.thumb video,
.thumb iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s all;
}
.thumb-b-wrap {
    border: 1px solid #d9d9d9;
    padding: 8px;
}
.thumb-b {
    position: relative;
}
.thumb-b:after {
    content: "";
    display: block;
}
.thumb-b img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    object-fit: contain;
    transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
a:hover .thumb {
	transform: scale(0.96);
}
a:hover .thumb img {
	width: 115%;
	height: 115%;
	object-fit: cover;
}
}

/* svg
-------------------------------------------------- */
svg {
	display: block;
	width: 100%;
	height: auto;
}

/* bg
-------------------------------------------------- */
._bg {
    background: #f9f9fa;
}

/* align
-------------------------------------------------- */
._alignC {
    text-align: center;
}
._alignR {
    text-align: right;
}

.ttl {
    line-height: 1.75;
}
.en-ttl {
    letter-spacing: 0.08em;
}
.txt-wrap p {
    margin-top: 1em;
}
.txt-wrap._min p {
    font-size: 1.6rem;
    margin-top: 1.5em;
}
.txt-wrap p:first-child {
    margin-top: 0;
}

/*/////////////////////////////////////////////////////////////////////////////


              // loading //
	  

/////////////////////////////////////////////////////////////////////////////*/
.loader {
	display: block;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999999;
    pointer-events: none;
}
.loader.off {
    display: none;
}
.loader-bg {
	display: block;
	width: 100%;
	height: 100%;
	position: fixed;
	bottom: 0;
	right: 0;
	background: #ffffff;
    transition: opacity 1s .8s;
}
.off.loader-bg {
    opacity: 0;
}
.loader-logo {
	width: 320px;
	position: absolute;
	left: 50%;
	top: 50%;
    transform: translate(-50%,-55%);
	text-align: center;
    opacity: 0;
    overflow: visible;
}
.loader-logo.on {
    transition: 1.2s;
    opacity: 1;
}
.loader-logo svg {
	display: block;
	overflow: visible;
    -webkit-transform: translateZ(0);
	transform: translateZ(0);
}
.loader-logo.on .mark {
	transform-box: fill-box;
	transform-origin: center;
	animation: mark-roll 1.2s cubic-bezier(.65, 0, .35, 1) forwards;
}
.loader-logo.on .logo {
	opacity: 0;
	animation: logo-fade 0.5s ease forwards;
	animation-delay: 0.9s;
}
.off.loader-logo {
    transition: 1s 0.8s;
    opacity: 0;
    filter: blur(10px);
}

@keyframes mark-roll {
	0% {
		transform: translateX(-80px) rotate(-360deg);
	}
	100% {
		transform: translateX(0) rotate(0deg);
	}
}
@keyframes logo-fade {
	0% {
		opacity: 0;
		transform: translateX(8px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

/*/////////////////////////////////////////////////////////////////////////////


              // layout //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* container
-------------------------------------------------- */
#container {
    width: 100%;
    padding-left: 80px;
    box-sizing: border-box;
    opacity: 0;
}
.motion  #container {
    transition: opacity 1s;
    opacity: 1;
}
._viewfull {
    margin-left: -80px;
}

/* section
-------------------------------------------------- */
.section-wrap {
    padding-right: 6.2208%;
	padding-left: 4.6656%;
	box-sizing: border-box;
}
._viewfull .section-wrap {
    padding-right: 5.8565%;
	padding-left: calc(80px + 4.3923%);
	box-sizing: border-box;
}
._viewfull .section-wrap._60 {
    padding-right: 4.36923%;
	padding-left: calc(80px + 4.3923%);
	box-sizing: border-box;
}
.section-wrap._0-60 {
    padding-right: 0;
}
.section-wrap._80-0 {
    padding-left: 0;
}
.section-inner {
    max-width: 980px;
    margin: 0 auto;
    padding-left: 23.2111%;
}
.section-inner._mb {
    margin-bottom: 100px;
}

/* contents
-------------------------------------------------- */
#contents {
    position: relative;
    background: #ffffff;
}
.contents-wrap {
    padding-bottom: 160px;
}
.contents-inner {
    padding-top: 40px;
    margin-top: 42px;
    border-top: 1px solid #e3e5e5;
}
.contents-inner-txt p {
    margin-top: 0.75em;
}

/* contents-col2 */
.contents-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.contents-col2-side {
    width: 25.3054%;
}
.contents-col2-main {
    width: 69.8080%;
}

/*/////////////////////////////////////////////////////////////////////////////


              // header //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* header
-------------------------------------------------- */
.header {
	width: 80px;
    box-sizing: border-box;
}
.header::after {
    content: "";
    width: 1px;
    height: calc(100vh - 40px);
    background: #d9d9d9;
    position: fixed;
    left: 79px;
    top: 20px;
    z-index: 99999;
    transform: scaleY(0);
    transform-origin: top center;
}
.open .header::after {
    background: rgba(255,255,255,0.20);
}
.motion .header::after {
    transition: 0.8s cubic-bezier(0.76, 0.09, 0.215, 1);
    transform: scaleY(1);
}
.header-logo {
	width: 210px;
    position: absolute;
    left: calc(80px + 2.9282%);
    top: 40px;
    transition: 1s;
    z-index: 99998;
    opacity: 0;
    box-sizing: border-box;
}
.motion .header-logo {
    opacity: 1;
}
.header-logo a {
	display: block;
}
.st0 {
    fill: #78962e;
}
.st1 {
    fill: #f5a61a;
}
.fig .header-logo .st0,
.fig .header-logo .st1 {
    fill: #ffffff;
}

/* menu-trigger
-------------------------------------------------- */
.menu-trigger,
.menu-trigger .bar {
    display: block;
    transition: all .3s;
    box-sizing: border-box;
}
.menu-trigger {
    width: 79px;
    height: 59px;
    pointer-events: auto;
    cursor: pointer;
    position: fixed;
    left: 0;
    top: 26px;
    box-sizing: border-box;
    z-index: 99999;
    mix-blend-mode: difference;
}
.fig .menu-trigger {
    mix-blend-mode: normal;
}
.fig.on .menu-trigger,
.open .menu-trigger {
    mix-blend-mode: difference;
}
.menu-trigger .bar {
    position: absolute;
    width: 39px;
    height: 1px;
    left: 20px;
    background: #ffffff;
}
.menu-trigger .bar:nth-of-type(1) {
    top: 24px;
}
.menu-trigger .bar:nth-of-type(2) {
    bottom: 24px;
}
.open .menu-trigger .bar:nth-of-type(1) {
    top: 29px;
    transform: rotate(18deg);
}
.open .menu-trigger .bar:nth-of-type(2) {
    top: 29px;
    transform: rotate(-18deg);
}

/* g-nav
-------------------------------------------------- */
.g-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 79px;
    height: 100vh;
    z-index: 99998;
    mix-blend-mode: difference;
    transition: 1s;
    z-index: 99997;
    opacity: 0;
}
.fig .g-nav {
    mix-blend-mode: normal;
}
.fig.on .g-nav {
    mix-blend-mode: difference;
}
.motion .g-nav  {
    opacity: 1;
}

/* g-nav-list
-------------------------------------------------- */
.g-nav .g-nav-list {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.g-nav .g-nav-list li {
    writing-mode: vertical-rl;
    margin: 20px 0;
    padding: 0 26px;
}
.g-nav .g-nav-list li a {
    display: block;
    font-size: 1.3rem;
    line-height: 27px;
    letter-spacing: 0.02em;
    color: #ffffff;
    position: relative;
}
.g-nav .g-nav-list li a::after {
    content: "";
    width: 1px;
    height: calc(100% + 6px);
    background: #ffffff;
    position: absolute;
    left: -10px;
    top: -3px;
    z-index: 1;
    transform: scaleY(0);
    transition: .2s;
}
.g-nav .g-nav-list li.ac a::after {
    transform: scaleY(1);
}
.g-nav .g-nav-list li._contact a {
    line-height: 25px;
    border: 1px solid rgba(255,255,255,0.20);
    border-radius: calc(infinity * 1px);
    padding: 16px 0;
}
.g-nav .g-nav-list li._contact a::after {
    display: none;
}

/* hover */
@media screen and (min-width: 768px) {
    .g-nav .g-nav-list li a:hover::after {
        transform: scaleY(1);
    }
    .g-nav .g-nav-list li._contact a:hover {
        opacity: 1;
        background: #e5e5e5;
        color: #000000;
    }
}

/* g-nav-sns
-------------------------------------------------- */
.g-nav .g-nav-sns {
    position: absolute;
    left: 28px;
    bottom: 30px;
}
.g-nav .g-nav-sns li {
    margin-top: 10px;
}
.g-nav .g-nav-sns li a {
    display: block;
    width: 23px;
}
.g-nav .g-nav-sns li a svg {
    fill: #ffffff;
}

@media screen and (max-height: 699px) {
    .menu-trigger {
        top: 16px;
    }
    .g-nav .g-nav-list li {
        margin: 16px 0;
    }
    .g-nav .g-nav-list li a {
        font-size: 1.2rem;
    }
    .g-nav .g-nav-list li._contact a {
        padding: 12px 0;
    }
    .g-nav .g-nav-sns {
        bottom: 24px;
    }
}
@media screen and (max-height: 609px) {
    .g-nav .g-nav-list {
        display: none;
    }
}

/* fixed nav
-------------------------------------------------- */
.fixed-nav {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.60);
	transition: all .25s;
	z-index: 99998;
	line-height: 2;
	opacity: 0;
	pointer-events: none;
    color: #ffffff;
}
.open .fixed-nav {
	opacity: 1;
	pointer-events: auto;
}
.fixed-nav a {
    color: #ffffff;
}
.fixed-inner {
	width: 80%;
	height: 100vh;
    background: #2d2d2d;
	box-sizing: border-box;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	position: relative;
    transition: .3s;
}
.fixed-col2 {
    width: 100%;
    padding: 0 60px 0 160px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.fixed-nav nav {
	width: 60%;
    border-right: 1px solid rgba(255,255,255,0.20);
}
.fixed-nav .m-nav-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start; 
}
.fixed-nav .m-nav {
    margin-right: 100px;
}
.fixed-nav .m-nav:last-child {
    margin-right: 0;
}
.fixed-nav .m-nav > li {
    margin: 0 0 24px;
}
.fixed-nav .m-nav > li a {
    display: block;
    font-size: 1.8rem;
    line-height: 1.6;
}
.fixed-nav .m-nav > li a ._en {
    display: block;
    font-size: 1.3rem;
    padding-bottom: 2px;
}
.fixed-nav .m-nav-sub {
    padding: 0 0 8px 24px;
    margin: 10px 0 20px;
    border-left: 1px solid rgba(255,255,255,0.20);
}
.fixed-nav .m-nav-sub > li {
    padding: 10px 0 0;
}
.fixed-nav .m-nav-sub > li a {
    font-size: 1.3rem;
}
.fixed-nav .m-btm-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 16px;
}
.fixed-nav .sns-link {
    padding-top: 0;
    margin: 0 30px 0 0;
}
.fixed-nav .sns-link li {
    margin-bottom: 0;
}
.fixed-nav .m-btm-nav a {
    font-size: 1.3rem;
    color: #b3b3b3;
}
.fixed-info {
    width: 32%;
    font-size: 1.3rem;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.fixed-info ._en {
    text-align: right;
}

/*/////////////////////////////////////////////////////////////////////////////


              // footer //
	  

/////////////////////////////////////////////////////////////////////////////*/
.footer {
    background: #2d2d2d;
    padding: 80px 0 90px;
    position: relative;
    color: #ffffff;
    overflow: hidden;
}
.footer .bg-logo {
    width: 540px;
    position: absolute;
    right: -30px;
    bottom: -70px;
    opacity: 0.04;
    pointer-events: none;
}
.footer a {
    color: #ffffff;
}
.footer-inner {
    padding-right: 5.8565%;
	padding-left: calc(80px + 4.3923%);
	box-sizing: border-box;
}
.footer-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin-bottom: 120px;
}
.ft-cont {
    width: calc(100% - 300px);
    display: flex;
    justify-content: flex-end;
}
.ft-nav {
    margin-left: 7.85%;
}
.ft-nav:first-child {
    margin-left: 0;
}
.ft-nav li {
    margin: 0 0 20px 0;
    font-size: 1.6rem;
}
.sns-link {
    padding-top: 8px;
    margin-left: 8.726%;
}
.sns-link li {
    width: 23px;
    margin: 0 0 10px;
}
.ft-info {
    width: 300px;
}
.ft-info .ft-logo {
    width: 250px;
    margin: 0 0 40px;
}
.ft-info .ft-logo .st0,
.ft-info .ft-logo .st1 {
    fill: #ffffff;
}
.ft-info dl dt {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-bottom: 10px;
}
.ft-info dl dt span {
    font-size: 1.3rem;
}
.ft-info dl dd {
    font-size: 1.3rem;
    line-height: 1.6;
}
.ft-btm-nav {
    margin-bottom: 16px;
}
.ft-btm-nav li {
    font-size: 1.4rem;
}
.ft-btm-nav li a {
    color: #b3b3b3;
}
.copyright {
    font-size: 1.4rem;
}

/*/////////////////////////////////////////////////////////////////////////////


              // ctaArea //
	  

/////////////////////////////////////////////////////////////////////////////*/
.ctaArea {
    position: relative;
    color: #ffffff;
    background: #ffffff;
}
.ctaArea a {
    color: #ffffff;
}
.ctaArea-fig {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.ctaArea-fig::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(22,24,26,0.60);
    position: absolute;
    left: 0;
    top: 0;
}
.ctaArea-fig .thumb {
    height: 100%;
}
.ctaArea-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding: 240px 0 180px;
}
.ctaArea-ttl {
    width: 28%;
    padding-left: 1.7452%;
    box-sizing: border-box;
}
.ctaArea-ttl .en-ttl {
    opacity: 1 !important;
}
.ctaArea-list {
    width: 70%;
    padding-top: 54px;
    position: relative;
}
.ctaArea-list::before {
    content: "";
    width: 80px;
    height: 1px;
    background: #ffffff;
    position: absolute;
    left: 0;
    top: 0;
}
.ctaArea-list ul {
    display: flex;
    justify-content: space-between;
    padding-top: 54px;
}
.ctaArea-list ul li {
    width: 47.4358%;
    border-top: 1px solid rgba(255,255,255,0.40);
}
.ctaArea-list ul li .en-ttl {
    font-size: 1.6rem;
    padding: 16px 0 0;
}
.ctaArea-list .tel .numb {
    font-size: 3.8rem;
    line-height: 1.6;
    letter-spacing: 0.06em;
    margin-top: 6px;
}
.ctaArea-list .tel .txt {
    font-size: 1.3rem;
}
.ctaArea-list .contact a {
    display: block;
    width: 86.5%;
    min-width: 280px;
    font-size: 1.6rem;
    line-height: 1.5;
    border: 1px solid rgba(255,255,255,0.80);
    border-radius: calc(infinity * 1px);
    padding: 25px 30px;
    margin-top: 20px;
    position: relative;
    box-sizing: border-box;
}
.ctaArea-list .contact a::after {
    content: "";
    width: 9px;
    height: 9px;
    background: #f5a61d;
    position: absolute;
    right: 33px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    transition: .2s;
}

/* hover */
@media screen and (min-width: 768px) {
    .ctaArea-list .contact a:hover {
        opacity: 1;
        background: #ffffff;
        color: #1a1a1a;
    }
    .ctaArea-list .contact a:hover::after  {
        transform: translateY(-50%) scale(2.5);
    }
}

/*/////////////////////////////////////////////////////////////////////////////


              // common parts //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* ==================================================
    decoration
================================================== */
.deco-line {
    position: relative;
}
.deco-line::before {
    content: "";
    width: 80px;
    height: 1px;
    background: #cccccc;
    position: absolute;
    left: 0;
    top: 0;
}

/* ==================================================
    breadcrumb
================================================== */
.breadcrumb {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    position: absolute;
    right: 40px;
    top: 40px;
}
.breadcrumb li {
    font-size: 1.2rem;
    position: relative;
    padding-right: 52px;
    margin-right: 14px;
}
.breadcrumb li:last-child {
    padding-right: 0;
    margin-right: 0;
}
.breadcrumb li::after {
    content: "";
    width: 36px;
    height: 1px;
    background: #b3b3b3;
    position: absolute;
    right: 0;
    top: 50%;
}
.breadcrumb li:last-child::after {
    display: none;
}
.fig .breadcrumb li,
.fig .breadcrumb li a {
    color: #ffffff;
}

/* ==================================================
    title
================================================== */

/* page-ttl  ----------------------------- */
.page-ttl {
    position: relative;
    margin-left: -80px;
    color: #ffffff;
}
.page-ttl-fig {
    position: relative;
}
.page-ttl-fig::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(22,24,26,0.50);
    position: absolute;
    left: 0;
    top: 0;
}
.page-ttl-fig .thumb {
    width: 100%;
    height: 100vh;
    min-height: 740px;
}
.page-ttl-col2 {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    flex-direction: row-reverse;
    padding: 0 8.7847%;
    box-sizing: border-box;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-41%);
}
.page-ttl-cont {
    writing-mode: vertical-rl;
}
.page-ttl-cont .en-ttl {
    font-size: 1.4rem;
    padding-left: 12px;
    opacity: 0;
    transition: 1.0s 0.4s;
}
.motion .page-ttl-cont .en-ttl {
    opacity: 1;
}
.page-ttl-cont .ttl {
    font-size: 3.6rem;
    opacity: 0;
    transform: translateY(60px);
}
.motion .page-ttl-cont .ttl {
    transition: 1.0s cubic-bezier(0.075, 0.82, 0.165, 1) .3s;
    opacity: 1;
    transform: translateY(0);
}
.page-ttl .page-ttl-txt {
    width: 460px;
    padding: 64px 10% 0 0;
}
.page-ttl-txt p {
    margin-top: 1.5em;
    opacity: 0;
    transition: .6s;
}
.motion .page-ttl-txt p:nth-child(1) {
    opacity: 1;
    transition: 1s .4s;
}
.motion .page-ttl-txt p:nth-child(2) {
    opacity: 1;
    transition: 1s .45s;
}
.motion .page-ttl-txt p:nth-child(3) {
    opacity: 1;
    transition: 1s 0.5s;
}
.motion .page-ttl-txt p:nth-child(4) {
    opacity: 1;
    transition: 1s 0.6s;
}

/* subpage-ttl  ----------------------------- */
.subpage-ttl {
    padding: 210px 0 0;
    position: relative;
    z-index: 1;
}
.subpage-ttl-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.subpage-ttl .page-ttl-cont {
    padding: 0 0 8px 3.4904%;
}
.subpage-ttl .page-ttl-txt {
    width: 47.1204%;
}
.subpage-ttl .page-ttl-cont._h220 {
    max-height: 220px;
}
.subpage-ttl .page-ttl-cont._h220 .ttl {
    white-space: nowrap;
}

/* sec-ttl  ----------------------------- */
.sec-ttl {
    position: relative;
    line-height: 1.45;
    margin-bottom: 32px;
}
.sec-ttl .en-ttl {
    font-size: 1.4rem;
    margin-bottom: 14px;
    opacity: 0;
    transition: 0.4s 0.3s;
}
.sec-ttl.on .en-ttl {
    opacity: 1;
}
.sec-ttl .ttl {
    font-size: 3.0rem;
}
.sec-ttl .ttl._small {
    font-size: 2.6rem;
}
.sec-ttl._vertical {
    writing-mode: vertical-rl;
}
.sec-ttl._vertical .en-ttl {
    margin: 0 0 0 32px;
}
.sec-ttl._vertical .ttl {
    text-orientation: upright;
    letter-spacing: 0.08em;
}
.sec-ttl._vertical .ttl .inner {
    display: block;
    margin-right: 16px;
    opacity: 0;
    transform: translateY(60px);
}
.sec-ttl._vertical .ttl .inner:nth-child(2) {
    margin-top: 46px;
}
.sec-ttl._vertical.on .ttl .inner:nth-child(1) {
    transition: 2.5s cubic-bezier(0.075, 0.82, 0.165, 1) .2s;
    opacity: 1;
    transform: translateY(0);
}
.sec-ttl._vertical.on .ttl .inner:nth-child(2) {
    transition: 2.5s cubic-bezier(0.075, 0.82, 0.165, 1) .3s;
    opacity: 1;
    transform: translateY(0);
}

/* sec-ttl-col2  ----------------------------- */
.sec-ttl-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}
.sec-ttl-col2 .lead {
    width: 64.3224%;
    padding-top: 32px;
}

/* cont-ttl  ----------------------------- */
.cont-ttl {
    font-size: 2.2rem;
}

/* ===============================================
    btn
=============================================== */

/* btn  ----------------------------- */
.btn {
    margin-top: 40px;
}
.btn a {
    display: inline-block;
    width: 240px;
    font-size: 1.6rem;
    line-height: 1;
    background: #ffffff;
    border: 1px solid #cccccc;
    padding: 20px 24px;
    border-radius: calc(infinity * 1px);
    box-sizing: border-box;
    position: relative;
    text-align: left;
    overflow: hidden;
}
.btn a span {
    display: block;
    color: transparent;
    line-height: 1;
    overflow: hidden;
    text-shadow: 0 0 0 #1a1a1a, 0 1.5em 0 #1a1a1a;
    transition: text-shadow .3s;
}
.btn a::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #f5a61d;
    position: absolute;
    right: 23px;
    top: 50%;
    transform: translateY(-50%);
    transition: .2s;
}
.btn-wrap-bd {
    position: relative;
}
.btn-wrap-bd::before {
    content: "";
    width: calc(100% - 300px);
    height: 1px;
    background: #d9d9d9;
    position: absolute;
    left: 0;
    top: 50%;
}
.btn-wrap-bd .btn {
    margin-top: 0;
}

/* hover */
@media screen and (min-width: 768px) {
    .btn a:hover {
        opacity: 1;
    }
    .btn a:hover span  {
        text-shadow: 0 -1.5em 0 #1a1a1a, 0 0 0 #1a1a1a;
    }
    .btn a:hover::before  {
        transform: translateY(-50%) scale(2.5);
    }
}

/* btn-txt  ----------------------------- */
.btn-txt a,
.btn-txt .btn-txt-inner {
    display: inline-block;
    font-size: 1.6rem;
    padding-right: 66px;
    position: relative;
}
.btn-txt .arrow {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* arrow  ----------------------------- */
.arrow {
    display: inline-block;
    width: 47px;
    height: 33px;
    border: 1px solid #cccccc;
    border-radius: calc(infinity * 1px);
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    transition: .3s;
}
.arrow::after {
    content: "";
    width: 14px;
    height: 9px;
    background-color: rgb(26, 26, 26);
    -webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="28" height="18" viewBox="0 0 28 18"><path d="M15.7,0l-1.4,1.4c.4.4,2.2,3.3,8.1,6.6H0v2h22.3c-5.8,3.3-7.7,6.2-8.1,6.6l1.4,1.4c3.2-3.1,7.8-8,12.4-8v-2c-4.7,0-9.4-4.8-12.4-8h0Z"/></svg>') center center / 100% auto no-repeat;
    mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="28" height="18" viewBox="0 0 28 18"><path d="M15.7,0l-1.4,1.4c.4.4,2.2,3.3,8.1,6.6H0v2h22.3c-5.8,3.3-7.7,6.2-8.1,6.6l1.4,1.4c3.2-3.1,7.8-8,12.4-8v-2c-4.7,0-9.4-4.8-12.4-8h0Z"/></svg>') center center / 100% auto no-repeat;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform .3s, background-color .3s;
}
.arrow._rev::after {
    transform: translate(-50%, -50%) rotate(180deg);
}
/* hover */
@media screen and (min-width: 768px) {
    .btn-cont:hover .arrow,
    .btn-tel a:hover .arrow {
        background: #f5a61d;
        border: 1px solid #f5a61d;
    }
    .btn-cont:hover .arrow::after,
    .btn-tel a:hover .arrow::after {
        background-color: rgb(255, 255, 255);
        transform: translate(-25%, -50%);
    }
}


/* btn-txt  ----------------------------- */
.btn-tel a {
    width: 380px;
    display: inline-block;
    font-size: 2.4rem;
    padding: 16px 0 16px 66px;
    position: relative;
    border-bottom: 1px solid #d9d9d9;
    box-sizing: border-box;
}
.btn-tel .arrow {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-42%);
}

/* plus  ----------------------------- */
.plus {
    display: block;
    width: 35px;
    height: 35px;
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    box-sizing: border-box;
}
.plus::before,
.plus::after {
    content: "";
    width: 15px;
    height: 1px;
    background: #333333;
    position: absolute;
    left: 10px;
    top: 17px;
    transition: .2s;
}
.plus::after {
    transform: rotate(90deg);
}

/* btn-more  ----------------------------- */
.btn-more {
    width: 240px;
    position: relative;
    z-index: 1;
    text-align: center;
    margin: 10px auto 0;
    cursor: pointer;
}
.btn-more-inner {
    display: inline-block;
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.9375;
    background: #ffffff;
    border: 1px solid #cccccc;
    padding: 12px 24px;
    border-radius: calc(infinity * 1px);
    box-sizing: border-box;
    position: relative;
    text-align: left;
    overflow: hidden;
}
.btn-more-inner .plus {
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
}
.notes-more-btn,
.notes-more-btn * {
	cursor: pointer;
}
.notes-more-btn.is-loading,
.notes-more-btn.is-loading * {
	cursor: wait;
}

@media screen and (min-width: 768px) {
	.btn-more:hover {
		opacity: 0.7;
	}
}


/* ===============================================
    sec-pagelink
=============================================== */
.sec-pagelink {
    padding-bottom: 120px;
}
.pagelink-list {
    display: flex;
    justify-content: flex-end;
}
.pagelink-item {
    width: 38.3944%;
    max-width: 440px;
    margin-left: 60px;
}
.pagelink-item a {
    display: block;
    position: relative;
    padding: 54px 0 0;
}
.pagelink-item a::before {
    content: "";
    width: 100%;
    height: 1px;
    background:  #cccccc;
    position: absolute;
    left: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: .5s .2s;
}
.on.pagelink-item a::before {
    transform: scaleX(1);
}
.pagelink-item a .sec-ttl {
    margin-bottom: 0;
}
.pagelink-item a .sec-ttl .ttl {
    font-size: 2.2rem;
}
.pagelink-item a .arrow {
    position: absolute;
    right: 13.5%;
    bottom: 0;
}

/* hover */
@media screen and (min-width: 768px) {
    .pagelink-item a:hover {
        opacity: 1;
    }
    .pagelink-item a:hover::before {
        animation: btn-border .5s 1 ease;
    }
}
@keyframes btn-border {
  0% {
	  transform-origin: right top;
  }
  50% {
	  transform-origin: right top;
	  transform: scaleX(0);
  }
  51% {
	  transform-origin: left top;
	  transform: scaleX(0);
  }
  100% {
	  transform-origin: left top;
	  transform: scaleX(1);
  }
}

/* ===============================================
    anchor-link
=============================================== */
.anchor-link-wrap {
    padding: 10px 0 0;
}
.anchor-link ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 50px;
}
.anchor-link li {
    margin-left: 30px;
    position: relative;
}
.anchor-link li a {
    display: block;
    position: relative;
    padding: 0 0 0 21px;
}
.anchor-link li a::before {
    content: "";
    width: 9px;
    height: 9px;
    background: #f5a61d;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-40%);
    border-radius: 50%;
    transition: .2s;
}

@media screen and (min-width: 768px) {
	.anchor-link li a:hover::before {
		transform: translateY(-40%) scale(2);
	}
}

/* ===============================================
    fixed-anchor
=============================================== */
.fixed-anchor {
    padding-top: 20px;
}
.fixed-anchor li {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-bottom: 20px;
}
.fixed-anchor li a {
    display: block;
    position: relative;
    opacity: .6;
}
.fixed-anchor li a::before {
    content: "";
    width: 9px;
    height: 9px;
    background: #f5a61d;
    position: absolute;
    left: 0;
    top: 0.55em;
    border-radius: 50%;
    opacity: 0;
    transform: .2s;
}
.fixed-anchor li a.current {
    padding-left: 20px;
}
.fixed-anchor li a.current,
.fixed-anchor li a.current::before {
    opacity: 1;
}
.fixed-anchor._numb li a {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.fixed-anchor._numb li .numb {
    width: 24px;
}
.fixed-anchor._numb li .txt {
    width: calc(100% - 24px);
}

/* ===============================================
    parallax
=============================================== */
.parallax01,
.parallax02,
.parallax03 {
    position: relative;
}
.parallax-inner {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.parallax-img {
	transition: none !important;
	position: relative;
}
.parallax-img span {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transition: none !important;
}
.parallax-img.thumb img {
	height: 110%;
}

/* ===============================================
    table
=============================================== */
dl.table {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
    box-sizing: border-box;
    border-bottom: 1px solid #d9d9d9;
}
dl.table dt {
	width: 20%;
	border-top: 1px solid #d9d9d9;
	padding: 28px 0;
}
dl.table dd {
	width: 75%;
	border-top: 1px solid #d9d9d9;
	padding: 28px 0 20px 5%;
    position: relative;
}
dl.table dd p {
	padding-bottom: 10px;
}

table.type01,
table.type02 {
	width: 100%;
	border-top: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
}
table.type01 th,
table.type01 td,
table.type02 th,
table.type02 td {
	border-bottom: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
	padding: 5px 15px;
	vertical-align: middle;
	line-height: 1.75;
    text-align: left;
    box-sizing: border-box;
}
table.type01 th {
	background: #f2f1e9;
	padding: 15px 15px;
}
table.type01 td {
	font-size: 1.4rem;
}
table.type01 .w18 {
	width: 18%;
}
table.type01 .w26 {
	width: 26%;
}
table.type01 .w28 {
	width: 28%;
}
table.type01 .w74 {
	width: 74%;
}
table.type02 th {
    width: 20%;
	background: #f6f7f6;
    border-right: none;
	padding: 20px;
}
table.type02 td {
    width: 80%;
    padding: 20px;
}

/* ===============================================
    list-disc 
=============================================== */
.list-disc-ttl {
	margin-bottom: 5px;
}
.list-disc > li {
    position: relative;
    line-height: 1.5;
	padding: 5px 0 5px 20px;
}
.list-disc > li::before {
    content: "";
    width: 7px;
    height: 7px;
    background: #333333;
    position: absolute;
    left: 0;
    top: 0.9em;
    border-radius: 50%;
}
.list-disc._border > li {
    border-bottom: 1px solid #d9d9d9;
    padding: 14px 0 14px 20px;
    font-size: 1.4rem;
}
.list-disc._border > li::before {
    top: 1.55em;
}

.list-note > li {
	text-indent: -1.5em;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 4px 0 4px 1.5em;
}
.list-note > li::before {
	content: "※ ";
}
.list-note > li ul {
    padding: 4px 0 4px 1.5em;
}
.list-note > li ul li {
    padding: 4px 0;
}
.list-note > li ul li .dot {
    color: #8e9294;
}
.list-numb {
	list-style-type: decimal;
	list-style-position: inside;
}
.list-numb li {
	text-indent: -1em;
	padding-left: 1em;
}

/*/////////////////////////////////////////////////////////////////////////////


              // Slider //
	  

/////////////////////////////////////////////////////////////////////////////*/
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus {
    outline: none;
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
}
.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}
.slick-track:after {
    clear: both;
}
.slick-loading .slick-track {
    visibility: hidden;
}
.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide {
    float: right;
}
.slick-slide img {
    display: block;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-slide.dragging img {
    pointer-events: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
/* Arrows */
.slick-prev,
.slick-next {   
    position:  absolute;
	top: 0;
	width: 47px;
    height: 33px;
	overflow: hidden;
	font-size: 0;
    line-height: 0;
	display: block;
	cursor: pointer;
    border: 1px solid #cccccc;
    border-radius: calc(infinity * 1px);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 14px auto;
    background-color: #ffffff;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="28" height="18" viewBox="0 0 28 18"><path fill="rgb(26, 26, 26)" d="M15.7,0l-1.4,1.4c.4.4,2.2,3.3,8.1,6.6H0v2h22.3c-5.8,3.3-7.7,6.2-8.1,6.6l1.4,1.4c3.2-3.1,7.8-8,12.4-8v-2c-4.7,0-9.4-4.8-12.4-8h0Z"/></svg>');
	z-index: 999;
	border-radius: calc(infinity * 1px);
    box-sizing: border-box;
}
.slick-prev {
    left: 0;
    transform: rotate(180deg);
}
.slick-next {
    left: 55px;
}
.notes-slider .slick-prev,
.notes-slider .slick-next {
    top: 134px;
}

.slick-prev:active,
.slick-prev:focus,
.slick-next:active,
.slick-next:focus,
.slick-slide a {
    outline: none;
}
.slick-next.slick-arrow.slick-disabled {
    opacity: 0;
    pointer-events: none;
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.slick-dots {
    position: absolute;
    bottom: 40px;
    right: 2.9282%;
    display: block;
    width: auto;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: left;
    z-index: 3;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 10px !important;
    padding: 0 !important;
    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 6px;
    height: 6px;
	padding: 0;
    border: 1px solid #cccccc;
    background-color: #cccccc;
    cursor: pointer;
    color: transparent;
    outline: none;
	border-radius: 50%;
    box-sizing: border-box;
}
.slick-dots li.slick-active button {
    border: 1px solid #4b5e51;
    background-color: #4b5e51;
}

/*/////////////////////////////////////////////////////////////////////////////


              // colorbox //
	  

/////////////////////////////////////////////////////////////////////////////*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:99999; }
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto;}
#cboxTitle{font-family: "Zen Kaku Gothic New", sans-serif; margin:10px auto; color: #ffffff; font-size: 1.4rem;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; padding:0;}
.cboxIframe{width:100%; height:100%; display:block; border:0;}
#cboxOverlay{background: rgba(0,0,0,0.90);}
#colorbox{font: 12px Tahoma, Arial,sans-serif;}
#cboxContent{margin:60px 0 40px;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{border:none; background:#fff;}
#cboxTitle{display:none;}
#cboxCurrent{display:none !important;}
#cboxSlideshow{position:absolute; bottom:-20px; left:0px; color:#fff;}
#cboxLoadingOverlay{background:#000;}
#cboxPrevious,
#cboxNext {
    position:  absolute;
	top: 50%;
    margin-top: -22px;
	width: 45px;
	height: 45px;
	overflow: hidden;
	font-size: 0;
    line-height: 0;
	display: block;
	cursor: pointer;
    border: none;
    background-color: #ffffff;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 8px auto;
	z-index: 999;
	transition: .3s;
	border-radius: 50%;
    box-sizing: border-box;
    text-indent:-9999px;
}
#cboxPrevious {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="8" height="7" viewBox="0 0 8 7"><path fill="rgb(26, 26, 26)" d="M6,7L0,3.5,6,0v7Z"/></svg>');
    left: -55px;
}
#cboxNext {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="8" height="7" viewBox="0 0 8 7"><path fill="rgb(26, 26, 26)" d="M2,0l6,3.5-6,3.5V0Z"/></svg>');
    right: -55px;
}
@media screen and (max-width: 767px) {
    #cboxPrevious,
    #cboxNext {
        margin-top: -13px;
        width: 27px;
        height: 27px;
        background-color: rgba(255,255,255,1.0);
    }
	#cboxPrevious {
	    left: -12px;
	}
	#cboxNext {
	    right: -12px;
	}
}
#cboxClose {
	border:none;
	text-indent:-9999px;
	display: inline-block;
	position: absolute;
	width: 45px;
	height: 45px;
	cursor: pointer;
	right: 0px;
	top: -55px;
	background: #ffffff;
	border-radius: 50%;
}
#cboxClose::before,
#cboxClose::after {
	content: "";
	width: 19px;
	height: 1px;
	background: #1a1a1a;
	position: absolute;
	top: 22px;
	left: 13px;
	transform-origin: center center;
}
#cboxClose::before {
	transform: rotate(-45deg);
}
#cboxClose::after {
	transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    #cboxClose {
        width: 31px;
        height: 31px;
        top: -45px;
    }
    #cboxClose::before,
    #cboxClose::after {
        width: 15px;
        top: 15px;
        left: 8px;
    }
}

/*/////////////////////////////////////////////////////////////////////////////


              // motion //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* ef txtef
-------------------------------------------------- */
.txtef-wrap {
	display: block;
	overflow: hidden;
}
.txtef {
	display: block;
	transform: translateY(100%);
}
.sec-ttl.on .txtef-wrap .txtef,
.sec-ttl-bd.on .txtef-wrap .txtef,
.ef.on .txtef-wrap:nth-child(1) .txtef {
    transition: 0.7s cubic-bezier(0.04, 0.8, 0.35, 1) .20s;
    transform: translateY(0);
}
.ef.on .txtef-wrap:nth-child(2) .txtef {
    transition: 0.7s cubic-bezier(0.04, 0.8, 0.35, 1) .30s;
    transform: translateY(0);
}
.ef.on .txtef-wrap:nth-child(3) .txtef {
    transition: 0.7s cubic-bezier(0.04, 0.8, 0.35, 1) .40s;
    transform: translateY(0);
}
.ef.on .txtef-wrap:nth-child(4) .txtef {
    transition: 0.7s cubic-bezier(0.04, 0.8, 0.35, 1) .50s;
    transform: translateY(0);
}

/* ttl-overlay
-------------------------------------------------- */
@keyframes ttl-overlay {
	0% {
		transform: scaleX(1);
	}
	100% {
		transform: scaleX(0);
	}
}

/* ttl-fadeup
-------------------------------------------------- */
@keyframes ttl-fadeup {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}

/* fade
-------------------------------------------------- */
.mf {
	opacity:0;
}
.mf.on {
	transition: opacity 1s !important;
	opacity: 1;
}

/* fade blur
-------------------------------------------------- */
.mfb {
	opacity:0;
    filter: blur(20px);
}
.mfb.on {
	transition: 1s !important;
	opacity: 1;
    filter: blur(0);
}

/* fade up
-------------------------------------------------- */
.mfu {
	opacity: 0;
	transform: translateY(60px);
}
span.mfu {
	display: block;
}
.mfu.on {
    transition: 2.5s cubic-bezier(0.075, 0.82, 0.165, 1) !important;
    opacity: 1;
    transform: translateY(0);
}

/* fade up list
-------------------------------------------------- */
.mful li {
	opacity: 0;
	transform: translateY(60px);
}
.mful.on li:nth-child(1) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1);
    opacity: 1;
    transform: translateY(0);
}
.mful.on li:nth-child(2) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .15s;
    opacity: 1;
    transform: translateY(0);
}
.mful.on li:nth-child(3) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .3s;
    opacity: 1;
    transform: translateY(0);
}
.mful.on li:nth-child(4) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .45s;
    opacity: 1;
    transform: translateY(0);
}
.mful.on li:nth-child(5) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .6s;
    opacity: 1;
    transform: translateY(0);
}
.mful.on li:nth-child(6) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .75s;
    opacity: 1;
    transform: translateY(0);
}
.mful.on li:nth-child(7) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .9s;
    opacity: 1;
    transform: translateY(0);
}
.mful.on li:nth-child(8) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) 1.05s;
    opacity: 1;
    transform: translateY(0);
}
@-webkit-keyframes ef-fadeup {
	0% {
		opacity:0;
		transform:translateY(80px); }
	100% {
		opacity:1;
		transform:translateY(0%); }
}
@keyframes ef-fadeup {
	0% {
		opacity:0;
		transform:translateY(80px); }
	100% {
		opacity:1;
		transform:translateY(0%); }
}

/* fade down
-------------------------------------------------- */
.mfd {
	opacity:0;
	-webkit-transform:translateY(-80px);
	transform:translateY(-80px);
}
span.mfd {
	display: block;
}
.mfd.on {
	-webkit-animation: ef-fadedown 2s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
	animation: ef-fadedown 2s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
}
@-webkit-keyframes ef-fadedown {
	0% {
		opacity:0;
		transform:translateY(-80px); }
	100% {
		opacity:1;
		transform:translateY(0%); }
}
@keyframes ef-fadedown {
	0% {
		opacity:0;
		transform:translateY(-80px); }
	100% {
		opacity:1;
		transform:translateY(0%); }
}

/* fade left
-------------------------------------------------- */
.mfl {
	opacity: 0;
	transform: translateX(-40px);
}
.mfl.on {
	animation: ef-fadeleft 2s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
}
@keyframes ef-fadeleft {
	0% {
		opacity: 0;
		transform: translateX(-40px); }
	100% {
		opacity: 1;
		transform: translateY(0%); }
}

/* fade right
-------------------------------------------------- */
.mfr {
	opacity: 0;
	transform: translateX(40px);
}
.mfr.on {
	animation: ef-faderight 2s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
}
@keyframes ef-faderight {
	0% {
		opacity: 0;
		transform: translateX(40px); }
	100% {
		opacity: 1;
		transform: translateY(0%); }
}

/* ef txtef mask
-------------------------------------------------- */
.mtm {
	display: inline-block;
	position: relative;
}
.mtm::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.80);
	position: absolute;
	left: 0;
	top: 0;
	transform-origin: right center;
}
.mtm._gry::after {
	background: rgba(248,248,248,0.80);
}
.mtm._blk::after {
	background: rgba(42,44,46,0.80);
}
.mtm.on::after  {
	animation: ef-scaleX 1.4s cubic-bezier(0.04, 0.8, 0.35, 1) forwards;
}

/* ef scaleX
-------------------------------------------------- */
.ef .thumb::before {
	content: "";
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	position: absolute;
	left: 0;
	top: 0;
	background: #FFFFFF;
	z-index: 2;
	transform-origin: right center;
}
.ef._gry .thumb::before {
    background: #53595d;
}
.ef.on .thumb::before {
    transition: 0.70s cubic-bezier(0.76, 0.09, 0.215, 1);
    transform: scaleX(0);
}
@keyframes ef-scaleX {
	0% {
		transform: scaleX(1); }
	100% {
		transform: scaleX(0); }
}
