.pc {
	display:none !important;
}


/*	reset
----------------------------------------------------*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textcat,p,blockquote,th,td,figure,section,table{
	font-size:16px;
}

h1 {
	font-size:21px;
}
h2 {
	font-size: 2em;
}
h3 {
	font-size: 17px;
}
h4 {
	font-size: 15px;
}
h5 {
	font-size: 13px;
}
.sp_logo {
	margin-bottom:0;
	padding-top:25px;
	text-align:center;
	background:#000;
}
.sp_logo img {
	width:60%;
}

.description {
	padding:0.5em;
}

.spleft {
	text-align:left !important;
}

/*flex*/
.flexwrap img{
	max-width:100%;
}
.maincontent .flex4 {
	display:flex;
	flex-wrap:wrap;
	flex-direction: row;
}
.maincontent .flex4 li {
	width:50%;
}

/*	maincontent
----------------------------------------------------*/
#maincolumn {
	padding:0.8em;
}

.maincontent {
	overflow:hidden;
	padding:1em;
}
.maincontent section{
}



/*	header navi
----------------------------------------------------*/
.logo_sp {
	max-width: 84%;
    padding: 0.5em 0 0.7em 0.5em;
	margin-bottom:0;
}
.logo_sp a {
	display:block;
}
.logo_sp img {
	max-width: 99%;
	pointer-events: none;
}

.logo {
    padding: 0 12px 0 0;
	text-align: center;
}
.logo img {
	max-width: 89%;
}
.navi_wrap{
	z-index:10;
	width:100%;
}

.navi li {
	font-size:18px;
}
.navi{
	width:100%;
	margin-bottom:0;
	background:#FFF;
}

.navi li a{
	position:relative;
	display:block !important;
	padding:1em;
	border-bottom:#CCC 1px solid;
	color:#000;
	text-align:left !important;
}
.navi li a:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -7px;
}
.navi li.active > a:after{
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.navi li img {
	height:60px;
}

#subnavi {
	margin-bottom:0;
	text-indent:1em;
}
#subnavi li {
	border-bottom:#DDD;
}
#subnavi li a {
	border-bottom: #FFF 1px solid;
	color:#FFF;
	text-align:left !important;
}

#subnavi span {
	padding-left: 5px;
}

#breadcrumbs li {
	font-size:12px;
}
#breadcrumbs ul {
    position: relative;
    bottom: 0;
    width: 100%;
    padding: 0 0 0.2em 0.5em;
    background: rgba(0,0,0,1.4);
    text-align: left;
}

/*ナビゲーションボタン*/
#navi_toggle {
	z-index:50;
	position:fixed;
	top:0;
	width:100%;
	padding:10px 0;
	background:#FFF;
	text-align:center;
	border-top:#DDD 1px solid;
	border-bottom:#DDD 1px solid;
}

#toggle {
	position:absolute;
	top: 0.3em;
	right:0.5em;
	width:42px;
	height:42px;
}

#menuButton {
    display: block;
    width: 42px;
    height:42px;
    position: absolute;
    
}
#menuButton span {
    display: block;
    background: #77a444;
    width: 24px;
    height: 2px;
    position: absolute;
    left: 9px;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}
#menuButton span:first-child {
    top: 12px;
}
#menuButton span:nth-child(2) {
    margin-top: -1px;
    top: 50%;
}
#menuButton span:last-child {
    bottom: 12px;
}
#menuButton.active span:first-child {
    -webkit-transform: translateY(8px) rotate(45deg);
    -moz-transform: translateY(8px) rotate(45deg);
    -ms-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
}
#menuButton.active span:nth-child(2) {
    opacity: 0;
}
#menuButton.active span:last-child {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    -moz-transform: translateY(-8px) rotate(-45deg);
    -ms-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg);
}


/*sidebar*/

.flexwrap {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	flex-wrap:wrap;
	flex-direction:column;
}



/*	footer
----------------------------------------------------*/
.footer_navi .menu {
	display:block;
}

footer .header_navi {
	border-top:#565656 1px solid;
}
#menu-footer_navi li {
	font-size:18px;
}

/**/
.left_img, .right_img {
	display:none;
}
.bottom .logo_sp {
	padding: 0.5em 1em;
	max-width:100%;
}
.bottom .logo_sp object {
	max-width:100%;
}

#menu-item-77 {
	display:none;
}
.tel {
	margin:0;
	padding:0.8em;
	text-align:center;
	font-size:2.2em;
	font-weight:bold;
}
#copyright {
	margin:0;
	padding:0.5em 0;
}

.tel span {
	display:block;
}

.footer_navi_center p,.footer_navi_center h3, .footer_navi_right p{
	text-align:center;
}

/*archive*/
.archive {
	padding:0 !important;
}

/*single*/
.single_intro_img_sp {
	margin-top:15px;
}
.single_intro_img_sp img {
	width:100%;
}


/*single*/
.single_data_wrap {
	padding:1.4em 0.5em;
}

/*home*/
.flex-caption{
    top: 15px;
	max-width:70%;
}

.topcontent section{
	padding:1em;
}

.company_tb {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}

#pagetop {
    font-size: 7px;
    padding: 15px 4px;
}
#pagetop span {
    font-size: 17px;
}

.catch {
	z-index: 3;
	width: 40%;
	height: auto;
}

/*others*/
.btn a {
    width: 100%;
    box-sizing: border-box;
}

.page_tb th {
	width: 25%;
}

.nopadding_sp {
	padding:0 !important;
}