@charset "utf-8";
html {
	height: 100%;
	font-size: 62.5%;
}
body { 
	margin: 0; 
	padding: 0; 
	font-size: 1.6rem;
	font-family: 'Open Sans' ,'Kiwi Maru',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	-webkit-text-size-adjust: 100%;
	line-height: 1.85; 
	color: #222222; 
	font-weight:400;
	height: 100%; 
	position: relative; 
	letter-spacing: 0.05em;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
header,main,article,section,nav,footer { 
	display: block;
}
main {
	position:relative;
}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin: 0; 
	padding: 0; 
	font-size: 100%;
}
input {
	font-family: 'Open Sans' ,'Kiwi Maru',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif; line-height: 1.7em; 
	color: #000; 
	position: relative; 
	letter-spacing: 0.1em;
	overflow-wrap: break-word;
	word-wrap: break-word;
	border: 1px solid #ccc;
    padding: 10px 15px;
}
table {	
	border-collapse: collapse; 
	border-spacing: 0;
}
fieldset,img { 
	border: 0;
}
address,caption,cite,code,dfn,th,var { 
	font-style: normal; 
	font-weight: normal;
}
em { 
	font-style: normal; 
	font-weight: 500;
}
ol,ul { 
	list-style: none;
}
caption{ 
	text-align: left;
}
h1,h2,h3,h4,h5,h6 { 
	font-size: 100%; 
	font-weight: normal;
}
q:before,q:after { 
	content:'';
}
abbr,acronym { 
	border:0;
}

::-webkit-input-placeholder { color: #ccc;}
::-moz-placeholder { color: #ccc; opacity: 1;}
:-ms-input-placeholder { color: #ccc;}
input:focus::-webkit-input-placeholder { color:transparent;}
input:focus:-moz-placeholder { color:transparent;}
input:focus::-moz-placeholder { color:transparent;}

/*-------------------------------------------------------------
	Page related
-------------------------------------------------------------*/
#wrapper {
	position: relative;
	overflow: hidden;
}
#nojs {
	width: 940px;
	background: #fff;
	color: #f00;
	padding: 25px;
	border: 5px solid #F00;
	text-align: center;
	margin: 20px auto;
}
::selection {
    background:#eeeeee;
}
::-moz-selection { 
    background:#eeeeee;
}
::-webkit-selection {
    background:#eeeeee;
}
.sp_size {
	display:none !important;
}

#header_wrap:after {
	content: "";
	clear: both;
	display: block;
}
#header_wrap {
	width: 100%; 
	z-index:100;
}
#header_wrap.hide {
    top: -100%!important;
}
#header_wrap.index_header {
	position:relative;
	top:0; 
	left:0; 
	width:100%; 
	z-index:1000;
	transition: all 0.3s;
}
.home #header_wrap.index_header{
	opacity:0;
}
.home.is-in #header_wrap.index_header{
	opacity:1;
}
#header_area{
	margin: auto;
}

#logo {
    height:auto;
	max-height:1000px;
    box-sizing:border-box;
    text-align: center;
    z-index: 2;
}
.side_menu{
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 10;
    padding-top: 30px;
	padding-left:4%;
	background:transparent;
}
@keyframes pathmove_down {
	0% {
		height: 0;
		top: 140px;
		opacity: 0;
	}

	30% {
		height: 50px;
		opacity: 1;
	}

	100% {
		height: 0;
		top: 210px;
		opacity: 0;
	}
}

#loading-wrapper { 
  position: fixed;
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  background: #fff; 
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
  align-items: center; 
  transition: all 0.3s; 
  z-index: 9999;
} 
.loader {
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load5 1.1s infinite ease;
  animation: load5 1.1s infinite ease;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
@-webkit-keyframes load5 {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #f5f5f5, 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.5), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.7), 1.8em -1.8em 0 0em #ffffff, 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.5), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.7), 2.5em 0em 0 0em #ffffff, 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.5), 2.5em 0em 0 0em rgba(230, 230, 230, 0.7), 1.75em 1.75em 0 0em #ffffff, 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.5), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.7), 0em 2.5em 0 0em #ffffff, -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.5), 0em 2.5em 0 0em rgba(230, 230, 230, 0.7), -1.8em 1.8em 0 0em #ffffff, -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.5), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.7), -2.6em 0em 0 0em #ffffff, -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.5), -2.6em 0em 0 0em rgba(230, 230, 230, 0.7), -1.8em -1.8em 0 0em #ffffff;
  }
}
@keyframes load5 {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #ffffff, 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.5), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.7), 1.8em -1.8em 0 0em #ffffff, 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.5), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.7), 2.5em 0em 0 0em #ffffff, 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.5), 2.5em 0em 0 0em rgba(230, 230, 230, 0.7), 1.75em 1.75em 0 0em #ffffff, 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.5), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.7), 0em 2.5em 0 0em #ffffff, -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.2), -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.5), 0em 2.5em 0 0em rgba(230, 230, 230, 0.7), -1.8em 1.8em 0 0em #ffffff, -2.6em 0em 0 0em rgba(230, 230, 230, 0.2), -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.5), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.7), -2.6em 0em 0 0em #ffffff, -1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(230, 230, 230, 0.2), 1.8em -1.8em 0 0em rgba(230, 230, 230, 0.2), 2.5em 0em 0 0em rgba(230, 230, 230, 0.2), 1.75em 1.75em 0 0em rgba(230, 230, 230, 0.2), 0em 2.5em 0 0em rgba(230, 230, 230, 0.2), -1.8em 1.8em 0 0em rgba(230, 230, 230, 0.5), -2.6em 0em 0 0em rgba(230, 230, 230, 0.7), -1.8em -1.8em 0 0em #ffffff;
  }
}


.completed {
  opacity: 0;
  visibility: hidden;
}

#logo a,#logo img{
	display: block; 
	width: auto;
	max-width:270px;
}

#toggle{
	display:block;
	height:65px;
	top:0;
	right:0;
	z-index:9000;
	float:right;
	position: fixed;
}
#toggle a{
	display:block;
	background:none;
	color:#E50012;
	width:80px;
	height:65px;
	box-sizing:border-box;
	position:relative;
}
#toggle a span, #toggle a::before , #toggle a::after{
	content:"";
	font-size:0;
	position:absolute;
	display:block;
	background:#222;
	width:38px;
	height:1px;
	margin:auto;
	left:0;
	right:0;
	transition:all 0.3s;
}
.fixed #toggle a::before, .fixed #toggle a::after {
	background:#222;
}
.home #toggle a span, .home #toggle a::before , .home #toggle a::after{
	background:#222;
}
.home #toggle a.open:before,.home #toggle a.open:after,.home #toggle a.open span{
	/*background:#fff;*/
}
.smallhead #toggle a span, .smallhead #toggle a::before , .smallhead #toggle a::after{
	background:#222;
}
.smallhead #toggle a.open::before , .smallhead #toggle a.open::after{
	/*background:#fff;*/
}
#toggle a::before{top:20px;}
#toggle a span{top:30px;}
#toggle a::after{top:40px;}

#toggle a.open{color:#fff;}
#toggle a.open span{opacity:1;}

#toggle a.open span{opacity:0;}
#toggle a.open:before{
	-moz-transform:translate(0, 12px) rotate(45deg);
	-webkit-transform:translate(0, 12px) rotate(45deg);
	transform:translate(0, 12px) rotate(45deg);
	top:21px;
	left:0;
}
#toggle a.open:after{
	-moz-transform:translate(0, -12px) rotate(-45deg);
	-webkit-transform:translate(0, -12px) rotate(-45deg);
	transform:translate(0, -12px) rotate(-45deg);
	top:45px;
	left:0;
}
.mbox {	
	display: none; 
	z-index: 10000;
}
.mbox_open { 
	display: block;
}
#menu {
	padding-top:270px;
}

#menu nav>ul>li{
	position:relative;
	padding-left:100px;
}
#menu nav>ul>li>a{
	position:relative;
	transition:all .3s ease;
}
/* #menu nav>ul>li:first-child:before,#menu .nav_btn:before{
	content:none;
} */
#menu nav>ul>li a:before{
	position: absolute;
    content: "";
    background: transparent;
    width: 45px;
    height: 1px;
    left: -55px;
    top: 0;
    bottom: 0;
    margin: auto;
	transition:all .3s ease;
}
#menu nav>ul>li a:hover:before,
#menu nav>ul>li a.current:before{
    background: #222222;
}

#menu nav>ul>li>a {
	display:inline-block; 
	font-weight: 500;
	color: #222222;
	text-decoration:none; 
	position:relative; 
	/*margin:30px auto ;*/
	transition:all 0.3s;
}

#menu nav>ul>li>a:hover,#menu nav>ul>li.on>a{
	opacity: .7;
}

#menu .nav_btn{
	height: auto;;
	text-align: center;
}
.contact_menu{
	position:fixed;
	right:20px;
	top:40px;
}
#menu .nav_btn a{
	display:inline-block;
	background: #222;
	padding:5px 30px;
	border-radius:30px;
	margin:0;
	color:#fff;
}
#menu .nav_btn a span{
	margin-bottom:0;
}

#menu nav ul li a.modal-close {
	display: none;
	position: fixed;
	top: 20px;
	right: 20px;
	width: 44px;
	height: 44px;
	font-size: 0;
	text-decoration: none;
	background: url(img/common/icon_close.svg) center no-repeat;
	opacity: 0;
	transition:all 0.3s;
}
#menu nav ul li a.modal-close.open {
	display: block;
	z-index: 10000;
	opacity: 1;
	transition: all 0.3s;
}


.h_sub_list {
    transition: visibility .3s , opacity .3s;
    position: absolute;
    left: 0;
    top: 80%;
    z-index: 1000;
    /*margin-left: -50%;*/
	/*box-shadow: rgb(0 0 0 / 9%) 0 3px 3px;*/
}
.s_sub_item {
    overflow: hidden;
    /*opacity: 0;*/
    height: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.s_sub_item {
    margin: 0 0 2px;
}
.menu_item {
    display: inline-block;
    position: relative;
}
.menu_item .h_sub_list {
	/*opacity: 0;*/
}
.menu_item:hover .h_sub_list {
    opacity: 1;
}
.menu_item:hover > .h_sub_list > .s_sub_item {
    overflow: visible;
    opacity: 1;
    height: auto;
	box-shadow: rgb(0 0 0 / 9%) 0 3px 3px;
}

.h_sub_link {
    display: block;
    padding: 10px 30px 10px 30px;
    background: #fff;
    color: #000;
    white-space: nowrap;
    text-align: center;
    transition: background-color .3s;
    text-decoration: none !important;
	-webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.h_sub_link:hover{
	background:#0168a2;
	color:#fff;
}
#menu .menu_ja{
	font-size:1.6rem;
	letter-spacing:0.2em;
	display:inline-block;
	font-weight:400;
	line-height:1.0;
	margin-bottom:10px;
}

/*#footer_wrap {
    position: relative;
    background: #1b3342;
	color: #fff;
}
.footer_main {
    max-width: 1340px;
	width: 100%;
	display: flex;
	justify-content: space-between;
    padding: 55px 20px 60px 20px;
    margin: auto;
    box-sizing: border-box;
    overflow: hidden;
}
#footer_box{
	background:url(img/footer_bg.jpg)no-repeat;
	background-size:cover;
	background-position:center bottom;
}
*/
.copyright{
	/*text-align:center;
	padding-top:400px;
	padding-bottom:20px;*/
	position: absolute;
    bottom: 20px;
    left: calc(50% - 63px);
}
.copyright span{
	font-size:1.1rem;
	letter-spacing:0.2em;
	font-weight:500;
}
#return {
	position:relative;
}
#return a {
    position: fixed;
    bottom: 20px;
    right: 40px;
    display: block;
    background: #00aee6 url(img/arrow_t_white.svg) no-repeat center center / 23px 13px;
	width: 60px;
    height: 60px;
    transition: background-color .3s;
    font-size: 0;
    text-decoration: none;
    z-index: 1;
}

#return a:hover {
    background-color: #3288c8;
}
#breadcrumb {
    max-width: 1200px;
    margin: auto;
    overflow: hidden;
    font-size: 80%;
    padding: 20px 20px 0;
}
#breadcrumb span{
	margin-left:5px;
}
#breadcrumb .breadcrumb_inner a {
    color: #222;
    margin: 0 10px 0 0;
}
.link_btn {
    margin: 45px 30px 0 30px;
    position: relative;
	text-align:center;
}
.link_btn a {
    display: block;
/* 	color:#000!important; */
/* 	font-family: 'Noto Serif JP', serif; */
/* 	border:1px solid #000; */
	color:#fff !important;
	border: 1px solid #a6a5a5;
/*     line-height: 1.0; */
	letter-spacing:0.2em;
    text-align: center;
    text-decoration: none!important;
        max-width: 200px;
    min-width: 135px;
	width:100%;
    padding:15px;
	margin:auto;
	background-color: #a6a5a5;
    box-sizing: border-box;
/*     background-size: 200% auto; */
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
	position:relative;
}
.link_btn a:hover {
/* 	border:1px solid #2e64b3; */
	color:#222 !important;
	background-color:#fff;
/*     background-position: right center; */
/*     opacity: 1.0; */
/* 	color:#fff!important; */
}


.link_btn_more{
	text-align:right;
}
.link_btn_more a{
	display:inline-block;
/* 	font-family: 'Krona One', sans-serif; */
	font-size:1.4rem;
	letter-spacing:0.1em;
	color:#1d3647;
	text-decoration:none;
	padding-bottom: 10px;
	padding-right:30px;
	 -webkit-transition: all .3s ease;
    transition: all .3s ease;
	position:relative;
}
.link_btn_more a:before{
	content: '';
    display: inline-block;
    background: #0168a2;
    border: 6px solid #e5ecf1;
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    right: 0;
    top: calc(50% - 16px);
}
.link_btn_more a:after{
	content: '';
	position:absolute;
    display: block;
    background: #0797ad;
	height:1px;
	width:calc(100% - 3px);
	bottom:0;
}
.link_btn_more a:hover{
	opacity:0.8;
	text-decoration:none;
}



.content_area {
    margin: 0 auto;
/* 	padding-bottom:60px; */
}
.tablecell{
	/*display: table-cell;
    vertical-align: middle;*/
    width: 100%;
	height:100%;
	position:relative;
	padding:120px 0 200px 0;
	box-sizing:border-box;
}
.section{
	position:relative;
	padding-left:300px;
	box-sizing:border-box;
}

#page_last .tablecell{
	padding-bottom:150px;
}
#page01{
	padding:0;
}
.scroll{
	position:absolute;
	bottom:0;
	left:calc(50% - 36.5px);
}
.scroll a{
	position:relative;
	display:inline-block;
	padding-bottom:50px;
	color:#222;
	font-family:"oswald", sans-serif;
	font-size:1.2rem;
	text-decoration:none;
}
.scroll a:after{
	content:"";
	position:absolute;
	width:1px;
	height:50px;
	bottom:0;
	right:calc(50% - 1px);
	background:#222;
}
.inner{
	max-width:1040px;
	width:100%;
	margin:0 auto;
	padding:0 20px;
	box-sizing:border-box;
}
.inner.w_1300{
	max-width:1340px;
}
.onepage-wrapper .section {
    display: table;
	
}
.content_area a:visited {
	color: #222f;
}
.content_area a {
    color: #222;
	text-decoration:underline;
}
.content_area a:hover {
    text-decoration: none;
}
/*-------------------------------------------------------------
	table
-------------------------------------------------------------*/
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* table nomal*/

.content_area table {
    max-width: 1000px;
	width: 100%;
    margin: 20px auto 30px auto;
	border-top:1px solid #dedede;
	border-bottom:1px solid #dedede;
}
.content_area table tr{
	border-bottom:1px solid #dedede;
}
.content_area table tr:last-child{
	border:none;
}
.content_area table th {
    font-weight: bold;
	background:#f4f4f4;
	text-align: left;
	padding:20px 30px;
	border-left:1px solid #dedede;
}
.content_area table td{
	padding:20px;
	border-left:1px solid #dedede;
	border-right:1px solid #dedede;
}




img {
	max-width: 100%;
	height: auto;
	vertical-align:bottom;
}
 p {
    display: block;
    margin-bottom: 30px;
    line-height: 1.85em;
	 /*letter-spacing:0.1em;*/
	 letter-spacing:0.04em;
}
.column_02, .column_03{
    display: flex;
    flex-wrap: wrap;
	margin-bottom:20px;
}
.column_02 > div{
	 width:48%;
	margin-right:4%;
	box-sizing: border-box;
}
.column_02 > div:nth-child(2n){
	margin:0;
}
.column_03 > div{
 		width:31.3333%;
		margin-right:3%;
		box-sizing: border-box;
}
.column_03 > div img{
	margin:0;
}
.column_03 > div:nth-child(3n){
	margin:0;
}



/* Error */
.error404 #content_h.company_h{
	height:400px;
}
.error404 #h_area:before,
.error404 #h_area:after{
	display:none;
}
.error404 .content_area{
	margin:70px auto;
}


@media (min-width: 768px){
	body{
		min-width: 1300px;
	}
    
}

@media screen and (max-width:767px){
	body {
		-webkit-text-size-adjust:100%;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
		font-size:81.25%;
	}
	input,textarea,select{font-size:1.4rem;}
	body{
		background:#fff;
		width:auto;
	}
	img{
		width:auto;
		height:auto !important;
		max-width:100%;
	}
	#nojs{
		width:auto;
		background:#fff;
		color:#f00;
		padding:10px;
		border:5px solid #F00;
		text-align:center;
		margin:10px auto;
	}
	.pc_size {
		display:none !important;
	}
	.sp_size {
		display:block !important;
	}
	.link_btn {
		margin: 25px 0 0;
	}
	.link_btn a {
		font-size:1.3rem;
		padding: 15px;
		display:block;
		min-width:auto;
	}
	.link_btn_more a{
		font-size:1.2rem;
	}
	
	#header_wrap.smallhead .nav_btn a,#header_wrap.smallhead .nav_btn a:hover{
		/*background:none;*/
	}
	#header_wrap{
		z-index:10000;
	}
	#header_wrap.sp_menu_on{
		border-bottom:none;
	}
	#header_wrap.index_header {
		position:fixed;
		top:0; 
		left:auto;
		height: 65px;
		/*transition: background-color 0.3s;*/
		transition: top 0.6s;
		display: flex;
    	justify-content: center;
    	align-items: center;
		background:#fff;
	}
	#header_area{
		margin-left:0;
	}
	#logo{
		float:none;
		position: relative;
		width:180px;
		z-index: 100;
		height:auto;
		padding-top:0;
		background:transparent;
	}
	#logo a,#logo img{
		max-width: 145px;
	}
	#toggle {
		position: absolute;
	}
	.side_menu{
		background:#fff;
		padding-top:15px;
		padding-left:15px;
		padding-bottom:10px;
		height:auto;
		width:100%;
		box-sizing:border-box;
	}
	#menu-box {
		float: none;
		position: fixed;
		z-index: 8000;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		padding-top: 69px;
		padding-bottom: 80px;
		margin: 0;
		background: #fff;
		box-sizing: border-box;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	#menu {
		display:block;
		clear:both;
		background:none;
		padding:0 20px 40px;
		position:relative;
		z-index:10000; 
		float:none;
	}
	#menu .menu_ja{
		font-size:1.6rem;
		margin-bottom:0;
	}
	.menu_dis {
		display:none !important;
	}
	.menu_mbox{display:block !important;}
	.overlay_none{position:fixed;}
	#js-gnav-layer{
		background:#fff !important;
		z-index:90;
	}

	#menu ul{
		border-top:1px solid #ccc;
	}
	#menu nav ul li{
		float:none;
		margin:0;
		width:auto;
		border-bottom:1px solid #ccc;
		position:relative;
		box-sizing:border-box;
		text-align:center;
		box-shadow: none;
		padding-left:0;
	}
	#menu nav>ul>li a:hover:before,
	#menu nav>ul>li a.current:before{
		content:none;
	}
	.contact_menu{
		position:static;
	}
	#menu .contact_menu ul{
		border-top:none;
	}
	#menu nav ul li.top_item {
		padding: 0;
		margin-bottom: 15px;
		border-bottom: 1px solid rgba(255,255,255,.3)!important;
	}
	#menu nav ul li a{
		padding:13px 15px 13px;
		/*color:#fff !important;*/
		font-size: 1.5rem;
		margin:0;
		background: inherit;
		opacity: 1!important;
	}
	#menu nav ul li.nav_btn{
		display:block;
		text-align: center;
		margin:auto;
	}
	#menu .nav_btn a{
		padding:13px 15px 13px;
		margin-top:20px;
	}
	#menu nav ul li a span{
		display:inline-block;
	}
	#menu nav ul li.gn_l_sp{display:block;}
	.index_header{position:relative;}
	#header_s_nav{display:none;}
	.sp_menu_on.index_header{
		position:relative;
		top:auto;
		left:auto;
	}
	#menu nav ul li.gn_contact a {
		height:auto; 
		line-height:1; 
		padding:0;
	}

	#menu {
		display:block;
		clear:both;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.menu_dis{display:none !important;}
	.menu_mbox{display:block !important;}
	.sp_menu_on { position: fixed !important; width: 100%; height: 100%; overflow-y: scroll; z-index: 1000; top:0;}
	.body_no { display: none;
	}

	.menu_item {
		display: block;
		float: none;
		margin: 0;
		width: auto;
		border-bottom: 1px solid rgba(255,255,255,.3);
		position: relative;
		box-sizing: border-box;
		text-align: left;
	}
	.parent_btn::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: 22px;
		bottom: 0;
		left: auto;
		margin: auto;
		width: 10px;
		height: 10px;
		background: none;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		opacity: 1;
		visibility: visible;
		transform: rotate(45deg);
		transition: all 0.3s;
	}	
	.parent_btn.open::after {
		top: 6px;
		transform: rotate(-135deg);
	}
	.h_sub_list {
		display: none;
		position: relative;
		padding: 0 0 7px;
		width: 100%;
		margin: 0;
		border-top: 1px solid rgba(255,255,255,.3);
	}	
	.h_sub_link {
		padding: 10px 30px 10px 30px;
		background: transparent;
		border-radius: none;
		color: #fff;
	}
	.s_sub_item {
		border: none!important;
		opacity: 1;
		height: auto;
	}
	.copyright{
		/*padding-top:200px;*/
	}
	#return a {
		width: 50px;
		height: 50px;
		right: 20px;
	}
	#return a::after{height:20px;}
	#return a:hover::after{height:30px;}
	#return a span{
		display:block;
		position:absolute;
		top:-19px;
		width:100%;
		text-align:center;
	}
	.column_02 > div, .column_03 > div {
		width: 100%;
		margin-right:0;
	}
	#wrapper.fixed{
		position: fixed;
	}
}
	
/*---------------------------------------------------------
	Top
---------------------------------------------------------*/
#index_wrap {
    width: 100%;
	height: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
}
#index_main{
	text-align:center;
}


/*catch*/
.catch_area{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
}
.catch_area > div{
	width:49%;
	margin-right:2%;
}
.catch_area > div:last-child{
	font-size:3.4rem;
	margin-right:0;
	text-align:center;
}
.catch_area > div img{
	max-width:100%;
	width:100%;
	filter: contrast(120%);
}
.sub_catch_area{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	flex-direction: row-reverse;
}
.sub_catch_area .sub_catch_img{
	width:49%;
	margin-right:0;
}
.sub_catch_area .sub_catch_img img{
	filter: contrast(120%);
}
.sub_catch_area .sub_catch_txt{
	width:47%;
	margin-right:4%;
}
.sub_catch_area .sub_catch_txt p{
	margin-bottom:0;
}
.sub_catch{
	font-size:2.2rem;
	margin-bottom:100px;
}
/*greeting*/
.greeting_area p{
	margin-bottom:0;
}
.greeting_txt{
	display: flex;
    justify-content: center;
}
/*company*/
.company_table table{
	max-width:1000px;
	width:100%;
	margin:auto;
	border-top:1px solid #eeeeee;
}
.company_table table th,.company_table table td{
	padding: 5px 10px;
	border-bottom: 1px solid #eeeeee;
	text-align:left;
}

/*store*/
.store_block h3{
	font-size:2.0rem;
	font-weight:400;
	border-bottom:1px solid #eeeeee;
	margin-bottom:15px;
}
.store_block{
	max-width:1000px;
	margin:auto;
}
.store{
	display:flex;
	flex-wrap:wrap;
}
.store > div{
	width:50%;
}
.store_img{
	text-align:center;
}
.store_img img{
	max-width:320px;
	width:100%;
	filter: contrast(120%);
}
.store table {
	width:100%;
}
.store table th{
	text-align:left;
	width:20%;
	min-width:115px;
	vertical-align:baseline;
	padding:0 15px;
}
.store table td{
	padding:0 10px;
}
.map{
	color:#000;
	padding-left:25px;
	background:url(img/map_pin.svg)no-repeat;
	background-size:20px 20px;
	background-position:left;
}
.map:hover{
	text-decoration:none;
}


/*service*/
.service_content{
	max-width:870px;
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	margin:50px auto 0 auto;
	box-sizing:border-box;
}
.service_content > div{
	width:30%;
	margin-right:2%;
	background:#f9f9f9;
	padding:30px 10px;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;    
	align-items: center;
	box-sizing:border-box;
	min-height:230px;
	margin-bottom:20px;
}
.service_box h3{
	font-size:2.0rem;
	margin-top:20px;
	letter-spacing:0;
}
.service_img{
	width:100%;
	text-align: center;
}

/*recruit,requirements*/
.recruit_area h3{
	font-size:2.2rem;
	letter-spacing:0.2em;
	font-weight:400;
	margin-bottom:15px;
}
.recruit_area p{
	margin-bottom:0;
}
.requirements_table table {
	max-width: 1000px;
    width: 100%;
    margin: auto;
    border-top: 1px solid #eeeeee;
}
.requirements_table table th,.requirements_table table td{
	padding: 5px 10px;
    border-bottom: 1px solid #eeeeee;
    text-align: left;
}
.requirements_table table th{
	vertical-align:baseline;
}
/*
 				scroll用css
											*/
/*.wrapper {
    	height: 100% !important;
    	height: 100%;
    	margin: 0 auto ; 
    	overflow: hidden;
		box-sizing:border-box;
    }
    .pointer {
      color: #9b59b6;
      font-family: 'Pacifico', cursive;
      font-size: 30px;
      margin-top: 15px;
    }
    code {
      margin: 20px 1%;
      float: left;
      width: 48%;
      height: 105px;
      background: rgba(0,0,0,0.1);
      border: rgba(0,0,0,0.05) 5px solid;
      border-radius: 5px;
      padding:5px;
      color: white;
      text-align: center;
      font-size: 15px;
      margin-top: 25px;
      display: block;
      box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
    }
    code.html {
      color: #7EC9E6;
    }
    code.js {
      color: #FFAD00;
    }

    .main {
      float: left;
      width: 100%;
      margin: 0 auto;
    }

.reload.bell {
      font-size: 12px;
      padding: 20px;
      width: 45px;
      text-align: center;
      height: 47px;
      border-radius: 50px;
      -webkit-border-radius: 50px;
      -moz-border-radius: 50px;
    }
    
    .reload.bell #notification {
      font-size: 25px;
      line-height: 140%;
    }
    
    .reload, .btn{
      display: inline-block;
      border: 4px solid #A2261E;
      border-radius: 5px;
      -moz-border-radius: 5px;
      -webkit-border-radius: 5px;
      background: #CC3126;
      display: inline-block;
      line-height: 100%;
      padding: 0.7em;
      text-decoration: none;
      color: #fff;
      width: 100px;
      line-height: 140%;
      font-size: 17px;
      font-family: open sans;
      font-weight: bold;
    }
    .reload:hover{
      background: #444;
    }
    .btn {
      width: 200px;
      color: rgb(255, 255, 255);
      border: 4px solid rgb(0, 0, 0);
      background: rgba(3, 3, 3, 0.75);
    }
    .clear {
      width: auto;
    }
    .btn:hover, .btn:hover {
      background: #444;
    }
    .btns {
      width: 410px;
      margin: 50px auto;
    }
    .credit {
      text-align: center;
      color: rgba(0,0,0,0.5);
      padding: 10px;
      width: 410px;
      clear: both;
    }
    .credit a {
      color: rgba(0,0,0,0.85);
      text-decoration: none;
      font-weight: bold;
      text-align: center;
    }
    
    .back {
      position: absolute;
      top: 0;
      left: 0;
      text-align: center;
      display: block;
      padding: 7px;
      width: 100%;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      background: rgba(255, 255, 255, 0.25);
      font-weight: bold;
      font-size: 13px;
      color: #000;
      -webkit-transition: all 500ms ease-in-out;
      -moz-transition: all 500ms ease-in-out;
      -o-transition: all 500ms ease-in-out;
      transition: all 500ms ease-in-out;
    }
    .back:hover {
      color: black;
      background: rgba(255, 255, 255, 0.5);
    }

    .main section  {
      overflow: hidden;
		padding-left:350px;
		box-sizing:border-box;
    }
.main #page01{
	padding-left:0;
}
    .main section > img {
      position: absolute;
      max-width: 100%;
      z-index: 1;
    }

	  
body .one .bsa_it_ad { background: transparent; border: none; font-family: inherit; padding: 0 15px 0 10px; margin: 0; text-align: center; }
body .one .bsa_it_ad:hover img { -moz-box-shadow: 0 0 3px #000; -webkit-box-shadow: 0 0 3px #000; box-shadow: 0 0 3px #000; }
body .one .bsa_it_ad .bsa_it_i { display: block; padding: 0; float: none; margin: 0 0 5px; }
body .one .bsa_it_ad .bsa_it_i img { padding: 0; border: none; }
body .one .bsa_it_ad .bsa_it_t { padding: 6px 0; }
body .one .bsa_it_ad .bsa_it_d { padding: 0; font-size: 12px; color: #333; }
body .one .bsa_it_p { display: none; }
body #bsap_aplink, body #bsap_aplink:hover { display: block; font-size: 10px; margin: 12px 15px 0; text-align: center; }*/
/*
 		scroll用cssここまで
											*/
body.page{
	overflow:visible!important;
}


@media screen and (max-width:767px){
	/*
 		scroll用css
											*/
		.main section{
		padding-left:0;
	}
	/*
 		scroll用cssここまで
											*/
	#index_wrap{
		margin-left:0;
	}
	#top_h1 {
		top: 45%;
	}
	#top_h1 h1 {
		font-size:3.0rem;
		margin:auto;
		padding:0 20px;
	}

	#index_main img{
		max-width: 240px;
	}
	#news_wrap{
		padding:0;
	}
	#sec_news {
		padding: 50px 0 0 0;
	}
	.news_list {
		width:100%;
		padding:30px 20px 20px 30px;
	}
	.news_list li {
		width:100%;
		margin-bottom:30px;
	}
	.news_list li:last-child{
		margin-bottom:0;
	}
	.news_date {
		font-size:1.4rem;
	}
	/*.news_list a {
		display: inline-block;
		font-size: 92.3076%;
		margin-left: 0;
	}*/
	.news_sec_inner{
		margin:0 auto;
	}
	.news_cate{
		/*width:100px;*/
	}
	.news_title{
		font-size:1.6rem;
		margin:8px auto;
	}
	.news_list .link_btn{
		text-align:center;
	}
	#menu nav>ul{
		display: block;
	}
    .header_txt {
        left: 45px;
        top: 170px;
        font-size: 100%;
    }
	#page_top_h1{
       bottom: 60px;
       max-width: 100%;
       top: 200px;
       font-size: 200%;
   }
	.news_bg{
		width:100%;
		height:300px;
	}
	.news_sec_inner .top_ttl{
		margin-bottom:30px;
	}
	.news_box{
		padding-top:300px;
	}
     #page_top_h1 h1{
       bottom: 60px;
       max-width: 100%;
       top: 0;
       font-size: 200%;
       margin-bottom: 10px;
       left:45px;
   }
	.tablecell{
		padding:80px 0 100px 0;
	}
	.scroll a{
		padding-bottom:30px;
	}
	.scroll a:after{
		height:30px;
	}
	/*catch*/
	.catch_area > div{
		width:100%;
		margin-right:0;
	}
	.catch_area > div:last-child{
		font-size:2.5rem;
		margin-top:50px;
	}
	.sub_catch_area .sub_catch_img{
		width:100%;
		margin-bottom:40px;
	}
	.sub_catch_area .sub_catch_img img{
		max-width:100%;
		width:100%;
	}
	.sub_catch_area .sub_catch_txt{
		width:100%;
		margin-right:0;
	}
	.sub_catch{
		font-size:1.8rem;
		margin-bottom:20px;
	}
	/*company*/

	/*store*/
	.store_block h3{
		font-size:1.8rem;
	}
	.store_block{
		margin-bottom:30px;
	}
	.store{
		flex-direction: column-reverse;
	}
	.store > div{
		width:100%;
	}
	.store_img{
		margin-bottom:20px;
	}
	.store_img img{
		max-width:100%;
	}
	.store table th{
		width:25%;
		min-width:auto;
		padding:0 10px 0 10px;
	}
	
/*service*/
	.service_box h3{
		font-size:1.6rem;
		margin-top: 10px;
		line-height:1.2;
	}
	.service_content > div{
		width:48%;
		margin-right:4%;
		padding: 20px 20px;
		min-height:150px;
	}
	.service_img {
		width: 70%;
	}
	.service_content > div:nth-child(2n){
		margin-right:0;
	}
	.service_content > div:last-child{
		margin-right:0;
	}
	
	/*recruit,requirements*/
	.recruit_area h3{
		font-size:2.0rem;
		margin-bottom:10px;
		letter-spacing: 0;
	}
	.requirements_table table th{
		width:25%;
	}
}




/*---------------------------------------------------------
	共通
---------------------------------------------------------*/
a[href^="tel:"]{
	color:#222!important;
	text-decoration:none;
	pointer-events:none;
}
.anchor {
    display: block;
    padding-top: 130px!important;
    margin-top: -130px!important;
}
.wp-pagenavi {
	margin: 60px auto 100px;
    text-align: center;
}
.wp-pagenavi .pages {
    display: none;
}
.wp-pagenavi a, .wp-pagenavi span {
	border:none;
	text-decoration:none;
    padding: 8px 0;
    margin: 1px 15px;
	display: inline-block;
	transition:all 0.3s ease;
	font-size:1.6rem;
	width:45px;
	height:45px;
	box-sizing:border-box;
}
.wp-pagenavi span.current {
	background: #a6a5a5;
	color:#fff!important;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
	font-weight:400 !important;
    border: none;
	background: #a6a5a5;
	color:#fff!important;
	transition:all 0.3s ease;
}
.content_area .pagenav {
	width: 100%;
    text-align: center;
	margin: 40px 0;
}
#page_wrap .copyright {
	padding-top: 90px;
}
h2{
	font-size:3.0rem;
	line-height:1.2;
	margin-bottom:40px;
	text-align:left;
	font-weight:400;
	padding-bottom:10px;
	border-bottom:1px solid #dcdcdc;
}
h3{
	font-size:173.333%;
	font-weight:700;
}
.txt_right{
	text-align: right;
}
.txt_center{
	text-align:center;
}
.inview{
	opacity:0;
	transform:translateY(50px);
	transition:all 0.8s cubic-bezier(.3,.1,.3,1);
}
.inview.on{
	opacity:1;
	transform:translateY(0);
}
.fill_wrap {
	position: relative;
}
.fill_over {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.fill_over::before {
	content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 15;
    background: #FFF;
    transform: translateX(0px);
    transform-origin: left center 0;
    transition: transform 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.3s;
}
.on .fill_over::before {
   transform: translateX(101%);
}
.fill_over::after{
	content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 15;
/* 	background-image: linear-gradient(90deg, #d71e18 10%, #d76015 60%, #d71e18); */
	background-color:#0797ad;
    background-position: left center;
    background-size: 200% 100%;
    background-repeat: no-repeat;
    transform: scaleX(0) translateX(0px);
    transform-origin: left center 0;
    transition: transform 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0s;
}
.on .fill_over::after{
	transform: scaleX(1) translateX(101%);
}

/*---------------------------------------------------------
	form_btn iphone用
---------------------------------------------------------*/
form input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0;
}
/*---------------------------------------------------------
	各ページheader
---------------------------------------------------------*/
/* .page_header {
    padding-top: 122px;
} */
#page_wrap {
	    margin-left: 300px;
	position:relative;
	    min-height: 100vh;
}
.page_header {
	max-width: 1300px;
	width: 100%;
	margin: 120px auto 0;
	padding: 0 20px;
	box-sizing: border-box;
}

.page_header h1 {
	max-width: 1000px;
	font-size: 3.0rem;
	line-height: 1.2;
	letter-spacing: 0.2em;
	margin-bottom: 70px;
	text-align: left;
	font-weight: 400;
	padding: 0 0 14px;
	border-bottom: 1px solid #dcdcdc;
}





@media screen and (max-width:767px){
	a[href^="tel:"]{
	pointer-events:auto;
}
	.anchor{
		display: block;
    	padding-top: 100px!important;
    	margin-top: -100px!important;
	}
	.wp-pagenavi {
		margin: 60px auto 80px;
	}
	.wp-pagenavi a, .wp-pagenavi span{
		width:40px;
		height:40px;
		margin:0 5px;
		font-size: 1.3rem;
	}
	
	#page_wrap .copyright {
		padding-top: 40px;
	}
	h2{
		font-size:2.5rem;
		margin-bottom:25px;
	}
	h3{
		font-size:2.0rem;
	}
	.content_area table th{
		padding:15px 10px;
	}
	.content_area table td{
		padding:15px 20px;
	}
	th, td, td ul, td ol, td ,p, a{
		font-size:1.3rem;
		margin-bottom:15px;
		line-height:1.6;
	}
	#page_wrap {
		margin-left: 0;
	}

	.page_header {
		margin: 80px auto 0;
	}

	.page_header h1 {
		font-size: 2rem;
		padding: 0 0 10px;
		margin-bottom:50px;
	}

	#page_ttl{
		margin:40px auto 0 auto;
	}
	#page_ttl h1{
		font-size:3.0rem;
	}
	#content_h{
		margin-left:0;
	}
}

/* #### Generated By: http://www.cufonfonts.com #### */

@font-face {
    font-family: 'Agency FB Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Agency FB Bold'), url('font/AGENCYB.woff') format('woff');
    }