@charset "UTF-8";

.sp {
  display: none;
}

.pc {
  display: block;
}
@media all and (max-width: 768px) {
.sp {
  display: block;
}

.pc {
  display: none;
}

body {
	font-size:14px;
}

.container {
	width:96%;
}

a.link {
	width:280px;
	margin:30px auto 0;
	font-size:16px;
}

.main .title {
	height:80px;
}

.main .title h1 {
	font-size:20px;
	line-height:80px;
}

.main .bread {
	height:auto;
	line-height:normal;
	padding:10px;
}

h2 span {
	font-size:16px;
}

h2 span::before,
h2 span::after {
	width:20px;
	margin:0 10px;
}

h2 span::before {
	margin-left:0;
}

h2 span::after {
	margin-right:0;
}


/*----------------------------------------------------------------------
  header
----------------------------------------------------------------------*/
header .logo img {
	max-width:80%;
}

header ul {
	display:none;
	position:absolute;
	top:53px;
	left:0;
	width:100%;
	z-index:9999;
	background:#FFF;
}

header li {
	float:none;
	line-height:normal;
}

header li a {
	padding:10px 0;
}

header ul ul {
	position:relative;
	top:0;
	margin-left:0;
}

header .tel {
	display:none;
}

.menubtn {
	position:absolute;
	right:10px;
	top:10px;
	z-index:10;
	width:50px;
	height:32px;
	cursor:pointer;
}

.menubtn span {
	position:absolute;
	width:100%;
	height:3px;
	background:#51a6a6;
	transition:0.3s;
	-webkit-transition:0.3s;
	-moz-transition:0.3s;
}

.menubtn span.top {
	top:0;
}

.menubtn span.middle {
	top:50%;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
}

.menubtn span.bottom {
	bottom:0;
}

.menubtn span.menuclick1 {
	-webkit-transform:translateY(15px) rotate(-315deg);
	transform:translateY(15px) rotate(-315deg);
}

.menubtn span.menuclick2 {
	background-color:transparent;
}

.menubtn span.menuclick3 {
	-webkit-transform:translateY(-15px) rotate(315deg);
	transform:translateY(-15px) rotate(315deg);
}


/*----------------------------------------------------------------------
  index
----------------------------------------------------------------------*/
#index .main .slide .slick-dots {
	bottom:10px;
}

#index .main .mission {
	left:20px;
	top:20px;
	max-width:90%;
}

#index .main .mission a.link {
	width:280px;
	height:50px;
	line-height:50px;
	font-size:18px;
	padding-left:30px;
	margin:30px 0 0;
}

#index .main .scroll {
	display:none;
}

#index .product {
	padding:50px 0;
}

#index .product div {
	text-align:center;
}

#index .product div a {
	float:none!important;
	margin:14px auto !important;
}

#index .product div a:not(.pc) {
	display:inline-block;
}

#index .product div a img {
	max-width:100%;
}

#index .product div a div {
	font-size:16px;
}

#index .customize div {
	float:none;
	margin:0 auto;
	width:90%;
}

#index .customize p:first-child {
	font-size:18px;
}

#index .customize a.link {
	margin-left:0;
}

#index .info ul,
#info .info ul.list {
	width:100%;
}

#index .info li .title,
#info .info li .title {
	display:block;
	margin-top:10px;
}

#index .info a.insta {
	padding:10px;
	max-width:410px;
	text-align:center;
}

#index .info a.insta,
#index .info a.link {
	float:none;
	margin:30px auto 0;
}

#index .com_rec {
	display:block;
}

#index .com_rec div {
	width:100%;
}

#index .com_rec div img {
	width:auto;
}

#index .com_rec div div {
	width:90%;
	top:50%;
	left:50%;
	bottom:auto;
	right:auto;
	transform:translate(-50%,-50%);
}

#index .com_rec p:first-child {
	font-size:20px;
}

#index .com_rec a.link {
	margin-left:0;
}

section.contact {
	padding:60px 0;
}

@media all and (max-width: 425px) {
	#index .main .mission a.link {
		width:200px;
		height:30px;
		line-height:30px;
		font-size:14px;
		padding-left:20px;
		margin:14px 0 0;
	}
}

/*----------------------------------------------------------------------
  company
----------------------------------------------------------------------*/
#company .greet {
	padding:10px;
	text-align:left;
}

#company .strength img {
	max-width:100%;
	position:static;
}

#company .strength .bg {
	width:100%;
}

#company .strength .section .container {
	min-height:auto;
}

#company .strength .section .container div {
	width:100%;
	padding:10px;
}

#company .strength p:first-of-type {
	font-size:18px;
}

#company .strength ul span {
	font-size:18px;
	margin-top:20px;
}

#company .strength li {
	padding:10px;
	display:list-item;
}

#company .strength a.link {
	margin-left:0;
}

#company .phillo {
	background:none;
	padding-bottom:0;
}

#company .phillo img {
	max-width:100%;
}

#company .phillo img.sp {
	display:block;
	margin-bottom:0;
}

#company .phillo p {
	width:100%;
	margin:0;
}

#company .phillo p:first-of-type {
	font-size:18px;
}

#company .overview .bg {
	width:90%;
	display:block;
	padding:20px;
}

#company .overview .bg div {
	display:block;
}

#company .overview .bg div img {
	max-width:100%;
	margin-bottom:10px;
}

#company .overview table {
	width:100%;
}

#company .overview th,
#company .overview td {
	display:block;
	width:100%;
	text-align:left;
}

#company .history table {
	width:100%;
}

#company .history th {
	width:21%;
}

#company iframe {
	width:100%;
}

#company .access dl {
	width:100%;
}

/*----------------------------------------------------------------------
  equipment
----------------------------------------------------------------------*/
#equip .equip ul {
	display:block;
	max-width:550px;
	margin:0 auto;
}

#equip .equip ul li {
	width:100%;
	margin-bottom:50px;
}

#equip .equip li img {
	max-width:100%;
}

#equip .network {
	padding:50px 0;
}

#equip .network ul {
	display:block;
	max-width:590px;
	margin:0 auto;
}

#equip .network ul li {
	width:100%;
}

#equip .network ul li iframe {
	max-width:100%;
}

/*----------------------------------------------------------------------
  customize
----------------------------------------------------------------------*/
#customize .flow p {
	font-size:18px;
	padding:10px 0;
}

#customize .flow li {
	padding:10px 0;
	margin-bottom:12px;
	width:160px;
}

@media all and (max-width: 425px) {
	#customize .flow {
		margin-bottom:50px;
	}
	
	#customize .flow li {
		float:none;
		margin:0 auto 24px;
	}
	
	#customize .flow li:last-child {
		margin-right:auto;
	}
	
	#customize .flow li::after {
		left:50%;
		top:96px;
		transform:translateX(-50%) rotate(90deg);
	}
}

#customize dt,
#customize dd {
	width:96%;
}

#customize dt {
	font-size:18px;
}

#customize dl div {
	width:96%;
}

#customize dl div img {
	width:calc(100% / 2 - 5px);
}

/*----------------------------------------------------------------------
  product
----------------------------------------------------------------------*/
#product section.container {
	flex-direction:column;
}

#product .sidemenu {
	width:100%;
	max-width:600px;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:50px auto 0;
}

#product .sidemenu span.sp {
	background:#efefef;
	width:100%;
	height:50px;
	margin-bottom:20px;
}

#product .sidemenu span.sp::before {
	content:'\f067';
	font-family:'Font Awesome 5 Free';
	font-weight:bold;
	font-size:20px;
	line-height:50px;
	margin:0 1em;
}

#product .sidemenu span.sp.open::before {
	content:'\f068';
}

#product .sidemenu a {
	display:none;
}

#product .list {
	width:100%;
}

#product .product .detail {
	display:block;
}

#product .product .detail div {
	margin:0 0 40px;
	width:100%;
}

#product .product .detail div img {
	margin:0 auto;
	display:block;
}

#product .product .detail dl {
	width:100%;
}

#product .product .detail dd.model li {
	width:136px;
}

#product .product .link.pdf {
	width:280px;
	text-align:left;
	height:50px;
	line-height:50px;
	padding-left:20px;
	margin-bottom:100px;
}

#product .product .picture {
	display:block;
	padding:10px;
	margin:0;
}

#product .product .picture img {
	width:100%;
	margin:10px 0;
}

#product .contact .senjoki.link {
	width:330px;
	height:auto;
	line-height:inherit;
}

/*----------------------------------------------------------------------
  recruit
----------------------------------------------------------------------*/
#recruit .pagelink {
	display:none!important;
}

#recruit .message {
	margin:50px auto;
}

#recruit .message img {
	float:none;
	max-width:100%;
	margin:0 auto;
	display:block;
}

#recruit .message p {
	width:100%;
	margin-top:20px;
}

#recruit .message p img {
	display:inline;
}

#recruit .strength {
	padding:50px 0;
	margin-bottom:50px;
	text-align:left;
}

#recruit .interview .box {
	display:block;
	max-width:600px;
	margin:30px auto 0;
}

#recruit .interview .box img {
	max-width:100%;
}

#recruit .interview .box div {
	width:600px;
	max-width:100%;
	padding:10px;
}

#recruit .interview .box div p {
	font-size:18px;
	margin-bottom:10px;
	padding-bottom:10px;
}

#recruit .interview .content img:first-of-type,
#recruit .interview .content img:nth-of-type(2) {
	float:none;
	max-width:90%;
	margin:20px auto 10px;
	display:block;
	box-shadow:10px 10px 0 #8fbab5;
}

#recruit .interview .content img:nth-of-type(2) {
	box-shadow:-10px 10px 0 #8fbab5;
}

#recruit .interview .content dl {
	width:100%;
}

#recruit .interview .content table {
	min-width:170px;
}

#recruit .interview .content table tbody {
	display:table-row-group;
}

#recruit .interview .content table tr {
	float:none;
}

#recruit .interview .content table tr:first-child {
	width:20%;
}

#recruit .interview .content table tr:last-child {
	width:80%;
}

#recruit .interview .content table th,
#recruit .interview .content table td {
	display:table-cell;
}

#recruit .interview .content table th {
	border-bottom:none;
	border-right:solid 1px #1f756c;
	padding-right:10px;
	text-align:right;
	vertical-align:top;
}

#recruit .interview .content table th::after {
	right:-12px;
	top:2px;
	left:auto;
}

#recruit .interview .content table td {
	text-align:left;
	padding:0 0 10px 10px;
	font-size:14px;
}

#recruit .careerup .imgwrap {
	float:none;
	width:100%;
	margin:0 0 50px;
}

#recruit .careerup .imgwrap img {
	max-width:100%;
	margin:auto;
	display:block;
}

#recruit .benefits {
	background-size:90%;
	background-attachment:fixed;
	background-position:center left;
}

#recruit .benefits li {
	width:48%;
	height:185px;
}

#recruit .benefits li span {
	font-size:30px;
}

#recruit .benefits li span span {
	font-size:20px;
}

#recruit .benefits li:last-child {
	height:auto;
}

#recruit .benefits li:last-child div {
	flex-wrap:wrap;
}

#recruit .benefits li:last-child p {
	width:calc(100% / 3);
	margin:0;
}

#recruit .benefits li:last-child p:first-child {
	width:100%;
	margin:10px 0 20px;
}

#recruit .requirements .detail {
	display:block;
}

#recruit .requirements .detail div {
	max-width:600px;
	margin:0 auto 20px;
}

#recruit .requirements .detail div img {
	max-width:100%;
}

#recruit .requirements .detail div p {
	font-size:18px;
	margin:10px 0;
}

#recruit .entry.link {
	margin-top:20px;
}

#recruit .requirements .detail + p,
#recruit.req .entry.link + p {
	font-size:18px;
}

/*requirements*/
#recruit.req table th,
#recruit.req table td {
	display:block;
	padding:10px 0;
	width:100%;
}

#recruit.req dl {
	display:block;
}

#recruit.req dt {
	font-weight:bold;
}

#recruit.req dd {
	margin-bottom:20px;
}

/*entry*/
#recruit.entry table tr {
	display:block;
	padding:10px 0;
}

#recruit.entry table th,
#recruit.entry table td {
	display:block;
	padding:10px 0;
	width:100%;
}

#recruit.entry form input,
#recruit.entry form textarea {
	width:100%;
	max-width:580px;
}

#recruit.entry form td.input-small input {
	width:62px;
}

#recruit.entry form input[type="checkbox"] {
	width:auto;
}

#recruit.entry form .btnwrap {
	flex-direction:column;
}

#recruit.entry form button.link {
	width:100%;
	max-width:290px;
	margin:10px auto;
}

#recruit.entry .mw_wp_form_complete p:first-child,
#contact.sent p:first-child {
	font-size:20px;
}

#recruit.entry .mw_wp_form_complete .link,
#contact.sent .link {
	width:290px;
	margin:50px auto;
}


/*----------------------------------------------------------------------
  information
----------------------------------------------------------------------*/
#info .categories {
	flex-wrap:wrap;
	margin:0 auto 20px;
}

#info .categories span {
	width:50%;
}

#info .categories span a {
	margin:0 10px 10px;
}

#info .categories span:first-child a {
	width:auto;
}

#info section.detail {
	flex-direction:column-reverse;
}

#info .detail .sidemenu {
	width:100%;
}

#info .detail .content {
	width:100%;
}

#info .detail .content div .title {
	display:block;
	margin-top:10px;
}

#info .detail .content img {
	max-width:100%;
}

/*----------------------------------------------------------------------
  privacy policy
----------------------------------------------------------------------*/
#privacy section.container {
	padding:50px 0;
}

/*----------------------------------------------------------------------
  footer
----------------------------------------------------------------------*/
footer .pagetop {
	top:-25px;
}

footer .pagetop img {
	width:50px;
}

footer .logo,
footer .logo img {
	width:90%;
	max-width:320px;
	text-align:center;
}

footer .container div {
	display:block;
}

footer .container div p {
	margin:0 10px 40px;
}

footer small {
	margin-top:50px;
}

}