@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
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: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/*
			@include centerbox();
			@include pie-clearfix();
			@include box-sizing(border-box);
			@include display-flex();
			@include flex-wrap(wrap);
			@include flex-direction(row);
				display:-ms-flexbox;
				-ms-flex-wrap: wrap;
				-ms-flex-align: start;
				-ms-flex-pack: space-between;
				-ms-flex-direction: row;
*/
@media print, screen and (min-width: 651px) {
  .tab_only {
    display: none; }

  .sp_only {
    display: none; } }
@media only screen and (max-width: 650px) {
  .pc_only {
    display: none; }

  .tab_only {
    display: none; }

  img {
    max-width: 100%;
    height: auto; } }
body {
  font-family: "Noto Sans Japanese", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 18px;
  color: #000;
  line-height: 30px;
  -webkit-text-size-adjust: 100%;
  min-width: 1000px; }
@media only screen and (max-width: 650px) {
  body {
    min-width: initial;
    min-width: auto; } }

a:link {
  color: #000;
  text-decoration: none; }

a:visited {
  color: #000; }

a:hover {
  color: #000;
  text-decoration: underline; }

a:active {
  color: #000; }

a:hover img {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7; }

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

a img {
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

#header {
  margin: 0 auto;
  width: 1000px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
@media only screen and (max-width: 650px) {
  #header {
    width: 100%; } }
@media only screen and (max-width: 650px) {
  #header {
    width: 94%; } }
#header h1 {
  padding: 28px 0 24px; }
@media only screen and (max-width: 650px) {
  #header h1 {
    width: 40%; } }
#header .header_contact {
  text-align: right; }
@media only screen and (max-width: 650px) {
  #header .header_contact {
    width: 40%; } }
#header .header_contact p {
  padding: 0 0 5px; }

#nav {
  margin: 0 0 10px;
  background: #172A88; }
#nav ul {
  margin: 0 auto;
  width: 1000px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  padding: 8px 0; }
@media only screen and (max-width: 650px) {
  #nav ul {
    width: 100%; } }
@media only screen and (max-width: 650px) {
  #nav ul {
    width: 94%; } }
#nav ul li {
  -webkit-flex: auto;
  flex: auto;
  background: url("../images/common/bg_nav.png") no-repeat center right 20px; }
@media only screen and (max-width: 650px) {
  #nav ul li {
    font-size: 9px;
    background: none;
    line-height: 16px; }
  #nav ul li a:after {
    display: inline-block;
    content: "/";
    padding: 0 0 0 2px; }
  #nav ul li:last-child a:after {
    display: none; } }
#nav ul li:last-child {
  background: none; }
#nav ul li a {
  color: #fff; }
#nav ul li a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  text-decoration: none; }

#footer {
  background: #172A88;
  position: relative;
  color: #fff; }
#footer #pagetop {
  position: absolute;
  top: -40px;
  text-align: center;
  width: 100%; }
#footer #pagetop a {
  display: block;
  margin: 0 auto; }
#footer #pagetop a:hover img {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1; }
#footer .footer_inner {
  padding: 140px 0 135px;
  margin: 0 auto;
  width: 1000px;
  text-align: center; }
@media only screen and (max-width: 650px) {
  #footer .footer_inner {
    width: 100%; } }
@media only screen and (max-width: 650px) {
  #footer .footer_inner {
    width: 94%; } }
#footer .footer_inner h1 {
  padding: 0 0 20px; }
#footer .footer_inner .contact {
  margin: 0 auto;
  width: 760px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 20px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
#footer .footer_inner .contact img {
  vertical-align: bottom; }
@media only screen and (max-width: 650px) {
  #footer .footer_inner .contact {
    width: 94%;
    padding: 5px 0 10px; }
  #footer .footer_inner .contact li {
    width: 48%; } }
#footer .footer_inner p.address {
  padding: 20px 0 0;
  text-align: center; }
@media only screen and (max-width: 650px) {
  #footer .footer_inner p.address {
    padding: 10px 0 0;
    font-size: 16px; } }
#footer #copyright {
  border-top: 1px solid #fff;
  padding: 5px 0;
  font-size: 16px;
  text-align: center;
  color: #788BC9; }
