@charset "utf-8";

/* bootstrap.css基本の打消し（同じclass名での書き換え）
---------------------------------------------------- */
body{ margin:0px; padding:0px}
h1,h2,h3,h4,h5,h6{ margin:0px; padding:0px; font-weight:normal; clear:both;}
p{margin:0px; padding:0px}m
.navbar {
  margin-bottom:0px;
  border:none;
	}
.navbar-brand {
  float:none;
  padding: 0px;
  line-height: 0px;
	}	
.form-control {
  height: auto;
  padding: 14px;  
	}
textarea.form-control {
  height:150px;
  width:100%;
	}
.table-striped > tbody > tr:nth-of-type(odd) { background-color: #eee8e0;}
.table{ margin-bottom:30px}
.table th{ width:30%}
@media (min-width: 768px) {.btn-group-vertical a{ padding-top:15px;padding-bottom:15px}}

.btn{border-radius: 0px;}
.btn,
.btn::before,
.btn::after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all .3s; transition: all .3s;}
.btn{ display:block; font-size:100%; text-align:center;}
.btn a:link{ display: inline-block; text-align: center; text-decoration: none; outline: none; cursor:pointer;}
.btn::before,
.btn::after {position: absolute; z-index: -1; display: block; content: '';}
.btn,
.btn::before,
.btn::after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all .3s; transition: all .3s;}

.navbar-toggle {
    margin-right: 0px !important;}

/* 全体構造
---------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
	}
.clearfix {
    zoom:1;/*for IE 5.5-7*/
	overflow:hidden;
	}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
	}
.clear{clear:both !important;}
img{border:0;vertical-align:bottom;}
a {
	outline:none;
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	}
hr {
    display:block;
    height:1px;
    border-top:1px dotted #333;
    margin:0;
    padding:0;
	margin-bottom:20px
	}
body{
	font-size:90%;
	line-height:1.9em;
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #333;
	overflow-x: hidden;	
	}

/* link
---------------------------------------------------- */
a:link, a:visited{color:#00a0e9; text-decoration:none;}
a:hover, a:active{color:#00a0e9; text-decoration:underline;}

.imglink a:hover img{
    opacity: 0.5 !important;
    transition: all 0.2s ease 0s !important;
    -webkit-transition: 0.2s ease-in !important;
    filter: alpha(opacity=50) !important;
	}

.hlink a:hover{
    opacity: 0.5 !important;
    transition: all 0.2s ease 0s !important;
    -webkit-transition: 0.2s ease-in !important;
    filter: alpha(opacity=50) !important;
	}

.navbar-default {
    background-color: transparent; 
    border-color: #fff;
	z-index: 999999;
}

/* header
---------------------------------------------------- */
#header {
    margin: 0;
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
	box-shadow: 0 0 5px #ddd;
}

/* --▼padding-- */
@media only screen and (max-width: 767px){.pp00 {padding: 0 !important;}}
.pp00-a {padding: 0 !important;}

/* ヘッダー
---------------------------------------------------- */
@media only screen and (max-width: 767px){
header{
	padding:5px 0;
	background:#fff;
	}
h1{
	z-index:120;
	position:relative;
	padding-left: 10px;
	}
h1 img{width:160px;}
}
@media print, screen and (min-width: 768px) {header{background:#fff;}}

/* navigation
---------------------------------------------------- */
.navi05 .nav > li > ul > li>a{
	padding:10px 0;
	display:block;
	border-radius:0;
	text-align: center;
	line-height: 1.5em;
	}
.dropdown-menu > li > a {color: #333;}

@media only screen and (max-width: 767px){
.dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 99999;
	display: none;
	float: left;
	padding: 0;
	margin: 0;
	max-width: initial !important;
	width:100% !important;
	list-style: none;
	text-align: left;
	background-color: #fdf8f3;
	border: 1px solid #ccc;
	border: 1px solid rgba(0,0,0,0.15);
	-webkit-box-shadow: 0 6px 12px rgba(0,0,0,0.175);
	box-shadow: 0 6px 12px rgba(0,0,0,0.175);
	-webkit-background-clip: padding-box;
	background-clip: padding-box
	}
.dropdown-menu li{
	width:50%;
	float: left;
	font-size: 100%;
	display: inherit;
	}
.dropdown-menu > li > a{
	color: #005ab7 !important;
	border-right: 1px #d8ecf1 solid;
	border-bottom: 1px #d8ecf1 solid;
	background-color: #f3fafc !important;
	}
.dropdown-menu > li > a {
	white-space: normal;
	}
.navi05 .nav > li > ul > li > a {
	text-align: left;
	padding: 10px;
	}
}

.dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10000000;
	display: none;
	float: left;
	max-width: 180px;
	padding: 0 5px;
	margin: 0;
	list-style: none;
	text-align: left;
	background-color: #f3fafc;
	border: 1px solid #ccc;
	border: 1px solid rgba(0,0,0,0.15);
	-webkit-box-shadow: 0 6px 12px rgba(0,0,0,0.175);
	box-shadow: 0 6px 12px rgba(0,0,0,0.175);
	-webkit-background-clip: padding-box;
	background-clip: padding-box
}

.dropdown-menu > li > a{
	color: #333 !important;
	white-space: normal;	
	border-bottom: 1px #d8ecf1 solid !important;
	background-color: #f3fafc !important;
	}
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
	text-decoration: none;
    color: #005ab7 !important;
	background-color: #f3fafc;
}
.dropdown-menu .navi-on a{
    color: #005ab7 !important;
}

@media print, screen and (min-width: 768px) {
	.dropdown-menu {min-width: 188px;}
	.dropdown-menu {background-color: #f3fafc !important;}
}

.dropdown-menu .divider {
    height: 1px;
    margin: 0;
    overflow: hidden;
    background-color: #faefe1;
}
.cb-header .navi05 {margin-top: 0;}
.navbar-collapse{padding-left: 0; padding-right: 0;}
.navbar-toggle{background: #4caee9;}
.navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;
}
.navbar-default .navbar-toggle {
    border-color:transparent
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
    background-color: #4caee9;
	}

/* navigation05
---------------------------------------------------- */
.navi05{margin-top:-45px;}
.navi05 .navbar-nav{ margin: 0;}
.navi05 .nav{ margin-bottom: 5px;}
.navi05 .navbar{border-radius: 0px;border:0px; margin-bottom:0px; background: none; width:100%;}
.navi05 .nav>li{ margin:0 0 5px 0; background:#fff; border:1px solid #ccc;}
.navi05 .nav>li>a{ color : #333; background: #fff; padding:10px; display:block; border-radius:0px; text-align: center} 
.navi05 .nav>li>a:hover,
.navi05 .nav>li.navi-on a{ background-color: #4caee9; color: #fff;}
.dropdown-menu > li > a {color: #4caee9;}
.navi05 .nav > li > ul > li{ list-style: none;}
.navi05 .nav>li.navi-on > ul>li> a {background: #fff; color: #4caee9;}
.navi05 .nav>li.navi-on > ul>li.navi-on2> a {color: #4caee9;}
.nav .open > a, .nav .open > a:hover, .nav .open > a:focus,
.nav > li > a:hover, .nav > li > a:focus{background: none;}

@media print, screen and (min-width: 768px) {
.allcont .container-fluid{
	padding-left:0;
	padding-right:0
	}
}

@media print, screen and (min-width: 768px) {
	.navi05{
	margin-top:5px;
	margin-right:0;
	margin-bottom: 0px;
	text-align: right;
	}
	.navi05 .row{ padding: 0px;}
	.navi05 .nav{
		width:100%;
		display: table;
	}
	.navi05 .nav>li{
		margin:0;
		display: table-cell;
		text-align: center;
		border:0px solid #ccc;
		background:transparent;
		border-bottom: 0px dotted #ccc;
	}
	.navi05 .nav>li img {margin: 0 auto;}
	.navi05 .nav>li>a{ padding:10px 0 ; display:block; border-radius:0; text-align: center; font-size: 80%; background:transparent;}
	.navi05 .nav>li>a:hover,
	.navi05 .nav>li.navi-on a{
		background:transparent;
		color : #333;
		-moz-background-size:auto 100%;
		background-size:auto 100%;
		border-bottom: 6px solid #4caee9;
	}
	.navi05 .nav>li.navi-on > ul>li> a {background-image: none;}
}

@media print, screen and (min-width: 992px) {
	.navi05{ margin-top: 25px; margin-bottom:0px;}
	.navi05 .nav>li>a {font-size: 85%;}
}

@media print, screen and (min-width: 768px) {
.navi05 .nav .li001{width: 22%;}
.navi05 .nav .li002{width: 32%;}
.navi05 .nav .li003{width: 22%;}
.navi05 .nav .li004{width: 22%;}
}

/* SP 電話ボタン
--------------------- */
@media only screen and (max-width: 767px){
.nav-tel{
	font-size:100%;
	display:block;
	padding:10px 0px;
	margin-bottom: 5px;
	text-align:center;
	color:#fff !important;
	background:#003366;
	text-decoration:none !important;
	}
	.nav-tel:link, .nav-tel:visited{text-decoration:none;}
	.nav-tel:hover,.nav-tel:active{ text-decoration:underline;}	
	.nav-tel i{font-size:80%;}
}

/* index.html
---------------------------------------------------- */
/* main余白
---------------------------------------------------- */
@media only screen and (max-width: 767px) {.mainimg{ margin-top: 60px !important;}}
@media print, screen and (min-width: 768px) {.mainimg{margin-top:70px !important;}}
@media print, screen and (min-width: 992px) {.mainimg{margin-top:110px !important;}}
@media print, screen and (min-width: 1200px) {.mainimg{margin-top:110px !important;}}

/* mainimage
---------------------------------------------------- */
@media only screen and (max-width: 767px){
#mainimage{
	background:url(../images/main.jpg) no-repeat scroll 50% 0% / cover;
	}
.mainphoto {
  position: relative !important;
  height: 180px;
	}
.maintext {
	position: absolute;
	top:31% !important;
	left:3%;
	z-index: 1;
	}
.maintext img{
	width: 150px;
	margin: 0 auto;
	}	
}

@media print, screen and (min-width: 768px) {
#mainimage{
	background:url(../images/main.jpg) no-repeat scroll 50% 0% / cover;
}
.mainphoto {
  position: relative !important;
  height:483px;
}	
.maintext{
	position: absolute;
	top: 30%;
	z-index: 1;
	left:10%;
	}
.maintext img{
	width: 60%;
	}	
}

@media print, screen and (min-width: 992px) {
.mainphoto {height: 730px;}
.maintext{
	position: absolute;
	top: 34%;
	z-index: 1;
	left:10%;
	}
.maintext img{
	width: 616px;
	}		
}

@media print, screen and (min-width: 1120px) {
.mainphoto {height: 730px;}
.maintext{
	position: absolute;
	top: 34%;
	z-index: 1;
	left:10%;
	right:10%;	
	}
}

/* index.html
---------------------------------------------------- */
.bg-top{background:url(../images/bg-top.jpg) no-repeat scroll 50% 0% / cover;}
.bg-middle{background:url(../images/bg-middle.jpg) no-repeat center top;}

/* item name
---------------------------------------------------- */
.name{
	display:block;
	width:100%;	
	color:#333;
	border-bottom: 3px solid #333;
	font-weight: 900;
	font-size:15px;
	}

@media print, screen and (min-width: 768px) {.name{font-size:13px;}}
@media print, screen and (min-width: 992px) {.name{font-size:15px;}}

.name a:link{
	display:block;
	text-decoration: none;
	outline: none;
	cursor:pointer;
	padding:10px 0 4px 0;
	}

@media print, screen and (min-width: 768px) {.name a:link{padding:10px 0 5px 0;}}
@media print, screen and (min-width: 992px) {.name a:link{padding:15px 0 10px 0;}}

.name a:link,
.name a:visited{
	color:#333;
	text-decoration:none;
	}

.name a:hover,
.name a:active{
	color:#0099cc;
	text-decoration:none;
	}

.name a:before{
	font-family:"Font Awesome 5 Free";
	content:" \f0da";
	float:left;
	font-size:100%;
	font-weight: bold;
	color:#0099cc;
	margin-right: 10px;
	}

/* bg-bottom
---------------------------------------------------- */
.bg-bottom{background:url(../images/bg-bottom.jpg) no-repeat scroll 50% 0% / cover;}

/* bottom-box02
---------------------------------------------------- */
.bottom-box02 {
	text-align: center;
	color: #fff;
}

@media print, screen and (min-width: 768px) {.bottom-box02 {padding: 20px 10px;}}
@media print, screen and (min-width: 992px) {.bottom-box02 {padding: 40px 20px;}}

.bottom-box02 h3{
	font-size:17px;
	font-weight: 700;
	line-height: 1.4em;
	margin-bottom: 20px;
	}

@media print, screen and (min-width: 768px) {
.bottom-box02 h3{
	font-size: 25px;
	margin-bottom: 10px;	
	}
}

@media print, screen and (min-width: 992px) {
.bottom-box02 h3{
	font-size: 30px;
	margin-bottom: 15px;	
	}
}

.bottom-box02 p{margin-bottom:20px;}
@media print, screen and (min-width: 768px) {.bottom-box02 p{margin-bottom:40px;}}

.btn-bottom-tel{
	font-size:20px;
	display:block;
	letter-spacing: 0.1em;	
	padding:10px 0px;
	color:#fff;
	background: #5e6f7e;
	font-family: 'Oswald', sans-serif;
	}

@media print, screen and (min-width: 768px) {
.btn-bottom-tel{
	font-size: 40px;
	letter-spacing: 0.1em;
	font-weight: 600;
	display:inline;
	padding:0;
	text-align:left;
	color:#fff;
	background:transparent;
	cursor:default;
	}
}

.btn-bottom-tel i{
	color: #3ea3d7;
	font-size: 80%;
	margin-right: 10px;
	}

.btn-bottom-fax{
	font-size:20px;
	display:block;
	letter-spacing: 0.1em;	
	padding:10px 0px 0 0;
	color:#fff;
	border-radius: 100px;
	font-family: 'Oswald', sans-serif;
	}

@media print, screen and (min-width: 768px) {
.btn-bottom-fax{
	font-size: 40px;
	letter-spacing: 0.1em;
	font-weight: 600;
	display:inline;
	padding:0;
	text-align:left;
	color:#fff;
	background:transparent;
	cursor:default;
	}
}

.btn-bottom-fax i{
	color: #3ea3d7;
	font-size: 80%;
	margin-right: 10px;
	}

/* footer
---------------------------------------------------- */
footer{font-size:80%; line-height: 1.8em;}
@media print, screen and (min-width: 768px) {footer{font-size:90%;}}

/* f-yohaku
---------------------------------------------------- */
.f-yohaku01{padding:20px 0}
@media print, screen and (min-width: 768px) {.f-yohaku01{padding:25px 0;}}
@media print, screen and (min-width: 992px) {.f-yohaku01{padding:25px 0;}}

.f-yohaku02{padding:20px 0}
@media print, screen and (min-width: 768px) {.f-yohaku02{padding:40px 0;}}
@media print, screen and (min-width: 992px) {.f-yohaku02{padding:40px 0 30px 0;}}

/* footer01
---------------------------------------------------- */
#footer01{
	clear: both;
	width:100%;
	background:#3ea3d7;
	}

#footer02{
	clear: both;
	width:100%;
	background: #fff;
	}

@media only screen and (max-width: 767px) {
#footer02{text-align: center;}
}

/* フッター　info
---------------------------------------------------- */	
@media only screen and (max-width: 767px) {
.f-info{
	margin-bottom: 10px;
	text-align: center;
	}
}

@media print, screen and (min-width: 768px) {
.f-info{
	margin-bottom: 10px;
	}
}

.f-yohaku02 .title{
	margin-bottom: 10px;
	}

@media only screen and (max-width: 767px) {
.f-yohaku02 h4{
	font-size:110%;
	margin-bottom:10px;
	font-weight: 900;
	text-align: center;
	color: #003366;
	}
}

@media print, screen and (min-width: 768px) {
.f-yohaku02 h4{
	font-size:120%;
	margin-bottom: 5px;
	font-weight: 900;
	color: #003366;
	}
}

/* フッター　電話
---------------------------------------------------- */
.btn-footer-tel{
	font-size:150%;
	display:block;
	padding:15px 0px;
	text-align:center;
	color:#fff;
	background: #003366;
	margin-bottom:2px;
	}

@media print, screen and (min-width: 768px) {
.btn-footer-tel{
	font-size:100%;
	display:inline;
	padding:0;
	text-align:left;
	color:#333;
	background:transparent;
	margin-bottom: 0;	
	cursor:default;
	margin-right:15px;
	}
}

/* フッターナビ
---------------------------------------------------- */
#textlink {width:100%; color:#515f6a;}
#textlink ul{list-style:none}
#textlink li{line-height:100%; display:block; background-color:#fff; border-bottom:1px solid #ccc}
#textlink li i{float:right; color:#515f6a}
#textlink li a{display:block; padding:15px; text-align:left; color:#515f6a; font-weight:normal;}
#textlink li:first-child{border-left: 0px;}
#textlink a:link, 
#textlink a:visited,
#textlink a:hover,
#textlink a:active{ color:#515f6a; text-decoration:none}

#textlink li a:after{
	font-family:"Font Awesome 5 Free";
	content:" \f054";
	float:right;
	font-size:85%;
	font-weight: bold;
	color:#515f6a
	}

@media print, screen and (min-width: 768px) {
#textlink li a:after{
	font-family:"Font Awesome 5 Free";
	content:" \f054";
	float:right;
	font-size:0%;
	font-weight: bold;
	color:#515f6a
	}
}

@media print, screen and (min-width: 768px) {
#textlink { width:100%; padding:0; text-align:center;}
#textlink li{ line-height:100%; margin-bottom:0px; display:block; background:none; border-bottom:0px solid #ccc}
#textlink li a{ display:block; padding:0px; font-weight:normal;margin-bottom:0px;}
#textlink a:link,
#textlink a:visited { color:#fff; text-decoration:none}
#textlink a:hover { color:#fff; text-decoration:underline}
#textlink .first{padding-left:0px}
#textlink .last{ border:none; padding-right:0px}
#textlink li{ border-right: 0px solid #fff; border-radius:0px; padding:3px 0px 3px 20px; display:inline-block;}
#textlink li a{ display:block; padding:0px;}
}

/* フッター　コピーライト
---------------------------------------------------- */
.copyright{
	padding:20px 0 0 0;
	}

@media print, screen and (min-width: 768px) {
.copyright{
	padding:20px 0;
	text-align: right;
	}
}

/* h2
---------------------------------------------------- */
.h2-midashi{
	padding:30px 0 30px 0;
	text-align: center;
	color: #fff;
	background:url(../images/h2.jpg) no-repeat scroll 50% 0% / cover;	
	}
.h2-midashi h2{
	font-size:22px;
	font-weight: 900;
	line-height: 25px;
	}

.h2-midashi h2 span{
	font-size: 20px;
	font-weight: normal;
	color: #33ccff;
	font-family: 'Oswald', sans-serif;
}

@media (min-width: 768px) {
.h2-midashi{padding:60px 0 50px 0;}
.h2-midashi h2{
	font-size:40px;
	line-height: 35px;
	}
.h2-midashi h2 span{
	font-size:30px;
	}	
}

@media (min-width: 1200px) {
.h2-midashi{padding:100px 0}
.h2-midashi h2{
	font-size:45px;
	line-height: 45px;
	}
.h2-midashi h2 span{
	font-size:37px;
	}	
}

/* macine.html
---------------------------------------------------- */
/* Accordion side menu
---------------------------------------------------- */
.accordion{margin-bottom: 30px;}
.accordion dt  {
	display: inline-block;
	padding: 18px 20px;
	width: 100%;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	background:#112e53 url(../images/plus.gif) no-repeat right 15px top 50%;
	cursor:pointer;
}
.accordion dt.active  {
	background-image: url(../images/minus.gif);
}
.accordion dd{ display:none}
.accordion dd ul {
	list-style: none;
	padding: 0px;
	margin:0px;
}
.accordion dd li {
	border-bottom: 1px solid #ddd;
	background-color: #fff;
}
.accordion dd li a {
	display: block;
	padding: 10px 10px;
	color: #333;
	font-size: 14px;
}
.accordion li .photo{
	width: 70px;
	float: left;
	margin-right: 5px;
	}
.accordion li a p{padding: 15px 0; font-size: 95%;}
.accordion .navon a { background:#eee !important;}
.accordion a:hover { background:#eee !important;}

@media print, screen and (min-width: 768px) {
.accordion{margin-bottom: 50px;}
.accordion dt  {background-image:none; cursor:default;}
.accordion dt.active  { background-image:none;}
.accordion dd{ display: block}
.accordion dd li a {
	display: block;
	padding: 10px;
	color: #333;
	font-size: 14px;
	}
.accordion li a p{padding: 10px 0; font-size: 88%;}
.accordion li .photo{
	width: 25%;
	float: left;
	margin-right: 5px;
	}
}

@media print, screen and (min-width:992px) {
.accordion li a p{padding: 20px 0; font-size: 100%;}	
.accordion li .photo{
	width: 30%;
	margin-right: 10px;
	}
}

@media print, screen and (min-width:1200px) {
.accordion li a p{padding: 27px 0;}
}

/* サムネのために追加 */
.accordion dd li {
    zoom:1;
	overflow:hidden;
	}
/* サムネのために追加 */

.h-photo {
	position: relative !important;
	width: 100% !important;
	padding-bottom: 70% !important;
	height: 0 !important;
	margin: 1% 0% 0 !important;
	background-color: transparent;
}

.h-photo img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	margin: auto !important;
	display: block !important;
}

/* right side
--------------------------------- */
@media only screen and (max-width: 767px) {.item01{ margin-bottom: 50px;}}
@media print, screen and (min-width: 768px) {.item01{ margin-bottom: 40px;}}
@media print, screen and (min-width: 992px) {.item01{ margin-bottom: 40px;}}
@media print, screen and (min-width:1200px) {.item01{ margin-bottom: 40px;}}

@media only screen and (max-width: 767px) {.item01 .item-p{ margin-bottom: 10px;}}
@media print, screen and (min-width: 768px) {.item01 .item-p{ margin-bottom: 10px;}}
@media print, screen and (min-width: 992px) {.item01 .item-p{ margin-bottom: 10px;}}
@media print, screen and (min-width:1200px) {.item01 .item-p{ margin-bottom: 10px;}}

@media only screen and (max-width: 767px) {.item01 p{ margin-bottom: 10px;}}
@media print, screen and (min-width: 768px) {.item01 p{ margin-bottom: 10px;}}
@media print, screen and (min-width: 992px) {.item01 p{ margin-bottom: 10px;}}
@media print, screen and (min-width:1200px) {.item01 p{ margin-bottom: 10px;}}

@media only screen and (max-width: 767px) {.item01 .file{ margin-bottom: 0;}}
@media print, screen and (min-width: 768px) {.item01.file{ margin-bottom: 0;}}
@media print, screen and (min-width: 992px) {.item01.file{ margin-bottom: 0;}}
@media print, screen and (min-width:1200px) {.item01.file{ margin-bottom: 0;}}


.file a {
	display: block;
	width: 100%;
	font-size: 90%;
	padding: 8px 10px;
	text-align:center;
	border-top: 1px dashed #00a0e9;
	border-bottom: 1px dashed #00a0e9;
	color:#003366;
	text-decoration:none;
	background: #d8f4ff;
	}

.file a.active, .file a:hover {
	background: #8cdfff;
	color:#003366;
	opacity: 1;
	filter: alpha(opacity=100);
	}

.file i{margin-right: 10px; color: #003366}


@media only screen and (max-width: 767px) {.item02{ margin-bottom: 50px;}}
@media print, screen and (min-width: 768px) {.item02{ margin-bottom: 50px;}}
@media print, screen and (min-width: 992px) {.item02{ margin-bottom: 55px;}}
@media print, screen and (min-width:1200px) {.item02{ margin-bottom: 55px;}}

@media only screen and (max-width: 767px) {.item02 .item-p{ margin-bottom: 10px;}}
@media print, screen and (min-width: 768px) {.item02 .item-p{ margin-bottom: 5px;}}
@media print, screen and (min-width: 992px) {.item02 .item-p{ margin-bottom: 8px;}}
@media print, screen and (min-width:1200px) {.item02 .item-p{ margin-bottom: 10px;}}

@media only screen and (max-width: 767px) {.item02 p{
	margin-bottom: 10px; text-align: center; font-size: 110%; font-weight: 900; color: #00a0e9}}
@media print, screen and (min-width: 768px) {.item02 p{
	margin-bottom: 5px; text-align: center; font-size: 110%; font-weight: 900; color: #00a0e9}}
@media print, screen and (min-width: 992px) {.item02 p{ margin-bottom: 5px;}}
@media print, screen and (min-width:1200px) {.item02 p{ margin-bottom: 10px;}}

@media only screen and (max-width: 767px) {.item02 .file{ margin-bottom: 0;}}
@media print, screen and (min-width: 768px) {.item02 .file{ margin-bottom: 0;}}
@media print, screen and (min-width: 992px) {.item02 .file{ margin-bottom: 0;}}
@media print, screen and (min-width:1200px) {.item02 .file{ margin-bottom: 0;}}

/* recruit.html
---------------------------------------------------- */
.bg-recruit{background:url(../images/bg-recruit.jpg) no-repeat scroll 50% 0% / cover;}
.p04-box1{
	text-align: center;
	font-size: 110%;
	color:#003366;
}
@media print, screen and (min-width: 768px) {
.p04-box1{
	font-size: 150%;
	line-height: 1.8em;
	}	
}

/* title01
---------------------------------------------------- */
.title01{
	font-size:120%;
	margin-bottom: 15px;
	font-weight: 700;
	line-height: 1.2em;
	text-align: center;
	color: #112e53;
	}
.title01 span{
	font-size:80%;
	font-weight: normal;
	margin-bottom: 20px;
	color: #0099cc;
	font-family: 'Oswald', sans-serif;
	}

@media print, screen and (min-width: 768px) {
.title01{
	font-size:33px;
	margin-bottom:30px;
	}
.title01 span{
	font-size: 23px;
	}	
}

/* title02
---------------------------------------------------- */
.title02{
	font-size:120%;
	padding: 15px 10px;	
	margin-bottom: 15px;
	color: #fff;
	background: #00a0e9;
	font-weight: 900;
	}
	
@media print, screen and (min-width: 768px) {
.title02{
	font-size:16px;
	padding: 13px;	
	margin-bottom:20px;
	}
}

@media print, screen and (min-width: 992px) {
.title02{
	font-size:18px;
	padding: 13px 20px;
	}
}

@media print, screen and (min-width: 1200px) {
.title02{
	font-size:18px;
	padding:15px 20px 13px 20px;
	}
}

/* title03
---------------------------------------------------- */
.title03{
	font-size:120%;
	margin-bottom: 20px;
	padding-bottom: 10px;	
	font-weight: 700;
	line-height: 1.2em;
	text-align: center;
	color: #112e53;
	background: url(../images/u-border.png) no-repeat center bottom
	}

.title03 span{
	font-size:80%;
	font-weight: normal;
	margin-bottom: 20px;
	color: #0099cc;
	font-family: 'Oswald', sans-serif;
	}

@media print, screen and (min-width: 768px) {
.title03{
	font-size:29px;
	margin-bottom:30px;
	padding-bottom: 20px;
	}
.title03 span{
	font-size: 18px;
	}	
}

.head-tel img{margin-left: auto}

/* 汎用
---------------------------------------------------- */
/* 画像
-------------------------- */
.img_ctr img{margin:0 auto;}

/* bg
---------------------------------------------------- */
.bg-sky{background:url(../images/bg-sky.jpg) no-repeat scroll 50% 0% / cover;}
.bg-dot{background:url("../images/dot.gif")}

/* 文字
---------------------------------------------------- */
.red{color:#F03;}
.orange{color:#cc0033;}
.bold{font-weight:bold}
.lhn{line-height:normal}


@media print, screen and (min-width: 768px) {.ctr-text01{text-align: center; line-height: 2.2em;}}
.ctr-text{text-align: center; line-height: 1.6em;}

.font01{font-family: 'Noto Sans JP', sans-serif;}

@media only screen and (max-width: 767px) {
	.fs80{font-size: 80%;}
}

/* 文字寄せ
---------------------------------------------------- */
.ctr{text-align:center;}
.rgt{text-align:right;}
.clear{clear:both;}
.f-left{float:left;}
.f-right{float:right}

@media print, screen and (min-width: 768px) {
	.large{line-height: 2.2em;}
}
@media print, screen and (min-width: 992px) {
	.large{font-size:110%; line-height: 2.2em;}
}

/* リスト
---------------------------------------------------- */
.ul_disc {list-style:disc; padding-left:20px;}

.ul_disc2 {
	list-style:disc;
	padding-left:20px;
}
.ul_disc2 li{
	border-bottom: 1px dashed #394045;
	padding:5px 0;	
}

@media print, screen and (min-width: 992px) {
.ul_disc2 li{
	padding:10px 0;
	}
}

.ul_no {list-style:decimal; padding-left:20px;}
.ul_none {list-style:none;}

/* print
---------------------------------------------------- */
.pba{page-break-before: always;}

/* 余白
---------------------------------------------------- */
.part01{padding:30px 0;}
@media print, screen and (min-width: 768px) {.part01{padding:60px 0}}
@media print, screen and (min-width: 992px) {.part01{padding:100px 0}}

.part02{padding:30px 0 0 0;}
@media print, screen and (min-width: 768px) {.part02{padding:60px 0 0 0}}
@media print, screen and (min-width: 992px) {.part02{padding:100px 0 40px 0}}

.part03{padding:30px 0;}
@media print, screen and (min-width: 768px) {.part03{padding:40px 0}}
@media print, screen and (min-width: 992px) {.part03{padding:60px 0}}

.part04{padding:20px 0;}
@media print, screen and (min-width: 768px) {.part04{padding:70px 0}}
@media print, screen and (min-width: 992px) {.part04{padding:70px 0}}

.part05{padding:30px 0 10px 0;}
@media print, screen and (min-width: 768px) {.part05{padding:60px 0}}
@media print, screen and (min-width: 992px) {.part05{padding:60px 0}}

.part06{padding:10px 0;}
@media print, screen and (min-width: 768px) {.part06{padding:0}}
@media print, screen and (min-width: 992px) {.part06{padding:0}}
@media print, screen and (min-width:1120px) {.part06{padding:0}}

.part07{padding:30px 0 10px 0;}
@media print, screen and (min-width: 768px) {.part07{padding:60px 0 15px 0}}
@media print, screen and (min-width: 992px) {.part07{padding:60px 0 15px 0}}

/* 文字間
---------------------------------------------------- */
.mb-xs10-sm0-md0{ margin-bottom:10px}
@media print, screen and (min-width: 768px) {.mb-xs10-sm0-md0{ margin-bottom:0px}}
@media print, screen and (min-width: 992px) {.mb-xs10-sm0-md0{ margin-bottom:0px}}

.mb-xs20-sm0-md0{ margin-bottom:20px}
@media print, screen and (min-width: 768px) {.mb-xs20-sm0-md0{ margin-bottom:0px}}
@media print, screen and (min-width: 992px) {.mb-xs20-sm0-md0{ margin-bottom:0px}}

.mb-xs30-sm0-md0{ margin-bottom:30px}
@media print, screen and (min-width: 768px) {.mb-xs30-sm0-md0{ margin-bottom:0px}}
@media print, screen and (min-width: 992px) {.mb-xs30-sm0-md0{ margin-bottom:0px}}

.mb-xs30-sm30-md0{ margin-bottom:30px}
@media print, screen and (min-width: 768px) {.mb-xs30-sm30-md0{ margin-bottom:30px}}
@media print, screen and (min-width: 992px) {.mb-xs30-sm30-md0{ margin-bottom:0px}}

.mb-xs10-sm15-md15{ margin-bottom:10px}
@media print, screen and (min-width: 768px) {.mb-xs10-sm15-md15{ margin-bottom:15px}}
@media print, screen and (min-width: 992px) {.mb-xs10-sm15-md15{ margin-bottom:15px}}

.mb-xs10-sm20-md20{ margin-bottom:10px}
@media print, screen and (min-width: 768px) {.mb-xs10-sm20-md20{ margin-bottom:20px}}
@media print, screen and (min-width: 992px) {.mb-xs10-sm20-md20{ margin-bottom:20px}}

.mb-xs10-sm20-md30{ margin-bottom:10px}
@media print, screen and (min-width: 768px) {.mb-xs10-sm20-md30{ margin-bottom:20px}}
@media print, screen and (min-width: 992px) {.mb-xs10-sm20-md30{ margin-bottom:30px}}

.mb-xs0-sm40-md40{ margin-bottom:0px}
@media print, screen and (min-width: 768px) {.mb-xs0-sm40-md40{ margin-bottom:40px}}
@media print, screen and (min-width: 992px) {.mb-xs0-sm40-md40{ margin-bottom:40px}}

.mb-xs20-sm40-md40{ margin-bottom:20px}
@media print, screen and (min-width: 768px) {.mb-xs20-sm40-md40{ margin-bottom:40px}}
@media print, screen and (min-width: 992px) {.mb-xs20-sm40-md40{ margin-bottom:40px}}

.mb-xs20-sm30-md30{ margin-bottom:20px}
@media print, screen and (min-width: 768px) {.mb-xs20-sm30-md30{ margin-bottom:30px}}
@media print, screen and (min-width: 992px) {.mb-xs20-sm30-md30{ margin-bottom:30px}}

.mb-xs20-sm30-md40{ margin-bottom:20px}
@media print, screen and (min-width: 768px) {.mb-xs20-sm30-md40{ margin-bottom:30px}}
@media print, screen and (min-width: 992px) {.mb-xs20-sm30-md40{ margin-bottom:40px}}

.mb-xs30-sm40-md40{ margin-bottom:30px}
@media print, screen and (min-width: 768px) {.mb-xs30-sm40-md40{ margin-bottom:40px}}
@media print, screen and (min-width: 992px) {.mb-xs30-sm40-md40{ margin-bottom:40px}}

.mb-xs30-sm60-md60{ margin-bottom:30px}
@media print, screen and (min-width: 768px) {.mb-xs30-sm60-md60{ margin-bottom:60px}}
@media print, screen and (min-width: 992px) {.mb-xs30-sm60-md60{ margin-bottom:60px}}

.mb-xs50-sm60-md60{ margin-bottom:50px}
@media print, screen and (min-width: 768px) {.mb-xs50-sm60-md60{ margin-bottom:60px}}
@media print, screen and (min-width: 992px) {.mb-xs50-sm60-md60{ margin-bottom:60px}}

/* map
-------------------------------- */
.map iframe{width: 100%; height:40vh;}
@media print, screen and (min-width: 768px) {.map iframe{width: 100%; height:600px;}}

/* ボタン
---------------------------------------------------- */
.btna::before,
.btna::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	}

.btna,
.btna::before,
.btna::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .5s;
	transition: all .5s;
	}

/* ボタン01
---------------------------------------------------- */
.btn01{
	display:block;
	width:100%;	
	color:#fff !important;
	background-color: #159fe6;
	font-size:14px;
	padding:10px 0px;
	border: 0px;
	text-align:center;
	}

@media print, screen and (min-width: 768px) {
.btn01{
	font-size:16px;
	padding:20px 0px;
	}
}

.btn01 a:link{
	display: inline-block;
	text-align: center;
	text-decoration: none;
	outline: none;
	cursor:pointer;
	}

.btn01:link,
.btn01:visited{
	color:#fff;
	text-decoration:none;
	background-color: #159fe6;
	}

.btn01:hover,
.btn01:active{
	color:#fff !important;
	text-decoration:none;
	background-color:#006192;
	}

.btn01 i{
	margin-left: 10px;
	color:#fff;
	}

/* テーブル
---------------------------------------------------- */
table{border-spacing:0; border-collapse:separate;}

/* table1
---------------------------------------------------- */
.table1{width:100%; border-collapse:collapse; border-bottom:1px solid #eee; margin-bottom: 20px; background: #fff;}
.table1 th{
	padding:10px;
	vertical-align:top;
	display: block;
	border-top:1px solid #ccc;
	border-left:0px solid #eee;
	border-right:1px solid #eee;
	text-align:center;
	font-size: 100%;
	}

.table1 td{
	padding:10px;
	display: block;
	border-top:1px dashed #ccc;
	border-left:0px solid #ccc;
	border-right:1px solid #eee;
	}

@media print, screen and (min-width: 768px) {
.table1{ border-top:0px solid #072c87; border-bottom:0px solid #eee;}
.table1 th{
	padding:15px 2px;
	border-top:1px solid #ccc;
	border-left:0px solid #eee;	
	border-right:0px solid #ccc;
	border-bottom:1px solid #ccc;
	vertical-align:middle;
	display:table-cell;
	width:45%;
	}

.table1 td{
	padding:15px 2px;
	border-top:1px solid #ccc;
	border-left:0px solid #ccc;
	border-bottom:1px solid #ccc;
	display:table-cell;
	}
}

@media print, screen and (min-width: 1200px) {
.table1 th{
	width:35%;
	}
}

.table1 tr:nth-child(2n+1) {
	    background: #f3f3f3;
}
	
/* pagetop
---------------------------------------------------- */
@media only screen and (max-width: 767px) {
#pagetop img{
	width: 30px;
	height: auto;
	}
}

#pagetop {
	position: fixed;
	bottom:0px;
	right: 0px;
	z-index: 100;
}

/* アンカー
---------------------------------------------------- */
.anchor{
    display: block;
    padding-top: 55px;
    margin-top: -55px;
}

@media print, screen and (min-width: 768px) {
	.anchor{
    padding-top: 75px;
    margin-top: -75px;
	}
}

/* main figure
-------------------------------- */
.grid {
  position: relative;
  margin: 0 auto;
  max-width: 2000px;
  list-style: none;
  text-align: center;
}

/* Common style */
.grid figure {
  position: relative;
  float: left;
  overflow: hidden;
  width: 100%;
  background: #292c20;
  text-align: center;
  cursor: pointer;
}

.grid figure img {
  position: relative;
  display: block;
  min-height: 100%;
  max-width: 100%;
  opacity: 0.8;
}

.grid figure figcaption {
  padding: 2em;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.25em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.grid figure figcaption::before,
.grid figure figcaption::after {
  pointer-events: none;
}

.grid figure figcaption,
.grid figure figcaption > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid figure figcaption > a {
  z-index: 1000;
  text-indent: 200%;
  white-space: nowrap;
  font-size: 0;
  opacity: 0;
}

.grid figure h2,
.grid figure p {
  margin: 0 auto
}

@media only screen and (max-width: 767px) {
.grid figure h2 img{
  margin: 0 auto !important;
  width: 40% !important;
	}
}

/***** Sadie *****/
figure.effect-sadie figcaption::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(top, rgba(3, 55, 160, 0.7) 0%, rgba(3, 55, 160, 0.7) 75%);
  background: linear-gradient(to bottom, rgba(3, 55, 160, 0.7) 0%, rgba(3, 55, 160, 0.7) 75%);
  content: '';
  opacity: 0;
  -webkit-transform: translate3d(0, 50%, 0);
  transform: translate3d(0, 50%, 0);
}

figure.effect-sadie h2 {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  color: #fff;
  line-height: 1;
  -webkit-transition: -webkit-transform 0.35s, color 0.35s;
  transition: transform 0.35s, color 0.35s;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

figure.effect-sadie figcaption::before,
figure.effect-sadie p {
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
}

.textRevealContainer {
  position: absolute;
  left: 20%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5em;
  text-align: center;
}

.textReveal {
  overflow: hidden;
  animation: textRevealAnim 2s ease 0.5s forwards;
}

.textReveal > div {
  padding: 8px 16px;
  transform: translateX(100%);
  overflow: hidden;
  animation: textRevealAnim 2s ease 0.5s forwards,
    borderOpacityAnim 2s ease 0.5s forwards;
}

.textReveal > div > div {
  transform: translateX(-100%);
  animation: textRevealAnim 2s ease 0.5s forwards;
}

@keyframes textRevealAnim {
  to {
    transform: translateX(0);
  }
}

@keyframes borderOpacityAnim {
  50% {
  }
  100% {
  }
}

.textReveal.x50 {
  transform: translateX(-50%);
}

.textReveal.x100 {
  transform: translateX(-100%);
}

.textReveal.zoom > div {
  transform: translateX(100%) scale(0.5, 0.5);
}

.textReveal.rotateY {
  perspective: 100px;
}

.textReveal.rotateY > div {
  transform: translateX(100%) rotateY(20deg);
}

.textReveal.color > div > div {
  background: linear-gradient(
    to right,
    red,
    red 45%,
    orange 45%,
    orange 55%,
    red 55%,
    red
  );
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-size: 300%;
  animation: textRevealAnim 2s ease 0.5s forwards,
    bgShiftAnim 3s ease 0.5s forwards;

}

@keyframes bgShiftAnim {
  to {
    background-position: 100%;
  }
 }

figure.effect-sadie p {
  font-size: 14px;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 2em;
  width: 100%;
  opacity: 0;
  -webkit-transform: translate3d(0, 10px, 0);
  transform: translate3d(0, 10px, 0);
}

figure.effect-sadie:hover h2 {
  color: #fff;
  -webkit-transform: translate3d(0, -50%, 0) translate3d(0, -40px, 0);
  transform: translate3d(0, -50%, 0) translate3d(0, -40px, 0);
}

figure.effect-sadie:hover figcaption::before,
figure.effect-sadie:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}


.topbox p::after {
	font-family: "Font Awesome 5 Free";
	content: "\f1c1";
	font-size: 20px;
	margin: 0 0 0 20px;
}

.topbox{
    padding: 0.5em 1em;
    margin: 0 auto 50px;
    background: #f4f4f4;
    border-left: solid 6px #112E53;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
	width: 280px;
	display: block;
	text-align: center;
}
.topbox p {
	color: #112E53;
}