#loading {
	position: fixed;
	z-index: 99999999;
	width: 100%;
	height: 100%;
	background-color: #fff;
	text-align: center;
}

#loading img {
	width: 100px;
	height: 100px;
	margin-top: 20%;
	-webkit-animation: spin 2.5s linear infinite;
	animation: spin 2.5s linear infinite;
}

#contents {
	overflow: hidden;
	position: relative;
	top: 0;
	z-index: 1;
	float: left;
	width: 100%;
	margin: auto;
	margin-bottom: 1.5em;
	padding-left: 265px;
}

#contents article {
	max-width: 1220px;
}

.sp_layout {
	width: 90%;
	margin: auto;
}

section#main_layout {
	width: 100%;
	max-width: 1060px;
	margin: auto;
}

section#inner_layout {
	width: 100%;
	max-width: 960px;
	margin: auto;
}

.sp_in {
	display: none;
}

.sp_none {
	display: block;
}

.sp_br {
	display: none;
}

.fix {
	position: fixed;
	top: 0;
	width: 30%;
	margin: 0;
}

.fix2 {
	position: absolute;
	bottom: 0;
	width: 100%;
}

/******************************************
header
******************************************/

.a {
	width: 100%;
	height: 55px;
	margin-top: 45px;
	text-align: center;
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

.a a {
	display: inline-block;
}

.a object {
	width: 40px;
	pointer-events: none;
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

.b {
	width: 100%;
	height: 70px;
	margin-bottom: 1em;
	text-align: center;
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

.b a {
	display: inline-block;
}

.b object {
	width: 180px;
	pointer-events: none;
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

.aanime {
	width: 50%;
	height: 50px;
	padding: 0;
	-webkit-transform: translateX(-102px) translateY(-42px) rotate(270deg);
	-ms-transform: translateX(-102px) translateY(-42px) rotate(270deg);
	transform: translateX(-102px) translateY(-42px) rotate(270deg);
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

.aanime object {
	width: 140px;
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

.aanime2 {
	width: 58%;
	height: 0;
	padding: 0;
	-webkit-transform: translateX(30px) translateY(-60px);
	-ms-transform: translateX(30px) translateY(-60px);
	transform: translateX(30px) translateY(-60px);
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

.aanime2 object {
	width: 150px;
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

/*IE10以降に適用されるCSSハック（一応）*/

.ani {
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

header {
	overflow:scroll;
	position: fixed;
	z-index: 2;
	float: left;
	width: 100%;
	max-width: 265px;
	height: 100vh;
	min-height: 100vh;
	background-color: #faf6f9;
	background-image: url(../images/common/header_nav_back.jpg);
}

header h1 {
	display: block;
	margin-bottom: 2.5em;
	padding: 40px 55px 0 55px;
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

header h1 img {
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

header nav {
	display: block;
	padding: 0 55px 0 55px;
	ransition: all .9s;
}

header nav ul {
	float: left;
	ransition: all .9s;
}

header nav ul li {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	margin-top: -1px;
	padding: 10px 0;
	border-top: 1px solid #dcdddd;
	border-bottom: 1px solid #dcdddd;
	text-align: center;
	letter-spacing: 1px;
	font-weight: 600;
}

header nav ul li:nth-child(1) {
	float: right;
	width: 33.33%;
	border: 0;
	font-weight: 400;
	font-size: 1.1em;
	font-family: sans-serif;
}

header nav ul li:nth-child(1):before {
	position: absolute;
	top: -20px;
	left: 35%;
	font-size: 1em;
	font-family: FontAwesome;
	color: #db3b2a;
	content: '\f078';
}

header nav ul li:nth-child(2) {
	float: right;
	width: 33.34%;
	margin-bottom: 2em;
	border: 0;
	font-weight: 400;
	font-size: 1.1em;
	font-family: sans-serif;
}

header nav ul li:nth-child(2):before {
	position: absolute;
	top: -20px;
	left: 35%;
	font-family: FontAwesome;
	color: #db3b2a;
	content: '\f078';
}

header nav ul li:nth-child(3) {
	float: right;
	width: 33.33%;
	border: 0;
	font-weight: 400;
	font-size: 1.1em;
	font-family: sans-serif;
}

header nav ul li:nth-child(3):before {
	position: absolute;
	top: -20px;
	left: 35%;
	font-family: FontAwesome;
	color: #db3b2a;
	content: '\f078';
}

header nav ul li a {
	display: block;
}

.anime_case {
	margin-top: -130px;
	-webkit-transform: translateY(-84px);
	-ms-transform: translateY(-84px);
	transform: translateY(-84px);
	ransition: all .9s;
}

.inner {
	margin: 6px 0 0 9px;
	letter-spacing: 5px;
}

/*IE10以降に適用されるCSSハック*/

#point {
	margin-top: 50px;
}

#point h3 {
	margin-bottom: 2.5em;
	padding: 30px 40px 0 40px;
	line-height: 1.4;
}

#point ul {
	width: 100%;
}
#point ul li{
	margin-bottom: 3px;
	line-height: 0;
}

.f_mode {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.case1 {
	padding: 70px 0;
	background-color: #fdf1f7;
	text-align: center;
}

.case2 {
	background-color: #fdf1f7;
	text-align: center;
}

/******************************************
footer
******************************************/

#footer {
	width: 85%;
	max-width: 1220px;
	margin: 2em auto 1em auto;
}

#footer address {
	float: left;
	font-size: .9em;
	margin-bottom: .6em;
}

#footer address i {
	margin-right: .5em;
	color: #000;
	-webkit-transition: all .9s ease;
	transition: all .9s ease;
}

#footer address i:hover {
	text-decoration: none;
	color: #26a3da;
}

#footer small {
	float: right;
	margin-left: 1em;
	letter-spacing: 1px;
	font-size: .7em;
	font-family: Monaco, monospace, Courier, 'Courier New';
}

#footer_inner {
	width: 100%;
	max-width: 1060px;
	margin: auto;
	padding-top: 1.5em;
	border-top: 1px solid #cacccd;
}

.fax {
	margin-bottom: 1em;
	margin-left: .5em;
	padding-right: 5px;
	vertical-align: 2px;
}

/******************************************
mobile_navi
******************************************/

/******************************************
column_layout
******************************************/

section#two_column_layout {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 960px;
	margin: auto;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}

section#side_column {
	max-width: 220px;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

section#detail_column {
	padding: 0 10px 10px 10px;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
}

#inner_layout {
	width: 960px;
	max-width: 100%;
	margin: auto;
}

#inner_layout {
	width: 960px;
	max-width: 100%;
	margin: auto;
}

#outer_layout {
	width: 1060px;
	max-width: 100%;
}

/******************************************
common_css
******************************************/

#heading {
	position: relative;
	float: left;
	width: 100%;
	margin-bottom: 2.5em;
	margin-top: 7px;
	overflow: hidden;
}

#heading:before {
    content:"";
    display: block;
}

#heading img {
	width: 100%;
	height: auto;
}

/******************************************
404.php
******************************************/

section#err_layout {
	width: 100%;
	max-width: 530px;
	margin: 10em auto;
}


section#err_layout h2 {
	font-size: 1.8em;
	margin-bottom: .5em;
	text-align: center;
}

section#err_layout h3 {
	font-size: 1.6em;
	margin-bottom: 3em;
	text-align: center;
	font-family: "proxima-nova",sans-serif;
	color: #989898;
}

section#err_layout p {
	margin-bottom: 1.5em;
}


#err_btn {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 225px;
	margin:3em auto 0 auto;
	border: 0;
	border-radius: 4px;
	background-color: #333;
	line-height: 54px;
	text-align: center;
	font-size: 1.5em;
	-webkit-transition: all .3s;
	transition: all .3s;
}

#err_btn:hover {
	background-color: #db3b2a;
	cursor: pointer;
}

#err_btn a {
	display: block;
	width: 100%;
	color: #fff;
}

/******************************************
mobile_nav
******************************************/

.side-open .wrapper,
.side-open .overlay {
	-webkit-transform: translate3d(200px, 0, 0);
	transform: translate3d(200px, 0, 0);
}

.overlay {
	display: block;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	background: transparent;
	content: '';
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

.side-open .overlay {
	visibility: visible;
	background: rgba(140, 118, 118, .8);
	cursor: pointer;
}

.overlay::after {
	display: block;
	visibility: hidden;
	position: fixed;
	top: 40%;
	left: 0;
	width: 100%;
	height: 50px;
	text-align: center;
	font-weight: bold;
	font-size: 40px;
	color: rgba(255, 255, 255, 0);
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

.side-open .overlay::after {
	visibility: visible;
	color: rgba(255, 255, 255, .8);
}

.sp_navi {
	display: none;
}

/* --------------------------------------------------- side menu */

.side-menu {
	overflow-y: auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: -200px;
	z-index: 99999;
	width: 200px;
	height: 100%;
	padding-top: 10px;
	background: #d84c3e;
	background-image: url(../images/common/header_nav_back.jpg);
	text-align: left;
	font-size: 1em;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

#sp_navi_logo {
	float: left;
	width: 100%;
	margin-bottom: .5em;
	text-align: center;
}

.sp_logo {
	width: 18%;
}

.sp_logo_name {
	width: 70%;
}

.side-menu ul {
	display: block;
	overflow-y: auto;
	width: 100%;
	height: 100%;
	color: #fff;
}

.side-menu ul li {
	-webkit-box-shadow: 0 1px 0 #eccfc6;
	box-shadow: 0 1px 0 #eccfc6;
	width: 96%;
	margin: 0 2%;
	border-bottom: 1px solid #e3ddd1;
}

.side-menu ul li:first-child {
	border-top: 0;
}

.side-menu ul li:last-child {
	border-bottom: 1px solid #e3ddd1;
}

.side-menu ul li a {
	display: block;
	width: 94%;
	padding: 9px 5px 7PX 15PX;
	line-height: 1.2em;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 400;
	font-size: 1em;
	color: #000;
}

.side-menu ul li a span {
	letter-spacing: 0;
	font-weight: 400;
	font-size: .7em;
}

li.sp_category {
	display: block;
	width: 94%;
	padding: 9px 5px 7PX 15PX;
	line-height: 1.2em;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 400;
	font-size: 1em;
	color: #000;
}

ul.sub-menu {
	display: none;
}

ul.sub-menu li {
	-webkit-box-shadow: 0 1px 0 #eccfc6;
	box-shadow: 0 1px 0 #eccfc6;
	width: 85%;
	margin-left: 2em;
	border-bottom: 1px solid #e3ddd1;
}

ul.sub-menu li:last-of-type {
	margin-bottom: .5em;
	border-top: 0 !important;
	border-bottom: 1px solid #e3ddd1;
}

ul.sub-menu li a {
	font-weight: 300;
	font-size: .9em;
	color: #000;
}

li.sp_category_recruit {
	display: block;
	width: 94%;
	padding: 9px 5px 7PX 15PX;
	line-height: 1.2em;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 400;
	font-size: 1em;
	color: #000;
}

ul.sub-menu_recruit {
	display: none;
}

ul.sub-menu_recruit li {
	-webkit-box-shadow: 0 1px 0 #eccfc6;
	box-shadow: 0 1px 0 #eccfc6;
	width: 85%;
	margin-left: 2em;
	border-bottom: 1px solid #e3ddd1;
}

ul.sub-menu_recruit li:last-of-type {
	margin-bottom: .5em;
	border-top: 0 !important;
	border-bottom: 1px solid #e3ddd1;
}

ul.sub-menu_recruit li a {
	font-weight: 300;
	font-size: .9em;
	color: #000;
}

li.sp_category_recruit {
	display: block;
	width: 94%;
	padding: 9px 5px 7PX 15PX;
	line-height: 1.2em;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 400;
	font-size: 1em;
	color: #000;
}


li.sp_date {
	display: block;
	width: 94%;
	padding: 9px 5px 7PX 15PX;
	line-height: 1.2em;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 400;
	font-size: 1em;
	color: #000;
}

ul.sub-menu_date{
	display: none;
}

ul.sub-menu_date li {
	-webkit-box-shadow: 0 1px 0 #eccfc6;
	box-shadow: 0 1px 0 #eccfc6;
	width: 85%;
	margin-left: 2em;
	border-bottom: 1px solid #e3ddd1;
}

ul.sub-menu_date li:last-of-type {
	margin-bottom: .5em;
	border-top: 0 !important;
	border-bottom: 1px solid #e3ddd1;
}

ul.sub-menu_date li a {
	font-weight: 300;
	font-size: .9em;
	color: #000;
}
ul.sub-menu_date li a i
{
	font-size: .4em;
	vertical-align: 2px;
}


/* --------------------------------------------------- ellipsis btn */

.side-menu-btn {
	-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
	position: fixed;
	top: 70px;
	left: 0;
	z-index: 4;
	z-index: 100000;
	width: 45px;
	height: 41px;
	padding: 5px 0;
	border-radius: 0 6px 6px 0;
	background-color: #e26565;
	cursor: pointer;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

.menu-trigger {
	display: inline-block;
	display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	left: 22%;
	width: 50px;
	height: 19px;
	cursor: pointer;
	-webkit-transition: all .4s;
	transition: all .4s;
}

.menu-trigger span {
	display: inline-block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 50%;
	height: 2.5px;
	border-radius: 4px;
	background-color: #fff;
	-webkit-transition: all .4s;
	transition: all .4s;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}

.menu-trigger span:nth-of-type(2) {
	top: 8px;
}

.menu-trigger span:nth-of-type(3) {
	bottom: 0;
	height: 2.5px;
}

.menu-trigger::after {
	display: block;
	position: absolute;
	bottom: -18px;
	left: -25%;
	width: 100%;
	text-align: center;
	text-decoration: none;
	font-size: 10px;
	color: #fff;
	content: 'MENU';
	-webkit-transition: all .4s;
	transition: all .4s;
}

.menu-trigger.active::after {
	bottom: -18px;
	content: 'CLOSE';
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	-ms-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	-ms-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}

.slide_btn_right {
	left: 200px;
}

.slide_btn_left {
	left: 0;
}

@media all and (-ms-high-contrast: none) {

.a {
	padding: 0;
}

.aanime {
	-webkit-transform: translateX(-110px) translateY(-37px) rotate(270deg);
	-ms-transform: translateX(-110px) translateY(-37px) rotate(270deg);
	transform: translateX(-110px) translateY(-37px) rotate(270deg);
}

.inner {
	margin: 6px 0 0 9px;
}

}

@media only screen and (max-width: 767px) {

#loading img {
	width: 150px;
	height: 150px;
}

#contents {
	padding-left: 0;
}

.sp_in {
	display: inline-block;
}

.sp_none {
	display: none;
}

.sp_br {
	display: block;
}

header {
	display: none;
}

#footer {
	left: 0;
	width: 100%;
}

#footer address {
	width: 100%;
	margin-bottom: .5em;
	text-align: center;
}

#footer small {
	width: 100%;
	text-align: center;
	letter-spacing: 0;
}

#footer_inner {
	width: 95%;
}

#outer_layout {
	padding-left: 0;
}

section#err_layout {
	margin: 3em auto;
	width: 90%;
}


section#err_layout h2 {
	font-size: 1.8em;
	margin-bottom: .5em;
	width: 80%;
	margin: auto;
}

section#err_layout h3 {
	margin-bottom: 2em;
}

section#err_layout p {
	margin-bottom: 1.5em;
}
.sp_navi {
	display: block;
}

}

@media only screen and (min-width: 768px) and (max-width: 1024px) {

#contents {
	padding-left: 0;
}

header {
	display: none;
}

#footer {
	left: 0;
}

#footer address {
	width: 100%;
margin-bottom: .5em;	text-align: center;
}

#footer small {
	width: 100%;
	text-align: center;
}

.sp_navi {
	display: block;
}

}

@media only screen and (min-width: 768px) and (max-width: 1023px) {

.sp_br {
	display: block;
}

}

@media only screen and (min-width: 768px) and (max-width: 1389px) {

#outer_layout {
	padding-left: 0;
}

}

@media only screen and (min-width: 1025px) and (max-width: 1389px) {

#outer_layout {
	padding-left: 60px;
}

}

@-webkit-keyframes spin {

0% {
	-webkit-transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
}

}

@keyframes spin {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

/* 年号変換 */
ul#age_blog li a span, ul#bread_list li span,.side-menu ul li a span{font-size: 0px;}
ul#age_blog li a span:before, ul#bread_list li span:before{font-size: 14px;}
.side-menu ul li a span:before{font-size: 14px;}
ul#age_blog li a.y2030 span:before, ul#bread_list li.y2030 span:before, .side-menu ul li a.y2030 span:before{content: "平成42年";}
ul#age_blog li a.y2029 span:before, ul#bread_list li.y2029 span:before, .side-menu ul li a.y2029 span:before{content: "平成41年";}
ul#age_blog li a.y2028 span:before, ul#bread_list li.y2028 span:before, .side-menu ul li a.y2028 span:before{content: "平成40年";}
ul#age_blog li a.y2027 span:before, ul#bread_list li.y2027 span:before, .side-menu ul li a.y2027 span:before{content: "平成39年";}
ul#age_blog li a.y2026 span:before, ul#bread_list li.y2026 span:before, .side-menu ul li a.y2026 span:before{content: "平成38年";}
ul#age_blog li a.y2025 span:before, ul#bread_list li.y2025 span:before, .side-menu ul li a.y2025 span:before{content: "平成37年";}
ul#age_blog li a.y2024 span:before, ul#bread_list li.y2024 span:before, .side-menu ul li a.y2024 span:before{content: "平成36年";}
ul#age_blog li a.y2023 span:before, ul#bread_list li.y2023 span:before, .side-menu ul li a.y2023 span:before{content: "平成35年";}
ul#age_blog li a.y2022 span:before, ul#bread_list li.y2022 span:before, .side-menu ul li a.y2022 span:before{content: "平成34年";}
ul#age_blog li a.y2021 span:before, ul#bread_list li.y2021 span:before, .side-menu ul li a.y2021 span:before{content: "平成33年";}
ul#age_blog li a.y2020 span:before, ul#bread_list li.y2020 span:before, .side-menu ul li a.y2020 span:before{content: "平成32年";}
ul#age_blog li a.y2019 span:before, ul#bread_list li.y2019 span:before, .side-menu ul li a.y2019 span:before{content: "平成31年";}
ul#age_blog li a.y2018 span:before, ul#bread_list li.y2018 span:before, .side-menu ul li a.y2018 span:before{content: "平成30年";}
ul#age_blog li a.y2017 span:before, ul#bread_list li.y2017 span:before, .side-menu ul li a.y2017 span:before{content: "平成29年";}
ul#age_blog li a.y2016 span:before, ul#bread_list li.y2016 span:before, .side-menu ul li a.y2016 span:before{content: "平成28年";}
ul#age_blog li a.y2015 span:before, ul#bread_list li.y2015 span:before, .side-menu ul li a.y2015 span:before{content: "平成27年";}
ul#age_blog li a.y2014 span:before, ul#bread_list li.y2014 span:before, .side-menu ul li a.y2014 span:before{content: "平成26年";}
ul#age_blog li a.y2013 span:before, ul#bread_list li.y2013 span:before, .side-menu ul li a.y2013 span:before{content: "平成25年";}
ul#age_blog li a.y2012 span:before, ul#bread_list li.y2012 span:before, .side-menu ul li a.y2012 span:before{content: "平成24年";}
ul#age_blog li a.y2011 span:before, ul#bread_list li.y2011 span:before, .side-menu ul li a.y2011 span:before{content: "平成23年";}
ul#age_blog li a.y2010 span:before, ul#bread_list li.y2010 span:before, .side-menu ul li a.y2010 span:before{content: "平成22年";}
ul#age_blog li a.y2009 span:before, ul#bread_list li.y2009 span:before, .side-menu ul li a.y2009 span:before{content: "平成21年";}
