
@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;

}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

body,a{
	color:#000;
	text-decoration: none;
	font-size:16px;
	line-height: 1.8em;
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
}

a:hover{
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
}

header{
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-direction: row; /* Safari */
  flex-direction:         row;
   -webkit-justify-content: space-between; /* Safari */
  justify-content:         space-between;
  height:70px;
  align-items: center;
  align-items: -webkit-center;
    background:#fff;
    width:1200px;
    max-width: 100%;
    margin: 0 auto;
 }


header h1.logo{
	display: -webkit-flex;
  display: flex;
	-webkit-justify-content: center;
  justify-content:  center;
	-webkit-align-items: center;
  align-items: center;
  	background: #fff;
	box-sizing: border-box;
}

header h1.logo img{
	display: block;

}



header nav.globalnav ul{
  display: -webkit-flex; /* Safari */
  display: flex;
}

header nav.globalnav ul li a{
	margin: 0 20px;
	text-align: center;
	display: block;
	box-sizing: border-box;
	padding:10px;
	font-weight: bold;
	letter-spacing: 0.1em;
    color:#0061f0;
    font-size:14px;
    line-height: 1.5em;
}

header nav.globalnav ul li a span{
	display: block;
	color:#a4a3a3;
	font-size:12px;
	font-weight:normal;
}


header nav.globalnav ul li a:hover{
	color:#767de7;
	}

header .tel{
	font-size:20px;
	font-weight: 900;
	text-align: right;
}

header .tel span{
	display: block;
	font-size:14px;

	}

main .mv{
	height:823px;
	position: absolute;
}

main .mv p{
	color:#fff;
	line-height:1.5em;
	font-weight:900;
	text-align: center;
	font-size:24px;
	position: relative;
	top:50%;
	text-shadow:0px 0px 3px #000,0px 0px 8px #000,0px 0px 10px #000;
	}


.flex_wrap{
  display: -webkit-flex; /* Safari */
  display: flex;
}

.w1200{
	width: 1200px;
	max-width: 100%;
	margin:0 auto;
}

section.top_menu {
	padding:50px 0;
	background: #e9e9e9;
}

section.top_menu ul {
	width: 1200px;
	margin:0 auto;
	max-width: 100%;
  display: -webkit-flex; /* Safari */
  display: flex;
  flex-wrap: wrap;
  flex-wrap: -webkit-wrap; /* Safari */
}

section.top_menu ul li{
	width: 50%;
	}

section.top_menu ul li:first-child{
	background: url(../img/menu01.jpg);
	background-size: cover;
	height:188px;
}

section.top_menu ul li:nth-child(2){
	background: url(../img/menu02.jpg);
	background-size: cover;
	height:188px;
}

section.top_menu ul li:nth-child(3){
	background: url(../img/menu03.jpg);
	background-size: cover;
	height:188px;
}

section.top_menu ul li:nth-child(4){
	background: url(../img/menu04.jpg);
	background-size: cover;
	height:188px;
}

section.top_menu ul li a{
	width: 100%;
	height:100%;
	display: block;
	text-align: center;
	color:#fff;
	padding-top:50px;
}

section.top_menu ul li a span{
	display: block;
	border:1px solid #fff;
	width:200px;
	margin: 10px auto;
	font-size:24px;
	padding:10px 5px;
}

section.top_menu ul li a:hover span{
	background: #fff;
	color:#ccc;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
}

section.top_menu h2{
	text-align: center;
	font-size:30px;
	font-weight: 900;
	margin-bottom: 10px;
}


section.top_menu h2+p{
	text-align: center;
	margin-bottom: 15px;
}

section.top_banner {
	padding:50px 0;
}

section.top_banner h2{
	font-size:26px;
	text-align: center;
	font-weight: 900;
	margin-bottom: 50px;
}


section.top_banner ul{
  display: -webkit-flex; /* Safari */
  display: flex;
  flex-wrap: wrap;
  flex-wrap: -webkit-wrap; /* Safari */
  justify-content: space-around;
}

section.top_banner ul li{
	width: 33.33%;
	text-align: center;
	}

section.top_banner ul li img{
	max-width: 100%;
}	

section.top_link ul li h3{
	font-weight: 900;
	}

section.top_link{
	padding:50px 0;
	background: #e9e9e9;
}

section.top_link .flex_wrap ul{
	width: 25%;
}
section.top_link .flex_wrap ul li{
	margin-bottom:15px;
}

footer{
	text-align: center;
	background: #fff;
	padding:50px 0 0 0;
	color:#000;
}

footer div.logo{
	display: inline-block;

}

footer div.logo img{

}


footer a{
	color:#000;
}

footer a:hover{
	color:#ccc;
}

footer nav.footer_nav {
	  	padding:15px 0;

}

footer nav.footer_nav ul{
	display: -webkit-flex; /* Safari */
	display: flex;
  -webkit-justify-content: center; /* Safari */
  justify-content:         center;
  margin:20px 0;

}

footer nav.footer_nav ul li{
	padding:0 20px;
}

footer p.copyright{
	background: #010325;
	font-size:12px;
	padding:10px 0;
	width:100%;
	height:100%;
}

.page_mv{
	height:300px;
	width:100%;
	background: url(../img/mv01.jpg);

}
.page_mv p{
	color:#fff;
	line-height:1.5em;
	font-weight:900;
	text-align: center;
	font-size:24px;
	position: relative;
	top:50%;
	text-shadow:0px 0px 3px #000,0px 0px 8px #000,0px 0px 10px #000;
	}

section.page {
	padding:50px 0;
	background: #fff;
}

section.page h2{
	text-align: center;
	font-size:30px;
	font-weight: 900;
	margin-bottom: 10px;
}


section.page h2+p{
	text-align: center;
	margin-bottom: 15px;
}

.w1200{
	width: 1200px;
	margin:0 auto ;
}

section.page_company dl{
	width:700px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	max-width:100%;
} 

section.page_company dl dt{
	width:20%;
	box-sizing: border-box;
	padding:10px 5% 10px 0;
	text-align: right;
	border-bottom: 1px solid #ccc;
	font-weight: 900;
	}
section.page_company dl dd{
	width: 75%;
	padding:10px 0;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
}

section.page_company dl strong{
	font-weight: 900;
}

.flex{
	display: flex;
	width:1200px;
	max-width: 100%;
	margin: 0 auto;
}

.page_product{
	width:70%;
	max-width: 100%;
}

.page_product ul::after{
  content:"";
  display: block;
  width:30%;
}


.side{
	width: 25%;
	margin: 50px 0;
}

.side ul li h3{
	font-weight:900;
	border-bottom:1px solid #ccc;
	margin-top:50px;
}

.side ul li h3:before{
	content:"■";
	margin-right:5px;
	color:#0061f0;
	}

.side ul li{
	margin-bottom:15px;

}

.page_product ul {
    display: -webkit-flex;
    display: flex;
	flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	}

.page_product ul li{
	width:32%;
	max-width: 100%;
	border:solid #ccc 1px;
	box-sizing: border-box;
	padding:10px;
	margin-bottom:30px;
}

.page_product ul li dt img{
	display: block;
	margin: 10px auto;
	}

.page_product ul li dt {
	text-align: center;	
}

.page_product ul li dt strong{
	font-weight: 900;
}

.page_product ul li dd{
	border-top:1px dotted #ccc;
}

.page_mv_company{
	height:300px;
	width:100%;
	background: url(../img/company.jpg);

}

.photo img{
	display: block;
	margin: 50px auto 0 auto;
	max-width: 100%;
}

.photo p{
	text-align: center;
	font-weight: 900;
	margin: 0 auto 50px auto;
	max-width: 100%;
	}

section.map{
	display: flex;
	width:100%;
	flex-wrap: nowrap;
}

section.map iframe{
	width: 100%;
}

.page_privacy ul{
	box-sizing: border-box;	
}

.page_privacy ul li{
	padding:10px;
	box-sizing: border-box;
}

.page_privacy p{
	padding:10px;
	box-sizing: border-box;

}

section.page_privacy h2+p{
		text-align: left;
}


.w800{
	width:800px;
	margin:0 auto;
	max-width: 100%;
}

section.page_mailform h2,section.page_privacy h2{
	margin-bottom:50px;

}

.page_mailform dl{
	margin-top:50px;
	display: flex;
	flex-wrap: wrap;
}

.page_mailform dl dt{
	width:35%;
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:1px solid #ccc;
}
.page_mailform dl dd{
	width: 65%;
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:1px solid #ccc;
	}
.page_mailform dl dd textarea{
	width: 80%;
	height:200px;
}


input[type="text"],input[type="email"],select{
	padding:5px;
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


input[type="submit"],
input[type="button"] {
	padding:20px 50px;
	background: #ff6c00;
	color:#fff;
	border:1px solid #ff6c00;
}
input[type="submit"]:hover,
input[type="button"]:hover {
	padding:20px 50px;
	background: #fff;
	color:#ff6c00;
	border:1px solid #ff6c00;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
}


.btn{
	text-align: center;
}

p.check_area{
	padding:10px;
	border:2px solid #ff6c00;
	margin:20px 0;
    border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;   /* Firefox用 */  
}

.flex_wrap .products_page{
	background:#fff;
}

/*****************　　　1140以下  *************************/
@media screen and (max-width:1100px){
header{
  display: block;
  height:auto;
 }


header h1.logo{
  margin:30px auto;
}

header h1.logo img{
	display: block;

}

header nav.globalnav ul{
 justify-content: space-around;
}

	}