﻿
@media screen and (min-width: 761px) {
a[href^="tel:"] { pointer-events: none; }

}

/*-------------------------*/
/* SPレイアウト 760px*/
/*-------------------------*/
@media screen and (max-width: 760px) {
*, *:before, *:after {
  box-sizing: border-box;
}

body {
	width:100%;
	min-width:100%!important;
	-webkit-text-size-adjust: 100%;
	font-size:14px;
}
img {
	max-width:100%;
	height:auto;
}

.sn{ display:none;}
.pn{ display:block;}

section { width: 100%;}

/*-------sp_menu--------*/
.menu-trigger,
.menu-trigger span {
	float: right;
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	z-index:9999;
	position:fixed;
	right:0px;
}
.menu-trigger {
	width: 55px;
	height: 55px;
	text-align: center;
	margin: 0;
	z-index: 50000;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 30px;
	height: 2px;
	background-color: #073491;
}
.menu-trigger span:nth-of-type(1) {
	top: 19px;
	left: 15px;
}
.menu-trigger span:nth-of-type(2) {
	top: 26px;
	left: 15px;
}
.menu-trigger span:nth-of-type(3) {
	bottom:27px;
	left: 15px;
}
.menu-trigger span:nth-of-type(4) {
	bottom:20px;
	left: 15px;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) ,
.menu-trigger.active span:nth-of-type(3)  {
	left: 200%;
	opacity: 0;
	-webkit-transform: translateY(0px);
	transform: translateY(5px);
	-webkit-animation: active-menu-bar02 .8s forwards;
	animation: active-menu-bar02 .8s forwards;
}
@-webkit-keyframes active-menu-bar02 {
	100% {
		height: 0;
	}
}
@keyframes active-menu-bar02 {
	100% {
		height: 0;
	}
}
.menu-trigger.active span:nth-of-type(4) {
	-webkit-transform: translateY(-30px) rotate(45deg);
	transform: translateY(-5px) rotate(45deg);
}

header nav.sp{
	position: fixed;;
	top:0;
	width:100%;
	text-align:center;
	z-index:9000;
	height:100vh;
	left:0;
	padding: 30px 40px 80px;
	background:#fff;
	box-shadow: 0px 7px 15px -5px rgba(0, 0, 0, 0.2);
	display: none;
	overflow-y: scroll;
	z-index: 10000;
}

header nav.sp .sidenav ul{}
header nav.sp .sidenav ul li{
	background:#073491;
	overflow:hidden;
	font-size:16px;
	width: 100%;
	border-bottom: 1px solid #fff;
}

header nav.sp .sidenav li:last-child {border-bottom:none;}

header nav.sp .sidenav li a{
	padding:12px 0;
	display:block;
	color:#fff;
}
.logo {margin-bottom:10px;}
.tel {
	text-align:center;
	margin-top:10px;
}





/*=============================
	Layout-Base
===============================*/
/* header
-------------------------*/
header {}
#header {
	width:96%;
	margin:0 auto;
	padding:8px 0;
	text-align:left;
}
	.siteTitle {
		float:none;
		width:60%;
	}




/* main-visual
-------------------------*/
#visual.top {}
    #visual h2 {}

	/* top image and slideshow */
	.slides {
		height: auto;
		overflow: hidden;
	}








/* pagetop
-------------------------*/
#pagetop {}
#totop {
	clear:both;
	position:fixed;
	bottom: 10px;
	right: 0;
	z-index:9999;
	width:44px;
}
#totop a {
	display: block;
}








/* footer
-------------------------*/
footer {}
.ft_nav {
	background:#073491;
	height:auto;
}
	.ft_nav ul {
		width:96%;
		margin:0 auto;
		text-align:center;
		padding-top:10px;
	}
	.ft_nav li {
		padding:0;
		line-height:50px;
		height:50px;
		color:#073491;
		display:block;
		width:48%;
		float:left;
		background:#fff;
		font-size:13px;
		letter-spacing:1px;
		margin:0 0 10px 0;
	}
	.ft_nav li:nth-child(even){ float:right;}
	.ft_nav li a {display:block;}
	.ft_nav li a:link,
	.ft_nav li a:visited,
	.ft_nav li a:hover,
	.ft_nav li a:active { color: #073491;}
#footer {
	width:96%;
	margin:0 auto;
	padding-top:30px;
}
	.ft_logo {float:none; margin-bottom:20px;}
	#footer p {
		line-height:28px;
		float:none;
		width:100%;
		text-align:center;
	}
.copyright {margin-top:10px;}
	.copyright address {
		line-height:50px;
	}



/*=============================
	TopPage setting
===============================*/
section {
	width:96%;
	margin:0 auto;
}
#greeting {
	background:url(../images/top/bg_greeting.jpg) no-repeat center top;
	height:auto;
	background-size:cover;
}
.greeting {}
	.gImg {float:none;}
	.gTxt {
		width:100%;
		float:none;
		padding-top:60px;
	}
	.greeting h3 {
		font-size:26px;
		color:#073491;
		line-height:34px;
		margin-bottom:38px;
		text-align:left;
	}
	.greeting p {
		line-height:32px;
		color:#161616;
		text-align:left;
	}
	.btn_more {
		background:url(../images/top/btn_more.png) no-repeat center top;
		width:288px;
		height:38px;
		line-height:38px;
		padding-left:88px;
		margin:48px auto 0;
		text-align:left;
	}
		.btn_more a {
			display:block;
			text-decoration:none;
			color:#073491;
		}
#order {
	background:url(../images/top/bg_order.jpg) no-repeat center top;
	height:auto;
	background-size:cover;
}
.order {padding-bottom:70px;}
	.oTxt {
		width:100%;
		float:none;
		padding-top:74px;
	}
	.order h3 {
		background:url(../images/top/bg_h3_01.png) no-repeat left top;
		padding-left:38px;
		font-size:26px;
		color:#fff;
		line-height:38px;
		margin-bottom:12px;
		text-align:left;
	}
	.order h4 {
		font-size:20px;
		color:#fff;
		line-height:26px;
		margin-bottom:14px;
		text-align:left;
	}
	.order p {
		line-height:28px;
		color:#fff;
		text-align:left;
	}
	.btn_order {
		width:100%;
		height:76px;
		line-height:76px;
		margin-top:40px;
		border:3px solid #fff;
		float:none;
		font-size:15px;
		font-weight:bold;
	}
		.btn_order a {
			background:url(../images/top/btn_order.png) no-repeat 5% 45%;
			background-size:8%;
			display:block;
			text-decoration:none;
			color:#fff;
			padding-left:20px;
		}
.info {padding:75px 0 40px;}
	.news {
		width:100%;
		float:none;
		margin-bottom:50px;
	}
	.nTtl {
		border-bottom:2px solid #dddddd;
	}
	.info h3 {
		font-size:26px;
		padding-left:36px;
		color:#073491;
		text-align:left;
		line-height:32px;
	}
	.news h3 {
		background:url(../images/top/bg_h3_02.jpg) no-repeat left top;
		float:left;
		margin-bottom:8px;
		width:60%;
	}
	.nTtl p {
		float:right;
		text-align:right;
		line-height:40px;
		width:30%;
	}
		.nTtl p a {
			background:url(../images/top/arw01.jpg) no-repeat left 6px;
			padding-left:16px;
		}
	.news ul {text-align:left;}
	.news li {
		line-height:32px;
		overflow:hidden;
		padding:18px 2%;
		border-bottom:1px solid #dddddd;
	}
	.news li span {
		display:block;
		font-weight:bold;
	}
	.news li a {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.bnr {
		width:100%;
		float:none;
	}
	.bnr h3 {
		background:url(../images/top/bg_h3_03.jpg) no-repeat left top;
		margin-bottom:16px;
	}
	.bnr li {margin-bottom:25px;}


/*=============================
	Sub(Lower)Page setting
===============================*/
/* sub-visual
-------------------------*/
#Subvisual {}
		#Subvisual.info_bg { background-size:cover; }

	.subvisual { height: 200px; }
		.subvisual h2 {
			font-size:28px;
			padding:0 10px;
		}
			.subvisual h2 span { font-size: 14px; }

#Subcontents {}
	.subpage {
		padding-bottom:100px;
		font-size:14px;
	}
		.subpage h3 {
			font-size:24px;
			margin:50px 0 20px;
			padding-bottom:20px;
		}
		.subpage h4 {
			font-size: 20px;
			margin:30px 0 10px;
			padding:5px 50px ;
	}

/* table
-------------------------*/
table.defTable01 { border: 1px solid #c3c5c7; }
table.defTable01 th {
	width:100%;
	display:block;
	border:none;
}
table.defTable01 td {
	display:block;
	border:none;
}

/* 文章+写真
-------------------------*/
.txtBox dt , .txtBox dd {
	float:none;
	width:100%;
}
	.subpage .txtBox p { margin:10px 0 0; }

/* flex
-------------------------*/
.flex { display: block; }

/* 写真
-------------------------*/
ul.photo_list01{ margin:40px 0; }
	ul.photo_list01 li{
		width:100%;
		margin:2% 0 0;
	}
		ul.photo_list01 li:first-child{ margin-left:0;}
		ul.photo_list01 li:last-child{ margin-right:0;}
	.photo_list01 img {
		width:100%;
		overflow: hidden;
		object-fit: cover;
	 }

/* 写真+ttl
-------------------------*/
ul.photo_list02{ margin:20px 0; }
	ul.photo_list02 li{
		width:100%;
		margin:0 0 40px;
	}
.subpage .catchcp {
	padding:10px;
	margin-top:50px;
}
.dl01  dl {
	width:100%;
	margin-right:0;
	margin-bottom:20px;
}
	.dl01  dl dt {
		font-size:24px;
		color:#fff;
	}

.ulBox01, .ulBox02 { margin-left:10px; }


/* business.html
-------------------------*/
.businessF ul {
	width:100%;
	background:none;
}
	.businessF li {
		width:100%;
		font-size:16px;
	}

.businessContent li {
	width:100%;
	margin-right:0;
	margin-bottom:10px;
}
.subbanner { text-align:center; }
.subbanner img.fRight { float:none; margin-top:10px; }

/* order.html
-------------------------*/
.flowlist{
	padding:10px;
	margin-bottom:20px;
}
	.flowlist dt {
		width:100%;
		float:none;
	}
	.flowlist dd {
		width:100%;
		float:none;
		margin-left:0;
		padding:10px 0;
	}
		.flowlist dd.flow_ttl { font-size:20px; }

/* product.html
-------------------------*/
.product-list01{ display:block; }
	.product-list01 li{
		width:100%;
		text-align:center;
		margin:20px 0;
	}
	.product-list01 li:first-child,
	.product-list01 li:nth-child(3n+1) { margin-left:0; }
	.product-list01 li:nth-child(n-3) { margin-right:0; }
	.product-list01 dt.product_ttl{ font-size:16px; }

/* recruit.html
-------------------------*/
.recruitList {}
	.recruitList ul {
		width:100%;
		padding:40px 20px;
		background:none;
	}
		.recruitList li {
			width:90%;
			font-size:16px;
		}
		.recruitList li:last-child { padding-bottom:0; }
.recruitContent {}
	.recruitContent li {
		width:100%;
		margin-right:0;
		margin-top:20px;
	}


/* contact.php
-------------------------*/
.subbtn_contact input[type="submit"]{
	padding:10px 40px;
	font-size:14px;
	width:100%;
}

/* info_detail.html
-------------------------*/
.subpage h3.info_ditail {
	margin:50px 0 20px;
	background:none;
}
	.subpage h3.info_ditail span {
		padding-top:20px;
		font-size:20px;
	}
.infopageImg {
	padding:10px 0 30px;
}

/* information.html
-------------------------*/
.info_ditailList , .info_ditailR {
	float:none;
	width:100%;
}
.subpage h3.info_ditail { margin:50px 0 0; }
	.subpage h3.info_ditail span { font-size:16px; }
.infopageImg { padding:10px 0 20px; }
.info_backno { margin-top:20px; }
	.info_backno ul { padding: 10px 10px 20px; background:#fff; }
		.info_backno li { padding: 10px 0; border-bottom: 1px solid #ddd; }
.subpage .info_backno h4 {
	margin:0; padding:20px 0;
	border-top: 2px solid #ddd;
	background:none; }



}


