@charset "utf-8";
/* CSS Document */

@import "reset.css";
@import "base_min.css";

/*******************
shared
 +00 common
 +01 header
 +02 catch
 +03 main
 +04 footer
 +05 block style
********************/

/*-------------------------------------------
 00 common
-----------------------------------------------*/
/* font-style */
.red {color: #ce060d;}
.bold {font-weight: bold;}
.uline {text-decoration: underline;}
.fs-s {font-size: .7em;}
.fs-l {font-size: 1.1em;}
.mk { /* marker color rgba(255,222,0,1) */
  background: -webkit-linear-gradient(rgba(255,222,0,0) 0%, rgba(255,222,0,0) 14%, rgba(255,222,0,1) 15%, rgba(255,222,0,1) 85%, rgba(255,222,0,0) 86%, rgba(255,222,0,0) 100%);
  background: -o-linear-gradient(rgba(255,222,0,0) 0%, rgba(255,222,0,0) 14%, rgba(255,222,0,1) 15%, rgba(255,222,0,1) 85%, rgba(255,222,0,0) 86%, rgba(255,222,0,0) 100%);
  background: linear-gradient(rgba(255,222,0,0) 0%, rgba(255,222,0,0) 14%, rgba(255,222,0,1) 15%, rgba(255,222,0,1) 85%, rgba(255,222,0,0) 86%, rgba(255,222,0,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffde00', endColorstr='#00ffde00',GradientType=0 );
}

.ttl {
  background-color: #eeeeee;
  box-sizing: border-box;
  border-left: 4px solid #317fc7;
  margin: 0 auto;
  color: #010101;
  font-size: 1.35em;
  font-weight: bold;
  padding: .45em .7em;
}
.bg-str {
  background: url(../img/bg_str.png) repeat top center;
}

/*-------------------------------------------
 01 header
-----------------------------------------------*/
header {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 25px;
}
header .header-catch {
  box-sizing: border-box;
  background-color: #317fc7;
  margin: 0 auto;
}
header .header-catch p{
  box-sizing: border-box;
  color: #fff;
  font-size: .85rem;
  padding: 2px 10px;
  max-width: 1020px;
  margin: 0 auto;
}
header .header-item {
  box-sizing: border-box;
  padding: 16px 10px;
  max-width: 1020px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.header-item-logo {
  max-width: 258px;
  width: 25.8%;
}
.header-contact-tel {
  display: inline-block;
  vertical-align: middle;
	padding-right: .3em;
}
.header-contact-tel-num {
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1em;
  text-align: center;
  margin-right: 16px;
}
.header-tel-icon {
	font-size: 1rem;
	vertical-align: middle;
	display: inline-block;
	padding-right: .5em;
}
.header-contact-tel-num img,.header-contact2-tel-num img {
  display: inline-block;
  vertical-align: middle;
  padding-bottom: .18em;
  padding-right: .1em;
}
.header-contact2-tel-num {
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1em;
  text-align: right;
  margin-right: 16px;
}
.header-contact-mail {
  display: inline-block;
  vertical-align: middle;
}
.header-contact-mail a {
  background-color: #317fc7;
  box-sizing: border-box;  
  color: #fff;
  display: block;
  font-weight: bold;
  font-size: 1.07rem;
  line-height: 1em;
  padding: 1em 1.4em;
}
.header-contact-mail a:hover {
  background-color: #4096e6;
}
.header-contact-mail img {
  display: inline-block;
  vertical-align: middle;
  padding-right: .6rem;
}
#header-spbtn {
  display: none;
}

#header-nav {
  box-sizing: border-box;
  padding: 0px 10px;
  max-width: 1020px;
  margin: 0 auto;
}
#header-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: stretch;
  align-items: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  text-align: center;
}
#header-nav li {
  box-sizing: border-box;
  border-left: 1px solid #bfbfbf;
  width: 100%;
}
#header-nav li:last-child {
  border-right: 1px solid #bfbfbf;
}
#header-nav a {
  box-sizing: border-box;
  display: block;
  padding: .6em 0;
  position: relative;
  height: 100%;
  width: 100%;
}
#header-nav a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  background-color: #317fc7;
  width: 0%;
  height: 4px;
  -webkit-transition: all .15s ease;
  -o-transition: all .15s ease;
  transition: all .15s ease;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
#header-nav a:hover:before {
  content: "";
  width: 100%;
}





/*----------------------------------------------
 02 catch
-----------------------------------------------*/
#catch {
  width: 100%;
}
.catch-box {
  box-sizing: border-box;
  padding: 38px 10px;
  max-width: 1020px;
  width: 100%;
  margin: 0 auto;
}

/*----------------------------------------------
 03 main
-----------------------------------------------*/
#main {
  box-sizing: border-box;
  padding: 0px 10px;
  max-width: 1020px;
  width: 100%;
  margin: 0 auto;
}

/*----------------------------------------------
 04 footer
-----------------------------------------------*/
footer {
  background-color: #f2efef;
}
.footer-box {
  box-sizing: border-box;
  padding: 32px 10px 0;
  max-width: 1020px;
  width: 100%;
  margin: 70px auto 0;
}
.footer-logo img{
  margin-left: 0;
}
.footer-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: flex-end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 22px 0;
  margin: 0 auto;
}
.footer-address {
  color: #333333;
}
.footer-link li{
  box-sizing: border-box;
  color: #555555;
  display: inline-block;
  line-height: 1.2em;
  padding: 0 .5em;
  border-left: 1px solid;
}
.footer-link li:last-child {
  border-right: 1px solid;
}
.footer-link li a:hover {
  text-decoration: underline;
}
#copy {
  background-color: #317fc7;
}
#copy p {
  color: #fff;
  max-width: 1020px;
  padding: 5px 10px;
  text-align: right;
  margin: 0 auto;
}

#gotop-btn {
  position: fixed;
  z-index: 999;
  bottom: 1em;
  right: 1em;
  cursor: pointer;
}
/*----------------------------------------------
 05 block style
-----------------------------------------------*/
.contact2-box {
  box-sizing: border-box;
  background: url(../img/contact2_img.jpg) no-repeat top left;
  -webkit-background-size: cover;
  background-size: cover;
  border: 6px solid #e2e1e1;
  max-width: 1000px;
  margin: 3em auto;
}
.contact2-box img{
	margin-left: auto;
	margin-right: 0;
	
}
.contact2-box dl {
  box-sizing: border-box;
  text-align: right;
  padding: 2.2em 1em 1.4em;
  width: 98%;
}
.contact2-box dt img {
	max-width: 642px;
	width: 70%;
}
.contact2-box .contact2-tel {
  font-size: 2em;
  box-sizing: border-box;
  padding: .6em 0 .8em;
	text-align: right;
}
.contact2-box .header-contact2-tel-num {
  font-size: 1.6em;
  color: #040404;
	text-align: right;
}
.contact2-box .header-contact2-time {
  font-size: .6em;
	text-align: right;
}
.contact2-box .contact2-mail a:hover img {
  opacity: .7;
}

/* pan */

.pan {
	margin-bottom: 1.5em;
}
.pan li {
	display: inline-block;
	color: #7e7e7e;
	font-size: 12px;
}
.pan li + li:before {
	content: "＞";
	display: inline-block;
	vertical-align: middle;
	padding-right: .2em;
}
.pan li a:hover {
	text-decoration: underline;
}
