@charset "UTF-8";
article, aside, figure, footer, header, nav, section, main {
  display: block;
}

body, div, dl, dt, dd, ul, li, h1, h2, h3, h4, h5, pre, form, input, img,
article, aside, figure, footer, header, nav, section, main {
  margin: 0;
  padding: 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

img, object {
  border: 0;
  vertical-align: top;
}

ul {
  list-style: none;
}

ol {
  margin: 0;
  padding: 0 0 0 1.4em;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6, select {
  font-size: 100%;
}

em, address, i {
  font-style: normal;
}

p {
  margin: 0 0 1em;
  padding: 0;
}

/* ====== utility ====== */
.ft .copy, .ntag, legend.req:after {
  font-size: 10px;
  font-size: .625rem;
}

.ft address {
  font-size: 12px;
  font-size: .75rem;
}

body {
  font-size: 14px;
  font-size: .875rem;
}

.btn_pcsite a {
  font-size: 16px;
  font-size: 1rem;
}

.decorated, .hdng_colored, .marked {
  font-size: 18px;
  font-size: 1.125rem;
}

.r {
  text-align: right;
}

.c {
  text-align: center;
}

.flo_l {
  float: left;
}

.flo_r {
  float: right;
}

.emph,
.alert {
  font-weight: bold;
}

.attention,
.alert {
  color: #d71718;
}

.disc {
  list-style-type: disc;
  margin-bottom: 1em;
  padding-left: 1.4em;
}

.hide {
  display: none;
}

.clear {
  clear: both;
}

.shrink {
  letter-spacing: -1px;
}

td, th {
  padding: 5px;
  text-align: left;
  vertical-align: top;
}

th {
  white-space: nowrap;
}

/* micro clearfix */
/* fix width or so to turn hasLayout true (instead of zoom:1) */
.cf:before, .cf:after {
  content: '';
  display: table;
}
.cf:after {
  clear: both;
}

.hd .hd_tbr, .home_catch, .home_nav {
  border-bottom: 5px solid #fc6;
}

body {
  padding-top: 17.1875%;
  background-color: #000;
  color: #fff;
  font-family: Arial, Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.5;
}

img {
  max-width: 100%;
}

a {
  color: #fff;
}

.hd {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 2;
}
.hd .hd_tbr {
  display: table;
  width: 100%;
}
.hd .hd1,
.hd .hd2,
.hd .hd3,
.hd .hd4 {
  display: table-cell;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
}
.hd .hd1.hd1,
.hd .hd2.hd1,
.hd .hd3.hd1,
.hd .hd4.hd1 {
  text-align: left;
}
.hd .hd1 img,
.hd .hd2 img,
.hd .hd3 img,
.hd .hd4 img {
  width: 100%;
}

.hd1 {
  width: 28%;
  border-right: 1px solid #fff;
}

.hd2 {
  width: 22%;
  border-right: 1px solid #fff;
}

.hd3 {
  width: 33%;
}

.hd4 {
  width: 17%;
  border-left: 1px solid #fff;
}

.gnavi {
  position: relative;
  top: -5px;
}
.gnavi li {
  background-color: #fc6;
  border-bottom: 1px solid #000;
}
.gnavi a {
  position: relative;
  display: block;
  padding: 12px 10px;
  color: #000;
  text-decoration: none;
}
.gnavi a:after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
  content: '';
}

.content,
.ft {
  margin: 0 3.125%;
}

.ft {
  padding-top: 15px;
  border-top: 1px solid #fff;
  text-align: center;
}
.ft address {
  margin-bottom: 15px;
}

/* ====== home ====== */
.home_nav {
  margin-bottom: 20px;
}
.home_nav ul {
  display: table;
}
.home_nav li {
  display: table-cell;
  box-sizing: border-box;
  width: 33.33333%;
}
.home_nav li img {
  width: 100%;
}
.home_nav .hn1,
.home_nav .hn2 {
  border-right: 1px solid #fff;
}

.decorated {
  margin: 20px 0;
  padding-bottom: 2.5%;
  background: url(../images/deco_line.png) center bottom no-repeat;
  background-size: 100%;
  text-align: center;
}

.home_news {
  margin-bottom: 30px;
  overflow: hidden;
}
.home_news li {
  margin-top: -1px;
  padding: 10px 0;
  border-top: 1px dashed #fff;
}
.home_news a {
  text-decoration: none;
}

.ntag {
  display: inline-block;
  margin-left: 1.5em;
  padding: 0 .5em;
  border-radius: 3px;
}
.ntag.cnews {
  background-color: #ff7a6e;
}
.ntag.cinfo {
  background-color: #54a4ff;
}

.hdng_colored {
  margin-bottom: 10px;
  color: #fc0;
}

.btn_pcsite {
  margin: 30px 0;
}
.btn_pcsite a {
  display: block;
  padding: 10px;
  border-radius: 4px;
  background-color: #eee;
  color: #000;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

/* ====== outline ====== */
.block {
  margin-bottom: 40px;
}

.marked {
  margin-bottom: 10px;
  padding-left: 20px;
  background: url(../images/mrk.png) left center no-repeat;
  background-size: 13px auto;
  color: #fc9;
}

/* ====== access ====== */
.indented {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}

#gmap {
  width: 100%;
  height: 200px;
}

/* ====== inquiry ====== */
fieldset {
  margin-bottom: 5px;
  padding: 5px;
  border: none;
  background-color: #fff;
  color: #000;
  overflow: hidden;
}

legend {
  display: block;
  box-sizing: border-box;
  width: 105%;
  margin-right: -5px;
  margin-left: -5px;
  padding: 5px 10px;
  background-color: #ffe5b2;
}
legend.req:after {
  display: inline-block;
  margin-left: 1em;
  padding: 0 4px;
  border-radius: 4px;
  background-color: #f00;
  color: #fff;
  vertical-align: middle;
  content: '必須項目';
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #999;
}

.half {
  display: table-cell;
}
.half span {
  display: inline-block;
  width: 75%;
  margin-left: 3%;
  vertical-align: top;
}
.half span input {
  width: 100%;
}

.full {
  width: 100%;
}

.ad {
  margin-bottom: 5px;
}
.ad label {
  display: inline-block;
  width: 20%;
  vertical-align: top;
}
.ad span {
  display: inline-block;
  width: 75%;
  margin-left: 3%;
}

.zip1 {
  width: 30%;
}

.zip2 {
  width: 50%;
}

.sbmt {
  margin: 40px 0;
  text-align: center;
}

.formbtn {
  display: inline-block;
  width: 150px;
  height: 35px;
  line-height: 35px;
  border: none;
  border-radius: 6px;
  font-family: inherit;
}
.formbtn.conf {
  box-shadow: 0 4px #7c0000;
  background-color: #d10000;
  color: #fff;
}
.formbtn.prev {
  margin-bottom: 10px;
  box-shadow: 0 4px #666;
  background-color: #ccc;
}

/* ====== news ====== */
.news .pageback {
    display: block;
    margin: auto;
    width: 150px;
    background-color: #f4bb00;
    border-radius: 3px;
    color: #000;
    text-align: center;
    font-weight: bold;
}

