/*! sanitize.css v3.0.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */

/*
 * Normalization
 */
*{
	margin:0;
	text-decoration: none;
	background-repeat:no-repeat;
	box-sizing: border-box;
}

body,th,td,dt,dd,input,textarea,select{
	font-family: ���C���I, Meiryo, Osaka,  sans-serif;
	font-family:'Century Gothic';
	line-height:1.5em;
	color:#333;
	/* �X�N���[���o�[IE */
	scrollbar-face-color:#BBB; 
	scrollbar-track-color:#e7e7e7; 
	scrollbar-arrow-color:#BBB; 
	scrollbar-highlight-color:#BBB; 
	scrollbar-shadow-color:#BBB; 
	scrollbar-3dlight-color:#BBB; 
	scrollbar-darkshadow-color:#BBB; 
}
/* �X�N���[���o�[Chrome */
::-webkit-scrollbar {
    width: 12px;
    background: tranceparent; 
}
::-webkit-scrollbar-track {
    -webkit-border-radius: 10px;
    border-radius: 10px;
}
::-webkit-scrollbar-thumb {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background: #BBB; 
}
::-webkit-scrollbar-thumb:window-inactive {
	background: #666; 
}

audio:not([controls]) {
	display: none; /* Chrome 44-, iOS 8+, Safari 9+ */
}

button {
	overflow: visible; /* Internet Explorer 11- */
	-webkit-appearance: button; /* iOS 8+ */
}

details {
	display: block; /* Edge 12+, Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */
}

html {
	-ms-overflow-style: -ms-autohiding-scrollbar; /* Edge 12+, Internet Explorer 11- */
	overflow-y: scroll; /* All browsers without overlaying scrollbars */
	-webkit-text-size-adjust: 100%; /* iOS 8+ */
}

input {
	-webkit-border-radius: 0 /* iOS 8+ */
}

input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: button;/* iOS 8+ */
}

input[type="number"] {
	width: auto;/* Firefox 36+ */
}

input[type="search"] {
	-webkit-appearance: textfield;/* Chrome 45+, Safari 9+ */
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;/* Chrome 45+, Safari 9+ */
}

main {
	display: block; /* Android 4.3-, Internet Explorer 11-, Windows Phone 8.1+ */
}

pre {
	overflow: auto; /* Internet Explorer 11- */
}

progress {
	display: inline-block; /* Internet Explorer 11-, Windows Phone 8.1+ */
}

small {
	font-size: 75%; /* All browsers */
}

summary {
	display: block; /* Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */
}

svg:not(:root) {
	overflow: hidden; /* Internet Explorer 11- */
}

template {
	display: none; /* Android 4.3-, Internet Explorer 11-, iOS 7-, Safari 7-, Windows Phone 8.1+ */
}

textarea {
	overflow: auto; /* Edge 12+, Internet Explorer 11- */
}

[hidden] {
	display: none; /* Internet Explorer 10- */
}

/*
 * Universal inheritance
 */

/**,
:before,
:after {
	box-sizing: inherit;
}

* {
	font-size: inherit;
	line-height: inherit;
}

:before,
:after {
	text-decoration: inherit;
	vertical-align: inherit;
}
*/


/*
 * Opinionated defaults
 */

/* specify the border style and width of all elements */

/**,
:before,
:after {
	border-style: solid;
	border-width: 0;
}
*/
/* specify the core styles of all elements */

* {
	background-repeat: no-repeat;
	margin: 0;
	padding: 0;
}

/* specify the root styles of the document */

:root {
	background-color: #ffffff;
	box-sizing: border-box;
	color: #000000;
	cursor: default;
	font: 100%/1.5 sans-serif;
	text-rendering: optimizeLegibility;
}

/* specify the text decoration of anchors */

a {
	text-decoration: none;
}

/* specify the alignment of media elements */

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/* specify the background color of form elements */

button,
input,
select,
textarea {
	background-color: transparent;
}

/* specify the inherited color and font of form elements */

button,
input,
select,
textarea {
	color: inherit;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
}

/* specify the minimum height of form elements */

button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
	min-height: 1.5em;
}

/* specify the font family of code elements */

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
}

/* specify the list style of nav lists */

nav ol,
nav ul {
	list-style: none;
}

/* specify the standard appearance of selects */

select {
	-moz-appearance: none;    /* Firefox 40+ */
	-webkit-appearance: none /* Chrome 45+ */
}

select::-ms-expand {
	display: none;/* Edge 12+, Internet Explorer 11- */
}

select::-ms-value {
	color: currentColor;/* Edge 12+, Internet Explorer 11- */
}

/* specify the border styling of tables */

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* specify the resizability of textareas */

textarea {
	resize: vertical;
}

/* specify the background color, font color, and drop shadow of text selections */

::-moz-selection {
	background-color: #b3d4fc; /* required when declaring ::selection */
	color: #4c2b03;
	text-shadow: none;
}

::selection {
	background-color: #b3d4fc; /* required when declaring ::selection */
	color: #4c2b03;
	text-shadow: none;
}

/* specify the progress cursor of updating elements */

[aria-busy="true"] {
	cursor: progress;
}

/* specify the pointer cursor of trigger elements */

[aria-controls] {
	cursor: pointer;
}

/* specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */

[aria-disabled] {
	cursor: default;
}

/* specify the style of visually hidden yet accessible elements */

[hidden][aria-hidden="false"] {
	clip: rect(0 0 0 0);
	display: inherit;
	position: absolute
}

[hidden][aria-hidden="false"]:focus {
	clip: auto;
}

/*# sourceMappingURL=sanitize.css.map */
/*
* Noto Sans Japanese (japanese) http://www.google.com/fonts/earlyaccess
 */
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 100;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf) format('opentype');
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 300;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 400;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
 }
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 500;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
 }
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 700;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
 }
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 900;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format('opentype');
 }

@charset "UTF-8";
/*
Animate.css - http://daneden.me/animate
Licensed under the ☺ license (http://licence.visualidiot.com/)

Copyright (c) 2012 Dan Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
body { /* Addresses a small issue in webkit: http://bit.ly/NEdoDq */
	-webkit-backface-visibility: hidden;
}
.animated {
	-webkit-animation-duration: 1s;
	   -moz-animation-duration: 1s;
	     -o-animation-duration: 1s;
	        animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	   -moz-animation-fill-mode: both;
	     -o-animation-fill-mode: both;
	        animation-fill-mode: both;
}

.animated.hinge {
	-webkit-animation-duration: 2s;
	   -moz-animation-duration: 2s;
	     -o-animation-duration: 2s;
	        animation-duration: 2s;
}

@-webkit-keyframes flash {
	0%, 50%, 100% {opacity: 1;}	
	25%, 75% {opacity: 0;}
}

@-moz-keyframes flash {
	0%, 50%, 100% {opacity: 1;}	
	25%, 75% {opacity: 0;}
}

@-o-keyframes flash {
	0%, 50%, 100% {opacity: 1;}	
	25%, 75% {opacity: 0;}
}

@keyframes flash {
	0%, 50%, 100% {opacity: 1;}	
	25%, 75% {opacity: 0;}
}

.flash {
	-webkit-animation-name: flash;
	-moz-animation-name: flash;
	-o-animation-name: flash;
	animation-name: flash;
}
@-webkit-keyframes shake {
	0%, 100% {-webkit-transform: translateX(0);}
	10%, 30%, 50%, 70%, 90% {-webkit-transform: translateX(-10px);}
	20%, 40%, 60%, 80% {-webkit-transform: translateX(10px);}
}

@-moz-keyframes shake {
	0%, 100% {-moz-transform: translateX(0);}
	10%, 30%, 50%, 70%, 90% {-moz-transform: translateX(-10px);}
	20%, 40%, 60%, 80% {-moz-transform: translateX(10px);}
}

@-o-keyframes shake {
	0%, 100% {-o-transform: translateX(0);}
	10%, 30%, 50%, 70%, 90% {-o-transform: translateX(-10px);}
	20%, 40%, 60%, 80% {-o-transform: translateX(10px);}
}

@keyframes shake {
	0%, 100% {transform: translateX(0);}
	10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);}
	20%, 40%, 60%, 80% {transform: translateX(10px);}
}

.shake {
	-webkit-animation-name: shake;
	-moz-animation-name: shake;
	-o-animation-name: shake;
	animation-name: shake;
}
@-webkit-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}
	40% {-webkit-transform: translateY(-30px);}
	60% {-webkit-transform: translateY(-15px);}
}

@-moz-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
	40% {-moz-transform: translateY(-30px);}
	60% {-moz-transform: translateY(-15px);}
}

@-o-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
	40% {-o-transform: translateY(-30px);}
	60% {-o-transform: translateY(-15px);}
}
@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
	40% {transform: translateY(-30px);}
	60% {transform: translateY(-15px);}
}

.bounce {
	-webkit-animation-name: bounce;
	-moz-animation-name: bounce;
	-o-animation-name: bounce;
	animation-name: bounce;
}
@-webkit-keyframes tada {
	0% {-webkit-transform: scale(1);}	
	10%, 20% {-webkit-transform: scale(0.9) rotate(-3deg);}
	30%, 50%, 70%, 90% {-webkit-transform: scale(1.1) rotate(3deg);}
	40%, 60%, 80% {-webkit-transform: scale(1.1) rotate(-3deg);}
	100% {-webkit-transform: scale(1) rotate(0);}
}

@-moz-keyframes tada {
	0% {-moz-transform: scale(1);}	
	10%, 20% {-moz-transform: scale(0.9) rotate(-3deg);}
	30%, 50%, 70%, 90% {-moz-transform: scale(1.1) rotate(3deg);}
	40%, 60%, 80% {-moz-transform: scale(1.1) rotate(-3deg);}
	100% {-moz-transform: scale(1) rotate(0);}
}

@-o-keyframes tada {
	0% {-o-transform: scale(1);}	
	10%, 20% {-o-transform: scale(0.9) rotate(-3deg);}
	30%, 50%, 70%, 90% {-o-transform: scale(1.1) rotate(3deg);}
	40%, 60%, 80% {-o-transform: scale(1.1) rotate(-3deg);}
	100% {-o-transform: scale(1) rotate(0);}
}

@keyframes tada {
	0% {transform: scale(1);}	
	10%, 20% {transform: scale(0.9) rotate(-3deg);}
	30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);}
	40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}
	100% {transform: scale(1) rotate(0);}
}

.tada {
	-webkit-animation-name: tada;
	-moz-animation-name: tada;
	-o-animation-name: tada;
	animation-name: tada;
}
@-webkit-keyframes swing {
	20%, 40%, 60%, 80%, 100% { -webkit-transform-origin: top center; }
	20% { -webkit-transform: rotate(15deg); }	
	40% { -webkit-transform: rotate(-10deg); }
	60% { -webkit-transform: rotate(5deg); }	
	80% { -webkit-transform: rotate(-5deg); }	
	100% { -webkit-transform: rotate(0deg); }
}

@-moz-keyframes swing {
	20% { -moz-transform: rotate(15deg); }	
	40% { -moz-transform: rotate(-10deg); }
	60% { -moz-transform: rotate(5deg); }	
	80% { -moz-transform: rotate(-5deg); }	
	100% { -moz-transform: rotate(0deg); }
}

@-o-keyframes swing {
	20% { -o-transform: rotate(15deg); }	
	40% { -o-transform: rotate(-10deg); }
	60% { -o-transform: rotate(5deg); }	
	80% { -o-transform: rotate(-5deg); }	
	100% { -o-transform: rotate(0deg); }
}

@keyframes swing {
	20% { transform: rotate(15deg); }	
	40% { transform: rotate(-10deg); }
	60% { transform: rotate(5deg); }	
	80% { transform: rotate(-5deg); }	
	100% { transform: rotate(0deg); }
}

.swing {
	-webkit-transform-origin: top center;
	-moz-transform-origin: top center;
	-o-transform-origin: top center;
	transform-origin: top center;
	-webkit-animation-name: swing;
	-moz-animation-name: swing;
	-o-animation-name: swing;
	animation-name: swing;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  0% { -webkit-transform: translateX(0%); }
  15% { -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% { -webkit-transform: translateX(20%) rotate(3deg); }
  45% { -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% { -webkit-transform: translateX(10%) rotate(2deg); }
  75% { -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% { -webkit-transform: translateX(0%); }
}

@-moz-keyframes wobble {
  0% { -moz-transform: translateX(0%); }
  15% { -moz-transform: translateX(-25%) rotate(-5deg); }
  30% { -moz-transform: translateX(20%) rotate(3deg); }
  45% { -moz-transform: translateX(-15%) rotate(-3deg); }
  60% { -moz-transform: translateX(10%) rotate(2deg); }
  75% { -moz-transform: translateX(-5%) rotate(-1deg); }
  100% { -moz-transform: translateX(0%); }
}

@-o-keyframes wobble {
  0% { -o-transform: translateX(0%); }
  15% { -o-transform: translateX(-25%) rotate(-5deg); }
  30% { -o-transform: translateX(20%) rotate(3deg); }
  45% { -o-transform: translateX(-15%) rotate(-3deg); }
  60% { -o-transform: translateX(10%) rotate(2deg); }
  75% { -o-transform: translateX(-5%) rotate(-1deg); }
  100% { -o-transform: translateX(0%); }
}

@keyframes wobble {
  0% { transform: translateX(0%); }
  15% { transform: translateX(-25%) rotate(-5deg); }
  30% { transform: translateX(20%) rotate(3deg); }
  45% { transform: translateX(-15%) rotate(-3deg); }
  60% { transform: translateX(10%) rotate(2deg); }
  75% { transform: translateX(-5%) rotate(-1deg); }
  100% { transform: translateX(0%); }
}

.wobble {
	-webkit-animation-name: wobble;
	-moz-animation-name: wobble;
	-o-animation-name: wobble;
	animation-name: wobble;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
    0% { -webkit-transform: scale(1); }	
	50% { -webkit-transform: scale(1.1); }
    100% { -webkit-transform: scale(1); }
}
@-moz-keyframes pulse {
    0% { -moz-transform: scale(1); }	
	50% { -moz-transform: scale(1.1); }
    100% { -moz-transform: scale(1); }
}
@-o-keyframes pulse {
    0% { -o-transform: scale(1); }	
	50% { -o-transform: scale(1.1); }
    100% { -o-transform: scale(1); }
}
@keyframes pulse {
    0% { transform: scale(1); }	
	50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.pulse {
	-webkit-animation-name: pulse;
	-moz-animation-name: pulse;
	-o-animation-name: pulse;
	animation-name: pulse;
}
@-webkit-keyframes flip {
	0% {
		-webkit-transform: perspective(400px) rotateY(0);
		-webkit-animation-timing-function: ease-out;
	}
	40% {
		-webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
		-webkit-animation-timing-function: ease-out;
	}
	50% {
		-webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
		-webkit-animation-timing-function: ease-in;
	}
	80% {
		-webkit-transform: perspective(400px) rotateY(360deg) scale(.95);
		-webkit-animation-timing-function: ease-in;
	}
	100% {
		-webkit-transform: perspective(400px) scale(1);
		-webkit-animation-timing-function: ease-in;
	}
}
@-moz-keyframes flip {
	0% {
		-moz-transform: perspective(400px) rotateY(0);
		-moz-animation-timing-function: ease-out;
	}
	40% {
		-moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
		-moz-animation-timing-function: ease-out;
	}
	50% {
		-moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
		-moz-animation-timing-function: ease-in;
	}
	80% {
		-moz-transform: perspective(400px) rotateY(360deg) scale(.95);
		-moz-animation-timing-function: ease-in;
	}
	100% {
		-moz-transform: perspective(400px) scale(1);
		-moz-animation-timing-function: ease-in;
	}
}
@-o-keyframes flip {
	0% {
		-o-transform: perspective(400px) rotateY(0);
		-o-animation-timing-function: ease-out;
	}
	40% {
		-o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
		-o-animation-timing-function: ease-out;
	}
	50% {
		-o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
		-o-animation-timing-function: ease-in;
	}
	80% {
		-o-transform: perspective(400px) rotateY(360deg) scale(.95);
		-o-animation-timing-function: ease-in;
	}
	100% {
		-o-transform: perspective(400px) scale(1);
		-o-animation-timing-function: ease-in;
	}
}
@keyframes flip {
	0% {
		transform: perspective(400px) rotateY(0);
		animation-timing-function: ease-out;
	}
	40% {
		transform: perspective(400px) translateZ(150px) rotateY(170deg);
		animation-timing-function: ease-out;
	}
	50% {
		transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
		animation-timing-function: ease-in;
	}
	80% {
		transform: perspective(400px) rotateY(360deg) scale(.95);
		animation-timing-function: ease-in;
	}
	100% {
		transform: perspective(400px) scale(1);
		animation-timing-function: ease-in;
	}
}

.flip {
	-webkit-backface-visibility: visible !important;
	-webkit-animation-name: flip;
	-moz-backface-visibility: visible !important;
	-moz-animation-name: flip;
	-o-backface-visibility: visible !important;
	-o-animation-name: flip;
	backface-visibility: visible !important;
	animation-name: flip;
}
@-webkit-keyframes flipInX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
    
    40% {
        -webkit-transform: perspective(400px) rotateX(-10deg);
    }
    
    70% {
        -webkit-transform: perspective(400px) rotateX(10deg);
    }
    
    100% {
        -webkit-transform: perspective(400px) rotateX(0deg);
        opacity: 1;
    }
}
@-moz-keyframes flipInX {
    0% {
        -moz-transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
    
    40% {
        -moz-transform: perspective(400px) rotateX(-10deg);
    }
    
    70% {
        -moz-transform: perspective(400px) rotateX(10deg);
    }
    
    100% {
        -moz-transform: perspective(400px) rotateX(0deg);
        opacity: 1;
    }
}
@-o-keyframes flipInX {
    0% {
        -o-transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
    
    40% {
        -o-transform: perspective(400px) rotateX(-10deg);
    }
    
    70% {
        -o-transform: perspective(400px) rotateX(10deg);
    }
    
    100% {
        -o-transform: perspective(400px) rotateX(0deg);
        opacity: 1;
    }
}
@keyframes flipInX {
    0% {
        transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
    
    40% {
        transform: perspective(400px) rotateX(-10deg);
    }
    
    70% {
        transform: perspective(400px) rotateX(10deg);
    }
    
    100% {
        transform: perspective(400px) rotateX(0deg);
        opacity: 1;
    }
}

.flipInX {
	-webkit-backface-visibility: visible !important;
	-webkit-animation-name: flipInX;
	-moz-backface-visibility: visible !important;
	-moz-animation-name: flipInX;
	-o-backface-visibility: visible !important;
	-o-animation-name: flipInX;
	backface-visibility: visible !important;
	animation-name: flipInX;
}
@-webkit-keyframes flipOutX {
    0% {
        -webkit-transform: perspective(400px) rotateX(0deg);
        opacity: 1;
    }
	100% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
}

@-moz-keyframes flipOutX {
    0% {
        -moz-transform: perspective(400px) rotateX(0deg);
        opacity: 1;
    }
	100% {
        -moz-transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
}

@-o-keyframes flipOutX {
    0% {
        -o-transform: perspective(400px) rotateX(0deg);
        opacity: 1;
    }
	100% {
        -o-transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
}

@keyframes flipOutX {
    0% {
        transform: perspective(400px) rotateX(0deg);
        opacity: 1;
    }
	100% {
        transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
}

.flipOutX {
	-webkit-animation-name: flipOutX;
	-webkit-backface-visibility: visible !important;
	-moz-animation-name: flipOutX;
	-moz-backface-visibility: visible !important;
	-o-animation-name: flipOutX;
	-o-backface-visibility: visible !important;
	animation-name: flipOutX;
	backface-visibility: visible !important;
}
@-webkit-keyframes flipInY {
    0% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
    
    40% {
        -webkit-transform: perspective(400px) rotateY(-10deg);
    }
    
    70% {
        -webkit-transform: perspective(400px) rotateY(10deg);
    }
    
    100% {
        -webkit-transform: perspective(400px) rotateY(0deg);
        opacity: 1;
    }
}
@-moz-keyframes flipInY {
    0% {
        -moz-transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
    
    40% {
        -moz-transform: perspective(400px) rotateY(-10deg);
    }
    
    70% {
        -moz-transform: perspective(400px) rotateY(10deg);
    }
    
    100% {
        -moz-transform: perspective(400px) rotateY(0deg);
        opacity: 1;
    }
}
@-o-keyframes flipInY {
    0% {
        -o-transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
    
    40% {
        -o-transform: perspective(400px) rotateY(-10deg);
    }
    
    70% {
        -o-transform: perspective(400px) rotateY(10deg);
    }
    
    100% {
        -o-transform: perspective(400px) rotateY(0deg);
        opacity: 1;
    }
}
@keyframes flipInY {
    0% {
        transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
    
    40% {
        transform: perspective(400px) rotateY(-10deg);
    }
    
    70% {
        transform: perspective(400px) rotateY(10deg);
    }
    
    100% {
        transform: perspective(400px) rotateY(0deg);
        opacity: 1;
    }
}

.flipInY {
	-webkit-backface-visibility: visible !important;
	-webkit-animation-name: flipInY;
	-moz-backface-visibility: visible !important;
	-moz-animation-name: flipInY;
	-o-backface-visibility: visible !important;
	-o-animation-name: flipInY;
	backface-visibility: visible !important;
	animation-name: flipInY;
}
@-webkit-keyframes flipOutY {
    0% {
        -webkit-transform: perspective(400px) rotateY(0deg);
        opacity: 1;
    }
	100% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
}
@-moz-keyframes flipOutY {
    0% {
        -moz-transform: perspective(400px) rotateY(0deg);
        opacity: 1;
    }
	100% {
        -moz-transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
}
@-o-keyframes flipOutY {
    0% {
        -o-transform: perspective(400px) rotateY(0deg);
        opacity: 1;
    }
	100% {
        -o-transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
}
@keyframes flipOutY {
    0% {
        transform: perspective(400px) rotateY(0deg);
        opacity: 1;
    }
	100% {
        transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
}

.flipOutY {
	-webkit-backface-visibility: visible !important;
	-webkit-animation-name: flipOutY;
	-moz-backface-visibility: visible !important;
	-moz-animation-name: flipOutY;
	-o-backface-visibility: visible !important;
	-o-animation-name: flipOutY;
	backface-visibility: visible !important;
	animation-name: flipOutY;
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0;}	
	100% {opacity: 1;}
}

@-moz-keyframes fadeIn {
	0% {opacity: 0;}	
	100% {opacity: 1;}
}

@-o-keyframes fadeIn {
	0% {opacity: 0;}	
	100% {opacity: 1;}
}

@keyframes fadeIn {
	0% {opacity: 0;}	
	100% {opacity: 1;}
}

.fadeIn {
	-webkit-animation-name: fadeIn;
	-moz-animation-name: fadeIn;
	-o-animation-name: fadeIn;
	animation-name: fadeIn;
}
@-webkit-keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
	}
	
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}

@-moz-keyframes fadeInUp {
	0% {
		opacity: 0;
		-moz-transform: translateY(20px);
	}
	
	100% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
}

@-o-keyframes fadeInUp {
	0% {
		opacity: 0;
		-o-transform: translateY(20px);
	}
	
	100% {
		opacity: 1;
		-o-transform: translateY(0);
	}
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.fadeInUp {
	-webkit-animation-name: fadeInUp;
	-moz-animation-name: fadeInUp;
	-o-animation-name: fadeInUp;
	animation-name: fadeInUp;
}
@-webkit-keyframes fadeInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-20px);
	}
	
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}

@-moz-keyframes fadeInDown {
	0% {
		opacity: 0;
		-moz-transform: translateY(-20px);
	}
	
	100% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
}

@-o-keyframes fadeInDown {
	0% {
		opacity: 0;
		-o-transform: translateY(-20px);
	}
	
	100% {
		opacity: 1;
		-o-transform: translateY(0);
	}
}

@keyframes fadeInDown {
	0% {
		opacity: 0;
		transform: translateY(-20px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.fadeInDown {
	-webkit-animation-name: fadeInDown;
	-moz-animation-name: fadeInDown;
	-o-animation-name: fadeInDown;
	animation-name: fadeInDown;
}
@-webkit-keyframes fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
	}
	
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}

@-moz-keyframes fadeInLeft {
	0% {
		opacity: 0;
		-moz-transform: translateX(-20px);
	}
	
	100% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
}

@-o-keyframes fadeInLeft {
	0% {
		opacity: 0;
		-o-transform: translateX(-20px);
	}
	
	100% {
		opacity: 1;
		-o-transform: translateX(0);
	}
}

@keyframes fadeInLeft {
	0% {
		opacity: 0;
		transform: translateX(-20px);
	}
	
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	-moz-animation-name: fadeInLeft;
	-o-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(20px);
	}
	
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}

@-moz-keyframes fadeInRight {
	0% {
		opacity: 0;
		-moz-transform: translateX(20px);
	}
	
	100% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
}

@-o-keyframes fadeInRight {
	0% {
		opacity: 0;
		-o-transform: translateX(20px);
	}
	
	100% {
		opacity: 1;
		-o-transform: translateX(0);
	}
}

@keyframes fadeInRight {
	0% {
		opacity: 0;
		transform: translateX(20px);
	}
	
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

.fadeInRight {
	-webkit-animation-name: fadeInRight;
	-moz-animation-name: fadeInRight;
	-o-animation-name: fadeInRight;
	animation-name: fadeInRight;
}
@-webkit-keyframes fadeInUpBig {
	0% {
		opacity: 0;
		-webkit-transform: translateY(2000px);
	}
	
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}

@-moz-keyframes fadeInUpBig {
	0% {
		opacity: 0;
		-moz-transform: translateY(2000px);
	}
	
	100% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
}

@-o-keyframes fadeInUpBig {
	0% {
		opacity: 0;
		-o-transform: translateY(2000px);
	}
	
	100% {
		opacity: 1;
		-o-transform: translateY(0);
	}
}

@keyframes fadeInUpBig {
	0% {
		opacity: 0;
		transform: translateY(2000px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.fadeInUpBig {
	-webkit-animation-name: fadeInUpBig;
	-moz-animation-name: fadeInUpBig;
	-o-animation-name: fadeInUpBig;
	animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeInDownBig {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-2000px);
	}
	
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}

@-moz-keyframes fadeInDownBig {
	0% {
		opacity: 0;
		-moz-transform: translateY(-2000px);
	}
	
	100% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
}

@-o-keyframes fadeInDownBig {
	0% {
		opacity: 0;
		-o-transform: translateY(-2000px);
	}
	
	100% {
		opacity: 1;
		-o-transform: translateY(0);
	}
}

@keyframes fadeInDownBig {
	0% {
		opacity: 0;
		transform: translateY(-2000px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.fadeInDownBig {
	-webkit-animation-name: fadeInDownBig;
	-moz-animation-name: fadeInDownBig;
	-o-animation-name: fadeInDownBig;
	animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeftBig {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-2000px);
	}
	
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@-moz-keyframes fadeInLeftBig {
	0% {
		opacity: 0;
		-moz-transform: translateX(-2000px);
	}
	
	100% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
}
@-o-keyframes fadeInLeftBig {
	0% {
		opacity: 0;
		-o-transform: translateX(-2000px);
	}
	
	100% {
		opacity: 1;
		-o-transform: translateX(0);
	}
}
@keyframes fadeInLeftBig {
	0% {
		opacity: 0;
		transform: translateX(-2000px);
	}
	
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

.fadeInLeftBig {
	-webkit-animation-name: fadeInLeftBig;
	-moz-animation-name: fadeInLeftBig;
	-o-animation-name: fadeInLeftBig;
	animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRightBig {
	0% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
	}
	
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}

@-moz-keyframes fadeInRightBig {
	0% {
		opacity: 0;
		-moz-transform: translateX(2000px);
	}
	
	100% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
}

@-o-keyframes fadeInRightBig {
	0% {
		opacity: 0;
		-o-transform: translateX(2000px);
	}
	
	100% {
		opacity: 1;
		-o-transform: translateX(0);
	}
}

@keyframes fadeInRightBig {
	0% {
		opacity: 0;
		transform: translateX(2000px);
	}
	
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

.fadeInRightBig {
	-webkit-animation-name: fadeInRightBig;
	-moz-animation-name: fadeInRightBig;
	-o-animation-name: fadeInRightBig;
	animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;}
}

@-moz-keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;}
}

@-o-keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;}
}

@keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;}
}

.fadeOut {
	-webkit-animation-name: fadeOut;
	-moz-animation-name: fadeOut;
	-o-animation-name: fadeOut;
	animation-name: fadeOut;
}
@-webkit-keyframes fadeOutUp {
	0% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateY(-20px);
	}
}
@-moz-keyframes fadeOutUp {
	0% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateY(-20px);
	}
}
@-o-keyframes fadeOutUp {
	0% {
		opacity: 1;
		-o-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateY(-20px);
	}
}
@keyframes fadeOutUp {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		transform: translateY(-20px);
	}
}

.fadeOutUp {
	-webkit-animation-name: fadeOutUp;
	-moz-animation-name: fadeOutUp;
	-o-animation-name: fadeOutUp;
	animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutDown {
	0% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateY(20px);
	}
}

@-moz-keyframes fadeOutDown {
	0% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateY(20px);
	}
}

@-o-keyframes fadeOutDown {
	0% {
		opacity: 1;
		-o-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateY(20px);
	}
}

@keyframes fadeOutDown {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		transform: translateY(20px);
	}
}

.fadeOutDown {
	-webkit-animation-name: fadeOutDown;
	-moz-animation-name: fadeOutDown;
	-o-animation-name: fadeOutDown;
	animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutLeft {
	0% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
	}
}

@-moz-keyframes fadeOutLeft {
	0% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateX(-20px);
	}
}

@-o-keyframes fadeOutLeft {
	0% {
		opacity: 1;
		-o-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateX(-20px);
	}
}

@keyframes fadeOutLeft {
	0% {
		opacity: 1;
		transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		transform: translateX(-20px);
	}
}

.fadeOutLeft {
	-webkit-animation-name: fadeOutLeft;
	-moz-animation-name: fadeOutLeft;
	-o-animation-name: fadeOutLeft;
	animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutRight {
	0% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateX(20px);
	}
}

@-moz-keyframes fadeOutRight {
	0% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateX(20px);
	}
}

@-o-keyframes fadeOutRight {
	0% {
		opacity: 1;
		-o-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateX(20px);
	}
}

@keyframes fadeOutRight {
	0% {
		opacity: 1;
		transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		transform: translateX(20px);
	}
}

.fadeOutRight {
	-webkit-animation-name: fadeOutRight;
	-moz-animation-name: fadeOutRight;
	-o-animation-name: fadeOutRight;
	animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutUpBig {
	0% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateY(-2000px);
	}
}

@-moz-keyframes fadeOutUpBig {
	0% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateY(-2000px);
	}
}

@-o-keyframes fadeOutUpBig {
	0% {
		opacity: 1;
		-o-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateY(-2000px);
	}
}

@keyframes fadeOutUpBig {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		transform: translateY(-2000px);
	}
}

.fadeOutUpBig {
	-webkit-animation-name: fadeOutUpBig;
	-moz-animation-name: fadeOutUpBig;
	-o-animation-name: fadeOutUpBig;
	animation-name: fadeOutUpBig;
}
@-webkit-keyframes fadeOutDownBig {
	0% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateY(2000px);
	}
}

@-moz-keyframes fadeOutDownBig {
	0% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateY(2000px);
	}
}

@-o-keyframes fadeOutDownBig {
	0% {
		opacity: 1;
		-o-transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateY(2000px);
	}
}

@keyframes fadeOutDownBig {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	
	100% {
		opacity: 0;
		transform: translateY(2000px);
	}
}

.fadeOutDownBig {
	-webkit-animation-name: fadeOutDownBig;
	-moz-animation-name: fadeOutDownBig;
	-o-animation-name: fadeOutDownBig;
	animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeftBig {
	0% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateX(-2000px);
	}
}

@-moz-keyframes fadeOutLeftBig {
	0% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateX(-2000px);
	}
}

@-o-keyframes fadeOutLeftBig {
	0% {
		opacity: 1;
		-o-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateX(-2000px);
	}
}

@keyframes fadeOutLeftBig {
	0% {
		opacity: 1;
		transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		transform: translateX(-2000px);
	}
}

.fadeOutLeftBig {
	-webkit-animation-name: fadeOutLeftBig;
	-moz-animation-name: fadeOutLeftBig;
	-o-animation-name: fadeOutLeftBig;
	animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRightBig {
	0% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
	}
}
@-moz-keyframes fadeOutRightBig {
	0% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateX(2000px);
	}
}
@-o-keyframes fadeOutRightBig {
	0% {
		opacity: 1;
		-o-transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateX(2000px);
	}
}
@keyframes fadeOutRightBig {
	0% {
		opacity: 1;
		transform: translateX(0);
	}
	
	100% {
		opacity: 0;
		transform: translateX(2000px);
	}
}

.fadeOutRightBig {
	-webkit-animation-name: fadeOutRightBig;
	-moz-animation-name: fadeOutRightBig;
	-o-animation-name: fadeOutRightBig;
	animation-name: fadeOutRightBig;
}
@-webkit-keyframes bounceIn {
	0% {
		opacity: 0;
		-webkit-transform: scale(.3);
	}
	
	50% {
		opacity: 1;
		-webkit-transform: scale(1.05);
	}
	
	70% {
		-webkit-transform: scale(.9);
	}
	
	100% {
		-webkit-transform: scale(1);
	}
}

@-moz-keyframes bounceIn {
	0% {
		opacity: 0;
		-moz-transform: scale(.3);
	}
	
	50% {
		opacity: 1;
		-moz-transform: scale(1.05);
	}
	
	70% {
		-moz-transform: scale(.9);
	}
	
	100% {
		-moz-transform: scale(1);
	}
}

@-o-keyframes bounceIn {
	0% {
		opacity: 0;
		-o-transform: scale(.3);
	}
	
	50% {
		opacity: 1;
		-o-transform: scale(1.05);
	}
	
	70% {
		-o-transform: scale(.9);
	}
	
	100% {
		-o-transform: scale(1);
	}
}

@keyframes bounceIn {
	0% {
		opacity: 0;
		transform: scale(.3);
	}
	
	50% {
		opacity: 1;
		transform: scale(1.05);
	}
	
	70% {
		transform: scale(.9);
	}
	
	100% {
		transform: scale(1);
	}
}

.bounceIn {
	-webkit-animation-name: bounceIn;
	-moz-animation-name: bounceIn;
	-o-animation-name: bounceIn;
	animation-name: bounceIn;
}
@-webkit-keyframes bounceInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(2000px);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translateY(-30px);
	}
	
	80% {
		-webkit-transform: translateY(10px);
	}
	
	100% {
		-webkit-transform: translateY(0);
	}
}
@-moz-keyframes bounceInUp {
	0% {
		opacity: 0;
		-moz-transform: translateY(2000px);
	}
	
	60% {
		opacity: 1;
		-moz-transform: translateY(-30px);
	}
	
	80% {
		-moz-transform: translateY(10px);
	}
	
	100% {
		-moz-transform: translateY(0);
	}
}

@-o-keyframes bounceInUp {
	0% {
		opacity: 0;
		-o-transform: translateY(2000px);
	}
	
	60% {
		opacity: 1;
		-o-transform: translateY(-30px);
	}
	
	80% {
		-o-transform: translateY(10px);
	}
	
	100% {
		-o-transform: translateY(0);
	}
}

@keyframes bounceInUp {
	0% {
		opacity: 0;
		transform: translateY(2000px);
	}
	
	60% {
		opacity: 1;
		transform: translateY(-30px);
	}
	
	80% {
		transform: translateY(10px);
	}
	
	100% {
		transform: translateY(0);
	}
}

.bounceInUp {
	-webkit-animation-name: bounceInUp;
	-moz-animation-name: bounceInUp;
	-o-animation-name: bounceInUp;
	animation-name: bounceInUp;
}
@-webkit-keyframes bounceInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-2000px);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translateY(30px);
	}
	
	80% {
		-webkit-transform: translateY(-10px);
	}
	
	100% {
		-webkit-transform: translateY(0);
	}
}

@-moz-keyframes bounceInDown {
	0% {
		opacity: 0;
		-moz-transform: translateY(-2000px);
	}
	
	60% {
		opacity: 1;
		-moz-transform: translateY(30px);
	}
	
	80% {
		-moz-transform: translateY(-10px);
	}
	
	100% {
		-moz-transform: translateY(0);
	}
}

@-o-keyframes bounceInDown {
	0% {
		opacity: 0;
		-o-transform: translateY(-2000px);
	}
	
	60% {
		opacity: 1;
		-o-transform: translateY(30px);
	}
	
	80% {
		-o-transform: translateY(-10px);
	}
	
	100% {
		-o-transform: translateY(0);
	}
}

@keyframes bounceInDown {
	0% {
		opacity: 0;
		transform: translateY(-2000px);
	}
	
	60% {
		opacity: 1;
		transform: translateY(30px);
	}
	
	80% {
		transform: translateY(-10px);
	}
	
	100% {
		transform: translateY(0);
	}
}

.bounceInDown {
	-webkit-animation-name: bounceInDown;
	-moz-animation-name: bounceInDown;
	-o-animation-name: bounceInDown;
	animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-2000px);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translateX(30px);
	}
	
	80% {
		-webkit-transform: translateX(-10px);
	}
	
	100% {
		-webkit-transform: translateX(0);
	}
}

@-moz-keyframes bounceInLeft {
	0% {
		opacity: 0;
		-moz-transform: translateX(-2000px);
	}
	
	60% {
		opacity: 1;
		-moz-transform: translateX(30px);
	}
	
	80% {
		-moz-transform: translateX(-10px);
	}
	
	100% {
		-moz-transform: translateX(0);
	}
}

@-o-keyframes bounceInLeft {
	0% {
		opacity: 0;
		-o-transform: translateX(-2000px);
	}
	
	60% {
		opacity: 1;
		-o-transform: translateX(30px);
	}
	
	80% {
		-o-transform: translateX(-10px);
	}
	
	100% {
		-o-transform: translateX(0);
	}
}

@keyframes bounceInLeft {
	0% {
		opacity: 0;
		transform: translateX(-2000px);
	}
	
	60% {
		opacity: 1;
		transform: translateX(30px);
	}
	
	80% {
		transform: translateX(-10px);
	}
	
	100% {
		transform: translateX(0);
	}
}

.bounceInLeft {
	-webkit-animation-name: bounceInLeft;
	-moz-animation-name: bounceInLeft;
	-o-animation-name: bounceInLeft;
	animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translateX(-30px);
	}
	
	80% {
		-webkit-transform: translateX(10px);
	}
	
	100% {
		-webkit-transform: translateX(0);
	}
}

@-moz-keyframes bounceInRight {
	0% {
		opacity: 0;
		-moz-transform: translateX(2000px);
	}
	
	60% {
		opacity: 1;
		-moz-transform: translateX(-30px);
	}
	
	80% {
		-moz-transform: translateX(10px);
	}
	
	100% {
		-moz-transform: translateX(0);
	}
}

@-o-keyframes bounceInRight {
	0% {
		opacity: 0;
		-o-transform: translateX(2000px);
	}
	
	60% {
		opacity: 1;
		-o-transform: translateX(-30px);
	}
	
	80% {
		-o-transform: translateX(10px);
	}
	
	100% {
		-o-transform: translateX(0);
	}
}

@keyframes bounceInRight {
	0% {
		opacity: 0;
		transform: translateX(2000px);
	}
	
	60% {
		opacity: 1;
		transform: translateX(-30px);
	}
	
	80% {
		transform: translateX(10px);
	}
	
	100% {
		transform: translateX(0);
	}
}

.bounceInRight {
	-webkit-animation-name: bounceInRight;
	-moz-animation-name: bounceInRight;
	-o-animation-name: bounceInRight;
	animation-name: bounceInRight;
}
@-webkit-keyframes bounceOut {
	0% {
		-webkit-transform: scale(1);
	}
	
	25% {
		-webkit-transform: scale(.95);
	}
	
	50% {
		opacity: 1;
		-webkit-transform: scale(1.1);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: scale(.3);
	}	
}

@-moz-keyframes bounceOut {
	0% {
		-moz-transform: scale(1);
	}
	
	25% {
		-moz-transform: scale(.95);
	}
	
	50% {
		opacity: 1;
		-moz-transform: scale(1.1);
	}
	
	100% {
		opacity: 0;
		-moz-transform: scale(.3);
	}	
}

@-o-keyframes bounceOut {
	0% {
		-o-transform: scale(1);
	}
	
	25% {
		-o-transform: scale(.95);
	}
	
	50% {
		opacity: 1;
		-o-transform: scale(1.1);
	}
	
	100% {
		opacity: 0;
		-o-transform: scale(.3);
	}	
}

@keyframes bounceOut {
	0% {
		transform: scale(1);
	}
	
	25% {
		transform: scale(.95);
	}
	
	50% {
		opacity: 1;
		transform: scale(1.1);
	}
	
	100% {
		opacity: 0;
		transform: scale(.3);
	}	
}

.bounceOut {
	-webkit-animation-name: bounceOut;
	-moz-animation-name: bounceOut;
	-o-animation-name: bounceOut;
	animation-name: bounceOut;
}
@-webkit-keyframes bounceOutUp {
	0% {
		-webkit-transform: translateY(0);
	}
	
	20% {
		opacity: 1;
		-webkit-transform: translateY(20px);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateY(-2000px);
	}
}

@-moz-keyframes bounceOutUp {
	0% {
		-moz-transform: translateY(0);
	}
	
	20% {
		opacity: 1;
		-moz-transform: translateY(20px);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateY(-2000px);
	}
}

@-o-keyframes bounceOutUp {
	0% {
		-o-transform: translateY(0);
	}
	
	20% {
		opacity: 1;
		-o-transform: translateY(20px);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateY(-2000px);
	}
}

@keyframes bounceOutUp {
	0% {
		transform: translateY(0);
	}
	
	20% {
		opacity: 1;
		transform: translateY(20px);
	}
	
	100% {
		opacity: 0;
		transform: translateY(-2000px);
	}
}

.bounceOutUp {
	-webkit-animation-name: bounceOutUp;
	-moz-animation-name: bounceOutUp;
	-o-animation-name: bounceOutUp;
	animation-name: bounceOutUp;
}
@-webkit-keyframes bounceOutDown {
	0% {
		-webkit-transform: translateY(0);
	}
	
	20% {
		opacity: 1;
		-webkit-transform: translateY(-20px);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateY(2000px);
	}
}

@-moz-keyframes bounceOutDown {
	0% {
		-moz-transform: translateY(0);
	}
	
	20% {
		opacity: 1;
		-moz-transform: translateY(-20px);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateY(2000px);
	}
}

@-o-keyframes bounceOutDown {
	0% {
		-o-transform: translateY(0);
	}
	
	20% {
		opacity: 1;
		-o-transform: translateY(-20px);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateY(2000px);
	}
}

@keyframes bounceOutDown {
	0% {
		transform: translateY(0);
	}
	
	20% {
		opacity: 1;
		transform: translateY(-20px);
	}
	
	100% {
		opacity: 0;
		transform: translateY(2000px);
	}
}

.bounceOutDown {
	-webkit-animation-name: bounceOutDown;
	-moz-animation-name: bounceOutDown;
	-o-animation-name: bounceOutDown;
	animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
	0% {
		-webkit-transform: translateX(0);
	}
	
	20% {
		opacity: 1;
		-webkit-transform: translateX(20px);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateX(-2000px);
	}
}

@-moz-keyframes bounceOutLeft {
	0% {
		-moz-transform: translateX(0);
	}
	
	20% {
		opacity: 1;
		-moz-transform: translateX(20px);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateX(-2000px);
	}
}

@-o-keyframes bounceOutLeft {
	0% {
		-o-transform: translateX(0);
	}
	
	20% {
		opacity: 1;
		-o-transform: translateX(20px);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateX(-2000px);
	}
}

@keyframes bounceOutLeft {
	0% {
		transform: translateX(0);
	}
	
	20% {
		opacity: 1;
		transform: translateX(20px);
	}
	
	100% {
		opacity: 0;
		transform: translateX(-2000px);
	}
}

.bounceOutLeft {
	-webkit-animation-name: bounceOutLeft;
	-moz-animation-name: bounceOutLeft;
	-o-animation-name: bounceOutLeft;
	animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
	0% {
		-webkit-transform: translateX(0);
	}
	
	20% {
		opacity: 1;
		-webkit-transform: translateX(-20px);
	}
	
	100% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
	}
}

@-moz-keyframes bounceOutRight {
	0% {
		-moz-transform: translateX(0);
	}
	
	20% {
		opacity: 1;
		-moz-transform: translateX(-20px);
	}
	
	100% {
		opacity: 0;
		-moz-transform: translateX(2000px);
	}
}

@-o-keyframes bounceOutRight {
	0% {
		-o-transform: translateX(0);
	}
	
	20% {
		opacity: 1;
		-o-transform: translateX(-20px);
	}
	
	100% {
		opacity: 0;
		-o-transform: translateX(2000px);
	}
}

@keyframes bounceOutRight {
	0% {
		transform: translateX(0);
	}
	
	20% {
		opacity: 1;
		transform: translateX(-20px);
	}
	
	100% {
		opacity: 0;
		transform: translateX(2000px);
	}
}

.bounceOutRight {
	-webkit-animation-name: bounceOutRight;
	-moz-animation-name: bounceOutRight;
	-o-animation-name: bounceOutRight;
	animation-name: bounceOutRight;
}
@-webkit-keyframes rotateIn {
	0% {
		-webkit-transform-origin: center center;
		-webkit-transform: rotate(-200deg);
		opacity: 0;
	}
	
	100% {
		-webkit-transform-origin: center center;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
}
@-moz-keyframes rotateIn {
	0% {
		-moz-transform-origin: center center;
		-moz-transform: rotate(-200deg);
		opacity: 0;
	}
	
	100% {
		-moz-transform-origin: center center;
		-moz-transform: rotate(0);
		opacity: 1;
	}
}
@-o-keyframes rotateIn {
	0% {
		-o-transform-origin: center center;
		-o-transform: rotate(-200deg);
		opacity: 0;
	}
	
	100% {
		-o-transform-origin: center center;
		-o-transform: rotate(0);
		opacity: 1;
	}
}
@keyframes rotateIn {
	0% {
		transform-origin: center center;
		transform: rotate(-200deg);
		opacity: 0;
	}
	
	100% {
		transform-origin: center center;
		transform: rotate(0);
		opacity: 1;
	}
}

.rotateIn {
	-webkit-animation-name: rotateIn;
	-moz-animation-name: rotateIn;
	-o-animation-name: rotateIn;
	animation-name: rotateIn;
}
@-webkit-keyframes rotateInUpLeft {
	0% {
		-webkit-transform-origin: left bottom;
		-webkit-transform: rotate(90deg);
		opacity: 0;
	}
	
	100% {
		-webkit-transform-origin: left bottom;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
}

@-moz-keyframes rotateInUpLeft {
	0% {
		-moz-transform-origin: left bottom;
		-moz-transform: rotate(90deg);
		opacity: 0;
	}
	
	100% {
		-moz-transform-origin: left bottom;
		-moz-transform: rotate(0);
		opacity: 1;
	}
}

@-o-keyframes rotateInUpLeft {
	0% {
		-o-transform-origin: left bottom;
		-o-transform: rotate(90deg);
		opacity: 0;
	}
	
	100% {
		-o-transform-origin: left bottom;
		-o-transform: rotate(0);
		opacity: 1;
	}
}

@keyframes rotateInUpLeft {
	0% {
		transform-origin: left bottom;
		transform: rotate(90deg);
		opacity: 0;
	}
	
	100% {
		transform-origin: left bottom;
		transform: rotate(0);
		opacity: 1;
	}
}

.rotateInUpLeft {
	-webkit-animation-name: rotateInUpLeft;
	-moz-animation-name: rotateInUpLeft;
	-o-animation-name: rotateInUpLeft;
	animation-name: rotateInUpLeft;
}
@-webkit-keyframes rotateInDownLeft {
	0% {
		-webkit-transform-origin: left bottom;
		-webkit-transform: rotate(-90deg);
		opacity: 0;
	}
	
	100% {
		-webkit-transform-origin: left bottom;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
}

@-moz-keyframes rotateInDownLeft {
	0% {
		-moz-transform-origin: left bottom;
		-moz-transform: rotate(-90deg);
		opacity: 0;
	}
	
	100% {
		-moz-transform-origin: left bottom;
		-moz-transform: rotate(0);
		opacity: 1;
	}
}

@-o-keyframes rotateInDownLeft {
	0% {
		-o-transform-origin: left bottom;
		-o-transform: rotate(-90deg);
		opacity: 0;
	}
	
	100% {
		-o-transform-origin: left bottom;
		-o-transform: rotate(0);
		opacity: 1;
	}
}

@keyframes rotateInDownLeft {
	0% {
		transform-origin: left bottom;
		transform: rotate(-90deg);
		opacity: 0;
	}
	
	100% {
		transform-origin: left bottom;
		transform: rotate(0);
		opacity: 1;
	}
}

.rotateInDownLeft {
	-webkit-animation-name: rotateInDownLeft;
	-moz-animation-name: rotateInDownLeft;
	-o-animation-name: rotateInDownLeft;
	animation-name: rotateInDownLeft;
}
@-webkit-keyframes rotateInUpRight {
	0% {
		-webkit-transform-origin: right bottom;
		-webkit-transform: rotate(-90deg);
		opacity: 0;
	}
	
	100% {
		-webkit-transform-origin: right bottom;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
}

@-moz-keyframes rotateInUpRight {
	0% {
		-moz-transform-origin: right bottom;
		-moz-transform: rotate(-90deg);
		opacity: 0;
	}
	
	100% {
		-moz-transform-origin: right bottom;
		-moz-transform: rotate(0);
		opacity: 1;
	}
}

@-o-keyframes rotateInUpRight {
	0% {
		-o-transform-origin: right bottom;
		-o-transform: rotate(-90deg);
		opacity: 0;
	}
	
	100% {
		-o-transform-origin: right bottom;
		-o-transform: rotate(0);
		opacity: 1;
	}
}

@keyframes rotateInUpRight {
	0% {
		transform-origin: right bottom;
		transform: rotate(-90deg);
		opacity: 0;
	}
	
	100% {
		transform-origin: right bottom;
		transform: rotate(0);
		opacity: 1;
	}
}

.rotateInUpRight {
	-webkit-animation-name: rotateInUpRight;
	-moz-animation-name: rotateInUpRight;
	-o-animation-name: rotateInUpRight;
	animation-name: rotateInUpRight;
}
@-webkit-keyframes rotateInDownRight {
	0% {
		-webkit-transform-origin: right bottom;
		-webkit-transform: rotate(90deg);
		opacity: 0;
	}
	
	100% {
		-webkit-transform-origin: right bottom;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
}

@-moz-keyframes rotateInDownRight {
	0% {
		-moz-transform-origin: right bottom;
		-moz-transform: rotate(90deg);
		opacity: 0;
	}
	
	100% {
		-moz-transform-origin: right bottom;
		-moz-transform: rotate(0);
		opacity: 1;
	}
}

@-o-keyframes rotateInDownRight {
	0% {
		-o-transform-origin: right bottom;
		-o-transform: rotate(90deg);
		opacity: 0;
	}
	
	100% {
		-o-transform-origin: right bottom;
		-o-transform: rotate(0);
		opacity: 1;
	}
}

@keyframes rotateInDownRight {
	0% {
		transform-origin: right bottom;
		transform: rotate(90deg);
		opacity: 0;
	}
	
	100% {
		transform-origin: right bottom;
		transform: rotate(0);
		opacity: 1;
	}
}

.rotateInDownRight {
	-webkit-animation-name: rotateInDownRight;
	-moz-animation-name: rotateInDownRight;
	-o-animation-name: rotateInDownRight;
	animation-name: rotateInDownRight;
}
@-webkit-keyframes rotateOut {
	0% {
		-webkit-transform-origin: center center;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-webkit-transform-origin: center center;
		-webkit-transform: rotate(200deg);
		opacity: 0;
	}
}

@-moz-keyframes rotateOut {
	0% {
		-moz-transform-origin: center center;
		-moz-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-moz-transform-origin: center center;
		-moz-transform: rotate(200deg);
		opacity: 0;
	}
}

@-o-keyframes rotateOut {
	0% {
		-o-transform-origin: center center;
		-o-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-o-transform-origin: center center;
		-o-transform: rotate(200deg);
		opacity: 0;
	}
}

@keyframes rotateOut {
	0% {
		transform-origin: center center;
		transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		transform-origin: center center;
		transform: rotate(200deg);
		opacity: 0;
	}
}

.rotateOut {
	-webkit-animation-name: rotateOut;
	-moz-animation-name: rotateOut;
	-o-animation-name: rotateOut;
	animation-name: rotateOut;
}
@-webkit-keyframes rotateOutUpLeft {
	0% {
		-webkit-transform-origin: left bottom;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-webkit-transform-origin: left bottom;
		-webkit-transform: rotate(-90deg);
		opacity: 0;
	}
}

@-moz-keyframes rotateOutUpLeft {
	0% {
		-moz-transform-origin: left bottom;
		-moz-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-moz-transform-origin: left bottom;
		-moz-transform: rotate(-90deg);
		opacity: 0;
	}
}

@-o-keyframes rotateOutUpLeft {
	0% {
		-o-transform-origin: left bottom;
		-o-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-o-transform-origin: left bottom;
		-o-transform: rotate(-90deg);
		opacity: 0;
	}
}

@keyframes rotateOutUpLeft {
	0% {
		transform-origin: left bottom;
		transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		transform-origin: left bottom;
		transform: rotate(-90deg);
		opacity: 0;
	}
}

.rotateOutUpLeft {
	-webkit-animation-name: rotateOutUpLeft;
	-moz-animation-name: rotateOutUpLeft;
	-o-animation-name: rotateOutUpLeft;
	animation-name: rotateOutUpLeft;
}
@-webkit-keyframes rotateOutDownLeft {
	0% {
		-webkit-transform-origin: left bottom;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-webkit-transform-origin: left bottom;
		-webkit-transform: rotate(90deg);
		opacity: 0;
	}
}

@-moz-keyframes rotateOutDownLeft {
	0% {
		-moz-transform-origin: left bottom;
		-moz-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-moz-transform-origin: left bottom;
		-moz-transform: rotate(90deg);
		opacity: 0;
	}
}

@-o-keyframes rotateOutDownLeft {
	0% {
		-o-transform-origin: left bottom;
		-o-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-o-transform-origin: left bottom;
		-o-transform: rotate(90deg);
		opacity: 0;
	}
}

@keyframes rotateOutDownLeft {
	0% {
		transform-origin: left bottom;
		transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		transform-origin: left bottom;
		transform: rotate(90deg);
		opacity: 0;
	}
}

.rotateOutDownLeft {
	-webkit-animation-name: rotateOutDownLeft;
	-moz-animation-name: rotateOutDownLeft;
	-o-animation-name: rotateOutDownLeft;
	animation-name: rotateOutDownLeft;
}
@-webkit-keyframes rotateOutUpRight {
	0% {
		-webkit-transform-origin: right bottom;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-webkit-transform-origin: right bottom;
		-webkit-transform: rotate(90deg);
		opacity: 0;
	}
}

@-moz-keyframes rotateOutUpRight {
	0% {
		-moz-transform-origin: right bottom;
		-moz-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-moz-transform-origin: right bottom;
		-moz-transform: rotate(90deg);
		opacity: 0;
	}
}

@-o-keyframes rotateOutUpRight {
	0% {
		-o-transform-origin: right bottom;
		-o-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-o-transform-origin: right bottom;
		-o-transform: rotate(90deg);
		opacity: 0;
	}
}

@keyframes rotateOutUpRight {
	0% {
		transform-origin: right bottom;
		transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		transform-origin: right bottom;
		transform: rotate(90deg);
		opacity: 0;
	}
}

.rotateOutUpRight {
	-webkit-animation-name: rotateOutUpRight;
	-moz-animation-name: rotateOutUpRight;
	-o-animation-name: rotateOutUpRight;
	animation-name: rotateOutUpRight;
}
@-webkit-keyframes rotateOutDownRight {
	0% {
		-webkit-transform-origin: right bottom;
		-webkit-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-webkit-transform-origin: right bottom;
		-webkit-transform: rotate(-90deg);
		opacity: 0;
	}
}

@-moz-keyframes rotateOutDownRight {
	0% {
		-moz-transform-origin: right bottom;
		-moz-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-moz-transform-origin: right bottom;
		-moz-transform: rotate(-90deg);
		opacity: 0;
	}
}

@-o-keyframes rotateOutDownRight {
	0% {
		-o-transform-origin: right bottom;
		-o-transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		-o-transform-origin: right bottom;
		-o-transform: rotate(-90deg);
		opacity: 0;
	}
}

@keyframes rotateOutDownRight {
	0% {
		transform-origin: right bottom;
		transform: rotate(0);
		opacity: 1;
	}
	
	100% {
		transform-origin: right bottom;
		transform: rotate(-90deg);
		opacity: 0;
	}
}

.rotateOutDownRight {
	-webkit-animation-name: rotateOutDownRight;
	-moz-animation-name: rotateOutDownRight;
	-o-animation-name: rotateOutDownRight;
	animation-name: rotateOutDownRight;
}
@-webkit-keyframes hinge {
	0% { -webkit-transform: rotate(0); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }	
	20%, 60% { -webkit-transform: rotate(80deg); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }	
	40% { -webkit-transform: rotate(60deg); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }	
	80% { -webkit-transform: rotate(60deg) translateY(0); opacity: 1; -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }	
	100% { -webkit-transform: translateY(700px); opacity: 0; }
}

@-moz-keyframes hinge {
	0% { -moz-transform: rotate(0); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }	
	20%, 60% { -moz-transform: rotate(80deg); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }	
	40% { -moz-transform: rotate(60deg); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }	
	80% { -moz-transform: rotate(60deg) translateY(0); opacity: 1; -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }	
	100% { -moz-transform: translateY(700px); opacity: 0; }
}

@-o-keyframes hinge {
	0% { -o-transform: rotate(0); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }	
	20%, 60% { -o-transform: rotate(80deg); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }	
	40% { -o-transform: rotate(60deg); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }	
	80% { -o-transform: rotate(60deg) translateY(0); opacity: 1; -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }	
	100% { -o-transform: translateY(700px); opacity: 0; }
}

@keyframes hinge {
	0% { transform: rotate(0); transform-origin: top left; animation-timing-function: ease-in-out; }	
	20%, 60% { transform: rotate(80deg); transform-origin: top left; animation-timing-function: ease-in-out; }	
	40% { transform: rotate(60deg); transform-origin: top left; animation-timing-function: ease-in-out; }	
	80% { transform: rotate(60deg) translateY(0); opacity: 1; transform-origin: top left; animation-timing-function: ease-in-out; }	
	100% { transform: translateY(700px); opacity: 0; }
}

.hinge {
	-webkit-animation-name: hinge;
	-moz-animation-name: hinge;
	-o-animation-name: hinge;
	animation-name: hinge;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
	0% { opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); }
	100% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); }
}

@-moz-keyframes rollIn {
	0% { opacity: 0; -moz-transform: translateX(-100%) rotate(-120deg); }
	100% { opacity: 1; -moz-transform: translateX(0px) rotate(0deg); }
}

@-o-keyframes rollIn {
	0% { opacity: 0; -o-transform: translateX(-100%) rotate(-120deg); }
	100% { opacity: 1; -o-transform: translateX(0px) rotate(0deg); }
}

@keyframes rollIn {
	0% { opacity: 0; transform: translateX(-100%) rotate(-120deg); }
	100% { opacity: 1; transform: translateX(0px) rotate(0deg); }
}

.rollIn {
	-webkit-animation-name: rollIn;
	-moz-animation-name: rollIn;
	-o-animation-name: rollIn;
	animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
    0% {
		opacity: 1;
		-webkit-transform: translateX(0px) rotate(0deg);
	}

    100% {
		opacity: 0;
		-webkit-transform: translateX(100%) rotate(120deg);
	}
}

@-moz-keyframes rollOut {
    0% {
		opacity: 1;
		-moz-transform: translateX(0px) rotate(0deg);
	}

    100% {
		opacity: 0;
		-moz-transform: translateX(100%) rotate(120deg);
	}
}

@-o-keyframes rollOut {
    0% {
		opacity: 1;
		-o-transform: translateX(0px) rotate(0deg);
	}

    100% {
		opacity: 0;
		-o-transform: translateX(100%) rotate(120deg);
	}
}

@keyframes rollOut {
    0% {
		opacity: 1;
		transform: translateX(0px) rotate(0deg);
	}

    100% {
		opacity: 0;
		transform: translateX(100%) rotate(120deg);
	}
}

.rollOut {
	-webkit-animation-name: rollOut;
	-moz-animation-name: rollOut;
	-o-animation-name: rollOut;
	animation-name: rollOut;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */

@-webkit-keyframes lightSpeedIn {
	0% { -webkit-transform: translateX(100%) skewX(-30deg); opacity: 0; }
	60% { -webkit-transform: translateX(-20%) skewX(30deg); opacity: 1; }
	80% { -webkit-transform: translateX(0%) skewX(-15deg); opacity: 1; }
	100% { -webkit-transform: translateX(0%) skewX(0deg); opacity: 1; }
}

@-moz-keyframes lightSpeedIn {
	0% { -moz-transform: translateX(100%) skewX(-30deg); opacity: 0; }
	60% { -moz-transform: translateX(-20%) skewX(30deg); opacity: 1; }
	80% { -moz-transform: translateX(0%) skewX(-15deg); opacity: 1; }
	100% { -moz-transform: translateX(0%) skewX(0deg); opacity: 1; }
}

@-o-keyframes lightSpeedIn {
	0% { -o-transform: translateX(100%) skewX(-30deg); opacity: 0; }
	60% { -o-transform: translateX(-20%) skewX(30deg); opacity: 1; }
	80% { -o-transform: translateX(0%) skewX(-15deg); opacity: 1; }
	100% { -o-transform: translateX(0%) skewX(0deg); opacity: 1; }
}

@keyframes lightSpeedIn {
	0% { transform: translateX(100%) skewX(-30deg); opacity: 0; }
	60% { transform: translateX(-20%) skewX(30deg); opacity: 1; }
	80% { transform: translateX(0%) skewX(-15deg); opacity: 1; }
	100% { transform: translateX(0%) skewX(0deg); opacity: 1; }
}

.lightSpeedIn {
    -webkit-animation-name: lightSpeedIn;
    -moz-animation-name: lightSpeedIn;
    -o-animation-name: lightSpeedIn;
    animation-name: lightSpeedIn;

    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

.animated.lightSpeedIn {
    -webkit-animation-duration: 0.5s;
    -moz-animation-duration: 0.5s;
    -o-animation-duration: 0.5s;
    animation-duration: 0.5s;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */

@-webkit-keyframes lightSpeedOut {
    0% { -webkit-transform: translateX(0%) skewX(0deg); opacity: 1; }
	100% { -webkit-transform: translateX(100%) skewX(-30deg); opacity: 0; }
}

@-moz-keyframes lightSpeedOut {
	0% { -moz-transform: translateX(0%) skewX(0deg); opacity: 1; }
	100% { -moz-transform: translateX(100%) skewX(-30deg); opacity: 0; }
}

@-o-keyframes lightSpeedOut {
	0% { -o-transform: translateX(0%) skewX(0deg); opacity: 1; }
	100% { -o-transform: translateX(100%) skewX(-30deg); opacity: 0; }
}

@keyframes lightSpeedOut {
	0% { transform: translateX(0%) skewX(0deg); opacity: 1; }
	100% { transform: translateX(100%) skewX(-30deg); opacity: 0; }
}

.lightSpeedOut {
    -webkit-animation-name: lightSpeedOut;
    -moz-animation-name: lightSpeedOut;
    -o-animation-name: lightSpeedOut;
    animation-name: lightSpeedOut;

    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}

.animated.lightSpeedOut {
    -webkit-animation-duration: 0.25s;
    -moz-animation-duration: 0.25s;
    -o-animation-duration: 0.25s;
    animation-duration: 0.25s;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */

@-webkit-keyframes wiggle {
    0% { -webkit-transform: skewX(9deg); }
    10% { -webkit-transform: skewX(-8deg); }
    20% { -webkit-transform: skewX(7deg); }
    30% { -webkit-transform: skewX(-6deg); }
    40% { -webkit-transform: skewX(5deg); }
    50% { -webkit-transform: skewX(-4deg); }
    60% { -webkit-transform: skewX(3deg); }
    70% { -webkit-transform: skewX(-2deg); }
    80% { -webkit-transform: skewX(1deg); }
    90% { -webkit-transform: skewX(0deg); }
	100% { -webkit-transform: skewX(0deg); }
}

@-moz-keyframes wiggle {
    0% { -moz-transform: skewX(9deg); }
    10% { -moz-transform: skewX(-8deg); }
    20% { -moz-transform: skewX(7deg); }
    30% { -moz-transform: skewX(-6deg); }
    40% { -moz-transform: skewX(5deg); }
    50% { -moz-transform: skewX(-4deg); }
    60% { -moz-transform: skewX(3deg); }
    70% { -moz-transform: skewX(-2deg); }
    80% { -moz-transform: skewX(1deg); }
    90% { -moz-transform: skewX(0deg); }
	100% { -moz-transform: skewX(0deg); }
}

@-o-keyframes wiggle {
    0% { -o-transform: skewX(9deg); }
    10% { -o-transform: skewX(-8deg); }
    20% { -o-transform: skewX(7deg); }
    30% { -o-transform: skewX(-6deg); }
    40% { -o-transform: skewX(5deg); }
    50% { -o-transform: skewX(-4deg); }
    60% { -o-transform: skewX(3deg); }
    70% { -o-transform: skewX(-2deg); }
    80% { -o-transform: skewX(1deg); }
    90% { -o-transform: skewX(0deg); }
	100% { -o-transform: skewX(0deg); }
}

@keyframes wiggle {
    0% { transform: skewX(9deg); }
    10% { transform: skewX(-8deg); }
    20% { transform: skewX(7deg); }
    30% { transform: skewX(-6deg); }
    40% { transform: skewX(5deg); }
    50% { transform: skewX(-4deg); }
    60% { transform: skewX(3deg); }
    70% { transform: skewX(-2deg); }
    80% { transform: skewX(1deg); }
    90% { transform: skewX(0deg); }
	100% { transform: skewX(0deg); }
}

.wiggle {
    -webkit-animation-name: wiggle;
    -moz-animation-name: wiggle;
    -o-animation-name: wiggle;
    animation-name: wiggle;

    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}

.animated.wiggle {
    -webkit-animation-duration: 0.75s;
    -moz-animation-duration: 0.75s;
    -o-animation-duration: 0.75s;
    animation-duration: 0.75s;
}
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */.hamburger{font:inherit;display:inline-block;overflow:visible;margin:0;padding:15px;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0;background-color:transparent}.hamburger:hover{opacity:.7}.hamburger-box{position:relative;display:inline-block;width:40px;height:24px}.hamburger-inner{top:50%;display:block;margin-top:-2px}.hamburger-inner,.hamburger-inner:after,.hamburger-inner:before{position:absolute;width:40px;height:4px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform;border-radius:4px;background-color:#000}.hamburger-inner:after,.hamburger-inner:before{display:block;content:""}.hamburger-inner:before{top:-10px}.hamburger-inner:after{bottom:-10px}.hamburger--3dx .hamburger-box{perspective:80px}.hamburger--3dx .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx .hamburger-inner:after,.hamburger--3dx .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx.is-active .hamburger-inner{transform:rotateY(180deg);background-color:transparent}.hamburger--3dx.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dx.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dx-r .hamburger-box{perspective:80px}.hamburger--3dx-r .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx-r .hamburger-inner:after,.hamburger--3dx-r .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx-r.is-active .hamburger-inner{transform:rotateY(-180deg);background-color:transparent}.hamburger--3dx-r.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dx-r.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dy .hamburger-box{perspective:80px}.hamburger--3dy .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy .hamburger-inner:after,.hamburger--3dy .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy.is-active .hamburger-inner{transform:rotateX(-180deg);background-color:transparent}.hamburger--3dy.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dy.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dy-r .hamburger-box{perspective:80px}.hamburger--3dy-r .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy-r .hamburger-inner:after,.hamburger--3dy-r .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy-r.is-active .hamburger-inner{transform:rotateX(180deg);background-color:transparent}.hamburger--3dy-r.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dy-r.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--arrow.is-active .hamburger-inner:before{transform:translate3d(-8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrow.is-active .hamburger-inner:after{transform:translate3d(-8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--arrow-r.is-active .hamburger-inner:before{transform:translate3d(8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--arrow-r.is-active .hamburger-inner:after{transform:translate3d(8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowalt .hamburger-inner:before{transition:top .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt .hamburger-inner:after{transition:bottom .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt.is-active .hamburger-inner:before{top:0;transition:top .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s;transform:translate3d(-8px,-10px,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowalt.is-active .hamburger-inner:after{bottom:0;transition:bottom .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s;transform:translate3d(-8px,10px,0) rotate(45deg) scaleX(.7)}.hamburger--arrowalt-r .hamburger-inner:before{transition:top .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt-r .hamburger-inner:after{transition:bottom .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt-r.is-active .hamburger-inner:before{top:0;transition:top .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s;transform:translate3d(8px,-10px,0) rotate(45deg) scaleX(.7)}.hamburger--arrowalt-r.is-active .hamburger-inner:after{bottom:0;transition:bottom .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s;transform:translate3d(8px,10px,0) rotate(-45deg) scaleX(.7)}.hamburger--boring .hamburger-inner,.hamburger--boring .hamburger-inner:after,.hamburger--boring .hamburger-inner:before{transition-property:none}.hamburger--boring.is-active .hamburger-inner{transform:rotate(45deg)}.hamburger--boring.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--boring.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg)}.hamburger--collapse .hamburger-inner{top:auto;bottom:0;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.13s}.hamburger--collapse .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity .1s linear}.hamburger--collapse .hamburger-inner:before{transition:top .12s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse.is-active .hamburger-inner{transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--collapse.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s linear .22s;opacity:0}.hamburger--collapse.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .16s,transform .13s cubic-bezier(.215,.61,.355,1) .25s;transform:rotate(-90deg)}.hamburger--collapse-r .hamburger-inner{top:auto;bottom:0;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.13s}.hamburger--collapse-r .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity .1s linear}.hamburger--collapse-r .hamburger-inner:before{transition:top .12s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse-r.is-active .hamburger-inner{transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate3d(0,-10px,0) rotate(45deg)}.hamburger--collapse-r.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s linear .22s;opacity:0}.hamburger--collapse-r.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .16s,transform .13s cubic-bezier(.215,.61,.355,1) .25s;transform:rotate(90deg)}.hamburger--elastic .hamburger-inner{top:2px;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55);transition-duration:.275s}.hamburger--elastic .hamburger-inner:before{top:10px;transition:opacity .125s ease .275s}.hamburger--elastic .hamburger-inner:after{top:20px;transition:transform .275s cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic.is-active .hamburger-inner{transition-delay:75ms;transform:translate3d(0,10px,0) rotate(135deg)}.hamburger--elastic.is-active .hamburger-inner:before{transition-delay:0s;opacity:0}.hamburger--elastic.is-active .hamburger-inner:after{transition-delay:75ms;transform:translate3d(0,-20px,0) rotate(-270deg)}.hamburger--elastic-r .hamburger-inner{top:2px;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55);transition-duration:.275s}.hamburger--elastic-r .hamburger-inner:before{top:10px;transition:opacity .125s ease .275s}.hamburger--elastic-r .hamburger-inner:after{top:20px;transition:transform .275s cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic-r.is-active .hamburger-inner{transition-delay:75ms;transform:translate3d(0,10px,0) rotate(-135deg)}.hamburger--elastic-r.is-active .hamburger-inner:before{transition-delay:0s;opacity:0}.hamburger--elastic-r.is-active .hamburger-inner:after{transition-delay:75ms;transform:translate3d(0,-20px,0) rotate(270deg)}.hamburger--emphatic{overflow:hidden}.hamburger--emphatic .hamburger-inner{transition:background-color .125s ease-in .175s}.hamburger--emphatic .hamburger-inner:before{left:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,left .125s ease-in .175s}.hamburger--emphatic .hamburger-inner:after{top:10px;right:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,right .125s ease-in .175s}.hamburger--emphatic.is-active .hamburger-inner{transition-delay:0s;transition-timing-function:ease-out;background-color:transparent}.hamburger--emphatic.is-active .hamburger-inner:before{top:-80px;left:-80px;transition:left .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s;transform:translate3d(80px,80px,0) rotate(45deg)}.hamburger--emphatic.is-active .hamburger-inner:after{top:-80px;right:-80px;transition:right .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s;transform:translate3d(-80px,80px,0) rotate(-45deg)}.hamburger--emphatic-r{overflow:hidden}.hamburger--emphatic-r .hamburger-inner{transition:background-color .125s ease-in .175s}.hamburger--emphatic-r .hamburger-inner:before{left:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,left .125s ease-in .175s}.hamburger--emphatic-r .hamburger-inner:after{top:10px;right:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,right .125s ease-in .175s}.hamburger--emphatic-r.is-active .hamburger-inner{transition-delay:0s;transition-timing-function:ease-out;background-color:transparent}.hamburger--emphatic-r.is-active .hamburger-inner:before{top:80px;left:-80px;transition:left .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s;transform:translate3d(80px,-80px,0) rotate(-45deg)}.hamburger--emphatic-r.is-active .hamburger-inner:after{top:80px;right:-80px;transition:right .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s;transform:translate3d(-80px,-80px,0) rotate(45deg)}.hamburger--slider .hamburger-inner{top:2px}.hamburger--slider .hamburger-inner:before{top:10px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform,opacity}.hamburger--slider .hamburger-inner:after{top:20px}.hamburger--slider.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--slider.is-active .hamburger-inner:before{transform:rotate(-45deg) translate3d(-5.71429px,-6px,0);opacity:0}.hamburger--slider.is-active .hamburger-inner:after{transform:translate3d(0,-20px,0) rotate(-90deg)}.hamburger--slider-r .hamburger-inner{top:2px}.hamburger--slider-r .hamburger-inner:before{top:10px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform,opacity}.hamburger--slider-r .hamburger-inner:after{top:20px}.hamburger--slider-r.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(-45deg)}.hamburger--slider-r.is-active .hamburger-inner:before{transform:rotate(45deg) translate3d(5.71429px,-6px,0);opacity:0}.hamburger--slider-r.is-active .hamburger-inner:after{transform:translate3d(0,-20px,0) rotate(90deg)}.hamburger--spring .hamburger-inner{top:2px;transition:background-color 0s linear .13s}.hamburger--spring .hamburger-inner:before{top:10px;transition:top .1s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring .hamburger-inner:after{top:20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring.is-active .hamburger-inner{transition-delay:.22s;background-color:transparent}.hamburger--spring.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .15s,transform .13s cubic-bezier(.215,.61,.355,1) .22s;transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--spring.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),transform .13s cubic-bezier(.215,.61,.355,1) .22s;transform:translate3d(0,10px,0) rotate(-45deg)}.hamburger--spring-r .hamburger-inner{top:auto;bottom:0;transition-delay:0s;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.13s}.hamburger--spring-r .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity 0s linear}.hamburger--spring-r .hamburger-inner:before{transition:top .1s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring-r.is-active .hamburger-inner{transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--spring-r.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity 0s linear .22s;opacity:0}.hamburger--spring-r.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .15s,transform .13s cubic-bezier(.215,.61,.355,1) .22s;transform:rotate(90deg)}.hamburger--stand .hamburger-inner{transition:transform 75ms cubic-bezier(.55,.055,.675,.19) .15s,background-color 0s linear 75ms}.hamburger--stand .hamburger-inner:before{transition:top 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand .hamburger-inner:after{transition:bottom 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand.is-active .hamburger-inner{transition:transform 75ms cubic-bezier(.215,.61,.355,1) 0s,background-color 0s linear .15s;transform:rotate(90deg);background-color:transparent}.hamburger--stand.is-active .hamburger-inner:before{top:0;transition:top 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s;transform:rotate(-45deg)}.hamburger--stand.is-active .hamburger-inner:after{bottom:0;transition:bottom 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s;transform:rotate(45deg)}.hamburger--stand-r .hamburger-inner{transition:transform 75ms cubic-bezier(.55,.055,.675,.19) .15s,background-color 0s linear 75ms}.hamburger--stand-r .hamburger-inner:before{transition:top 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand-r .hamburger-inner:after{transition:bottom 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand-r.is-active .hamburger-inner{transition:transform 75ms cubic-bezier(.215,.61,.355,1) 0s,background-color 0s linear .15s;transform:rotate(-90deg);background-color:transparent}.hamburger--stand-r.is-active .hamburger-inner:before{top:0;transition:top 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s;transform:rotate(-45deg)}.hamburger--stand-r.is-active .hamburger-inner:after{bottom:0;transition:bottom 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s;transform:rotate(45deg)}.hamburger--spin .hamburger-inner{transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.22s}.hamburger--spin .hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in}.hamburger--spin .hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.675,.19)}body.open .hamburger--spin .hamburger-inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(225deg)}body.open .hamburger--spin .hamburger-inner:before{top:0;transition:top .1s ease-out,opacity .1s ease-out .12s;opacity:0}body.open .hamburger--spin .hamburger-inner:after{bottom:0;transition:bottom .1s ease-out,transform .22s cubic-bezier(.215,.61,.355,1) .12s;transform:rotate(-90deg)}.hamburger--spin-r .hamburger-inner{transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.22s}.hamburger--spin-r .hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in}.hamburger--spin-r .hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.675,.19)}.hamburger--spin-r.is-active .hamburger-inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(-225deg)}.hamburger--spin-r.is-active .hamburger-inner:before{top:0;transition:top .1s ease-out,opacity .1s ease-out .12s;opacity:0}.hamburger--spin-r.is-active .hamburger-inner:after{bottom:0;transition:bottom .1s ease-out,transform .22s cubic-bezier(.215,.61,.355,1) .12s;transform:rotate(90deg)}.hamburger--squeeze .hamburger-inner{transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:75ms}.hamburger--squeeze .hamburger-inner:before{transition:top 75ms ease .12s,opacity 75ms ease}.hamburger--squeeze .hamburger-inner:after{transition:bottom 75ms ease .12s,transform 75ms cubic-bezier(.55,.055,.675,.19)}.hamburger--squeeze.is-active .hamburger-inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(45deg)}.hamburger--squeeze.is-active .hamburger-inner:before{top:0;transition:top 75ms ease,opacity 75ms ease .12s;opacity:0}.hamburger--squeeze.is-active .hamburger-inner:after{bottom:0;transition:bottom 75ms ease,transform 75ms cubic-bezier(.215,.61,.355,1) .12s;transform:rotate(-90deg)}.hamburger--vortex .hamburger-inner{transition-timing-function:cubic-bezier(.19,1,.22,1);transition-duration:.2s}.hamburger--vortex .hamburger-inner:after,.hamburger--vortex .hamburger-inner:before{transition-delay:.1s;transition-timing-function:linear;transition-duration:0s}.hamburger--vortex .hamburger-inner:before{transition-property:top,opacity}.hamburger--vortex .hamburger-inner:after{transition-property:bottom,transform}.hamburger--vortex.is-active .hamburger-inner{transition-timing-function:cubic-bezier(.19,1,.22,1);transform:rotate(765deg)}.hamburger--vortex.is-active .hamburger-inner:after,.hamburger--vortex.is-active .hamburger-inner:before{transition-delay:0s}.hamburger--vortex.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--vortex.is-active .hamburger-inner:after{bottom:0;transform:rotate(90deg)}.hamburger--vortex-r .hamburger-inner{transition-timing-function:cubic-bezier(.19,1,.22,1);transition-duration:.2s}.hamburger--vortex-r .hamburger-inner:after,.hamburger--vortex-r .hamburger-inner:before{transition-delay:.1s;transition-timing-function:linear;transition-duration:0s}.hamburger--vortex-r .hamburger-inner:before{transition-property:top,opacity}.hamburger--vortex-r .hamburger-inner:after{transition-property:bottom,transform}.hamburger--vortex-r.is-active .hamburger-inner{transition-timing-function:cubic-bezier(.19,1,.22,1);transform:rotate(-765deg)}.hamburger--vortex-r.is-active .hamburger-inner:after,.hamburger--vortex-r.is-active .hamburger-inner:before{transition-delay:0s}.hamburger--vortex-r.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--vortex-r.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg)}
@charset "UTF-8";

@keyframes txt-right-in-fade {
  0% {
    opacity: 0;
    text-indent: 20%;
  }

  100% {
    opacity: 1;
    text-indent: 0;
  }
}

@keyframes slider-zoomin {
  0% {
    opacity: 0;
    transform: scale(1);
  }

  12.5% {
    opacity: 1;
  }

  20% {
    opacity: 1;
  }

  27.5% {
    opacity: 0;
  }

  100% {
    opacity: 0;
    transform: scale(1.5);
  }
}

@keyframes slider-zoomout {
  0% {
    opacity: 0;
    transform: scale(1.5);
  }

  12.5% {
    opacity: 1;
  }

  20% {
    opacity: 1;
  }

  27.5% {
    opacity: 0;
  }

  100% {
    opacity: 0;
    transform: scale(1);
  }
}

@keyframes top-bg-zoomin {
  0% {
    background: transparent;
  }

  50% {
    background: transparent;
  }
}

html {
  height: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -ms-overflow-style: auto;
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  html {
    font-size: 24px;
  }
}

body {
  background-color: #FFF;
  font-family: "Yu Mincho", "YuMincho", "\6E38\660E\671D", "\6E38\660E\671D\4F53", serif;
  color: #333;
  overflow: hidden;
  background-image: url("/img/photo/white_bg.jpg");
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

@-o-viewport {
  width: device-width;
  initial-scale: 1;
}

@viewport {
  width: device-width;
  initial-scale: 1;
}

.text_link a,
.zn-paginator ul a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.text_link a::after,
.zn-paginator ul a::after {
  position: absolute;
  bottom: -2px;
  left: -10%;
  content: "";
  width: 100%;
  height: 1px;
  background: #FFF;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.2s;
}

.text_link a:hover::after,
.zn-paginator ul a:hover::after {
  transform-origin: left top;
  transform: scale(1.2, 1);
}

.negative_bg,
.cont .topics-list article:nth-child(even),
.cont .awards ul li:nth-child(even) {
  background-image: url("/img/photo/black_bg.jpg");
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

.negative_bg h1 span,
.cont .topics-list article:nth-child(even) h1 span,
.cont .awards ul li:nth-child(even) h1 span {
  color: #FFF;
}

.negative_bg h2,
.cont .topics-list article:nth-child(even) h2,
.cont .awards ul li:nth-child(even) h2,
.negative_bg p,
.cont .topics-list article:nth-child(even) p,
.cont .awards ul li:nth-child(even) p,
.negative_bg th,
.cont .topics-list article:nth-child(even) th,
.cont .awards ul li:nth-child(even) th,
.negative_bg td,
.cont .topics-list article:nth-child(even) td,
.cont .awards ul li:nth-child(even) td,
.negative_bg time,
.cont .topics-list article:nth-child(even) time,
.cont .awards ul li:nth-child(even) time {
  color: #FFF;
}

.negative_bg figcaption,
.cont .topics-list article:nth-child(even) figcaption,
.cont .awards ul li:nth-child(even) figcaption {
  color: #CCC;
}

.negative_bg .btn_list_more,
.cont .topics-list article:nth-child(even) .btn_list_more,
.cont .awards ul li:nth-child(even) .btn_list_more {
  border: 1px solid #FFF;
  color: #FFF;
}

.negative_bg .btn_list_more:before,
.cont .topics-list article:nth-child(even) .btn_list_more:before,
.cont .awards ul li:nth-child(even) .btn_list_more:before {
  background-color: #FFF;
}

.negative_bg .btn_list_more:hover,
.cont .topics-list article:nth-child(even) .btn_list_more:hover,
.cont .awards ul li:nth-child(even) .btn_list_more:hover {
  color: #080706;
}

.title h1 {
  width: 100%;
}

.title h1 span {
  animation-iteration-count: 1;
  animation-delay: 0s;
  animation-duration: 2s;
  animation-name: txt-right-in-fade;
}

.title h1 em {
  animation-iteration-count: 1;
  animation-delay: 0s;
  animation-duration: 3s;
  animation-name: txt-right-in-fade;
}

.main_nav {
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 10;
  display: flex;
  background-color: rgba(8, 7, 6, 0.9);
}

.main_nav .menu_modal {
  display: none;
}

@media screen and (min-width: 960px) {
  .main_nav .menu_modal {
    padding: 30px 15px 25px 55px;
  }

  .main_nav .menu_modal h1 {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 960px) {
  .main_nav .menu_modal {
    width: calc(100vw - 50px);
    padding: 10px 35px 20px 35px;
    text-align: center;
  }

  .main_nav .menu_modal h1 {
    padding-bottom: 20px;
  }

  .main_nav .menu_modal ul {
    display: flex;
    flex-wrap: wrap;
  }

  .main_nav .menu_modal ul li {
    width: 50%;
  }

  .main_nav .menu_modal .pickup_btn li {
    width: 100%;
  }
}

.main_nav .menu_modal h1 {
  border-bottom: 1px solid #FFF;
  margin-bottom: 28px;
}

.main_nav .menu_modal li {
  margin-bottom: 25px;
  text-align: center;
}

.main_nav .menu_modal li a {
  color: #FFF;
}

.main_nav .menu_modal .pickup_btn li {
  margin-bottom: 23px;
}

.main_nav .menu_modal .pickup_btn li a {
  display: block;
  width: 100%;
  border: 1px solid #FFF;
  padding: 10px 0 7px 0;
}

.main_nav .menu_modal .pickup_btn li a:hover {
  background-color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
  color: #333;
}

.main_nav .menu_modal p {
  padding-top: 5px;
  text-align: center;
  font-size: 1.125rem;
  color: #FFF;
}

.main_nav .menu_modal p a {
  color: #FFF;
}

.main_nav .compact_nav {
  text-align: center;
}

@media screen and (min-width: 960px) {
  .main_nav .compact_nav {
    padding: 20px 17px 0px 17px;
  }
}

@media screen and (max-width: 960px) {
  .main_nav .compact_nav {
    width: 50px;
  }

  .main_nav .compact_nav img {
    display: none;
  }
}

.main_nav .compact_nav img {
  margin-bottom: 11px;
}

/* ハンバーガーメニュー：カスタマイズ */

.menu_box .hamburger-box {
  width: 26px;
  height: 20px;
}

.menu_box .hamburger-box .hamburger-inner,
.menu_box .hamburger-box .hamburger-inner:after,
.menu_box .hamburger-box .hamburger-inner:before {
  width: 26px;
  height: 2px;
  border-radius: 0;
  background-color: #D1B280;
}

.menu_box span {
  display: block;
  font-size: 0.563rem;
  color: #D1B280;
}

@media screen and (max-width: 960px) {
  .menu_box .hamburger {
    padding: 15px 5px 5px 5px;
  }

  .menu_box span {
    display: none;
  }
}

.visual_slider {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.visual_slider .visual_image {
  height: 100vh;
  margin: 0;
  padding: 0;
  list-style: none;
}

.visual_slider .visual_image li {
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: 0;
  left: 0;
  animation-iteration-count: infinite;
  animation-duration: 40s;
}

.visual_slider .visual_image li:nth-of-type(1) {
  background-image: url("/img/photo/slide_01.jpg");
  animation-name: slider-zoomin;
  animation-delay: -3s;
}

.visual_slider .visual_image li:nth-of-type(2) {
  background-image: url("/img/photo/slide_04.jpg");
  animation-name: slider-zoomin;
  opacity: 0;
  animation-delay: 5s;
}

.visual_slider .visual_image li:nth-of-type(3) {
  background-image: url("/img/photo/slide_03.jpg");
  animation-name: slider-zoomin;
  opacity: 0;
  animation-delay: 13s;
}

.visual_slider .visual_image li:nth-of-type(4) {
  background-image: url("/img/photo/slide_05.jpg");
  animation-name: slider-zoomin;
  opacity: 0;
  animation-delay: 21s;
}

.visual_slider .visual_image li:nth-of-type(5) {
  background-image: url("/img/photo/slide_02.jpg");
  animation-name: slider-zoomin;
  opacity: 0;
  animation-delay: 29s;
}

@media screen and (min-width: 960px) {
  .visual_slider {
    height: 100vh;
    min-height: 500px;
    min-width: 1000px;
  }

  .visual_slider .visual_image li {
    width: 100%;
    height: 100vh;
    min-height: 500px;
    min-width: 1000px;
  }
}

@media screen and (max-width: 960px) {
  .visual_slider {
    height: 100vh;
  }

  .visual_slider .visual_image li {
    width: 100%;
    height: 100vh;
    background-position: center center;
  }
}

.visual_catch_copy {
  width: 85vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
  line-height: 1.4;
  font-weight: 900;
  font-size: 2rem;
  color: #FFF;
}

.visual_catch_copy ul {
  list-style: none;
}

.visual_catch_copy span {
  text-shadow: 0px 0px 2px black, 0px 0px 4px rgba(0, 0, 0, 0.75), 0px 0px 10px rgba(0, 0, 0, 0.5), 0px 0px 20px rgba(0, 0, 0, 0.3);
}

.anniversary {
  position: absolute;
}

@media screen and (min-width: 960px) {
  .anniversary {
    left: 0px;
    top: 0px;
  }
}

@media screen and (max-width: 960px) {
  .anniversary {
    left: -10px;
    top: -10px;
    transform: scale(0.8, 0.8);
  }
}

.title {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.title.company {
  background-image: url("/img/photo/title_company.jpg");
}

.title.construction {
  background-image: url("/img/photo/title_construction.jpg");
}

.title.transport {
  background-image: url("/img/photo/title_transport.jpg");
}

.title.security {
  background-image: url("/img/photo/title_security.jpg");
}

.title.case {
  background-image: url("/img/photo/title_case.jpg");
}

.title.act {
  background-image: url("/img/photo/title_act.jpg");
}

.title.info {
  background-image: url("/img/photo/title_info.jpg");
}

.title.recruit {
  background-image: url("/img/photo/title_recruit.jpg");
}

.title.contact {
  background-image: url("/img/photo/title_contact.jpg");
}

.title.download {
  background-image: url("/img/photo/title_download.jpg");
}

.title h1 {
  text-align: center;
}

.title h1 span {
  display: block;
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
  font-weight: 100;
  color: #FFF;
}

.title h1 span:after {
  display: block;
  content: "";
  width: 80px;
  margin: 0 auto 15px auto;
  border-bottom: 1px solid #FFF;
}

.title h1 em {
  font-style: normal;
  font-size: 1.125rem;
  color: #D1B280;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}

@media screen and (min-width: 960px) {
  .title {
    height: 400px;
  }

  .title h1 span {
    font-size: 3.75rem;
  }

  .title h1 span:after {
    padding-top: 35px;
  }
}

@media screen and (max-width: 960px) {
  .title {
    height: 50vh;
  }

  .title h1 span {
    font-size: 1.625rem;
  }

  .title h1 span:after {
    padding-top: 20px;
  }
}

.breadcrumbs {
  margin-top: -16px;
}

.breadcrumbs p {
  display: inline-block;
  height: 32px;
  line-height: 32px;
  padding: 0 20px;
  background-color: #080706;
  font-size: 0.75rem;
  color: #FFF;
}

.breadcrumbs p a {
  font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
  font-size: 0.75rem;
  color: #FFF;
}

.zn-breadcrumb {
  margin-top: -16px;
}

.zn-breadcrumb ul {
  display: inline-block;
  line-height: 32px;
  padding: 0 20px;
  background-color: #080706;
  color: #FFF;
}

.zn-breadcrumb ul li {
  display: inline-block;
  line-height: 1.2;
}

.zn-breadcrumb ul li::after {
  content: " \FF0F   ";
  font-size: 0.75rem;
}

.zn-breadcrumb ul li:last-child::after {
  display: none;
}

.zn-breadcrumb ul li a,
.zn-breadcrumb ul li span {
  font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
  font-size: 0.75rem;
  color: #FFF;
}

.cont section {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.cont section h1,
.cont section h2 {
  position: relative;
  display: inline-block;
}

.cont section h1 span,
.cont section h2 span {
  display: inline-block;
  text-align: center;
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
  font-weight: 100;
}

.cont section h1 em,
.cont section h2 em {
  font-style: normal;
  font-size: 1.125rem;
  color: #D1B280;
}

.cont section p {
  line-height: 1.8;
}

@media screen and (min-width: 960px) {
  .cont section {
    width: 90%;
    padding: 110px 0 100px 0;
  }

  .cont section h1,
  .cont section h2 {
    margin-bottom: 60px;
  }

  .cont section h1 span,
  .cont section h2 span {
    font-size: 2.5rem;
  }

  .cont section h1 em,
  .cont section h2 em {
    position: absolute;
    top: 0;
    right: 0;
  }

  .cont section img {
    width: 40vw;
    max-width: 447px;
  }
}

@media screen and (max-width: 960px) {
  .cont section {
    padding: 80px 0 20px 0;
  }

  .cont section h1,
  .cont section h2 {
    margin-bottom: 24px;
  }

  .cont section h1 span,
  .cont section h2 span {
    font-size: 1.625rem;
  }

  .cont section h1 em,
  .cont section h2 em {
    display: block;
    padding-top: 8px;
    font-size: 0.875rem;
  }

  .cont section p {
    padding: 0 15px;
    text-align: left;
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont section {
    width: 90%;
  }
}

.cont .strength:before {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .strength:before {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .strength:before {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .strength:before {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .strength:before {
    top: 100px;
    left: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .strength:before {
    top: 13vw;
    left: 0;
  }
}

.cont .strength:after {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .strength:after {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .strength:after {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .strength:after {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .strength:after {
    bottom: 100px;
    right: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .strength:after {
    bottom: 13vw;
    right: 0;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .strength:after {
    bottom: 7vw;
    right: 0;
  }
}

.cont .strength .pickup_cont {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
}

.cont .strength .pickup_cont li {
  position: relative;
}

.cont .strength .pickup_cont li p {
  position: absolute;
  bottom: 0px;
  right: 0px;
  padding: 15px;
  background-color: rgba(0, 0, 0, 0.9);
  font-size: 1.25rem;
  color: #FFF;
}

.cont .strength .pickup_cont li p span {
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
  font-weight: 100;
}

.cont .strength .pickup_cont li p em {
  padding-left: 10px;
  font-style: normal;
  font-size: 1rem;
  color: #D1B280;
}

.cont .strength .pickup_cont li figure {
  overflow: hidden;
  display: flex;
  justify-content: center;
}

.cont .strength .pickup_cont li figure img {
  width: auto;
  max-width: none;
  transition: all 0.3s ease-in-out;
}

.cont .strength .pickup_cont li figure img:hover {
  transform: scale(1.1);
  transition: all 0.3s ease-in-out;
  opacity: 0.8;
}

@media screen and (min-width: 960px) {
  .cont .strength {
    padding-bottom: 170px;
  }

  .cont .strength p {
    margin: 0 auto;
  }

  .cont .strength .pickup_cont {
    padding-top: 130px;
  }

  .cont .strength .pickup_cont li {
    width: 30%;
    background-color: #080706;
  }

  .cont .strength .pickup_cont li p {
    width: 100%;
  }
}

@media screen and (max-width: 960px) {
  .cont .strength {
    padding-bottom: 80px;
  }

  .cont .strength .pickup_cont li {
    width: 100%;
    padding: 20px 15px 0 15px;
  }

  .cont .strength .pickup_cont li p {
    right: 15px;
  }

  .cont .strength .pickup_cont li img {
    width: 100%;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .strength .pickup_cont {
    text-align: center;
    padding: 0 10%;
  }

  .cont .strength .pickup_cont li {
    width: 100%;
    height: 30vh;
    overflow: hidden;
    margin: 0 auto;
  }

  .cont .strength .pickup_cont li figure {
    width: 100%;
  }
}

#top .building {
  background: #000415 url(/img/photo/building_bg.jpg) no-repeat top center;
  background-size: 100% auto;
}

@media screen and (max-width: 960px) {
  #top .building {
    background-size: 120% auto;
  }
}

#top .building .strength {
  padding-bottom: 100px;
  padding-top: 80px;
}

@media screen and (max-width: 960px) {
  #top .building .strength {
    padding-top: 280px;
  }
}

#top .building p {
  text-shadow: 0px 0px 22px rgba(0, 0, 0, 0.9);
}

#top .building .pickup_cont.movie {
  padding-top: 410px;
}

@media screen and (max-width: 960px) {
  #top .building .pickup_cont.movie {
    padding-top: 30px;
  }
}

#top .building .pickup_cont.photo:nth-of-type(1) {
  padding-top: 30px;
}

#top .building .pickup_cont.photo:nth-of-type(2) {
  padding-top: 30px;
}

#top .bnr_content a {
  display: inline-block;
}

@media screen and (min-width: 960px) {
  #top .bnr_content a:not(:last-of-type) {
    margin-right: 12px;
  }
}

@media screen and (max-width: 960px) {
  #top .bnr_content a:not(:last-of-type) {
    margin-bottom: 12px;
  }
}

#top .bnr_content a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  #top .bnr_content img {
    width: 90%;
  }
}

.cont .construction:before {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .construction:before {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .construction:before {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .construction:before {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .construction:before {
    top: 100px;
    left: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .construction:before {
    top: 13vw;
    left: 0;
  }
}

.cont .construction .case {
  padding: 0;
}

.cont .construction .case .case-list a h2.delighter {
  transition: all 0.3s ease-out;
  transform: translateX(100%);
  opacity: 0;
}

.cont .construction .case .case-list a h2.delighter.started {
  transform: none;
  opacity: 1;
}

@media screen and (min-width: 960px) {
  .cont .construction {
    max-width: 90%;
  }

  .cont .construction .case {
    width: 100%;
  }

  .cont .construction .case .case-list a {
    width: calc(30% - 30px);
  }
}

@media screen and (max-width: 960px) {
  .cont .construction .case .case-list {
    margin-bottom: 0;
  }

  .cont .construction .case .case-list a {
    display: block;
  }

  .cont .construction .case .case-list a img {
    width: 100%;
  }
}

.cont .news {
  padding: 110px 0 0 0;
  border-top: 1px solid #CCC;
  list-style: none;
}

.cont .news:after {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .news:after {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .news:after {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .news:after {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .news:after {
    bottom: 100px;
    right: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .news:after {
    bottom: 13vw;
    right: 0;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .news:after {
    bottom: 7vw;
    right: 0;
  }
}

.cont .news .new_list {
  margin-bottom: 40px;
}

.cont .news article {
  position: relative;
  display: block;
  padding: 24px 20px 20px 20px;
  width: 100%;
  border-bottom: 1px solid #CCC;
  text-align: left;
  font-size: 1rem;
  color: #333;
  transition: all 0.3s ease-in-out;
}

.cont .news article:first-child {
  border-top: 1px solid #CCC;
}

.cont .news article:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.cont .news article em {
  padding-left: 40px;
  font-style: normal;
}

.cont .news article .text_cont {
  display: flex;
  align-items: center;
}

.cont .news article .text_cont h2 {
  order: 3;
  margin-bottom: 0;
}

.cont .news article .text_cont h2 span {
  font-weight: 400;
  font-size: 1rem;
}

.cont .news article .text_cont .zn-updated_at {
  display: none;
}

.cont .news article .text_cont .zn-published_at {
  order: 1;
}

.cont .news article .text_cont .zn-node {
  order: 2;
}

.cont .news article .text_cont .btn_list_more {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: none;
}

.cont .news article .text_cont .btn_list_more:before {
  display: none;
}

.cont .news article .text_cont .btn_list_more span {
  opacity: 0;
}

@media screen and (min-width: 960px) {
  .cont .news {
    margin: 0 auto 120px auto;
  }

  .cont .news article .text_cont .zn-node {
    padding: 0 40px;
  }

  .cont .news article .text_cont .zn-node:before {
    content: "/\3000";
  }

  .cont .news article .text_cont .zn-node:after {
    content: "\3000/";
  }
}

@media screen and (max-width: 960px) {
  .cont .news {
    padding: 50px 0 80px 0;
  }

  .cont .news article .text_cont {
    flex-wrap: wrap;
  }

  .cont .news article .text_cont h2 {
    padding-top: 8px;
    flex-basis: 100%;
  }

  .cont .news article .text_cont h2 span {
    text-align: left;
  }

  .cont .news article .text_cont .zn-node {
    flex-basis: 50%;
    padding-right: 0;
    text-align: right;
  }

  .cont .news article .text_cont .zn-updated_at {
    flex-basis: 50%;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .news {
    padding: 50px 0 100px 0;
  }
}

.cont .activity {
  max-width: none;
}

.cont .activity:before {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .activity:before {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .activity:before {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .activity:before {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .activity:before {
    top: 100px;
    left: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .activity:before {
    top: 13vw;
    left: 0;
  }
}

.cont .zn-contents {
  padding: 0;
}

.btn,
.btn_action_page,
.btn_list_back,
.btn_list_more {
  display: inline-block;
  margin: 20px 0;
  position: relative;
  color: #ecf0f1;
}

@media screen and (min-width: 960px) {
  .btn,
  .btn_action_page,
  .btn_list_back,
  .btn_list_more {
    width: 40%;
    max-width: 500px;
    padding: 40px 0 37px 0;
  }
}

@media screen and (max-width: 960px) {
  .btn,
  .btn_action_page,
  .btn_list_back,
  .btn_list_more {
    width: 80%;
    padding: 35px 0 33px 0;
    font-size: 0.875rem;
  }
}

.btn span,
.btn_action_page span,
.btn_list_back span,
.btn_list_more span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.btn_list_more {
  border: 1px solid #999;
  color: #666;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}

.btn_list_more::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-color: #080706;
  transition: all 0.2s ease-in-out;
}

.btn_list_more:hover {
  color: #FFF;
}

.btn_list_more:hover::before {
  left: 0;
}

.btn_list_back {
  border: 1px solid #999;
  color: #666;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}

.btn_list_back:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: -100%;
  background-color: #080706;
  transition: all 0.2s ease-in-out;
}

.btn_list_back:hover {
  color: #FFF;
}

.btn_list_back:hover:before {
  right: 0;
}

.btn_action_page {
  width: 100%;
  border: 1px solid #FFF;
  color: #FFF;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}

.btn_action_page:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-color: #FFF;
  transition: all 0.2s ease-in-out;
}

.btn_action_page:hover {
  color: #080706;
}

.btn_action_page:hover:before {
  left: 0;
}

.footer {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background-image: url("/img/photo/footer_bg.jpg");
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

@media screen and (min-width: 960px) {
  .footer {
    height: 787px;
  }

  .footer section {
    max-width: 100%;
    padding: 85px 0 0 0;
  }

  .footer section .copyright {
    position: absolute;
    bottom: 10px;
    right: 20px;
  }

  .footer section .copyright a {
    display: block;
    text-align: right;
    font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
    font-size: 0.688rem;
    color: #FFF;
  }
}

@media screen and (max-width: 960px) {
  .footer p {
    text-align: center;
  }

  .footer p:last-child {
    padding-top: 30px;
  }

  .footer section {
    padding: 50px 0 5px 0;
  }
}

.footer section {
  height: 100%;
  background: linear-gradient(to bottom, rgba(8, 7, 6, 0.9), rgba(8, 7, 6, 0.3));
  text-align: center;
}

.footer section h1 {
  margin-bottom: 10px;
}

@media screen and (min-width: 960px) {
  .footer section .pickup_menu {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    list-style: none;
    max-width: 568px;
    margin: 0 auto;
    padding: 90px 0;
  }

  .footer section .pickup_menu li {
    position: relative;
  }

  .footer section .pickup_menu li p {
    position: absolute;
    bottom: 0px;
    right: 0px;
    padding: 15px;
    background-color: rgba(0, 0, 0, 0.9);
    font-size: 1.25rem;
    color: #FFF;
  }

  .footer section .pickup_menu li p span {
    font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
    font-weight: 100;
  }

  .footer section .pickup_menu li p em {
    padding-left: 10px;
    font-style: normal;
    font-size: 1rem;
    color: #D1B280;
  }

  .footer section .pickup_menu li {
    width: 254px;
  }

  .footer section .menu_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    list-style: none;
    max-width: 800px;
    margin: 0 auto;
  }

  .footer section .menu_list li {
    position: relative;
  }

  .footer section .menu_list li p {
    position: absolute;
    bottom: 0px;
    right: 0px;
    padding: 15px;
    background-color: rgba(0, 0, 0, 0.9);
    font-size: 1.25rem;
    color: #FFF;
  }

  .footer section .menu_list li p span {
    font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
    font-weight: 100;
  }

  .footer section .menu_list li p em {
    padding-left: 10px;
    font-style: normal;
    font-size: 1rem;
    color: #D1B280;
  }

  .footer section .menu_list a {
    color: #FFF;
  }
}

@media screen and (max-width: 960px) {
  .footer section .pickup_menu,
  .footer section .menu_list {
    display: none;
  }
}

.footer section .copyright {
  text-align: right;
}

@media screen and (max-width: 960px) {
  .footer section .copyright {
    text-align: center;
  }
}

.footer section .copyright a {
  display: inline-block;
  font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
  font-size: 0.688rem;
  color: #FFF;
}

.footer section .copyright small {
  display: block;
  font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
  font-size: 0.688rem;
  color: #FFF;
}

.cont .philosophy:before {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .philosophy:before {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .philosophy:before {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .philosophy:before {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .philosophy:before {
    top: 100px;
    left: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .philosophy:before {
    top: 13vw;
    left: 0;
  }
}

@media screen and (max-width: 960px) {
  .cont .philosophy {
    padding-bottom: 80px;
  }
}

.cont .vision:after {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .vision:after {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .vision:after {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .vision:after {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .vision:after {
    bottom: 100px;
    right: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .vision:after {
    bottom: 13vw;
    right: 0;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .vision:after {
    bottom: 7vw;
    right: 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .vision p {
    margin: 0 auto;
    max-width: 900px;
  }
}

@media screen and (max-width: 960px) {
  .cont .vision {
    padding-bottom: 80px;
  }
}

.cont .guideline p {
  text-align: left;
}

.cont .guideline:before {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .guideline:before {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .guideline:before {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .guideline:before {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .guideline:before {
    top: 100px;
    left: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .guideline:before {
    top: 13vw;
    left: 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .guideline {
    text-align: left;
  }

  .cont .guideline figure img {
    position: absolute;
    top: 30px;
    right: 0;
    width: 25%;
  }
}

@media screen and (max-width: 960px) {
  .cont .guideline h1 {
    margin: 0 atuo;
    text-align: center;
  }

  .cont .guideline img {
    width: 90%;
    margin: 15px auto 0 auto;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .guideline img {
    width: 50%;
  }
}

.cont .president p {
  text-align: left;
}

.cont .president .txt_right {
  padding-top: 30px;
  text-align: right;
  font-size: 0.875rem;
}

.cont .president .txt_right em {
  font-style: normal;
  font-size: 1.25rem;
}

.cont .president .company_name {
  font-size: 1.35rem;
}

.cont .president .president_name {
  padding-top: 0;
}

.cont .president:after {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .president:after {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .president:after {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .president:after {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .president:after {
    bottom: 100px;
    right: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .president:after {
    bottom: 13vw;
    right: 0;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .president:after {
    bottom: 7vw;
    right: 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .president {
    text-align: left;
  }

  .cont .president h1 {
    margin-top: 80px;
  }

  .cont .president img {
    position: absolute;
    top: 50px;
    left: 0;
  }
}

@media screen and (max-width: 960px) {
  .cont .president img {
    width: 90%;
    margin: 15px auto 0 auto;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .president img {
    width: 50%;
  }
}

.cont .overview p {
  text-align: left;
}

.cont .overview:before {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .overview:before {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .overview:before {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .overview:before {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .overview:before {
    top: 100px;
    left: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .overview:before {
    top: 13vw;
    left: 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .overview {
    text-align: left;
  }

  .cont .overview img {
    position: absolute;
  }

  .cont .overview img:nth-of-type(1) {
    top: 240px;
    right: 0;
  }

  .cont .overview img:nth-of-type(2) {
    bottom: 110px;
    right: 0;
  }
}

@media screen and (max-width: 960px) {
  .cont .overview h1 {
    margin-bottom: 4px;
  }

  .cont .overview img {
    width: 90%;
    margin-top: 10px;
  }
}

@media screen and (min-width: 960px) {
  .cont .negative_bg .flex,
  .cont .topics-list article:nth-child(even) .flex,
  .cont .awards ul li:nth-child(even) .flex {
    display: flex;
    flex-direction: row-reverse;
  }

  .cont .negative_bg .flex .txt_cont,
  .cont .topics-list article:nth-child(even) .flex .txt_cont,
  .cont .awards ul li:nth-child(even) .flex .txt_cont {
    width: 56%;
  }

  .cont .negative_bg .flex figure,
  .cont .topics-list article:nth-child(even) .flex figure,
  .cont .awards ul li:nth-child(even) .flex figure {
    width: 39vw;
    max-width: 447px;
  }

  .cont .negative_bg .flex img,
  .cont .topics-list article:nth-child(even) .flex img,
  .cont .awards ul li:nth-child(even) .flex img {
    width: 35vw;
    max-width: 447px;
  }
}

@media screen and (min-width: 960px) {
  .cont .flex {
    display: flex;
  }

  .cont .flex .one_column {
    width: 100%;
    margin: 0 auto;
  }

  .cont .flex .txt_cont {
    width: 56%;
    margin: 0;
  }

  .cont .flex figure {
    width: 39vw;
    max-width: 447px;
  }

  .cont .flex img {
    width: 35vw;
    max-width: 447px;
  }
}

.cont .history p {
  text-align: left;
}

.cont .history:after {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .history:after {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .history:after {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .history:after {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .history:after {
    bottom: 100px;
    right: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .history:after {
    bottom: 13vw;
    right: 0;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .history:after {
    bottom: 7vw;
    right: 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .history {
    text-align: left;
  }

  .cont .history img {
    position: absolute;
  }

  .cont .history img:nth-of-type(1) {
    top: 70px;
    left: 0;
  }

  .cont .history img:nth-of-type(2) {
    top: 410px;
    left: 0;
  }

  .cont .history img:nth-of-type(3) {
    top: 690px;
    left: 0;
  }

  .cont .history img:nth-of-type(4) {
    bottom: 90px;
    left: 0;
  }
}

@media screen and (max-width: 960px) {
  .cont .history h1 {
    margin: 0 auto;
    text-align: center;
  }

  .cont .history img {
    width: 90%;
    margin-top: 10px;
  }

  .cont .history table th,
  .cont .history table td {
    padding-left: 15px;
    padding-right: 15px;
    text-align: left;
  }
}

.cont .client:before {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .client:before {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .client:before {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .client:before {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .client:before {
    top: 100px;
    left: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .client:before {
    top: 13vw;
    left: 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .client {
    text-align: left;
  }

  .cont .client img {
    position: absolute;
    top: 110px;
    right: 0;
  }
}

@media screen and (max-width: 960px) {
  .cont .client h1 {
    margin: 0 auto;
    text-align: center;
  }

  .cont .client img {
    width: 90%;
    margin-top: 10px;
  }
}

.cont .access {
  max-width: 100%;
  width: 100%;
  padding: 0;
}

@media screen and (min-width: 960px) {
  .cont .access h1 {
    margin-top: 60px;
  }
}

.cont .access div {
  width: 100%;
}

.sub_nav {
  position: fixed;
  top: 200px;
  right: 0;
  z-index: 9;
}

.sub_nav h3 {
  display: none;
}

.sub_nav li {
  margin-bottom: 1px;
  text-align: right;
}

.sub_nav li a {
  display: inline-block;
  padding: 8px 10px 6px 10px;
  background-color: rgba(8, 7, 6, 0.9);
  text-align: right;
  font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
  font-size: 0.75rem;
  color: #FFF;
  transition: all 0.3s ease-out;
}

.sub_nav li a:hover {
  padding-right: 40px;
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  .sub_nav {
    top: 50px;
  }
}

@media screen and (min-width: 960px) {
  .cont .page_overview {
    padding: 110px 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .permit {
    padding: 60px 0 20px 0;
  }

  .cont .permit h1 {
    margin-bottom: 20px;
  }
}

.cont .permit img {
  max-width: 100%;
}

.cont .awards {
  max-width: 100%;
  width: 100%;
  padding: 0;
  text-align: left;
}

.cont .awards > h1 {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 100px;
  margin-bottom: 0;
}

.cont .awards > h1 span {
  font-size: 3.5rem;
}

.cont .awards ul {
  list-style-type: none;
}

.cont .awards ul li .text_cont {
  display: flex;
  flex-direction: column;
}

.cont .awards ul li .text_cont h1 span {
  line-height: 1.4;
}

.cont .awards ul li .text_cont h2 {
  margin-bottom: 1.8rem;
}

.cont .awards ul li figure figcaption {
  padding-top: 10px;
  text-align: center;
}

@media screen and (min-width: 960px) {
  .cont .awards li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 60px 10vw;
  }

  .cont .awards li.item {
    padding-top: 0;
  }

  .cont .awards li .text_cont {
    padding: 0 5vw 60px 0;
  }

  .cont .awards li .text_cont h1 {
    padding-top: 60px;
  }

  .cont .awards li .text_cont h1 span {
    text-align: left;
  }

  .cont .awards li .text_cont h2 {
    font-size: 1.5rem;
  }

  .cont .awards li .text_cont p {
    font-size: 1.125rem;
  }

  .cont .awards li figure {
    padding-top: 20px;
  }

  .cont .awards li figure img {
    width: auto;
  }

  .cont .awards li:nth-child(even) {
    flex-direction: row-reverse;
  }

  .cont .awards li:nth-child(even) .text_cont {
    padding: 0 0 60px 5vw;
  }
}

@media screen and (max-width: 960px) {
  .cont .awards li {
    padding: 30px 0;
  }

  .cont .awards li .text_cont {
    padding: 0 15px;
    text-align: center;
  }

  .cont .awards li .text_cont h2 {
    font-size: 1.25rem;
  }

  .cont .awards li .text_cont p {
    padding: 0;
    text-align: center;
    font-size: 0.875rem;
  }

  .cont .awards li figure {
    padding-top: 15px;
  }

  .cont .awards li figure img {
    width: 100%;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .awards li {
    padding: 60px 0;
  }

  .cont .awards li figure {
    text-align: center;
  }

  .cont .awards li figure img {
    width: 70%;
    margin: 0 auto;
  }

  .cont .awards li figure figcaption {
    font-size: 0.875rem;
  }
}

.pop_up_box .open {
  cursor: pointer;
}

.pop_up_box .pop-up_chk {
  display: none;
}

.pop_up_box .overlay {
  display: none;
}

.pop_up_box .pop-up_chk:checked + .overlay {
  display: block;
  z-index: 9999;
  background-color: #00000070;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

.pop_up_box .window {
  width: 90vw;
  max-width: 700px;
  height: 467px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.pop_up_box .window img {
  max-width: 700px !important;
}

.pop_up_box .text {
  font-size: 18px;
  margin: 0;
}

.pop_up_box .close {
  cursor: pointer;
  position: absolute;
  top: 0px;
  right: 0px;
  font-weight: bold;
  font-size: 24px;
  display: block;
  padding: 8px;
  background-color: #111;
  color: #FFF;
}

@media screen and (min-width: 960px) {
  .cont .contact {
    padding: 80px 0 0 0;
  }
}

@media screen and (max-width: 960px) {
  .cont .contact {
    padding: 50px 0 0 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .form {
    padding: 80px 0;
  }
}

@media screen and (max-width: 960px) {
  .cont .form {
    padding: 50px 0;
  }
}

.cont .form dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px;
  border-top: 1px solid #D1D1D1;
}

.cont .form dl dt,
.cont .form dl dd {
  padding: 15px;
  border-bottom: 1px solid #D1D1D1;
  line-height: 1.4;
  vertical-align: middle;
  text-align: left;
  color: #333;
}

@media screen and (min-width: 960px) {
  .cont .form dl {
    min-width: 900px;
  }

  .cont .form dl dt {
    width: 30%;
  }

  .cont .form dl dd {
    width: 70%;
  }
}

@media screen and (max-width: 960px) {
  .cont .form dl dt {
    width: 100%;
    padding-bottom: 0;
    border: none;
  }

  .cont .form dl dd {
    width: 100%;
    padding-top: 5px;
  }
}

.cont .form select {
  display: block;
  width: 100%;
  text-indent: 10px;
  line-height: 1.8;
  border: solid 1px #CCC;
  background-color: #FFF;
  height: 40px;
  font-size: 0.813rem;
  color: #666;
}

.cont .form .zn-field {
  padding-top: 15px;
}

.cont .form .zn-field:first-child {
  padding-top: 0;
}

.cont .form input[type=text],
.cont .form input[type=tel],
.cont .form input[type=email],
.cont .form textarea {
  width: 100%;
  border: 0;
  border: solid 1px #CCC;
  font-size: 0.875rem;
  padding: 8px 0;
  background-color: #FFF;
  padding-left: 10px;
  padding-right: 10px;
}

.cont .form textarea {
  height: 150px;
  margin-bottom: -5px;
}

.cont .form button {
  display: block;
  cursor: pointer;
  margin: 5px auto 0 auto;
  padding: 20px 100px;
  background-color: #F70;
  border: 1px solid #F70;
  font-family: "Noto Sans Japanese", san-serif;
  font-weight: 300;
  font-size: 1.125rem;
  color: #FFF;
  transition: all 0.3s ease-out;
}

.cont .form button:hover {
  background-color: transparent;
  color: #F70;
}

@media screen and (min-width: 960px) {
  .cont .form button {
    width: 30%;
  }
}

@media screen and (max-width: 960px) {
  .cont .form button {
    width: 80%;
  }
}

.cont .form button.back {
  background-color: #999;
  border: 1px solid #999;
  margin: 40px auto 0 auto;
  padding: 10px 100px;
  font-size: 1rem;
}

.cont .form button.back:hover {
  background-color: transparent;
  color: #999;
}

.cont .form .zn-message,
.cont .form .zn-property {
  padding: 5px 0;
  font-size: 0.688rem;
}

.cont .form .zn-message {
  color: #CF4848;
}

.cont .form .text_link,
.cont .form .zn-paginator ul,
.zn-paginator .cont .form ul {
  text-align: center;
}

.cont .form .text_link a,
.cont .form .zn-paginator ul a,
.zn-paginator .cont .form ul a {
  margin: 0 auto;
}

.cont .case {
  max-width: 100%;
  padding-top: 30px;
  padding-left: 5vw;
  padding-right: 5vw;
}

.cont .case .zn-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
}

.cont .case .zn-list li {
  position: relative;
}

.cont .case .zn-list li p {
  position: absolute;
  bottom: 0px;
  right: 0px;
  padding: 15px;
  background-color: rgba(0, 0, 0, 0.9);
  font-size: 1.25rem;
  color: #FFF;
}

.cont .case .zn-list li p span {
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
  font-weight: 100;
}

.cont .case .zn-list li p em {
  padding-left: 10px;
  font-style: normal;
  font-size: 1rem;
  color: #D1B280;
}

.cont .case .case-list {
  justify-content: center;
  margin-bottom: 20px;
}

.cont .case .case-list a {
  position: relative;
  width: 30%;
  margin: 15px 15px 30px 15px;
  background-color: rgba(0, 0, 0, 0.1);
}

.cont .case .case-list a h2 {
  position: absolute;
  z-index: 1;
  display: inline-block;
  width: auto;
  bottom: -7px;
  right: 0px;
  left: auto;
  background-color: black;
  margin-bottom: 0;
  padding: 12px 12px 5px 12px;
  text-align: left;
  font-size: 1rem;
  color: #FFF;
  transition: all 0.3s ease-in-out;
}

.cont .case .case-list a h2 span {
  text-align: left;
  font-size: 1rem;
}

.cont .case .case-list a figure {
  overflow: hidden;
}

.cont .case .case-list a figure img {
  width: 100%;
  max-width: none;
  height: 300px;
  transition: all 0.3s ease-in-out;
  -o-object-fit: cover;
     object-fit: cover;
}

.cont .case .case-list a figure .object-fit-img {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.cont .case .case-list a figcaption {
  display: none;
}

.cont .case .case-list a .zn-tag {
  content: "";
  position: absolute;
  top: -10px;
  right: -20px;
  width: 41px;
  height: 53px;
  background-image: url("/img/icon/award.png");
  background-repeat: no-repeat;
  transition: all 0.3s ease-in-out;
}

.cont .case .case-list a:hover h2 {
  right: -12px;
}

.cont .case .case-list a:hover img {
  transform: scale(1.2);
  transition: all 0.3s ease-in-out;
  opacity: 0.8;
}

.cont .case .case-list a:hover .zn-tag {
  transform: rotate(-15deg);
}

@media screen and (max-width: 960px) {
  #top .case .case-list a:not(:first-child) {
    display: none;
  }

  .cont .case .case-list {
    margin-bottom: 30px;
  }

  .cont .case .case-list a {
    display: block;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.cont .sample {
  max-width: 100%;
  padding-left: 5vw;
  padding-right: 5vw;
}

.cont .sample ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
}

.cont .sample ul li {
  position: relative;
}

.cont .sample ul li p {
  position: absolute;
  bottom: 0px;
  right: 0px;
  padding: 15px;
  background-color: rgba(0, 0, 0, 0.9);
  font-size: 1.25rem;
  color: #FFF;
}

.cont .sample ul li p span {
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
  font-weight: 100;
}

.cont .sample ul li p em {
  padding-left: 10px;
  font-style: normal;
  font-size: 1rem;
  color: #D1B280;
}

.cont .sample .samples {
  justify-content: center;
}

.cont .sample .samples li {
  position: inherit;
}

.cont .sample .samples li .item_content {
  position: relative;
}

.cont .sample .samples li p {
  display: inline-block;
  width: auto;
  bottom: 0px;
  left: 0px;
  right: auto;
  padding: 12px 12px 5px 12px;
  text-align: left;
  font-size: 1rem;
}

.cont .sample .samples li img {
  width: 100%;
}

.cont .sample .samples li .description {
  position: inherit;
  padding-top: 1rem;
  background: transparent;
  text-align: left;
  color: #333;
}

@media screen and (min-width: 960px) {
  .cont .sample .samples {
    margin-bottom: 80px;
  }

  .cont .sample .samples li {
    width: 45%;
    margin: 15px 15px 30px 15px;
    text-align: left;
  }

  .cont .sample .samples li img {
    max-width: 600px;
  }
}

@media screen and (max-width: 960px) {
  .cont .sample .samples li {
    width: 100%;
    margin-bottom: 30px;
  }
}

.cont .sample .sample_data h1 {
  font-weight: 100;
  line-height: 1.4;
}

.cont .sample .sample_data time {
  display: block;
  margin-bottom: 2rem;
}

.cont .sample .sample_data .cke {
  margin-bottom: 40px;
}

.cont .sample .sample_data .imgs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 20px;
}

.cont .sample .sample_data .imgs figure {
  width: 25vw;
  margin: 15px;
}

.cont .sample .sample_data .imgs figure img {
  width: 100%;
}

.cont .sample .sample_data .imgs figure:first-child {
  flex-basis: 75vw;
}

.cont .sample .sample_data .imgs figure .zn-modal figure {
  flex-basis: 90vw;
  width: 100%;
}

@media screen and (min-width: 960px) {
  .cont .sample .sample_data {
    margin-bottom: 80px;
  }

  .cont .sample .sample_data h1 {
    font-size: 2.5rem;
  }

  .cont .sample .sample_data time {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 960px) {
  .cont .sample .sample_data {
    margin-bottom: 40px;
  }

  .cont .sample .sample_data h1 {
    font-size: 1.75rem;
  }

  .cont .sample .sample_data time {
    font-size: 1rem;
  }
}

@media screen and (min-width: 960px) {
  .cont .message p {
    margin: 0 auto;
    max-width: 900px;
  }
}

@media screen and (max-width: 960px) {
  .cont .message {
    padding: 50px 0;
  }
}

.cont .senior_staff li {
  margin-bottom: 80px;
  padding-right: 10%;
}

@media screen and (min-width: 960px) {
  .cont .senior_staff li {
    align-items: flex-start;
    text-align: left;
  }
}

.cont .senior_staff li:nth-of-type(even) {
  flex-direction: row;
  padding-right: 0;
  padding-left: 10%;
}

.cont .senior_staff li:nth-of-type(even) figure {
  display: flex;
}

.cont .senior_staff li:nth-of-type(even) figure img {
  margin-left: auto;
}

@media screen and (min-width: 960px) {
  .cont .senior_staff .txt_cont {
    width: 70% !important;
    border-left: 3px solid #D1B280;
    padding-left: 24px;
  }
}

.cont .senior_staff .txt_cont h2 {
  margin-bottom: 1em;
}

.cont .senior_staff .txt_cont h3 {
  margin-bottom: 1em;
  color: #FFF;
}

@media screen and (min-width: 960px) {
  .cont .senior_staff figure {
    width: 25vw !important;
  }

  .cont .senior_staff figure img {
    width: 20vw !important;
  }
}

@media screen and (max-width: 960px) {
  .cont .senior_staff figure {
    padding: 20px;
  }

  .cont .senior_staff figure img {
    width: 100%;
  }
}

@media screen and (min-width: 960px) {
  .cont .sample .human_list {
    margin-bottom: 0;
    padding-top: 30px;
  }

  .cont .sample .human_list li {
    width: 22%;
    margin-bottom: 0;
  }

  .cont .sample .human_list li h4 {
    font-weight: bold;
    font-size: 1.25rem;
  }

  .cont .sample .human_list li p {
    padding-left: 0;
    padding-right: 24px;
  }
}

.cont .positions .list_layout {
  display: flex;
  flex-wrap: wrap;
}

.cont .positions .list_layout .list_item {
  width: 47%;
  margin-right: 6%;
  margin-bottom: 50px;
  list-style: none;
  text-align: left;
  color: #FFF;
}

.cont .positions .list_layout .list_item:nth-of-type(2n) {
  margin-right: 0;
}

.cont .positions .list_layout .list_item h2 {
  margin-bottom: 1em;
}

.cont .positions .list_layout .list_item th,
.cont .positions .list_layout .list_item td {
  font-size: 0.875em;
  font-family: "Century Gothic", メイリオ, Meiryo, Osaka, sans-serif;
}

@media screen and (min-width: 960px) {
  .cont .requirement {
    padding: 110px 0 0 0;
  }

  .cont .requirement img {
    position: absolute;
  }

  .cont .requirement img:nth-of-type(1) {
    top: 110px;
    right: 0;
  }

  .cont .requirement img:nth-of-type(2) {
    top: 640px;
    right: 0;
  }

  .cont .requirement img:nth-of-type(3) {
    top: 1070px;
    right: 0;
  }

  .cont .requirement img:nth-of-type(4) {
    bottom: 0px;
    right: 0;
  }
}

.cont .requirement:before {
  content: "";
  position: absolute;
  border-top: 1px solid #D1B280;
  transform: rotate(-45deg);
}

@media screen and (min-width: 960px) {
  .cont .requirement:before {
    width: 200px;
  }
}

@media screen and (max-width: 960px) {
  .cont .requirement:before {
    width: 26vw;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .requirement:before {
    width: 16vw;
  }
}

@media screen and (min-width: 960px) {
  .cont .requirement:before {
    top: 100px;
    left: -180px;
  }
}

@media screen and (max-width: 960px) {
  .cont .requirement:before {
    top: 13vw;
    left: 0;
  }
}

@media screen and (min-width: 960px) {
  .cont .requirement {
    text-align: left;
  }

  .cont .requirement table {
    width: 660px;
  }
}

@media screen and (max-width: 960px) {
  .cont .requirement {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 5px;
  }

  .cont .requirement table {
    width: 100%;
  }

  .cont .requirement table th {
    display: block;
    text-align: center;
  }

  .cont .requirement table td {
    display: block;
    margin-bottom: 30px;
  }

  .cont .requirement table td p {
    padding: 0;
  }

  .cont .requirement .list_decimal,
  .cont .requirement .list_disc {
    margin-left: 1.3rem;
    text-align: left;
  }

  .cont .requirement img {
    width: 100%;
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 960px) {
  .cont .entry {
    padding: 110px 0;
  }
}

@media screen and (max-width: 960px) {
  .cont .entry {
    padding: 30px 0;
  }
}

.cont .recruit_flow {
  max-width: 100%;
  width: 100%;
}

.cont .recruit_flow .flow_cont {
  display: flex;
  justify-content: center;
  list-style-type: none;
}

.cont .recruit_flow .flow_cont li {
  margin: 15px;
  position: relative;
  display: inline-block;
  color: #000;
  vertical-align: middle;
  text-align: left;
  text-decoration: none;
  font-size: 0.938rem;
}

.cont .recruit_flow .flow_cont li::after {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 40px;
  height: 40px;
  transform: rotate(45deg);
}

.cont .recruit_flow .flow_cont li:last-child {
  padding: 0;
}

.cont .recruit_flow .flow_cont li:last-child::after {
  display: none;
}

.cont .recruit_flow .flow_cont li h2 {
  margin-bottom: 0.5rem;
}

.cont .recruit_flow .flow_cont li a {
  margin: 0 3px;
  padding: 1px 3px;
  background-color: #D1B280;
  color: #111;
}

.cont .recruit_flow .flow_cont li a:hover {
  background: transparent;
  color: #D1B280;
}

@media screen and (min-width: 960px) {
  .cont .recruit_flow {
    padding: 110px 5vw;
  }

  .cont .recruit_flow .flow_cont li {
    padding: 0 80px 0 0;
  }

  .cont .recruit_flow .flow_cont li::after {
    top: 0;
    bottom: 0;
    right: 20px;
    border-top: 1px solid #999;
    border-right: 1px solid #999;
  }
}

@media screen and (max-width: 960px) {
  .cont .recruit_flow {
    padding: 50px 5vw;
  }

  .cont .recruit_flow .flow_cont {
    flex-wrap: wrap;
  }

  .cont .recruit_flow .flow_cont li {
    flex-basis: 100%;
    padding: 0 0 80px 0;
  }

  .cont .recruit_flow .flow_cont li::after {
    bottom: 20px;
    right: 0;
    left: 0;
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
  }
}

.cont .topics-list {
  max-width: none;
  width: 100%;
  padding: 0;
  text-align: left;
}

.cont .topics-list article .text_cont {
  display: flex;
  flex-direction: column;
}

.cont .topics-list article .text_cont h2 span {
  line-height: 1.4;
}

.cont .topics-list article .text_cont time {
  display: block;
  margin-bottom: 0.8rem;
}

.cont .topics-list article .text_cont .zn-updated_at {
  display: none;
}

.cont .topics-list article figure figcaption {
  padding-top: 10px;
  text-align: center;
}

@media screen and (min-width: 960px) {
  .cont .topics-list article {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    position: relative;
    padding: 50px 10vw;
  }

  .cont .topics-list article .text_cont {
    width: 100%;
  }

  .cont .topics-list article .text_cont h2 {
    padding-top: 60px;
  }

  .cont .topics-list article .text_cont h2 span {
    text-align: left;
  }

  .cont .topics-list article .text_cont time {
    font-size: 1.125rem;
  }

  .cont .topics-list article .text_cont p {
    font-size: 1.125rem;
  }

  .cont .topics-list article figure {
    padding-right: 5vw;
  }

  .cont .topics-list article .btn_list_more {
    position: absolute;
    bottom: 70px;
    right: 10vw;
    width: 200px;
    padding: 30px 0;
    text-align: center;
    cursor: pointer;
  }
}

@media screen and (max-width: 960px) {
  .cont .topics-list article {
    padding: 30px 0;
  }

  .cont .topics-list article .text_cont {
    padding: 0 15px;
    text-align: center;
  }

  .cont .topics-list article .text_cont time {
    font-size: 1.125rem;
  }

  .cont .topics-list article .text_cont p {
    padding: 0;
    text-align: center;
    font-size: 0.875rem;
  }

  .cont .topics-list article figure {
    padding-top: 15px;
  }

  .cont .topics-list article figure img {
    width: 100%;
  }
}

@media screen and (min-width: 480px) and (max-width: 960px) {
  .cont .topics-list article {
    padding: 50px 0;
  }

  .cont .topics-list article figure {
    text-align: center;
  }

  .cont .topics-list article figure img {
    width: 60%;
    margin: 0 auto;
  }

  .cont .topics-list article .btn_list_more {
    width: 25vw;
    padding: 25px 0 23px 0;
  }
}

.zn-paginator {
  padding: 80px 10vw;
}

.zn-paginator ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.zn-paginator ul a {
  margin: 0 6px;
  padding: 0 10px;
  font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
  color: #333;
}

.zn-paginator ul a::after {
  background: #333;
}

.zn-paginator ul .is-active {
  display: inline-block;
  margin: 0 6px;
  padding: 0 10px;
  font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
  font-weight: 600;
  color: #D1B280;
}

@media screen and (max-width: 960px) {
  .zn-paginator {
    padding: 20px 10vw;
  }
}

.delighter {
  transition: all 0.5s ease-in-out;
  transform: translateY(20%);
  opacity: 0;
}

.delighter.started {
  transform: none;
  opacity: 1;
}

ul .delighter:nth-child(2n+1) {
  transform: translateY(40%);
}

ul .delighter:nth-child(1) {
  transform: translateY(20%);
}

ul .delighter:nth-child(2n) {
  transform: translateY(30%);
}

ul .delighter.started {
  transform: none;
  opacity: 1;
}

section h1.delighter span {
  transition: all 0.5s ease-in-out;
  transform: translateX(40%);
  opacity: 0;
}

section h1.delighter em {
  transition: all 0.8s ease-in-out;
  transform: translateX(80%);
  opacity: 0;
}

section h1.delighter.started span {
  transform: none;
  opacity: 1;
}

section h1.delighter.started em {
  transform: none;
  opacity: 1;
}

.half_table {
  font-family: "Yu Gothic", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "\6E38\30B4\30B7\30C3\30AF\4F53", serif;
}

.half_table th,
.half_table td {
  padding: 10px;
  border-bottom: 1px solid #CCC;
  font-weight: 300;
  font-size: 0.875rem;
}

@media screen and (min-width: 960px) {
  .half_table {
    max-width: 590px;
    width: 100%;
  }

  .half_table th,
  .half_table td {
    vertical-align: top;
    text-align: left;
  }

  .half_table th {
    white-space: nowrap;
  }

  .half_table td table {
    margin: -10px -10px -11px -10px;
  }
}

@media screen and (max-width: 960px) {
  .half_table {
    width: 100%;
    overflow: auto;
  }

  .half_table table {
    width: 100%;
  }

  .half_table th,
  .half_table td {
    display: block;
    text-align: center;
  }

  .half_table th {
    margin-top: 15px;
    margin-bottom: 5px;
    padding-bottom: 5px;
    font-weight: 600;
  }

  .half_table td {
    border: none;
    margin: 0;
    padding: 0 15px;
  }

  .half_table td table {
    width: 90%;
    margin: -15px auto 0 auto;
  }
}

.modal_main {
  display: none;
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  color: #666666;
  position: fixed;
  z-index: 2;
}

.modal_bg {
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}

.contact .modal_btn {
  color: #D1B280;
  cursor: pointer;
}

.contact .modal_btn::after {
  background: #D1B280;
}

.cont .privacy_cont {
  overflow: auto;
  text-align: center;
  padding-top: 40px;
}

.cont .privacy_cont h2 {
  text-align: center;
}

.cont .privacy_cont p {
  padding: 0;
  margin-bottom: 0.5rem;
  text-align: left;
  font-size: 0.875rem;
}

.cont .privacy_cont h3 {
  margin-bottom: 5px;
  padding-top: 1.5rem;
  text-align: left;
  font-size: 1.125rem;
}

.cont .privacy_cont ul {
  margin-left: 1.3rem;
}

.cont .privacy_cont ul li {
  text-align: left;
  font-size: 0.875rem;
}

@media screen and (min-width: 960px) {
  .modal_main {
    width: 80vw;
    height: 50vw;
  }

  .privacy_cont {
    padding: 30px;
  }
}

@media screen and (max-width: 960px) {
  .modal_main {
    width: 100vw;
    height: 100vh;
  }

  .privacy_cont {
    padding: 15px;
  }
}

#error {
  min-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#error .cont section {
  width: 80vw;
  padding: 0;
}

#error .cont section h1 {
  margin-bottom: 0;
  line-height: 1.8;
}

@media screen and (min-width: 960px) {
  #error .cont section p {
    padding: 60px 0;
  }
}

@media screen and (max-width: 960px) {
  #error .cont section p {
    padding: 20px 0;
  }
}

.column--2 {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 960px) {
  .column--2 {
    flex-direction: column;
  }
}

@media screen and (min-width: 960px) {
  .column--2 > * {
    width: calc((100% / 2) - (2% * 1));
    margin: 0 2%;
  }
}

.btn_download {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #999;
  color: #666;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
  margin: 0 auto 30px auto;
  padding: 30px 0 27px 0;
}

@media screen and (min-width: 960px) {
  .btn_download {
    width: 40%;
    max-width: 500px;
  }
}

@media screen and (max-width: 960px) {
  .btn_download {
    width: 100%;
  }
}

.btn_download:hover {
  background-color: #080706;
  color: #FFF;
}

.btn_download[href$=".xlsx"]::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 17px;
  background: url(/img/icon/icon_xlsx.svg) no-repeat center center;
  background-size: 40px 40px;
}

.btn_download[href$=".xlsx"]:hover::before {
  background-image: url(/img/icon/icon_xlsx_o.svg);
}

.compact-box {
  margin: 0 auto;
}

@media screen and (min-width: 960px) {
  .compact-box {
    width: 80%;
  }
}

.compact-box h3 {
  margin-bottom: 1em;
  text-decoration: underline;
}

