@charset "UTF-8";
.cf:after {
  content: "";
  display: block;
  clear: both;
}

html, body {
  min-width: 1040px;
}
@media screen and (max-width: 768px) {
  html, body {
    min-width: inherit;
    min-width: auto;
  }
}

html {
  height: 100%;
  font-size: 62.5%;
}

body {
  height: 100%;
  line-height: 1.7;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #333333;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 768px) {
  body {
    line-height: 1.5;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

a {
  display: inline-block;
  color: inherit;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
  outline: none;
  text-decoration: none;
}
a:visited {
  color: inherit;
}
a:active {
  color: inherit;
}
a:hover {
  opacity: 0.7;
  color: inherit;
}
a:focus {
  outline: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  pointer-events: none;
}

/**/
.fs12 {
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .fs12 {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 414px) {
  .fs12 {
    font-size: 1rem;
  }
}

.fs13 {
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  .fs13 {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 414px) {
  .fs13 {
    font-size: 1.1rem;
  }
}

.fs14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .fs14 {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 414px) {
  .fs14 {
    font-size: 1.2rem;
  }
}

.fs15 {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .fs15 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 414px) {
  .fs15 {
    font-size: 1.3rem;
  }
}

.fs16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .fs16 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 414px) {
  .fs16 {
    font-size: 1.4rem;
  }
}

.fs17 {
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  .fs17 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 414px) {
  .fs17 {
    font-size: 1.5rem;
  }
}

.fs18 {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .fs18 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 414px) {
  .fs18 {
    font-size: 1.6rem;
  }
}

.fs19 {
  font-size: 1.9rem;
}
@media screen and (max-width: 768px) {
  .fs19 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 414px) {
  .fs19 {
    font-size: 1.7rem;
  }
}

.fs20 {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .fs20 {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 414px) {
  .fs20 {
    font-size: 1.8rem;
  }
}

.fs21 {
  font-size: 2.1rem;
}
@media screen and (max-width: 768px) {
  .fs21 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 414px) {
  .fs21 {
    font-size: 1.9rem;
  }
}

.fs22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .fs22 {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 414px) {
  .fs22 {
    font-size: 2rem;
  }
}

.fs23 {
  font-size: 2.3rem;
}
@media screen and (max-width: 768px) {
  .fs23 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 414px) {
  .fs23 {
    font-size: 2.1rem;
  }
}

.fs24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .fs24 {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 414px) {
  .fs24 {
    font-size: 2.2rem;
  }
}

.fs25 {
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .fs25 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 414px) {
  .fs25 {
    font-size: 2.3rem;
  }
}

.fs26 {
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .fs26 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 414px) {
  .fs26 {
    font-size: 2.4rem;
  }
}

.fs27 {
  font-size: 2.7rem;
}
@media screen and (max-width: 768px) {
  .fs27 {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 414px) {
  .fs27 {
    font-size: 2.5rem;
  }
}

.fs28 {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .fs28 {
    font-size: 2.7rem;
  }
}
@media screen and (max-width: 414px) {
  .fs28 {
    font-size: 2.6rem;
  }
}

.fs29 {
  font-size: 2.9rem;
}
@media screen and (max-width: 768px) {
  .fs29 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 414px) {
  .fs29 {
    font-size: 2.7rem;
  }
}

.fs30 {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .fs30 {
    font-size: 2.9rem;
  }
}
@media screen and (max-width: 414px) {
  .fs30 {
    font-size: 2.8rem;
  }
}

.font-s12 {
  font-size: 1.2rem !important;
}
@media screen and (max-width: 768px) {
  .font-s12 {
    font-size: 1.1rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s12 {
    font-size: 1rem !important;
  }
}

.font-s13 {
  font-size: 1.3rem !important;
}
@media screen and (max-width: 768px) {
  .font-s13 {
    font-size: 1.2rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s13 {
    font-size: 1.1rem !important;
  }
}

.font-s14 {
  font-size: 1.4rem !important;
}
@media screen and (max-width: 768px) {
  .font-s14 {
    font-size: 1.3rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s14 {
    font-size: 1.2rem !important;
  }
}

.font-s15 {
  font-size: 1.5rem !important;
}
@media screen and (max-width: 768px) {
  .font-s15 {
    font-size: 1.4rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s15 {
    font-size: 1.3rem !important;
  }
}

.font-s16 {
  font-size: 1.6rem !important;
}
@media screen and (max-width: 768px) {
  .font-s16 {
    font-size: 1.5rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s16 {
    font-size: 1.4rem !important;
  }
}

.font-s17 {
  font-size: 1.7rem !important;
}
@media screen and (max-width: 768px) {
  .font-s17 {
    font-size: 1.6rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s17 {
    font-size: 1.5rem !important;
  }
}

.font-s18 {
  font-size: 1.8rem !important;
}
@media screen and (max-width: 768px) {
  .font-s18 {
    font-size: 1.7rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s18 {
    font-size: 1.6rem !important;
  }
}

.font-s19 {
  font-size: 1.9rem !important;
}
@media screen and (max-width: 768px) {
  .font-s19 {
    font-size: 1.8rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s19 {
    font-size: 1.7rem !important;
  }
}

.font-s20 {
  font-size: 2rem !important;
}
@media screen and (max-width: 768px) {
  .font-s20 {
    font-size: 1.9rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s20 {
    font-size: 1.8rem !important;
  }
}

.font-s21 {
  font-size: 2.1rem !important;
}
@media screen and (max-width: 768px) {
  .font-s21 {
    font-size: 2rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s21 {
    font-size: 1.9rem !important;
  }
}

.font-s22 {
  font-size: 2.2rem !important;
}
@media screen and (max-width: 768px) {
  .font-s22 {
    font-size: 2.1rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s22 {
    font-size: 2rem !important;
  }
}

.font-s23 {
  font-size: 2.3rem !important;
}
@media screen and (max-width: 768px) {
  .font-s23 {
    font-size: 2.2rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s23 {
    font-size: 2.1rem !important;
  }
}

.font-s24 {
  font-size: 2.4rem !important;
}
@media screen and (max-width: 768px) {
  .font-s24 {
    font-size: 2.3rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s24 {
    font-size: 2.2rem !important;
  }
}

.font-s25 {
  font-size: 2.5rem !important;
}
@media screen and (max-width: 768px) {
  .font-s25 {
    font-size: 2.4rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s25 {
    font-size: 2.3rem !important;
  }
}

.font-s26 {
  font-size: 2.6rem !important;
}
@media screen and (max-width: 768px) {
  .font-s26 {
    font-size: 2.5rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s26 {
    font-size: 2.4rem !important;
  }
}

.font-s27 {
  font-size: 2.7rem !important;
}
@media screen and (max-width: 768px) {
  .font-s27 {
    font-size: 2.6rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s27 {
    font-size: 2.5rem !important;
  }
}

.font-s28 {
  font-size: 2.8rem !important;
}
@media screen and (max-width: 768px) {
  .font-s28 {
    font-size: 2.7rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s28 {
    font-size: 2.6rem !important;
  }
}

.font-s29 {
  font-size: 2.9rem !important;
}
@media screen and (max-width: 768px) {
  .font-s29 {
    font-size: 2.8rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s29 {
    font-size: 2.7rem !important;
  }
}

.font-s30 {
  font-size: 3rem !important;
}
@media screen and (max-width: 768px) {
  .font-s30 {
    font-size: 2.9rem !important;
  }
}
@media screen and (max-width: 414px) {
  .font-s30 {
    font-size: 2.8rem !important;
  }
}

.t-center {
  text-align: center;
}

.t-left {
  text-align: left;
}

.t-right {
  text-align: right;
}

.txt-center {
  text-align: center !important;
}

.txt-left {
  text-align: left !important;
}

.txt-right {
  text-align: right !important;
}

.block {
  display: block;
}

.iblock {
  display: inline-block;
}

.inline {
  display: inline;
}

.pc-block {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc-block {
    display: none;
  }
}

.pc-iblock {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .pc-iblock {
    display: none;
  }
}

.sp-block {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-block {
    display: block;
  }
}

.sp-iblock {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-iblock {
    display: inline-block;
  }
}

@media screen and (min-width: 769px) {
  .sp-visible {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .pc-visible {
    display: none !important;
  }
}

@media screen and (min-width: 415px) {
  .mb-visible {
    display: none !important;
  }
}

@media screen and (max-width: 414px) {
  .tb-visible {
    display: none !important;
  }
}

.mt5 {
  margin-top: 5px !important;
}
@media screen and (max-width: 414px) {
  .mt5 {
    margin-top: 3px !important;
  }
}

.mt10 {
  margin-top: 10px !important;
}
@media screen and (max-width: 414px) {
  .mt10 {
    margin-top: 5px !important;
  }
}

.mt15 {
  margin-top: 15px !important;
}
@media screen and (max-width: 414px) {
  .mt15 {
    margin-top: 8px !important;
  }
}

.mt20 {
  margin-top: 20px !important;
}
@media screen and (max-width: 414px) {
  .mt20 {
    margin-top: 10px !important;
  }
}

.mt25 {
  margin-top: 25px !important;
}
@media screen and (max-width: 414px) {
  .mt25 {
    margin-top: 13px !important;
  }
}

.mt30 {
  margin-top: 30px !important;
}
@media screen and (max-width: 414px) {
  .mt30 {
    margin-top: 15px !important;
  }
}

.mt35 {
  margin-top: 35px !important;
}
@media screen and (max-width: 414px) {
  .mt35 {
    margin-top: 18px !important;
  }
}

.mt40 {
  margin-top: 40px !important;
}
@media screen and (max-width: 414px) {
  .mt40 {
    margin-top: 20px !important;
  }
}

.mt45 {
  margin-top: 45px !important;
}
@media screen and (max-width: 414px) {
  .mt45 {
    margin-top: 23px !important;
  }
}

.mt50 {
  margin-top: 50px !important;
}
@media screen and (max-width: 414px) {
  .mt50 {
    margin-top: 25px !important;
  }
}

.mt60 {
  margin-top: 60px !important;
}
@media screen and (max-width: 414px) {
  .mt60 {
    margin-top: 30px !important;
  }
}

.mt70 {
  margin-top: 70px !important;
}
@media screen and (max-width: 414px) {
  .mt70 {
    margin-top: 35px !important;
  }
}

.mt80 {
  margin-top: 80px !important;
}
@media screen and (max-width: 414px) {
  .mt80 {
    margin-top: 40px !important;
  }
}

.mt100 {
  margin-top: 100px !important;
}
@media screen and (max-width: 414px) {
  .mt100 {
    margin-top: 50px !important;
  }
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}
@media screen and (max-width: 414px) {
  .mb5 {
    margin-bottom: 3px !important;
  }
}

.mb10 {
  margin-bottom: 10px !important;
}
@media screen and (max-width: 414px) {
  .mb10 {
    margin-bottom: 5px !important;
  }
}

.mb15 {
  margin-bottom: 15px !important;
}
@media screen and (max-width: 414px) {
  .mb15 {
    margin-bottom: 8px !important;
  }
}

.mb20 {
  margin-bottom: 20px !important;
}
@media screen and (max-width: 414px) {
  .mb20 {
    margin-bottom: 10px !important;
  }
}

.mb25 {
  margin-bottom: 25px !important;
}
@media screen and (max-width: 414px) {
  .mb25 {
    margin-bottom: 13px !important;
  }
}

.mb30 {
  margin-bottom: 30px !important;
}
@media screen and (max-width: 414px) {
  .mb30 {
    margin-bottom: 15px !important;
  }
}

.mb35 {
  margin-bottom: 35px !important;
}
@media screen and (max-width: 414px) {
  .mb35 {
    margin-bottom: 18px !important;
  }
}

.mb40 {
  margin-bottom: 40px !important;
}
@media screen and (max-width: 414px) {
  .mb40 {
    margin-bottom: 20px !important;
  }
}

.mb45 {
  margin-bottom: 45px !important;
}
@media screen and (max-width: 414px) {
  .mb45 {
    margin-bottom: 23px !important;
  }
}

.mb50 {
  margin-bottom: 50px !important;
}
@media screen and (max-width: 414px) {
  .mb50 {
    margin-bottom: 25px !important;
  }
}

.ml5 {
  margin-left: 5px !important;
}
@media screen and (max-width: 414px) {
  .ml5 {
    margin-left: 3px !important;
  }
}

.ml10 {
  margin-left: 10px !important;
}
@media screen and (max-width: 414px) {
  .ml10 {
    margin-left: 5px !important;
  }
}

.ml15 {
  margin-left: 15px !important;
}
@media screen and (max-width: 414px) {
  .ml15 {
    margin-left: 8px !important;
  }
}

.ml20 {
  margin-left: 20px !important;
}
@media screen and (max-width: 414px) {
  .ml20 {
    margin-left: 10px !important;
  }
}

.ml25 {
  margin-left: 25px !important;
}
@media screen and (max-width: 414px) {
  .ml25 {
    margin-left: 13px !important;
  }
}

.ml30 {
  margin-left: 30px !important;
}
@media screen and (max-width: 414px) {
  .ml30 {
    margin-left: 15px !important;
  }
}

.ml35 {
  margin-left: 35px !important;
}
@media screen and (max-width: 414px) {
  .ml35 {
    margin-left: 18px !important;
  }
}

.ml40 {
  margin-left: 40px !important;
}
@media screen and (max-width: 414px) {
  .ml40 {
    margin-left: 20px !important;
  }
}

.ml45 {
  margin-left: 45px !important;
}
@media screen and (max-width: 414px) {
  .ml45 {
    margin-left: 23px !important;
  }
}

.ml50 {
  margin-left: 50px !important;
}
@media screen and (max-width: 414px) {
  .ml50 {
    margin-left: 25px !important;
  }
}

.mr5 {
  margin-right: 5px !important;
}
@media screen and (max-width: 414px) {
  .mr5 {
    margin-right: 3px !important;
  }
}

.mr10 {
  margin-right: 10px !important;
}
@media screen and (max-width: 414px) {
  .mr10 {
    margin-right: 5px !important;
  }
}

.mr15 {
  margin-right: 15px !important;
}
@media screen and (max-width: 414px) {
  .mr15 {
    margin-right: 8px !important;
  }
}

.mr20 {
  margin-right: 20px !important;
}
@media screen and (max-width: 414px) {
  .mr20 {
    margin-right: 10px !important;
  }
}

.mr25 {
  margin-right: 25px !important;
}
@media screen and (max-width: 414px) {
  .mr25 {
    margin-right: 13px !important;
  }
}

.mr30 {
  margin-right: 30px !important;
}
@media screen and (max-width: 414px) {
  .mr30 {
    margin-right: 15px !important;
  }
}

.mr35 {
  margin-right: 35px !important;
}
@media screen and (max-width: 414px) {
  .mr35 {
    margin-right: 18px !important;
  }
}

.mr40 {
  margin-right: 40px !important;
}
@media screen and (max-width: 414px) {
  .mr40 {
    margin-right: 20px !important;
  }
}

.mr45 {
  margin-right: 45px !important;
}
@media screen and (max-width: 414px) {
  .mr45 {
    margin-right: 23px !important;
  }
}

.mr50 {
  margin-right: 50px !important;
}
@media screen and (max-width: 414px) {
  .mr50 {
    margin-right: 25px !important;
  }
}

@media screen and (max-width: 768px) {
  .sp-mt40 {
    margin-top: 40px !important;
  }
}

.block {
  display: block;
}

.iblock {
  display: inline-block;
}

.inline {
  display: inline;
}

.pc-block {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc-block {
    display: none;
  }
}

.pc-iblock {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .pc-iblock {
    display: none;
  }
}

.sp-block {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-block {
    display: block;
  }
}

.sp-iblock {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-iblock {
    display: inline-block;
  }
}

@media screen and (min-width: 769px) {
  .sp-visible {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .pc-visible {
    display: none !important;
  }
}

@media screen and (min-width: 415px) {
  .mb-visible {
    display: none !important;
  }
}

@media screen and (max-width: 414px) {
  .tb-visible {
    display: none !important;
  }
}

.telephone a {
  cursor: default;
}

.color-red {
  color: red;
}

.table-pcfix {
  overflow-x: scroll;
}
.table-pcfix table {
  width: 1000px !important;
}

table.renovation th, table.renovation td {
  padding: 20px 10px 15px;
  border: 1px solid #4d4d4d;
}
table.renovation thead tr th {
  font-weight: bold;
}
table.renovation thead tr th:nth-of-type(1) {
  width: 22.5%;
}
table.renovation thead tr th:nth-of-type(2) {
  width: 38.7%;
  background-color: #f6f7f7;
}
table.renovation thead tr th:nth-of-type(3) {
  width: 38.8%;
  background-color: #f5f2ed;
  color: #003171;
}
table.renovation tbody tr th {
  vertical-align: middle;
  text-align: left;
  font-weight: bold;
}
table.renovation tbody tr td:nth-of-type(1) {
  background-color: #f6f7f7;
}
table.renovation tbody tr td:nth-of-type(2) {
  color: #003171;
  background-color: #f5f2ed;
}
table.facility th, table.facility td {
  vertical-align: middle;
  padding: 20px 20px 15px;
  border: 1px solid #4d4d4d;
}
table.facility thead th {
  font-weight: bold;
}
table.facility thead th:first-child {
  background-color: #f5f2ed;
}
table.facility tbody th {
  font-weight: bold;
  background-color: #f5f2ed;
  text-align: left;
}
#footer {
  font-size: 1.2rem;
}

.box-colomn-01.col02, .col02.box-colomn-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.box-colomn-01.col02 .col-inner, .col02.box-colomn-02 .col-inner {
  width: calc(50% - 20px);
}
@media screen and (max-width: 768px) {
  .box-colomn-01.col02 .col-inner, .col02.box-colomn-02 .col-inner {
    width: 100%;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .box-colomn-01.col02 .col-inner:first-child, .col02.box-colomn-02 .col-inner:first-child {
    margin-top: 0;
  }
}
.box-colomn-01.col-detail .col-inner, .col-detail.box-colomn-02 .col-inner {
  padding: 25px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .box-colomn-01.col-detail .col-inner, .col-detail.box-colomn-02 .col-inner {
    padding: 20px;
  }
}
.box-colomn-01.col-detail .col-inner [class^=unit-title], .col-detail.box-colomn-02 .col-inner [class^=unit-title] {
  margin-bottom: 20px;
}
.box-colomn-01.col-detail .col-inner > *, .col-detail.box-colomn-02 .col-inner > * {
  margin-top: 10px;
}
.box-colomn-01.col-detail .col-inner > *:first-child, .col-detail.box-colomn-02 .col-inner > *:first-child {
  margin-top: 0;
}
.box-colomn-01 .col-inner, .box-colomn-02 .col-inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.box-colomn-02.col02 .col-inner:nth-of-type(odd) {
  width: calc(100% - 330px);
}
@media screen and (max-width: 768px) {
  .box-colomn-02.col02 .col-inner:nth-of-type(odd) {
    width: 100%;
  }
}
.box-colomn-02.col02 .col-inner:nth-of-type(even) {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .box-colomn-02.col02 .col-inner:nth-of-type(even) {
    width: 100%;
  }
}
.box-colomn-02 .col-inner img {
  margin-left: auto;
  margin-right: auto;
}

.box-stafflist-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.box-stafflist-01 .staff-inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: calc(50% - 22px);
  margin-bottom: 45px;
  padding: 25px 38px 50px 0;
  border-bottom: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
}
@media screen and (max-width: 768px) {
  .box-stafflist-01 .staff-inner {
    width: 100%;
    margin-bottom: 25px;
    padding: 10px 20px 25px 0;
  }
}
.box-stafflist-01 .staff-inner .staffimg {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .box-stafflist-01 .staff-inner .staffimg {
    margin-bottom: 15px;
  }
}
.box-stafflist-01 .staff-inner .staffimg img {
  width: 100%;
}
.box-stafflist-01 .staff-inner .position {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .box-stafflist-01 .staff-inner .position {
    font-size: 1.4rem;
  }
}
.box-stafflist-01 .staff-inner .name {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .box-stafflist-01 .staff-inner .name {
    font-size: 1.7rem;
  }
}
.box-stafflist-01 .staff-inner .button {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .box-stafflist-01 .staff-inner .button {
    margin-top: 10px;
    width: 260px;
  }
}

.box-stafflist-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .box-stafflist-02 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.box-stafflist-02 .staff-inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: calc(33% - 20px);
  margin-right: 35px;
  margin-bottom: 45px;
  padding: 0 0 50px;
  border-bottom: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .box-stafflist-02 .staff-inner {
    width: calc(50% - 10px);
    margin-right: 0;
    margin-bottom: 25px;
    padding: 10px 20px 25px 0;
  }
}
@media screen and (max-width: 414px) {
  .box-stafflist-02 .staff-inner {
    width: 100%;
  }
}
.box-stafflist-02 .staff-inner:nth-of-type(3n+3) {
  margin-right: 0;
}
.box-stafflist-02 .staff-inner .season {
  display: block;
}
.box-stafflist-02 .staff-inner .staffimg {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .box-stafflist-02 .staff-inner .staffimg {
    margin-bottom: 15px;
  }
}
.box-stafflist-02 .staff-inner .staffimg img {
  width: 100%;
}
.box-stafflist-02 .staff-inner .position {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .box-stafflist-02 .staff-inner .position {
    font-size: 1.4rem;
  }
}
.box-stafflist-02 .staff-inner .name {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .box-stafflist-02 .staff-inner .name {
    font-size: 1.7rem;
  }
}
.box-stafflist-02 .staff-inner .button {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .box-stafflist-02 .staff-inner .button {
    margin-top: 10px;
    width: 100%;
  }
}
.box-detail-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.box-detail-01 .figure-wrap {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .box-detail-01 .figure-wrap {
    width: 100%;
  }
}
.box-detail-01 .figure-wrap .figure img {
  width: 100%;
}
.box-detail-01 .figure-wrap .position {
  display: block;
  margin-top: 35px;
}
@media screen and (max-width: 768px) {
  .box-detail-01 .figure-wrap .position {
    margin-top: 25px;
  }
}
.box-detail-01 .figure-wrap .name {
  display: block;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .box-detail-01 .figure-wrap .name {
    font-size: 1.8rem;
  }
}
.box-detail-01 .figure-wrap p {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .box-detail-01 .figure-wrap p {
    margin-top: 10px;
  }
}
.box-detail-01 .detail-wrap {
  width: calc(100% - 345px);
}
@media screen and (max-width: 768px) {
  .box-detail-01 .detail-wrap {
    width: 100%;
    margin-top: 30px;
  }
}
.box-detail-01 .detail-wrap .title {
  margin-top: 30px;
  margin-bottom: 15px;
  font-size: 1.6rem;
  color: #6c7a89;
}
@media screen and (max-width: 768px) {
  .box-detail-01 .detail-wrap .title {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
}
.box-detail-01 .detail-wrap .title:first-child {
  margin-top: 0;
}
.box-detail-01 .detail-wrap > * {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .box-detail-01 .detail-wrap > * {
    margin-top: 10px;
  }
}
.box-detail-01 .detail-wrap > *:first-child {
  margin-top: 0;
}

.box-detail-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.box-detail-02 .figure-wrap {
  width: 440px;
}
@media screen and (max-width: 768px) {
  .box-detail-02 .figure-wrap {
    width: 100%;
  }
}
.box-detail-02 .figure-wrap .figure img {
  width: 100%;
}
.box-detail-02 .figure-wrap .position {
  display: block;
  margin-top: 35px;
}
@media screen and (max-width: 768px) {
  .box-detail-02 .figure-wrap .position {
    margin-top: 25px;
  }
}
.box-detail-02 .figure-wrap .name {
  display: block;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .box-detail-02 .figure-wrap .name {
    font-size: 1.8rem;
  }
}
.box-detail-02 .figure-wrap p {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .box-detail-02 .figure-wrap p {
    margin-top: 10px;
  }
}
.box-detail-02 .detail-wrap {
  width: calc(100% - 485px);
}
@media screen and (max-width: 768px) {
  .box-detail-02 .detail-wrap {
    width: 100%;
    margin-top: 30px;
  }
}
.box-detail-02 .detail-wrap .title {
  margin-top: 30px;
  margin-bottom: 15px;
  font-size: 1.6rem;
  color: #6c7a89;
}
@media screen and (max-width: 768px) {
  .box-detail-02 .detail-wrap .title {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
}
.box-detail-02 .detail-wrap .title:first-child {
  margin-top: 0;
}
.box-detail-02 .detail-wrap > * {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .box-detail-02 .detail-wrap > * {
    margin-top: 10px;
  }
}
.box-detail-02 .detail-wrap > *:first-child {
  margin-top: 0;
}

.box-summary-01 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px;
  background-color: #f6f7f7;
}
@media screen and (max-width: 768px) {
  .box-summary-01 {
    padding: 20px;
  }
}

.box-flow-01 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
}
.box-flow-01 dl:first-child {
  margin-top: 0;
}
.box-flow-01 dl dt, .box-flow-01 dl dd {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px;
}
.box-flow-01 dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 240px;
  background-color: #003171;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
}
@media screen and (max-width: 414px) {
  .box-flow-01 dl dt {
    width: 100%;
    font-size: 1.8rem;
  }
}
.box-flow-01 dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 240px);
  background-color: #f6f7f7;
  font-size: 1.5rem;
}
@media screen and (max-width: 414px) {
  .box-flow-01 dl dd {
    width: 100%;
    font-size: 1.4rem;
  }
}

.box-catch-01 {
  position: relative;
  text-align: center;
}
.box-catch-01 .main-catch {
  font-size: 1.6rem;
  font-weight: bold;
  color: #6c7a89;
}
.box-catch-01 .sub-catch {
  margin-top: 50px;
}

.box-tab-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /*190717追記 疑似要素の空ブロック*/
  /*━━━━━━━━━━━━━━━━━━━━━━━*/
}
.box-tab-01 .tab-inner {
  width: calc(33% - 20px);
  margin-bottom: 10px;
  font-size: 1.8rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .box-tab-01 .tab-inner {
    width: calc(50% - 5px);
    font-size: 1.5rem;
  }
}
.box-tab-01 .tab-inner a {
  display: block;
  padding: 10px 5px;
  border: 1px solid #003171;
  background-color: #003171;
  color: #fff !important;
  text-decoration: none !important;
}
@media screen and (max-width: 768px) {
  .box-tab-01 .tab-inner a {
    padding: 5px;
  }
}
.box-tab-01 .tab-inner a.is-active, .box-tab-01 .tab-inner a:hover {
  background-color: #fff;
  color: #003171 !important;
}
.box-tab-01::after {
  content: "";
  display: block;
  width: calc(33% - 20px);
}

.box-estimate-01 .est-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 45px;
  padding-bottom: 45px;
  border-bottom: 1px solid #cccccc;
}
@media screen and (max-width: 768px) {
  .box-estimate-01 .est-inner {
    margin-top: 0;
  }
}
.box-estimate-01 .map-wrap {
  width: 440px;
  height: 285px;
}
@media screen and (max-width: 768px) {
  .box-estimate-01 .map-wrap {
    width: 100%;
    height: 200px;
  }
}
.box-estimate-01 .map-wrap iframe {
  width: 100% !important;
  height: 100% !important;
}
.box-estimate-01 .detail-wrap {
  width: calc(100% - 490px);
}
@media screen and (max-width: 768px) {
  .box-estimate-01 .detail-wrap {
    width: 100%;
    margin-top: 30px;
  }
}
.box-estimate-01 .detail-wrap > * {
  margin-top: 20px;
}
.box-estimate-01 .detail-wrap > *:first-child {
  margin-top: 0;
}
.box-estimate-01 .detail-wrap .ttl-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
}
.box-estimate-01 .detail-wrap .ttl-wrap .cat {
  margin-right: 10px;
  padding: 5px 7px;
  background-color: #003171;
  color: #fff;
}
.box-estimate-01 .detail-wrap .ttl-wrap .ttl {
  font-size: 1.6rem;
}

.txt-center {
  text-align: center;
}

.figure-center img {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 769px) {
  .box-snsbtn-01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .box-snsbtn-01 > *:nth-of-type(n+2) {
    margin-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .box-snsbtn-01 > *:nth-of-type(n+2) {
    margin-top: 20px;
  }
}

.unit-title-01 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #6b7a89;
}
@media screen and (max-width: 768px) {
  .unit-title-01 {
    font-size: 1.6rem;
  }
}

.unit-title-02, .unit-title-03 {
  font-size: 1.7rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .unit-title-02, .unit-title-03 {
    font-size: 1.5rem;
  }
}

.unit-title-03 {
  padding-bottom: 5px;
  border-bottom: 1px solid #d1d5d6;
}

.unit-btnlist-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.unit-btnlist-01 .btnlist-inner {
  margin-left: 10px;
  margin-right: 10px;
}

.unit-btnlist-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.unit-btnlist-02 .btnlist-inner {
  width: calc(25% - 10px);
}
@media screen and (max-width: 768px) {
  .unit-btnlist-02 .btnlist-inner {
    width: calc(50% - 5px);
  }
}
.unit-btnlist-02 .btnlist-inner.button.common {
  min-width: inherit;
  min-width: auto;
  margin-bottom: 7px;
}
@media screen and (max-width: 768px) {
  .unit-btnlist-02 .btnlist-inner.button.common a {
    padding: 15px 5px 12px;
  }
}

.unit-period-01 {
  font-weight: bold;
  font-size: 2.1rem;
  color: #003171;
}
@media screen and (max-width: 768px) {
  .unit-period-01 {
    font-size: 1.8rem;
  }
}
.unit-period-01 span {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .unit-period-01 span {
    font-size: 1.3rem;
  }
}

.unit-logo-01 {
  width: 225px;
  margin-left: auto;
  margin-right: auto;
}

.unit-dec-01 {
  position: relative;
}
.unit-dec-01:before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 1100px;
  height: 448px;
  background: url(../images/recruit/recruit-ttlback.png) no-repeat center top transparent;
  background-size: 1100px 448px;
}
@media screen and (max-width: 768px) {
  .unit-dec-01:before {
    top: 0;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: calc(100% + 30px);
    background-image: url(../images/recruit/recruit-ttlback-sp.png);
    background-size: contain;
  }
}

.unit-dl-01 {
  line-height: 1.3;
}
.unit-dl-01 dt {
  font-weight: bold;
}
.unit-dl-01 dd {
  margin-top: 3px;
}

.unit-figure-01 {
  margin-left: auto;
  margin-right: auto;
}
.unit-figure-01 img {
  margin-left: auto;
  margin-right: auto;
}

.unit-catch-02 {
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  color: #6c7a89;
}

.unit-message-01 {
  z-index: 0;
  position: relative;
  padding: 10px 5px;
  text-align: center;
  font-size: 1.5rem;
  color: #fff;
}
.unit-message-01:before {
  z-index: 0;
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translate(-100%, -50%);
      -ms-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 10px 3.5px 0;
  border-color: transparent #4d4d4d transparent transparent;
}
@media screen and (max-width: 768px) {
  .unit-message-01:before {
    display: none;
  }
}
.unit-message-01:after {
  z-index: -1;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 10px);
  height: 100%;
  background-color: #4d4d4d;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .unit-message-01:after {
    width: 100%;
  }
}

.unit-table-01 tr th,
.unit-table-01 tr td {
  padding: 13px 23px;
  border: 1px solid #808080;
}
@media screen and (max-width: 768px) {
  .unit-table-01 tr th,
  .unit-table-01 tr td {
    vertical-align: middle;
    padding: 10px;
  }
}
.unit-table-01 tr th {
  background-color: #f6f7f7;
  text-align: left;
  font-weight: bold;
  color: #6c7a89;
}
@media screen and (max-width: 768px) {
  .unit-table-01 tr th {
    width: 70px;
  }
}
.unit-snsbtn-01 > a {
  width: 180px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none !important;
  font-size: 15px !important;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .unit-snsbtn-01 > a {
    width: 100%;
    height: 44px;
  }
}
.unit-snsbtn-01 > a span {
  position: relative;
}
.unit-snsbtn-01.fb > a {
  border: 1px solid #1877f2;
  color: #1877f2 !important;
}
.unit-snsbtn-01.fb > a span:before {
  content: "\f09a";
  font-family: "Font Awesome 5 Brands";
  margin-right: 0.25em;
}
.unit-snsbtn-01.ig > a {
  border: 1px solid #f26939;
  -o-border-image: linear-gradient(to right, #4c64d3, #cf2e92, #f26939, #ffdd83);
     border-image: -webkit-gradient(linear, left top, right top, from(#4c64d3), color-stop(#cf2e92), color-stop(#f26939), to(#ffdd83));
     border-image: linear-gradient(to right, #4c64d3, #cf2e92, #f26939, #ffdd83);
  border-image-slice: 1;
  color: #cf2e92 !important;
}
.unit-snsbtn-01.ig > a span:before {
  content: "\f16d";
  font-family: "Font Awesome 5 Brands";
  margin-right: 0.25em;
}

@media screen and (min-width: 769px) {
  #contents .banner_wrap .cf {
    width: 1080px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #contents .banner_wrap .cf li {
    margin: 20px 30px;
  }
  #contents .banner_wrap .cf li:last-child {
    width: 300px;
  }
}
@media screen and (max-width: 768px) {
  #contents .banner_wrap .cf li {
    margin: 6px 0;
  }
}
@media screen and (min-width: 769px) {
  #header .globalNav .pc_link .home {
    width: 80px !important;
  }
  #header .globalNav .pc_link .management {
    width: 175px !important;
  }
  #header .globalNav .pc_link .myhome {
    width: 155px !important;
  }
  #header .globalNav .pc_link .casestudys {
    width: 115px !important;
  }
  #header .globalNav .pc_link .event {
    width: 155px !important;
  }
  #header .globalNav .pc_link .person {
    width: 175px !important;
  }
  #header .globalNav .pc_link .buy {
    width: 165px !important;
  }
  #contents .detail_style .list_style li {
    margin: 10px !important;
  }
}
@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li h2 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media screen and (min-width: 769px) {
  .mv-single {
    height: auto !important;
  }
}
.mv-single img {
  width: 100%;
}

/**
*
* Main Stylesheet For Visual Style Guide
*
**/
/* 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;
}

/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: "メイリオ", "Hiragino Kaku Gothic Pro", "Yu Gothic", "Meiryo", sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
table,
pre,
p {
  margin-top: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
html {
  font-size: 100%;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
}

p,
li,
dt,
dd,
th,
td,
pre {
  -ms-line-break: strict;
  line-break: strict;
  -ms-word-break: break-strict;
  word-break: break-strict;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  vertical-align: middle;
  border: 0;
}

/* IE8 max-widthバグ対応 */
/* .ie8 img{width:auto; height:auto;} */
/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Custom text-selection colors */
::-moz-selection {
  background: #ddd;
  color: #fff;
  text-shadow: none;
}

::selection {
  background: #ddd;
  color: #fff;
  text-shadow: none;
}

.cf:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.cf {
  display: inline-table;
}

/* Hides from IE-mac \*/
* html .cf {
  height: 1%;
}

.cf {
  display: block;
}

/* End hide from IE-mac */
/*!
*  - v1.3
* Homepage: http://bqworks.com/slider-pro/
* Author: bqworks
* Author URL: http://bqworks.com/
*/
.slider-pro {
  position: relative;
  margin: 0 auto;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.sp-slides-container {
  position: relative;
}

.sp-mask {
  position: relative;
  overflow: hidden;
}

.sp-slides {
  position: relative;
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000;
}

.sp-slide {
  position: absolute;
}

.sp-image-container {
  overflow: hidden;
}

.sp-image {
  position: relative;
  display: block;
  border: none;
}

.sp-no-js {
  overflow: hidden;
  max-width: 100%;
}

.sp-thumbnails-container {
  position: relative;
  overflow: hidden;
  direction: ltr;
}

.sp-bottom-thumbnails,
.sp-top-thumbnails {
  left: 0;
  margin: 0 auto;
}

.sp-top-thumbnails {
  position: absolute;
  top: 0;
  margin-bottom: 4px;
}

.sp-bottom-thumbnails {
  margin-top: 4px;
}

.sp-left-thumbnails,
.sp-right-thumbnails {
  position: absolute;
  top: 0;
}

.sp-right-thumbnails {
  right: 0;
  margin-left: 4px;
}

.sp-left-thumbnails {
  left: 0;
  margin-right: 4px;
}

.sp-thumbnails {
  position: relative;
}

.sp-thumbnail {
  border: none;
}

.sp-thumbnail-container {
  position: relative;
  display: block;
  overflow: hidden;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.sp-rtl .sp-thumbnail-container {
  float: right;
}

.sp-bottom-thumbnails .sp-thumbnail-container,
.sp-top-thumbnails .sp-thumbnail-container {
  margin-left: 2px;
  margin-right: 2px;
}

.sp-bottom-thumbnails .sp-thumbnail-container:first-child,
.sp-top-thumbnails .sp-thumbnail-container:first-child {
  margin-left: 0;
}

.sp-bottom-thumbnails .sp-thumbnail-container:last-child,
.sp-top-thumbnails .sp-thumbnail-container:last-child {
  margin-right: 0;
}

.sp-left-thumbnails .sp-thumbnail-container,
.sp-right-thumbnails .sp-thumbnail-container {
  margin-top: 2px;
  margin-bottom: 2px;
}

.sp-left-thumbnails .sp-thumbnail-container:first-child,
.sp-right-thumbnails .sp-thumbnail-container:first-child {
  margin-top: 0;
}

.sp-left-thumbnails .sp-thumbnail-container:last-child,
.sp-right-thumbnails .sp-thumbnail-container:last-child {
  margin-bottom: 0;
}

.sp-right-thumbnails.sp-has-pointer {
  margin-left: -13px;
}

.sp-right-thumbnails.sp-has-pointer .sp-thumbnail {
  position: absolute;
  left: 18px;
  margin-left: 0 !important;
}

.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  content: "";
  position: absolute;
  height: 100%;
  border-left: 5px solid red;
  left: 0;
  top: 0;
  margin-left: 13px;
}

.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  left: 0;
  top: 50%;
  margin-top: -8px;
  border-right: 13px solid red;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

.sp-left-thumbnails.sp-has-pointer {
  margin-right: -13px;
}

.sp-left-thumbnails.sp-has-pointer .sp-thumbnail {
  position: absolute;
  right: 18px;
}

.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  content: "";
  position: absolute;
  height: 100%;
  border-left: 5px solid red;
  right: 0;
  top: 0;
  margin-right: 13px;
}

.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  right: 0;
  top: 50%;
  margin-top: -8px;
  border-left: 13px solid red;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

.sp-bottom-thumbnails.sp-has-pointer {
  margin-top: -13px;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail {
  position: absolute;
  top: 18px;
  margin-top: 0 !important;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  content: "";
  position: absolute;
  width: 100%;
  border-bottom: 5px solid red;
  top: 0;
  margin-top: 13px;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  left: 50%;
  top: 0;
  margin-left: -8px;
  border-bottom: 13px solid red;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
}

.sp-top-thumbnails.sp-has-pointer {
  margin-bottom: -13px;
}

.sp-top-thumbnails.sp-has-pointer .sp-thumbnail {
  position: absolute;
  bottom: 18px;
}

.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  content: "";
  position: absolute;
  width: 100%;
  border-bottom: 5px solid red;
  bottom: 0;
  margin-bottom: 13px;
}

.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  left: 50%;
  bottom: 0;
  margin-left: -8px;
  border-top: 13px solid red;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
}

.sp-layer {
  position: absolute;
  margin: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-backface-visibility: hidden;
}

.sp-black {
  color: #FFF;
  background: #000;
  background: rgba(0, 0, 0, 0.7);
}

.sp-white {
  color: #000;
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
}

.sp-rounded {
  border-radius: 10px;
}

.sp-padding {
  padding: 10px;
}

.sp-grab {
  cursor: url(images/openhand.cur), move;
}

.sp-grabbing {
  cursor: url(images/closedhand.cur), move;
}

.sp-selectable {
  cursor: default;
}

.sp-caption-container {
  text-align: center;
  margin-top: 10px;
}

.sp-full-screen {
  margin: 0 !important;
  background-color: #000;
}

.sp-full-screen-button {
  position: absolute;
  top: 5px;
  right: 10px;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.sp-full-screen-button:before {
  content: "↕";
}

.sp-fade-full-screen {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.slider-pro:hover .sp-fade-full-screen {
  opacity: 1;
}

.sp-buttons {
  position: relative;
  width: 100%;
  text-align: center;
  padding-top: 10px;
}

.sp-rtl .sp-buttons {
  direction: rtl;
}

.sp-full-screen .sp-buttons {
  display: none;
}

.sp-button {
  width: 10px;
  height: 10px;
  border: 2px solid #000;
  border-radius: 50%;
  margin: 4px;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}

.sp-selected-button {
  background-color: #000;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .sp-button {
    width: 14px;
    height: 14px;
  }
}
@media only screen and (min-width: 568px) and (max-width: 768px) {
  .sp-button {
    width: 16px;
    height: 16px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 568px) {
  .sp-button {
    width: 18px;
    height: 18px;
  }
}
.sp-arrows {
  position: absolute;
}

.sp-fade-arrows {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.sp-slides-container:hover .sp-fade-arrows {
  opacity: 1;
}

.sp-horizontal .sp-arrows {
  width: 100%;
  left: 0;
  top: 50%;
  margin-top: -15px;
}

.sp-vertical .sp-arrows {
  height: 100%;
  left: 50%;
  top: 0;
  margin-left: -10px;
}

.sp-arrow {
  position: absolute;
  display: block;
  width: 20px;
  height: 30px;
  cursor: pointer;
}

.sp-vertical .sp-arrow {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.sp-horizontal .sp-previous-arrow {
  left: 20px;
  right: auto;
}

.sp-horizontal .sp-next-arrow,
.sp-horizontal.sp-rtl .sp-previous-arrow {
  right: 20px;
  left: auto;
}

.sp-horizontal.sp-rtl .sp-next-arrow {
  left: 20px;
  right: auto;
}

.sp-vertical .sp-previous-arrow {
  top: 20px;
}

.sp-vertical .sp-next-arrow {
  bottom: 20px;
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.sp-next-arrow:after,
.sp-next-arrow:before,
.sp-previous-arrow:after,
.sp-previous-arrow:before {
  content: "";
  position: absolute;
  width: 50%;
  height: 50%;
  background-color: #FFF;
}

.sp-arrow:before {
  left: 30%;
  top: 0;
  -webkit-transform: skew(145deg, 0deg);
  -ms-transform: skew(145deg, 0deg);
  transform: skew(145deg, 0deg);
}

.sp-arrow:after {
  left: 30%;
  top: 50%;
  -webkit-transform: skew(-145deg, 0deg);
  -ms-transform: skew(-145deg, 0deg);
  transform: skew(-145deg, 0deg);
}

.sp-horizontal.sp-rtl .sp-previous-arrow,
.sp-next-arrow {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sp-horizontal.sp-rtl .sp-next-arrow {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}

.ie7 .sp-arrow,
.ie8 .sp-arrow {
  width: 0;
  height: 0;
}

.ie7 .sp-arrow:after,
.ie7 .sp-arrow:before,
.ie8 .sp-arrow:after,
.ie8 .sp-arrow:before {
  content: none;
}

.ie7.sp-horizontal .sp-previous-arrow,
.ie8.sp-horizontal .sp-previous-arrow {
  border-right: 20px solid #FFF;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
}

.ie7.sp-horizontal .sp-next-arrow,
.ie8.sp-horizontal .sp-next-arrow {
  border-left: 20px solid #FFF;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
}

.ie7.sp-vertical .sp-previous-arrow,
.ie8.sp-vertical .sp-previous-arrow {
  border-bottom: 20px solid #FFF;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
}

.ie7.sp-vertical .sp-next-arrow,
.ie8.sp-vertical .sp-next-arrow {
  border-top: 20px solid #FFF;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
}

.sp-thumbnail-arrows {
  position: absolute;
}

.sp-fade-thumbnail-arrows {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.sp-thumbnails-container:hover .sp-fade-thumbnail-arrows {
  opacity: 1;
}

.sp-bottom-thumbnails .sp-thumbnail-arrows,
.sp-top-thumbnails .sp-thumbnail-arrows {
  width: 100%;
  top: 50%;
  left: 0;
  margin-top: -12px;
}

.sp-left-thumbnails .sp-thumbnail-arrows,
.sp-right-thumbnails .sp-thumbnail-arrows {
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -7px;
}

.sp-thumbnail-arrow {
  position: absolute;
  display: block;
  width: 15px;
  height: 25px;
  cursor: pointer;
}

.sp-left-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow,
.sp-right-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.sp-bottom-thumbnails .sp-previous-thumbnail-arrow,
.sp-top-thumbnails .sp-previous-thumbnail-arrow {
  left: 0;
}

.sp-bottom-thumbnails .sp-next-thumbnail-arrow,
.sp-top-thumbnails .sp-next-thumbnail-arrow {
  right: 0;
}

.sp-left-thumbnails .sp-previous-thumbnail-arrow,
.sp-right-thumbnails .sp-previous-thumbnail-arrow {
  top: 0;
}

.sp-left-thumbnails .sp-next-thumbnail-arrow,
.sp-right-thumbnails .sp-next-thumbnail-arrow {
  bottom: 0;
}

.sp-next-thumbnail-arrow:after,
.sp-next-thumbnail-arrow:before,
.sp-previous-thumbnail-arrow:after,
.sp-previous-thumbnail-arrow:before {
  content: "";
  position: absolute;
  width: 50%;
  height: 50%;
  background-color: #FFF;
}

.sp-previous-thumbnail-arrow:before {
  left: 30%;
  top: 0;
  -webkit-transform: skew(145deg, 0deg);
  -ms-transform: skew(145deg, 0deg);
  transform: skew(145deg, 0deg);
}

.sp-previous-thumbnail-arrow:after {
  left: 30%;
  top: 50%;
  -webkit-transform: skew(-145deg, 0deg);
  -ms-transform: skew(-145deg, 0deg);
  transform: skew(-145deg, 0deg);
}

.sp-next-thumbnail-arrow:before {
  right: 30%;
  top: 0;
  -webkit-transform: skew(35deg, 0deg);
  -ms-transform: skew(35deg, 0deg);
  transform: skew(35deg, 0deg);
}

.sp-next-thumbnail-arrow:after {
  right: 30%;
  top: 50%;
  -webkit-transform: skew(-35deg, 0deg);
  -ms-transform: skew(-35deg, 0deg);
  transform: skew(-35deg, 0deg);
}

.ie7 .sp-thumbnail-arrow,
.ie8 .sp-thumbnail-arrow {
  width: 0;
  height: 0;
}

.ie7 .sp-thumbnail-arrow:after,
.ie7 .sp-thumbnail-arrow:before,
.ie8 .sp-thumbnail-arrow:after,
.ie8 .sp-thumbnail-arrow:before {
  content: none;
}

.ie7 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-top-thumbnails .sp-previous-thumbnail-arrow,
.ie8 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow,
.ie8 .sp-top-thumbnails .sp-previous-thumbnail-arrow {
  border-right: 12px solid #FFF;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.ie7 .sp-bottom-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-top-thumbnails .sp-next-thumbnail-arrow,
.ie8 .sp-bottom-thumbnails .sp-next-thumbnail-arrow,
.ie8 .sp-top-thumbnails .sp-next-thumbnail-arrow {
  border-left: 12px solid #FFF;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.ie7 .sp-left-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-right-thumbnails .sp-previous-thumbnail-arrow,
.ie8 .sp-left-thumbnails .sp-previous-thumbnail-arrow,
.ie8 .sp-right-thumbnails .sp-previous-thumbnail-arrow {
  border-bottom: 12px solid #FFF;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
}

.ie7 .sp-left-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-right-thumbnails .sp-next-thumbnail-arrow,
.ie8 .sp-left-thumbnails .sp-next-thumbnail-arrow,
.ie8 .sp-right-thumbnails .sp-next-thumbnail-arrow {
  border-top: 12px solid #FFF;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
}

a.sp-video {
  text-decoration: none;
}

a.sp-video img {
  -webkit-backface-visibility: hidden;
  border: none;
}

a.sp-video:after {
  content: "▶";
  position: absolute;
  width: 45px;
  padding-left: 5px;
  height: 50px;
  border: 2px solid #FFF;
  text-align: center;
  font-size: 30px;
  border-radius: 30px;
  top: 0;
  color: #FFF;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.2);
  margin: auto;
  line-height: 52px;
}

.slider-pro img.sp-image,
.slider-pro img.sp-thumbnail {
  max-width: none;
  max-height: none;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  -mox-box-shadow: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  transition: none;
  -moz-transition: none;
  -webkit-transition: none;
  -o-transition: none;
}

.slider-pro a {
  position: static;
  transition: none !important;
  -moz-transition: none !important;
  -webkit-transition: none !important;
  -o-transition: none !important;
}

.slider-pro canvas,
.slider-pro embed,
.slider-pro iframe,
.slider-pro object,
.slider-pro video {
  max-width: none;
  max-height: none;
}

.slider-pro p.sp-layer {
  font-size: 14px;
  line-height: 1.4;
  margin: 0;
}

.slider-pro h1.sp-layer {
  font-size: 32px;
  line-height: 1.4;
  margin: 0;
}

.slider-pro h2.sp-layer {
  font-size: 24px;
  line-height: 1.4;
  margin: 0;
}

.slider-pro h3.sp-layer {
  font-size: 19px;
  line-height: 1.4;
  margin: 0;
}

.slider-pro h4.sp-layer {
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}

.slider-pro h5.sp-layer {
  font-size: 13px;
  line-height: 1.4;
  margin: 0;
}

.slider-pro h6.sp-layer {
  font-size: 11px;
  line-height: 1.4;
  margin: 0;
}

.slider-pro img.sp-layer {
  border: none;
}

/* Preload images */
body:after {
  content: url(../images/plugin/lightbox/close.png) url(../images/plugin/lightbox/loading.gif) url(../images/plugin/lightbox/prev.png) url(../images/plugin/lightbox/next.png);
  display: none;
}

body.lb-disable-scrolling {
  overflow: hidden;
}

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none;
}

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
}

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  border-radius: 3px;
}

.lightbox a img {
  border: none;
}

.lb-outerContainer {
  position: relative;
  background-color: white;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
}

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-container {
  padding: 4px;
}

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
}

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../images/plugin/lightbox/loading.gif) no-repeat;
}

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

.lb-container > .nav {
  left: 0;
}

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");
}

.lb-prev,
.lb-next {
  height: 100%;
  cursor: pointer;
  display: block;
}

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../images/plugin/lightbox/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../images/plugin/lightbox/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-data {
  padding: 0 4px;
  color: #ccc;
}

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em;
}

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em;
}

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999;
}

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../images/plugin/lightbox/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

html {
  height: 100%;
  font-size: 62.5%;
}

body {
  height: 100%;
  line-height: 1.7;
  font-size: 1.3rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #4d4d4d;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 768px) {
  body {
    line-height: 1.6;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
a {
  display: inline-block;
  color: #4d4d4d;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
  /*
  img,p,span,h2,h3,h4,h5,h6{
      transition: opacity 0.3s linear;
  }
  */
}

a:visited {
  color: #4d4d4d;
}

a:active {
  color: #4d4d4d;
}

a:hover {
  opacity: 0.7;
  color: #4d4d4d;
}

img {
  display: block;
  pointer-events: none;
}

img.aligncenter {
  display: block;
  margin: 0 auto;
  height: auto;
}

img.alignright {
  display: block;
  float: right;
  margin: 0 0 24px 36px;
  padding: 0;
}

img.alignleft {
  display: block;
  float: left;
  margin: 0 36px 24px 0;
  padding: 0;
}

@media screen and (max-width: 768px) {
  img {
    max-width: 100%;
    height: auto;
  }
  img.alignleft {
    margin: 0 0 12px 12px;
    max-width: 33%;
  }
  img.alignright {
    margin: 0 0 12px 12px;
    max-width: 33%;
  }
}
p {
  font-size: 1.4rem;
}

.center {
  text-align: center;
}

.telephone a {
  cursor: default;
}

.pc_disp {
  display: block !important;
}

@media screen and (max-width: 736px) {
  .pc_disp {
    display: none !important;
  }
}
.pc_idisp {
  display: inline-block;
}

@media screen and (max-width: 736px) {
  .pc_idisp {
    display: none;
  }
}
.sp_disp {
  display: none !important;
}

@media screen and (max-width: 736px) {
  .sp_disp {
    display: block !important;
  }
}
@media screen and (max-width: 736px) {
  .sp_block {
    display: block;
  }
}
.sp_idisp {
  display: none;
}

@media screen and (max-width: 736px) {
  .sp_idisp {
    display: inline-block;
  }
}
@media screen and (max-width: 736px) {
  .sp_iblock {
    display: inline-block;
  }
}
.red {
  color: #ea6068;
}

.yumin {
  font-family: "游明朝体", "Yu Mincho", YuMincho;
}

.wrapper {
  width: 1020px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .wrapper {
    width: 100%;
  }
  #contents .wrapper {
    padding-left: 16px;
    padding-right: 16px;
    width: calc(100% - 32px);
  }
  #contents .wrapper .wrapper {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
}
dl.circle_colon {
  position: relative;
}
dl.circle_colon.free_colon dt,
dl.circle_colon.free_colon dd {
  display: block;
  position: relative;
  width: auto;
}
dl.circle_colon.free_colon dd {
  padding-left: 0 !important;
}

@media screen and (max-width: 768px) {
  dl.circle_colon {
    margin: 5px 0 0;
  }
}
@media screen and (max-width: 768px) {
  dl.circle_colon:first-child {
    margin: 0;
  }
}
dl.circle_colon dt {
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  dl.circle_colon dt {
    position: relative;
  }
}
dl.circle_colon dt:before {
  content: "●";
  margin-right: 5px;
}

dl.circle_colon dt:after {
  content: "：";
  margin-left: 3px;
}

@media screen and (max-width: 768px) {
  dl.circle_colon dt:after {
    display: none;
  }
}
dl.circle_colon dd {
  position: relative;
  display: block;
}

@media screen and (max-width: 768px) {
  dl.circle_colon dd {
    padding: 0 0 0 1.5em;
  }
}
.p_l_05em {
  padding-left: 5em;
}

.p_l_06em {
  padding-left: 6em;
}

.p_l_07em {
  padding-left: 7em;
}

.p_l_08em {
  padding-left: 8em;
}

.p_l_09em {
  padding-left: 9em;
}

.p_l_10em {
  padding-left: 10em;
}

.p_l_11em {
  padding-left: 11em;
}

.p_l_12em {
  padding-left: 12em;
}

.back_gray {
  background-color: #f5f4f2;
}

ul.circle li {
  position: relative;
  display: inline-block;
  padding: 0 0 0 1em;
}

ul.circle li:before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}

ul.check li {
  position: relative;
  display: inline-block;
  margin-right: 15px;
}

ul.check li:before {
  content: "";
  vertical-align: middle;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: -2px 5px 0 0;
  background: url(../images/common/icon-check.svg) no-repeat center center transparent;
  background-size: 12px 12px;
}

.button.common {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  display: inline-block;
  min-width: 280px;
  padding: 0 0 4px;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .button.common {
    min-width: auto;
    min-width: inherit;
    margin-top: 10px;
    font-size: 1.4rem;
  }
}
.button.common:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background-color: #026196;
}

.button.common.middle {
  min-width: 450px;
}

@media screen and (max-width: 768px) {
  .button.common.middle {
    min-width: 230px;
  }
}
.button.common.large {
  min-width: 400px;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .button.common.large {
    min-width: 274px;
    font-size: 1.2rem;
  }
}
.button.common.large a,
.button.common.large button,
.button.common.large .wpcf7-form-control {
  padding: 21px 0;
}

@media screen and (max-width: 768px) {
  .button.common.large a,
  .button.common.large button,
  .button.common.large .wpcf7-form-control {
    padding: 14px 0;
  }
}
.button.common.orange:before {
  background-color: #935b18;
}

.button.common.orange a {
  background-color: #e0953b;
}

.button.common.gray:before {
  background-color: #1f262d;
}

.button.common.gray a,
.button.common.gray button,
.button.common.gray .wpcf7-form-control {
  background-color: #6c7a89;
}

.button.common a,
.button.common button,
.button.common .wpcf7-form-control {
  position: relative;
  display: block;
  border: 0;
  padding: 18px 10px;
  border-radius: 4px;
  background-color: #199ae3;
  color: #ffffff !important;
  text-decoration: none !important;
}

.button.common .wpcf7-form-control {
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  width: 100%;
}
.button.common .wpcf7-form-control:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .button.common a,
  .button.common button,
  .button.common .wpcf7-form-control {
    padding: 15px 10px 12px;
  }
}
.button.common a:after {
  content: "＞";
  display: inline-block;
  width: 18px;
  height: 13px;
  margin-left: 18px;
  background-size: 18px auto;
}

@media screen and (max-width: 768px) {
  .button.common a:after {
    width: 7px;
    height: 10px;
    margin-left: 7px;
    background-size: 7px auto;
  }
}
.button.border {
  display: inline-block;
  line-height: 1;
  color: #909c9c;
}

.button.border.active a {
  background-color: #909c9c;
  color: #ffffff !important;
}

.button.border.small a {
  padding: 9px 7px 6px;
}

@media screen and (max-width: 768px) {
  .button.border.small a {
    padding: 7px 7px 6px;
  }
}
.button.border a {
  display: block;
  padding: 9px 15px 6px;
  border: 1px solid #909c9c;
  color: #909c9c !important;
}

.button.border a:hover {
  background-color: #909c9c;
  color: #ffffff !important;
}

.button.arrow {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  display: block;
  width: 38px;
  height: 38px;
  margin: 0 auto;
  border: 2px solid #ffffff;
}

.button.arrow:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: no-repeat center center transparent;
  background-size: 7px 12px;
}

.button.arrow.right:before {
  background-image: url(../images/common/icon-button-arrow-right.svg);
}

.button a {
  text-decoration: none !important;
}

.button.border.large a {
  line-height: 50px;
  padding: 0 32px;
}

.button.center {
  display: block;
  text-align: center;
}
.button.center a {
  margin: 0 auto;
  max-width: 300px;
  width: auto;
}

.decoration {
  position: relative;
}

.decoration:before,
.decoration:after {
  content: "";
  position: absolute;
  top: 0;
  display: block;
}

.decoration:before {
  z-index: 10;
  left: 0;
  width: 100%;
  border-top: 1px solid #d1d5d6;
}

.decoration:after {
  z-index: 9;
  left: 50%;
  width: 120px;
  margin-left: -60px;
  border-top: 3px solid #d1d5d6;
}

@media screen and (max-width: 768px) {
  .decoration:after {
    width: 60px;
    margin-left: -30px;
  }
}
.decoration.left:after {
  left: 0;
  margin-left: 0;
  border-top-width: 5px;
}

@media screen and (max-width: 768px) {
  .decoration.left:after {
    margin-left: 0;
  }
  .wrapper.decoration.left:before {
    margin-right: 16px;
    margin-left: 16px;
    width: calc(100% - 32px);
  }
  .wrapper.decoration.left:after {
    /*margin-left: 16px;*/
  }
}
.decoration.white:before,
.decoration.white:after {
  border-color: #ffffff;
}

.decoration.navy:after {
  border-color: #003171;
}

.title_style {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.2em;
  color: #003171;
}

@media screen and (max-width: 768px) {
  .title_style {
    font-size: 1.9rem;
  }
}
.title_style.white {
  color: #ffffff;
}

.title_style.white .en {
  color: #ffffff;
}

.title_style .en {
  display: block;
  margin: 18px 0 0;
  font-size: 1.4rem;
  font-family: "Unica One", cursive;
  letter-spacing: 0.4em;
  color: #909c9c;
}

@media screen and (max-width: 768px) {
  .title_style .en {
    margin: 11px 0 0;
    font-size: 1.4rem;
  }
}
.contact_detail {
  width: 100%;
  background-color: #f1f1f2;
}

@media screen and (max-width: 768px) {
  .contact_detail {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 13px 0;
    background-color: transparent;
  }
}
.contact_detail .contact_detail_inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 1080px;
  margin: 0 auto;
  padding: 52px 0 52px;
}

@media screen and (max-width: 768px) {
  .contact_detail .contact_detail_inner {
    width: 100%;
    padding: 0;
  }
}
.contact_detail .detail {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  float: left;
  width: 360px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .contact_detail .detail {
    width: 50%;
  }
}
.contact_detail .detail:nth-of-type(3n + 2) {
  border-left: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
}

@media screen and (max-width: 768px) {
  .contact_detail .detail:nth-of-type(odd) {
    padding: 0 3px 0 6px;
  }
}
@media screen and (max-width: 768px) {
  .contact_detail .detail:nth-of-type(even) {
    padding: 0 6px 0 3px;
  }
}
@media screen and (max-width: 768px) {
  .contact_detail .detail .inner {
    position: relative;
    background-color: #f1f1f2;
    -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  }
}
.contact_detail .detail h2 {
  padding: 22px 0 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .contact_detail .detail h2 {
    margin: 0 0 8px 0;
    padding: 15px 0 0;
    font-size: 1.3rem;
  }
}
.contact_detail .detail .catch {
  margin: 27px 0 16px 0;
}

@media screen and (max-width: 768px) {
  .contact_detail .detail .catch {
    margin: 13px 0;
    font-size: 1.2rem;
  }
}
.contact_detail .detail .figure_wrap {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  padding: 0 0 16px;
}

@media screen and (max-width: 768px) {
  .contact_detail .detail .figure_wrap {
    position: relative;
    left: 0;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    margin: 0 12px 0;
    padding: 0 0 7px;
  }
}
@media screen and (max-width: 768px) {
  .contact_detail .detail .figure_wrap figure {
    padding: 0 4px;
  }
}
.contact_detail .detail .figure_wrap figure img {
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .contact_detail .detail .figure_wrap figure img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .contact_detail .detail .figure_wrap .button.common {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .contact_detail .detail .figure_wrap .button.common a:after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .contact_detail .detail .bottom {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    bottom: 7px;
    left: 0;
    display: block;
    width: 100%;
    padding: 0 12px;
  }
}
@media screen and (max-width: 768px) {
  .contact_detail .detail .bottom .button.common {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .contact_detail .detail .bottom .button.common a:after {
    display: none;
  }
}
.contact_detail .detail .tel {
  font-family: "游明朝体", "Yu Mincho", YuMincho;
  font-size: 3rem;
  color: #199ae3;
  display: block;
  margin: 0;
  padding: 12px 0 0 0;
  letter-spacing: 0.05em;
  line-height: 1;
}

.contact_detail .detail .tel span {
  display: inline-block;
  margin: -10px 9px 0 0;
  font-size: 2.2rem;
}

.contact_detail .detail .box {
  width: 300px;
  margin: 27px auto 0;
  padding: 10px 0 16px;
  border-top: 1px solid #ffffff;
}

.contact_detail .detail .box:first-child {
  margin: 0 auto;
  padding: 0;
  border: none;
}

.contact_detail .detail .box .catch {
  margin: 21px 0 11px;
}

.contact_detail .detail .box .button.common {
  margin: 4px 0 0;
}

.pagenation {
  margin: 100px 0 0;
}

@media screen and (max-width: 768px) {
  .pagenation {
    margin: 40px 0 0;
  }
}
.pagenation ul {
  text-align: center;
}

.pagenation ul li {
  display: inline-block;
  min-width: 50px;
  margin: 0 4px;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .pagenation ul li {
    min-width: 40px;
    margin-bottom: 10px;
  }
}
.pagenation ul li a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: 16px 0;
  border: 1px solid #6c7a80;
  line-height: 1;
  text-decoration: none !important;
  color: #6c7a80 !important;
}

@media screen and (max-width: 768px) {
  .pagenation ul li a {
    padding: 11px 0;
  }
}
.pagenation ul li a:hover,
.pagenation ul li a.active {
  background-color: #6c7a80;
  color: #ffffff !important;
}

#pageTop {
  z-index: 98;
  display: none;
  position: fixed;
  bottom: 43px;
  right: 27px;
  width: 60px;
  height: 60px;
}

@media screen and (max-width: 768px) {
  #pageTop {
    bottom: 15px;
    right: 15px;
    width: 35px;
    height: 35px;
  }
}
#pageTop a {
  display: block;
}

#pageTop a img {
  width: 60px;
  height: 60px;
}

@media screen and (max-width: 768px) {
  #pageTop a img {
    width: 35px;
    height: 35px;
  }
}
#fixBanner {
  z-index: 110;
  position: fixed;
  top: 170px;
  right: 0;
}

@media screen and (max-width: 768px) {
  #fixBanner {
    display: none;
  }
}
#fixBanner a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 194px;
  padding: 18px 0 0 0;
  border-radius: 5px;
  color: #ffffff;
  text-decoration: none;
}

#fixBanner ul li {
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 140px;
  min-height: 200px;
  margin: 10px 0 0;
  padding: 0 0 6px 0;
  border-radius: 5px;
  text-align: center;
}

#fixBanner ul li:before {
  content: "";
}

#fixBanner ul li:first-child {
  margin: 0;
}

#fixBanner ul li .title {
  font-size: 1.5rem;
  font-weight: bold;
  color: #ffffff;
}

#fixBanner ul li .button {
  z-index: 1;
  margin: 7px auto 0;
}

#fixBanner ul li p {
  position: relative;
  margin: 8px 0 0;
  padding: 14px 0 0;
}

#fixBanner ul li p:before,
#fixBanner ul li p:after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 110px;
  height: 4px;
  border-radius: 10px;
}

#fixBanner ul li p:before {
  top: -1px;
  background-color: #57802f;
}

#fixBanner ul li p:after {
  top: 0;
  background-color: #81a55d;
}

#fixBanner .contact {
  background-color: #026196;
}

#fixBanner .contact a {
  background-color: #199ae3;
}

#fixBanner .contact a:after {
  z-index: 2;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background: url(../images/common/contact-document.png) no-repeat center bottom;
}

#fixBanner .contact .title {
  letter-spacing: 0.2em;
}

#fixBanner .member {
  background-color: #496b27;
}

#fixBanner .member a {
  background-color: #618e34;
}

#header {
  position: relative;
  width: 100%;
}

#header.fixed .globalNav {
  position: fixed;
  top: 0 !important;
}

.admin-bar #header.fixed .globalNav {
  top: 32px !important;
}

@media screen and (max-width: 768px) {
  #header.open .globalNav {
    visibility: visible;
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.9);
  }
}
#header .top {
  width: 1020px;
  margin: 0 auto;
  padding: 7px 0 12px;
}

@media screen and (max-width: 768px) {
  #header .top {
    z-index: 100;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 5px;
    background-color: #ffffff;
  }
  .admin-bar #header .top {
    position: absolute;
  }
}
#header .top .logo_wrap {
  display: block;
  float: left;
  font-size: 2em;
}

@media screen and (max-width: 768px) {
  #header .top .logo_wrap {
    position: absolute;
    top: 50%;
    left: 9px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    float: none;
    margin: 0;
    line-height: 1;
  }
}
#header .top .logo_wrap > span {
  vertical-align: middle;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #header .top .logo_wrap > span {
    display: block;
  }
}
#header .top .logo_wrap .logo {
  width: 225px;
  height: 35.5px;
  margin: 0 18px 0 0;
}

@media screen and (max-width: 768px) {
  #header .top .logo_wrap .logo {
    width: 200px;
    height: 31px;
    margin: 0;
  }
}
@media screen and (max-width: 375px) {
  #header .top .logo_wrap .logo {
    width: 190px;
    height: 30px;
  }
}
@media screen and (max-width: 320px) {
  #header .top .logo_wrap .logo {
    width: 170px;
    height: 27px;
  }
}
#header .top .logo_wrap .logo a {
  display: block;
}

#header .top .logo_wrap .logo img {
  width: 225px;
  height: 35.5px;
}

@media screen and (max-width: 768px) {
  #header .top .logo_wrap .logo img {
    width: 200px;
    height: 31px;
  }
}
@media screen and (max-width: 375px) {
  #header .top .logo_wrap .logo img {
    width: 190px;
    height: 30px;
  }
}
@media screen and (max-width: 320px) {
  #header .top .logo_wrap .logo img {
    width: 170px;
    height: 27px;
  }
}
#header .top .logo_wrap .catch {
  padding: 7px 0 0 0;
  font-size: 1.1rem;
}

@media screen and (max-width: 768px) {
  #header .top .logo_wrap .catch {
    display: none;
  }
}
#header .top .function_wrap {
  display: block;
  float: right;
  margin: 12px 0 0;
}

@media screen and (max-width: 768px) {
  #header .top .function_wrap {
    float: none;
    margin: 0;
    text-align: right;
  }
}
#header .top .function_wrap .pc_func {
  display: block;
}

@media screen and (max-width: 768px) {
  #header .top .function_wrap .pc_func {
    display: none;
  }
}
#header .top .function_wrap .sp_func {
  display: none;
}

@media screen and (max-width: 768px) {
  #header .top .function_wrap .sp_func {
    display: block;
  }
}
#header .top .function_wrap .button {
  vertical-align: middle;
  margin: 0 0 0 9px;
  font-size: 1.1rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #header .top .function_wrap .button {
    margin: 0 0 0 3px;
  }
}
#header .top .function_wrap .tel {
  vertical-align: middle;
  display: inline-block;
  margin: 0 -5px 0 12px;
  padding: 7px 0 8px;
  line-height: 1;
  font-weight: bold;
  font-size: 2rem;
  color: #004080;
  letter-spacing: 0.05em;
}

#header .top .function_wrap .icon {
  display: inline-block;
  width: 55px;
  height: 55px;
}

@media screen and (max-width: 375px) {
  #header .top .function_wrap .icon {
    width: 45px;
    height: 45px;
  }
}
@media screen and (max-width: 320px) {
  #header .top .function_wrap .icon {
    width: 35px;
    height: 35px;
  }
}
#header .top .function_wrap .icon img {
  width: 55px;
  height: 55px;
}

@media screen and (max-width: 375px) {
  #header .top .function_wrap .icon img {
    width: 45px;
    height: 45px;
  }
}
@media screen and (max-width: 320px) {
  #header .top .function_wrap .icon img {
    width: 35px;
    height: 35px;
  }
}
#header .globalNav {
  z-index: 99;
  position: absolute;
  top: 66px;
  left: 0;
  width: 100%;
  border-top: 3px solid #d7d7d7;
  background-color: #003171;
}

@media screen and (max-width: 768px) {
  #header .globalNav {
    visibility: hidden;
    bottom: 0;
    opacity: 0;
    overflow-y: scroll;
    overflow-x: hidden;
    top: 0;
    padding: 65px 0;
    position: fixed;
    border-top: none;
    background-color: rgba(255, 255, 255, 0);
    -webkit-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear;
  }
}
@media screen and (max-width: 375px) {
  #header .globalNav {
    padding: 55px 0;
  }
}
@media screen and (max-width: 320px) {
  #header .globalNav {
    padding: 45px 0;
  }
}
#header .globalNav:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid #b1b1b1;
}

#header .globalNav a {
  display: inline;
  color: #ffffff;
  text-decoration: none;
}

#header .globalNav .nav_inner {
  width: 1020px;
  margin: 0 auto;
  padding: 27px 0 24px;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav_inner {
    width: 100%;
    padding: 0;
  }
}
#header .globalNav .pc_link {
  display: block;
}

@media screen and (max-width: 768px) {
  #header .globalNav .pc_link {
    display: none;
  }
}
#header .globalNav .pc_link .home {
  width: 70px;
  border-left: 1px solid #6687ae;
}

#header .globalNav .pc_link .home img {
  display: inline-block;
  width: 17px;
}

#header .globalNav .pc_link .management {
  width: 160px;
}

#header .globalNav .pc_link .myhome {
  width: 140px;
}

#header .globalNav .pc_link .voice {
  width: 110px;
}

#header .globalNav .pc_link .estate {
  width: 170px;
}

#header .globalNav .pc_link .event {
  width: 140px;
}

#header .globalNav .pc_link .person {
  width: 160px;
}

#header .globalNav .pc_link .casestudys {
  width: 100px;
}

#header .globalNav .pc_link .buy {
  width: 140px;
}

#header .globalNav .pc_link li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: left;
  border-right: 1px solid #6687ae;
  text-align: center;
}

#header .globalNav .pc_link li a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: 4px 0 3px;
  line-height: 1;
  letter-spacing: 0.1em;
}

#header .globalNav .sp_link {
  display: none;
  padding: 0 0 70px;
}

@media screen and (max-width: 768px) {
  #header .globalNav .sp_link {
    display: block;
  }
}
#header .globalNav .sp_link li {
  border-top: 1px solid #b1b1b1;
  position: relative;
}

#header .globalNav .sp_link li a {
  display: block;
  min-height: 20px;
  padding: 15px 20px;
  font-size: 1.3rem;
  color: #4d4d4d;
}

#header .globalNav .sp_link li a:before {
  content: "＞";
  margin: 0 15px 0 0;
}

#header .globalNav .sp_link li input[type=checkbox].on-off {
  display: none;
}

#header .globalNav .sp_link li label {
  height: 50px;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  white-space: nowrap;
  width: 50px;
  text-indent: 120%;
}
#header .globalNav .sp_link li label:after {
  bottom: 0;
  display: inline-block;
  content: "\f067";
  font-family: FontAwesome;
  font-size: 15px;
  line-height: 55px;
  display: block;
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  text-indent: 0;
  text-align: center;
}

#header .globalNav .sp_link li input[type=checkbox].on-off + label + ul li {
  height: 0;
  opacity: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

#header .globalNav .sp_link li input[type=checkbox].on-off:checked + label + ul li {
  background: #eceeea;
  min-height: 44px;
  height: auto;
  opacity: 1;
}
#header .globalNav .sp_link li input[type=checkbox].on-off:checked + label + ul li a {
  padding: 12px 20px 12px 40px;
}
#header .globalNav .sp_link li input[type=checkbox].on-off:checked + label + ul li li a {
  padding: 12px 20px 12px 80px;
}

#header .globalNav .sp_link li input[type=checkbox].on-off:checked + label:after {
  content: "\f068";
}

#header .globalNav .dropdown {
  z-index: 1;
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}

@media screen and (max-width: 768px) {
  #header .globalNav .dropdown {
    display: none !important;
  }
}
#header .globalNav .dropdown .inner {
  display: none;
  width: 1020px;
  margin: 0 auto;
  padding: 32px 0 34px;
  color: #ffffff;
}

#header .globalNav .dropdown .inner.active {
  display: block;
}

#header .globalNav .dropdown .title {
  display: block;
  font-size: 1.8rem;
}

#header .globalNav .dropdown .common_list {
  width: 1050px;
  margin: 30px 0 0 0;
}

#header .globalNav .dropdown .common_list li {
  float: left;
  width: 180px;
  margin: 0 30px 0 0;
}

#header .globalNav .dropdown .common_list li p {
  margin: 20px 0 0 0;
  text-align: center;
}

#header .globalNav .dropdown a {
  display: block;
  opacity: 1;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
#header .globalNav .dropdown a:hover {
  opacity: 0.4;
}

#header .globalNav .event_wrap {
  width: 100%;
  background-color: #ECF0F1;
}

@media screen and (max-width: 768px) {
  #header .globalNav .event_wrap {
    display: none !important;
  }
}
#header .globalNav .event_wrap a {
  color: #ffffff;
  text-decoration: underline;
}

#header .globalNav .event_wrap .inner {
  width: 1020px;
  margin: 0 auto;
}

#header .globalNav .event_wrap .inner dl dt,
#header .globalNav .event_wrap .inner dl dd {
  vertical-align: middle;
  display: inline-block;
  padding: 5px 0;
  font-size: 14px;
}

#header .globalNav .event_wrap .inner dl dt span,
#header .globalNav .event_wrap .inner dl dd span {
  vertical-align: middle;
  display: inline-block;
  padding: 5px 0;
}

#header .globalNav .event_wrap .inner dl dt .date {
  font-size: 1.4rem;
  color: #4d4d4d;
}

#header .globalNav .event_wrap .inner dl dt {
  margin: 0 18px 0 0;
}

#header .globalNav .event_wrap .inner dl dt .category {
  margin: 0 18px 0 0;
  padding: 5px 20px;
  border-radius: 3px;
  background-color: #d21c24;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
}

#header .globalNav .event_wrap .inner dl dd {
  font-weight: bold;
  color: #D21C24;
}

#header .globalNav .event_wrap .inner dl dd a {
  color: #D21C24;
}

#header .globalNav .event_wrap .inner .announcer {
  position: relative;
}

#header .globalNav .event_wrap .inner .announcer .announcer-closebt {
  display: none;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 10px;
  cursor: pointer;
}

#header .globalNav .event_wrap .inner .announcer .announcer-closebt:hover {
  opacity: 0.4;
}

#header .mainvisual {
  overflow: hidden;
  position: relative;
  padding: 70px 0 0;
  height: 500px;
}

@media screen and (max-width: 768px) {
  #header .mainvisual {
    width: 100%;
    height: auto;
    padding-top: 65px !important;
  }
}
@media screen and (max-width: 375px) {
  #header .mainvisual {
    padding-top: 55px !important;
  }
}
@media screen and (max-width: 320px) {
  #header .mainvisual {
    padding-top: 45px !important;
  }
}
#header .mainvisual ul li {
  float: left;
}

#header .mainvisual ul li img {
  width: 1200px;
}

@media screen and (max-width: 768px) {
  #header .mainvisual ul li img {
    width: 100% !important;
  }
}
#header .mainvisual .bx-wrapper .bx-viewport {
  overflow: visible !important;
  width: 1200px !important;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  #header .mainvisual .bx-wrapper .bx-viewport {
    width: 100% !important;
  }
}
#header .mainvisual .bx-controls {
  z-index: 1;
  position: absolute;
  bottom: 28px;
  width: 100%;
  height: 21px;
}

@media screen and (max-width: 768px) {
  #header .mainvisual .bx-controls {
    display: none;
  }
}
#header .mainvisual .bx-controls .bx-pager {
  text-align: center;
}

#header .mainvisual .bx-controls .bx-pager .bx-pager-item {
  display: inline-block;
}

#header .mainvisual .bx-controls .bx-pager .bx-pager-item .bx-pager-link {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 21px;
  height: 21px;
  margin: 0 8px;
  border: 4px solid #989898;
  border-radius: 10px;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  background-color: #ffffff;
}

#header .mainvisual .bx-controls .bx-pager .bx-pager-item .bx-pager-link.active {
  background-color: #989898;
}

#header .under_title {
  position: relative;
  padding: 72px 0 0;
}

@media screen and (max-width: 768px) {
  #header .under_title {
    padding: 45px 0 0;
  }
}
#header .under_title .inner {
  position: relative;
  height: 300px;
  background: url(../images/underlayer/under-title-back.jpg) no-repeat center center transparent;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  #header .under_title .inner {
    height: 75px;
    background-position: center top;
    background-size: cover;
  }
}
#header .under_title .inner.philosophy {
  background-image: url(../images/company/title-company.jpg);
}

#header .under_title .inner.recruit {
  background-image: url(../images/recruit/title-recruit.jpg);
}

#header .under_title .inner.profit-lineup, #header .under_title .inner.profit, #header .under_title .inner.lineup, #header .under_title .inner.consulting, #header .under_title .inner.apartment, #header .under_title .inner.crossmove, #header .under_title .inner.granincome, #header .under_title .inner.elderness, #header .under_title .inner.elder, #header .under_title .inner.medicalandshop {
  background-image: url(../images/asset-land/bg_profit_lineup.jpg);
}
#header .under_title .inner.myhome, #header .under_title .inner.reform, #header .under_title .inner.lineup2, #header .under_title .inner.order-house, #header .under_title .inner.house, #header .under_title .inner.concrete {
  background-image: url(../images/title/title-myhome.jpg);
}
#header .under_title .inner.mutenkanetwork, #header .under_title .inner.mutenka {
  background-image: url(../images/title/title-mutenka.jpg);
}
#header .under_title .inner.contact, #header .under_title .inner.privacy {
  background-image: url(../images/contact/bg_head_contact.jpg);
}
#header .under_title .inner.sublease, #header .under_title .inner.deposit {
  background-image: url(../images/title/title-sublease.jpg);
}
#header .under_title .inner.profile {
  background-image: url(../images/company/title-company.jpg);
}
#header .under_title .inner.partner {
  background-image: url(../images/title/title-partner.jpg);
}

#header .under_title .inner.operators {
  background-image: url(../images/operators/bg_head.jpg);
}

#header .under_title .inner h1 {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 100%;
  font-size: 3.2rem;
  color: #6c7a80;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #header .under_title .inner h1 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 15px 0;
    text-align: left;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  #header .under_title .inner h1 .ruby {
    display: block;
  }
}
#header .under_title .inner h1 .ruby:before {
  content: "／";
  margin: 0 3px 0 0;
}

@media screen and (max-width: 768px) {
  #header .under_title .inner h1 .ruby:before {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #header .breadcrumb {
    display: none;
  }
}
#header .breadcrumb ul {
  width: 1020px;
  margin: 0 auto;
  padding: 13px 0 11px;
}

#header .breadcrumb ul li {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
  color: #989898;
}

#header .breadcrumb ul li:before {
  content: "/";
  margin: 0 5px;
}

#header .breadcrumb ul li:first-child:before {
  display: none;
}

#header .breadcrumb ul li a {
  display: inline;
  color: #989898;
  text-decoration: none;
}

#header .breadcrumb ul li a:hover {
  text-decoration: underline;
}

#contents a {
  text-decoration: underline;
  color: #003171;
}

#contents.under {
  padding: 0 0 105px;
}

@media screen and (max-width: 768px) {
  #contents.under {
    padding: 0 0 50px;
  }
}
#contents .contents_wrap {
  width: 1020px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  #contents .contents_wrap {
    width: 100%;
  }
}
#contents .list_layout01.no-shadow .layout_wrap .cassette {
  -webkit-box-shadow: none;
          box-shadow: none;
}

#contents .list_layout01.colomn01 .layout_wrap {
  width: 100%;
}

#contents .list_layout01.colomn01 .layout_wrap .cassette {
  min-height: inherit;
  min-height: auto;
  padding-top: 30px;
  padding-bottom: 25px;
  float: none;
}
@media screen and (max-width: 768px) {
  #contents .list_layout01.colomn01 .layout_wrap .cassette {
    padding-top: 5px;
    padding-bottom: 15px;
  }
}

#contents .list_layout01.colomn01 .layout_wrap .cassette + .cassette {
  margin-top: 30px;
}

#contents .list_layout01.colomn02 .layout_wrap {
  width: 1060px;
}

#contents .wrapper .list_layout01.colomn02 .layout_wrap {
  margin-left: -20px;
}

@media screen and (max-width: 768px) {
  #contents .list_layout01.colomn02 .layout_wrap {
    width: 100%;
  }
  #contents .wrapper .list_layout01.colomn02 .layout_wrap {
    margin-left: 0;
  }
}
#contents .list_layout01.colomn02 .layout_wrap .cassette {
  width: 490px;
  margin: 0 20px 20px;
}
#contents .list_layout01.colomn02 .layout_wrap .cassette.short {
  min-height: 160px;
}
#contents .list_layout01.colomn02 .layout_wrap .cassette:first-child {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  #contents .list_layout01.colomn02 .layout_wrap .cassette.short {
    min-height: 10px;
  }
}
#contents .list_layout01.colomn02 .layout_wrap .button_cassette {
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  width: 488px;
  position: relative;
  text-align: center;
}
#contents .list_layout01.colomn02 .layout_wrap .button_cassette a {
  display: block;
  min-height: 190px;
  padding: 0;
}
#contents .list_layout01.colomn02 .layout_wrap .button_cassette a .subtitle,
#contents .list_layout01.colomn02 .layout_wrap .button_cassette a .title {
  margin: 0;
}

@media screen and (max-width: 768px) {
  #contents .list_layout01.colomn02 .layout_wrap .cassette {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 15px 0 0;
  }
  #contents .list_layout01.colomn02 .layout_wrap .cassette.button_cassette a {
    min-height: 10px;
    padding: 8px 0;
  }
}
#contents .section + .detail_layout03-01 {
  padding-bottom: 72px;
}

#contents #gallery .section {
  padding-bottom: 72px;
}

#contents .list_layout01.colomn03 .layout_wrap {
  width: 1050px;
}

#contents .buildmap {
  float: left;
  padding: 0 62px 0 0;
}
#contents .buildmap img {
  width: 327px;
}

#contents .buildmap + .detail_layout03-01 .list_layout01.colomn03 .layout_wrap {
  width: calc(100% - 327px - 62px);
  float: right;
}
#contents .buildmap + .detail_layout03-01 .list_layout01.colomn03 .layout_wrap .cassette {
  width: calc(33.3% - 15px - 15px);
}
#contents .interior .list_layout01 .layout_wrap .cassette .title {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
#contents .interior .list_layout01 .layout_wrap .cassette p {
  font-size: 1.3rem;
}

@media screen and (max-width: 768px) {
  #contents .buildmap {
    float: none;
    padding: 0;
  }
  #contents .buildmap img {
    height: auto;
    width: 100%;
  }
  #contents .buildmap + .detail_layout03-01 .list_layout01.colomn03 .layout_wrap {
    width: 100%;
    float: none;
  }
  #contents .buildmap + .detail_layout03-01 .list_layout01.colomn03 .layout_wrap .cassette {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  #contents .list_layout01.colomn03 .layout_wrap {
    width: 100%;
  }
}
#contents .list_layout01.colomn03 .layout_wrap .cassette {
  width: 320px;
  margin: 0 15px 15px;
  position: relative;
}
#contents .list_layout01.colomn03 .layout_wrap .cassette:first-child, #contents .list_layout01.colomn03 .layout_wrap .cassette:nth-child(4n) {
  margin-left: 0;
}
#contents .list_layout01.colomn03 .layout_wrap .cassette:last-child, #contents .list_layout01.colomn03 .layout_wrap .cassette:nth-child(7n) {
  margin-right: 0;
}

#contents .detail_layout20-20-50 .list_layout01.colomn03 .layout_wrap .x1 {
  width: calc(25% - 30px);
}
#contents .detail_layout20-20-50 .list_layout01.colomn03 .layout_wrap .x2 {
  width: 50%;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout20-20-50 .list_layout01.colomn03 .layout_wrap .x1 {
    float: none;
    width: auto;
  }
  #contents .detail_layout20-20-50 .list_layout01.colomn03 .layout_wrap .x2 {
    float: none;
    width: auto;
  }
}
#contents .list_layout01.colomn04 .layout_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#contents .list_layout01.colomn04 .layout_wrap .cassette {
  float: none;
  width: 25%;
  margin: 0 15px 15px 0;
  width: calc(25% - 15px);
  -webkit-box-shadow: none;
          box-shadow: none;
  min-height: 10px;
}

#contents .list_layout01.colomn04 .layout_wrap .cassette.ov200 a {
  display: block;
  height: 200px;
  overflow: hidden;
}
#contents .list_layout01.colomn04 .layout_wrap .cassette.ov200 a img {
  min-height: 200px;
  min-width: 100%;
  height: auto;
  width: auto;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  #contents .list_layout01.colomn04 .layout_wrap .cassette.ov200 a {
    height: auto;
  }
  #contents .list_layout01.colomn04 .layout_wrap .cassette.ov200 a img {
    min-height: 10px;
  }
}

#contents .list_layout01.colomn04 .layout_wrap .cassette img {
  display: block;
  height: auto;
  margin: 0;
  padding: 0;
  width: 100%;
}

#contents .list_layout01.colomn03 .layout_wrap .cassette:nth-child(n+4) {
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  #contents .list_layout01.colomn04 .layout_wrap .cassette {
    width: 50%;
    width: calc(50% - 15px);
  }
  #contents .list_layout01.colomn03 .layout_wrap .cassette {
    width: 100%;
    /*
    width: calc(100% - 30px);
    */
    margin: 0 0 15px 0 !important;
  }
}
#contents .list_layout01 .layout_wrap {
  margin-left: auto;
  margin-right: auto;
}

#contents .list_layout01 .layout_wrap .cassette {
  float: left;
  min-height: 190px;
  background-color: #ffffff;
  -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
  #contents .list_layout01 .layout_wrap .cassette {
    min-height: 10px;
  }
}
#contents .list_layout01 .layout_wrap .cassette a {
  text-decoration: none;
}

#contents .list_layout01 .layout_wrap .cassette figure img {
  height: auto;
  width: 100%;
}

#contents .list_layout01 .layout_wrap .cassette figure.space {
  margin: 0 20px;
}

#contents .list_layout01 .layout_wrap .cassette.noborderspace {
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#contents .list_layout01 .layout_wrap .cassette.noborderspace .title,
#contents .list_layout01 .layout_wrap .cassette.noborderspace p {
  padding-left: 0;
  padding-right: 0;
}

#contents .list_layout01 .layout_wrap .cassette .title {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  margin: 20px 0 0;
  padding: 0 20px;
  font-size: 2rem;
}
#contents .list_layout01 .layout_wrap .cassette .title.light {
  color: #6C7A89;
  font-size: 1.6rem;
  font-weight: bold;
}
#contents .list_layout01 .layout_wrap .cassette .title.dark {
  color: #4D4D4D;
  font-size: 1.6rem;
  font-weight: bold;
}
#contents .list_layout01 .layout_wrap .cassette .title.nobd {
  border-bottom: 0;
}
#contents .list_layout01 .layout_wrap .cassette .title.nobd:before {
  display: none;
}

#contents .list_layout01 .layout_wrap .cassette .subtitle {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  color: #004080;
  font-weight: bold;
  margin: 12px 0 0 0;
  padding: 0 20px;
  font-size: 1.4rem;
}

#contents .list_layout01 .layout_wrap .cassette .appeal {
  color: #D2801E;
  margin: 0 0 10px 0;
}
#contents .list_layout01 .layout_wrap .cassette .appeal p {
  color: #D2801E;
  margin: 0;
  font-size: 1.4rem;
  font-weight: bold;
}
#contents .list_layout01 .layout_wrap .cassette .appeal ul,
#contents .list_layout01 .layout_wrap .cassette .appeal li {
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  font-weight: normal;
}
#contents .list_layout01 .layout_wrap .cassette .appeal ul {
  padding: 0 20px;
  line-height: 1.8;
}

#contents .list_layout01 .layout_wrap .button_cassette .title {
  color: #004080;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}

#contents .list_layout01 .layout_wrap .button_cassette .subtitle {
  color: #004080;
  font-size: 1.6rem;
  font-weight: bold;
  padding-top: 58px;
  text-align: center;
}

#contents .list_layout01 .layout_wrap .button_cassette .fa-chevron-right {
  color: #004080;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 18px;
}

@media screen and (max-width: 768px) {
  #contents .list_layout01 .layout_wrap .cassette .title {
    margin: 13px 0 0;
    padding: 0 9px;
    font-size: 1.5rem;
  }
  #contents .list_layout01 .layout_wrap .cassette .title.light {
    font-size: 1.5rem;
  }
  #contents .list_layout01 .layout_wrap .cassette .subtitle {
    font-size: 1.4rem;
    padding: 0 9px;
  }
  #contents .list_layout01 .layout_wrap .cassette .appeal p,
  #contents .list_layout01 .layout_wrap .cassette .appeal ul,
  #contents .list_layout01 .layout_wrap .cassette .appeal li {
    font-size: 1.2rem;
  }
}
#contents .list_layout01 .layout_wrap .cassette .title span {
  vertical-align: middle;
  display: inline-block;
  margin: 0 0 0 12px;
  font-size: 1.2rem;
  font-family: "Unica One", cursive;
  color: #999999;
}

@media screen and (max-width: 768px) {
  #contents .list_layout01 .layout_wrap .cassette .title span {
    font-size: 1.2rem;
  }
}
#contents .list_layout01 .layout_wrap .cassette p {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 13px 0 17px;
  padding: 0 20px;
  line-height: 1.8;
}

#contents .list_layout01 .layout_wrap .cassette .button_wrap .button {
  display: block;
  margin: 0 20px 17px 20px;
  min-width: 10px;
  max-width: 100%;
}

#contents .list_layout01 .layout_wrap .cassette .button_wrap.foot_button,
#contents .detail_layout02 .detail_wrap .inner .detail .button_wrap.foot_button {
  padding: 68px 0 0 0;
}
#contents .list_layout01 .layout_wrap .cassette .button_wrap.foot_button .button,
#contents .detail_layout02 .detail_wrap .inner .detail .button_wrap.foot_button .button {
  left: 0;
  position: absolute;
  bottom: 0;
  right: 0;
}

#contents .detail_layout02 .detail_wrap .inner .detail .button_wrap.foot_button .button {
  margin: 0 30px 36px 40px;
  left: auto;
  width: 440px;
}

#contents .list_layout01 .layout_wrap .cassette .subtitle + p {
  margin-top: 4px;
}

@media screen and (max-width: 768px) {
  #contents .list_layout01 .layout_wrap .cassette p,
  #contents .list_layout01 .layout_wrap .cassette .button_wrap,
  #contents .detail_layout02 .detail_wrap .inner .detail .button_wrap {
    margin: 7px 0 7px;
    padding: 0 9px;
    line-height: 1.5;
  }
  #contents .list_layout01 .layout_wrap .cassette p.foot_button,
  #contents .list_layout01 .layout_wrap .cassette .button_wrap.foot_button,
  #contents .detail_layout02 .detail_wrap .inner .detail .button_wrap.foot_button {
    margin: 21px 0 7px;
    padding: 0 9px;
  }
  #contents .list_layout01 .layout_wrap .cassette p.foot_button .button,
  #contents .list_layout01 .layout_wrap .cassette .button_wrap.foot_button .button,
  #contents .detail_layout02 .detail_wrap .inner .detail .button_wrap.foot_button .button {
    display: block;
    left: auto;
    margin: 0;
    padding: 0;
    position: static;
    right: auto;
    width: auto;
  }
}
#contents .image_layout01 {
  margin: 53px auto 52px;
}

@media screen and (max-width: 768px) {
  #contents .image_layout01 {
    margin: 28px auto;
  }
}
#contents .image_layout01 ul {
  width: 1020px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  #contents .image_layout01 ul {
    width: 100%;
  }
}
#contents .image_layout01 ul.colomn01 li {
  float: none;
  width: 1020px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .image_layout01 ul.colomn01 li {
    width: 100%;
  }
}
#contents .image_layout01 ul.colomn01 li img {
  width: auto;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  #contents .image_layout01 ul.colomn01 li img {
    width: 100%;
  }
}
#contents .image_layout01 ul.colomn03 li {
  width: 320px;
}

#contents .image_layout01 ul.colomn03 li:nth-of-type(3n + 2) {
  margin: 0 30px;
}

#contents .image_layout01 ul.colomn03 li img {
  width: auto;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  #contents .image_layout01 ul.colomn03 li img {
    width: 100%;
  }
}
#contents .image_layout01 ul.colomn04 li {
  width: 230px;
  margin: 0 33px 0 0;
}

#contents .image_layout01 ul.colomn04 li:nth-of-type(4n + 4) {
  margin: 0;
}

#contents .image_layout01 ul.colomn04 li img {
  width: auto;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  #contents .image_layout01 ul.colomn04 li img {
    width: 100%;
  }
}
#contents .image_layout01 ul li {
  float: left;
  width: 510px;
}

@media screen and (max-width: 768px) {
  #contents .image_layout01 ul li {
    width: 50%;
  }
}
#contents .image_layout01 ul li img {
  width: 100%;
}

#contents .detail_layout01 {
  margin: 30px auto 40px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 19px auto 18px;
  }
}
#contents .detail_layout01 a {
  display: inline;
  color: #0071a1;
}

#contents .detail_layout01 .button a {
  color: #909c9c;
}
#contents .detail_layout01 .button a:hover {
  color: #fff;
}

#contents .detail_layout01 .detail_inner {
  margin: 0 auto;
  background-color: #f6f7f7;
}

#contents .detail_layout01 h2,
#contents .detail_layout01 h3,
#contents .detail_layout01 .ttl {
  position: relative;
  padding: 29px 30px 17px;
  border-bottom: 1px solid #d1d5d6;
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 h2,
  #contents .detail_layout01 h3,
  #contents .detail_layout01 .ttl {
    padding: 14px 13px 8px;
    font-size: 1.4rem;
  }
}
#contents .detail_layout01 h2:before,
#contents .detail_layout01 h3:before,
#contents .detail_layout01 .ttl:before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 30px;
  display: block;
  width: 251px;
  border-top: 4px solid #d1d5d6;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 h2:before,
  #contents .detail_layout01 h3:before,
  #contents .detail_layout01 .ttl:before {
    bottom: -2px;
    left: 15px;
    width: 125px;
    border-top: 2px solid #d1d5d6;
  }
}
#contents .detail_layout01 .detail_wrap {
  padding: 32px 30px;
}

#contents .detail_layout01.fullwidth .detail_inner {
  background: #EDEEEF;
}

#contents .detail_layout01.fullwidth .detail_wrap {
  padding: 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#contents .detail_layout01.fullwidth .detail_wrap .detail .valign {
  left: 0;
  padding: 0 32px;
  position: relative;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  white-space: nowrap;
}

#contents .detail_layout01.fullwidth .detail_wrap .detail * {
  color: #4D4D4D;
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1.8;
  margin: 0;
  padding: 0;
}

#contents .detail_layout01.fullwidth .detail_wrap .detail img {
  display: block;
  margin: 28px auto;
  max-width: 100%;
}

#contents .detail_layout01.fullwidth .detail_wrap figure {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01.fullwidth .detail_wrap .detail .valign {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 21px 0;
    padding: 0 16px;
    position: static;
    top: auto;
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
        transform: translateY(0%);
    text-align: center;
    white-space: normal;
  }
  #contents .detail_layout01.fullwidth .detail_wrap .detail .valign br {
    font-size: 1.6rem;
    display: none;
  }
  #contents .detail_layout01 .detail_wrap {
    /*
    display:-webkit-box;
    //display:box;
    display:-ms-flexbox;
    //display:flexbox;
    display:-webkit-flex;
    */
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    -ms-flex-flow: row wrap;
    -webkit-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    padding: 12px 14px;
  }
}
#contents .detail_layout01 .detail_wrap figure {
  margin: 0 0 32px 32px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap figure {
    -ms-flex-order: 2;
    -webkit-box-ordinal-group: 3;
            order: 2;
    width: 100%;
    margin: 0;
  }
}
#contents .detail_layout01 .detail_wrap figure.right {
  float: right;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap figure.right {
    float: none;
  }
}
#contents .detail_layout01 .detail_wrap figure.left {
  float: left;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap figure.left {
    float: none;
  }
}
#contents .detail_layout01 .detail_wrap figure img {
  width: 100%;
}

#contents .detail_layout01 .detail_wrap .detail {
  display: inline;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap .detail {
    -ms-flex-order: 1;
    -webkit-box-ordinal-group: 2;
            order: 1;
  }
}
#contents .detail_layout01 .detail_wrap .detail hr {
  background: #DADDDE;
  border: 0;
  display: block;
  height: 1px;
  font-size: 0;
  line-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  width: 100%;
}

#contents .detail_layout01 .detail_wrap .title {
  margin: 26px 0 10px 0;
  font-weight: bold;
  font-size: 1.6rem;
  color: #6c7a89;
}

#contents .detail_layout01 .detail_wrap .detail p + hr,
#contents .detail_layout01 .detail_wrap .detail hr + .title {
  margin-top: 16px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap .title {
    margin: 10px 0 5px 0;
    font-size: 1.4rem;
  }
}
#contents .detail_layout01 .detail_wrap .title:first-child {
  margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap .title:first-child {
    margin: 0 0 5px 0;
  }
}
#contents .detail_layout01 .detail_wrap .title + p {
  margin: 0;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap .title + p {
    margin: 0;
  }
}
#contents .detail_layout01 .detail_wrap .subtitle {
  margin: 26px 0 3px 0;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap .subtitle {
    margin: 10px 0 0 0;
  }
}
#contents .detail_layout01 .detail_wrap .subtitle:first-child {
  margin: 0 0 3px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap .subtitle:first-child {
    margin: 0;
  }
}
#contents .detail_layout01 .detail_wrap p {
  margin: 26px 0 0 0;
  line-height: 2;
}

#contents .detail_layout01 .detail_wrap.text_wrap p {
  margin: 0;
  padding: 0 0 21px 0;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap p {
    margin: 10px 0 0 0;
    line-height: 1.5;
  }
}
#contents .detail_layout01 .detail_wrap p:first-child {
  margin: 0;
}

#contents .detail_layout01 .detail_wrap ul.circle {
  margin: 1px 0 0 0;
}

#contents .detail_layout01 .detail_wrap ul.circle li {
  display: block;
}

#contents .detail_layout01 .detail_wrap02 {
  padding: 38px 30px 20px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap02 {
    /*
    display:-webkit-box;
    //display:box;
    display:-ms-flexbox;
    //display:flexbox;
    display:-webkit-flex;
    */
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    -ms-flex-flow: row wrap;
    -webkit-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    padding: 12px 14px;
  }
}
#contents .detail_layout01 .detail_wrap02 p {
  margin: 0 0 19px 0;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout01 .detail_wrap02 p {
    margin: 0 0 10px 0;
    line-height: 1.5;
  }
}
#contents .detail_layout01 .detail_wrap02 table.default {
  padding: 0 2px 0;
}

#contents .detail_layout02 .detail_wrap + .detail_wrap {
  margin-top: 58px;
}

#contents .detail_layout02 .detail_wrap .inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 1021px;
  margin: 80px 0 0 0;
  border-bottom: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  position: relative;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner {
    width: 100%;
    margin: 40px 0 0 0;
    border: none;
  }
}
#contents .detail_layout02 .detail_wrap .inner:first-child {
  margin: 0;
}

#contents .detail_layout02 .detail_wrap .inner .figure {
  float: left;
  width: 510px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .figure {
    float: none;
    width: 100%;
  }
}
#contents .detail_layout02 .detail_wrap .inner .figure figure img {
  width: 100%;
}

#contents .detail_layout02 .detail_wrap .inner .detail {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: right;
  width: 510px;
  padding: 0 30px 0 40px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .detail {
    float: none;
    width: 100%;
    margin: 20px 0 0;
    padding: 0;
  }
}
#contents .detail_layout02 .detail_wrap .inner .detail .title {
  font-weight: normal;
  font-family: "游明朝体", "Yu Mincho", YuMincho;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

#contents #consulting-rental .detail_layout02 .detail_wrap .inner .detail .title {
  font-size: 2.8rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .detail .title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .detail .title img {
    width: 97px;
  }
}
#contents .detail_layout02 .detail_wrap .inner .detail .catch {
  display: block;
  margin: 32px 0 0 0;
  font-weight: bold;
  font-size: 1.6rem;
  color: #6c7a89;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .detail .catch {
    margin: 16px 0 0 0;
    font-size: 1.4rem;
  }
}
#contents .detail_layout02 .detail_wrap .inner .detail p {
  margin: 25px 0 0 0;
  font-size: 1.4rem;
  line-height: 1.75;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .detail p {
    margin: 12px 0 0 0;
    font-size: 1.2rem;
  }
}
#contents .detail_layout02 .detail_wrap .inner .detail .button_wrap {
  text-align: left;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .detail .button_wrap {
    text-align: center;
  }
}
#contents .detail_layout02 .detail_wrap .inner .detail .button_wrap .button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  min-width: 350px;
  margin: 20px 0 0 0;
  font-weight: bold;
  font-size: 1.5rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .detail .button_wrap .button {
    min-width: 280px;
    margin: 10px 0 0 0;
    font-size: 1.3rem;
  }
}
#contents .detail_layout02 .detail_wrap .inner .detail .button_wrap .button a {
  padding: 17px 10px 16px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout02 .detail_wrap .inner .detail .button_wrap .button a {
    padding: 10px 5px;
  }
}
#contents .detail_layout03 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 24px 22px 21px;
  border: 1px solid #cbcbcb;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout03 {
    padding: 12px 11px 11px;
  }
}
#contents .detail_layout03 .title {
  margin: 26px 0 10px 0;
  font-weight: bold;
  font-size: 1.6rem;
  color: #6c7a89;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout03 .title {
    margin: 10px 0 5px 0;
    font-size: 1.4rem;
  }
}
#contents .detail_layout03 .title:first-child {
  margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout03 .title:first-child {
    margin: 0 0 5px 0;
  }
}
#contents .detail_layout03 .title + p {
  margin: 0;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout03 .title + p {
    margin: 0;
  }
}
#contents .detail_layout03 .subtitle {
  margin: 26px 0 3px 0;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout03 .subtitle {
    margin: 10px 0 0 0;
  }
}
#contents .detail_layout03 .subtitle:first-child {
  margin: 0 0 3px;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout03 .subtitle:first-child {
    margin: 0;
  }
}
#contents .detail_layout03 p {
  margin: 26px 0 0 0;
  line-height: 1.9;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout03 p {
    margin: 10px 0 0 0;
    line-height: 1.5;
  }
}
#contents .detail_layout03 p:first-child {
  margin: 0;
}

#contents .detail_layout04 figure {
  margin: 21px 0 0 0;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout04 figure {
    margin: 11px 0 0 0;
  }
}
#contents .detail_layout04 figure:first-child {
  margin: 0;
}

#contents .detail_layout04 figure img {
  width: 100%;
}

#contents .detail_layout04 p {
  margin: 21px 0 0 0;
}

@media screen and (max-width: 768px) {
  #contents .detail_layout04 p {
    margin: 11px 0 0 0;
    font-size: 1.1rem;
  }
}
#contents .detail_layout04 p:first-child {
  margin: 0;
}

#contents .catch_section {
  padding: 56px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .catch_section {
    padding: 20px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .catch_section.decoration:before,
  #contents .catch_section.decoration:after {
    display: none;
  }
}
#contents .catch_wrap {
  margin: 0 0 57px;
}
#contents .catch_wrap .top_categories {
  margin-bottom: 42px;
}
#contents .catch_wrap .position {
  margin-top: 30px;
  text-align: center;
}
#contents .catch_wrap .season {
  margin-top: 5px;
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .catch_wrap {
    margin: 0 16px 28px 16px;
  }
  #contents .wrapper .catch_wrap {
    margin-left: 0;
    margin-right: 0;
  }
}
#contents .catch_wrap .title,
#contents .catch_wrap h2 {
  text-align: center;
  font-weight: normal;
  font-size: 2.6rem;
}

@media screen and (max-width: 768px) {
  #contents .catch_wrap .title,
  #contents .catch_wrap h2 {
    font-size: 1.8rem;
  }
}
#contents .catch_wrap .title .small,
#contents .catch_wrap h2 .small {
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  #contents .catch_wrap .title .small,
  #contents .catch_wrap h2 .small {
    font-size: 1.6rem;
  }
}
#contents .catch_wrap p {
  margin: 37px 0 0;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.9;
}

@media screen and (max-width: 768px) {
  #contents .catch_wrap p {
    margin: 12px 0 0;
    text-align: left;
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
#contents table {
  width: 100%;
}

#contents table.default .title {
  width: 20%;
}

#contents table.default th,
#contents table.default td {
  vertical-align: middle;
  border: 1px solid #cbcbcb;
  background-color: #ffffff;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #contents table.default th,
  #contents table.default td {
    line-height: 1.2;
    font-size: 1.3rem;
  }
}
#contents table.default thead tr th {
  padding: 20px 10px;
  background-color: #5990c8;
  font-size: 1.8rem;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  #contents table.default thead tr th {
    padding: 10px 5px;
    font-size: 1.3rem;
    line-height: 1.1;
  }
}
@media screen and (max-width: 768px) {
  #contents table.default thead tr th span {
    display: inline-block;
    font-size: 1.1rem;
  }
}
#contents table.default tbody tr th,
#contents table.default tbody tr td {
  padding: 17px 10px 16px;
}

@media screen and (max-width: 768px) {
  #contents table.default tbody tr th,
  #contents table.default tbody tr td {
    padding: 10px 5px;
  }
}
#contents table.default tbody tr .main {
  background-color: #dee9f4;
  font-size: 1.6rem;
  color: #5990c8;
}

@media screen and (max-width: 768px) {
  #contents table.default tbody tr .main {
    font-size: 1.1rem;
  }
}
#contents table.default tbody tr .sub {
  font-size: 1.5rem;
}

#contents table.default tbody tr .break {
  display: inline;
}

@media screen and (max-width: 768px) {
  #contents table.default tbody tr .sub {
    font-size: 1.1rem;
  }
  #contents table.default tbody tr .break {
    display: block;
    font-size: 1px;
    height: 0;
    line-height: 2;
    margin: 0;
    padding: 1px 0 0 0;
    overflow: hidden;
    width: 100%;
  }
}
#contents table.default tbody tr .circle {
  display: block;
  text-align: center;
  color: #80a9d9;
  font-size: 2.6rem;
}

@media screen and (max-width: 768px) {
  #contents table.default tbody tr .circle {
    font-size: 1.3rem;
  }
}
#contents table.default tbody tr td {
  width: 10%;
}

#contents table.detail a {
  display: inline;
  color: #0071a1;
}

#contents table.detail tbody th,
#contents table.detail tbody td {
  vertical-align: middle;
  padding: 14px 30px 11px;
  border: 1px solid #808080;
}

@media screen and (max-width: 768px) {
  #contents table.detail tbody th,
  #contents table.detail tbody td {
    padding: 7px 5px 5px;
  }
}
#contents table.detail tbody th {
  width: 19%;
  text-align: left;
  color: #6c7a89;
}

@media screen and (max-width: 768px) {
  #contents table.detail tbody th {
    width: 25%;
  }
}
#contents table.detail tbody td {
  width: 78%;
}

@media screen and (max-width: 768px) {
  #contents table.detail tbody td {
    width: 72%;
  }
}
#contents .title_wrap {
  margin: 0 0 21px;
  padding: 21px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .title_wrap {
    margin: 32px 0 17px;
    padding: 17px 0 0;
  }
}
#contents .title_wrap .title {
  font-size: 2rem;
  color: #004080;
}

@media screen and (max-width: 768px) {
  #contents .title_wrap .title {
    font-size: 1.6rem;
  }
}
#contents .title_wrap .catch {
  margin: 26px 0 0 0;
}

@media screen and (max-width: 768px) {
  #contents .title_wrap .catch {
    margin: 13px 0 0 0;
    font-size: 1.2rem;
  }
}
#contents .text_wrap {
  height: auto;
  margin: 0 0 42px;
  padding: 0;
}
#contents .text_wrap:after {
  content: "";
  display: block;
  clear: both;
}
#contents .text_wrap.nospace {
  margin: 0 !important;
}
#contents .text_wrap h3,
#contents .text_wrap p strong:first-child,
#contents .text_wrap p b:first-child {
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
  line-height: 1.8;
  margin: 0;
  padding: 0 0 12px 0;
}
#contents .text_wrap p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
  margin: 0;
  padding: 0 0 32px 0;
}
#contents .text_wrap figure.topspace img {
  margin-top: 42px;
}
#contents .text_wrap figure img {
  max-width: 298px;
  display: block;
  height: auto;
}
#contents .text_wrap figure.right {
  float: right;
  padding-left: 35px;
}
#contents .text_wrap figure.left {
  float: left;
  padding-right: 35px;
}
#contents .text_wrap figure.right, #contents .text_wrap figure.left {
  width: 440px;
  margin: 0;
}
#contents .text_wrap figure.right img, #contents .text_wrap figure.left img {
  height: auto;
  width: 100%;
  max-width: 440px;
}
#contents .text_wrap.wrap_440 figure img {
  max-width: 440px;
}
#contents .text_wrap .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#contents .text_wrap .square-items {
  background: #F6F7F7;
  padding: 24px 32px;
  width: 100%;
  width: calc(100% - 64px);
}
#contents .text_wrap .square-items .cols1-2 {
  float: left;
  font-size: 1.4rem;
  line-height: 1.8;
  margin: 0;
  padding: 0 24px 0 0;
}
#contents .text_wrap .square-items ul,
#contents .text_wrap .square-items li {
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
  height: auto !important;
  height: 10px;
  min-height: 10px;
}
#contents .text_wrap .square-steps {
  background: #F6F7F7;
  padding: 24px 32px;
  width: 100%;
  width: calc(100% - 64px);
}
#contents .text_wrap .square-steps ol,
#contents .text_wrap .square-steps li {
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
  height: auto !important;
  height: 10px;
  min-height: 10px;
}
#contents .text_wrap .square-steps ol {
  counter-reset: mysteps;
}
#contents .text_wrap .square-steps li {
  font-size: 1.4rem;
  line-height: 1.8;
  height: auto !important;
  min-height: 90px;
  height: 80px;
  margin: 0 0 32px 0;
  padding: 0 0 0 145px;
  position: relative;
}
#contents .text_wrap .square-steps li:before {
  border: 1px solid #8B7C52;
  content: counter(mysteps);
  /* Use the counter as content */
  counter-increment: mysteps;
  color: #8B7C52;
  font-size: 2.6rem;
  font-weight: normal;
  display: block;
  left: 0;
  line-height: 80px;
  height: 80px;
  position: absolute;
  text-align: left;
  text-indent: 76px;
  top: 0;
  width: 120px;
}
#contents .text_wrap .square-steps li:after {
  border-width: 16px 21px;
  border-style: solid;
  border-color: transparent;
  border-top-color: #8B7C52;
  bottom: -34px;
  display: block;
  content: " ";
  font-size: 0;
  left: 41px;
  line-height: 0;
  overflow: hidden;
  position: absolute;
}
#contents .text_wrap .square-steps li.noarrow:after {
  display: none;
}
#contents .text_wrap .square-steps li strong:first-child,
#contents .text_wrap .square-steps li b:first-child {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.8;
  display: inline-block;
  margin: 0;
  padding: 0 0 12px 0;
  vertical-align: top;
}
#contents .text_wrap .square-steps li strong:first-child:before,
#contents .text_wrap .square-steps li b:first-child:before {
  border: 1px solid transparent;
  color: #8B7C52;
  content: "STEP.";
  font-size: 1.5rem;
  font-weight: normal;
  letter-spacing: 2px;
  line-height: 90px;
  position: absolute;
  left: 0;
  top: 0;
  text-indent: 25px;
}
#contents .text_wrap .square-steps li:last-child {
  margin-bottom: 0;
}
#contents .text_wrap .square-steps li:last-child:after {
  display: none;
}
#contents .text_wrap .square-steps li .extra {
  color: #8B7C52;
  display: block;
  margin: 21px 0 0 0;
  position: relative;
}
#contents .text_wrap .square-steps li .extra:after, #contents .text_wrap .square-steps li .extra:before {
  border-width: 16px 21px;
  border-style: solid;
  border-color: transparent;
  border-top-color: #8B7C52;
  display: block;
  content: " ";
  font-size: 0;
  left: -104px;
  line-height: 0;
  margin: 0 0 0 0;
  overflow: hidden;
  position: absolute;
}
#contents .text_wrap .square-steps li .extra:before {
  top: 60%;
}
#contents .text_wrap .square-steps li .extra:after {
  bottom: 40%;
}

@media screen and (max-width: 768px) {
  #contents .text_wrap img,
  #contents .text_wrap figure img,
  #contents .text_wrap figure.left,
  #contents .text_wrap figure.right,
  #contents #aftersale .text_wrap img {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100%;
    width: 100%;
  }
  #contents .text_wrap figure.right,
  #contents .text_wrap figure.left {
    margin: 0 0 12px 0;
    padding: 0;
  }
  #contents .text_wrap {
    margin: 0 0 21px 0;
  }
  #contents .text_wrap p {
    padding: 0 0 16px 0;
  }
  #contents .text_wrap .square-steps {
    padding: 12px 16px;
    width: calc(100% - 32px);
  }
  #contents .text_wrap .square-steps li {
    min-height: 60px;
    padding-left: 64px;
  }
  #contents .text_wrap .square-steps li strong:before {
    display: none;
  }
  #contents .text_wrap .square-steps li:before {
    height: 48px;
    line-height: 48px;
    margin: 0;
    padding: 0;
    text-align: center;
    text-indent: 0;
    width: 48px;
  }
  #contents .text_wrap .square-steps li:after {
    border-width: 8px 12px;
    bottom: -26px;
    left: 50%;
    margin: 0;
  }
  #contents .text_wrap .square-steps li .extra:after {
    border-width: 8px 12px;
    top: -12px;
    left: 50%;
    margin: 0 0 0 -32px;
    bottom: auto;
  }
  #contents .text_wrap .square-steps li .extra:before {
    border-width: 8px 12px;
    bottom: -26px;
    left: 50%;
    margin: 0 0 0 -32px;
    top: auto;
  }
}
#contents .button_wrap {
  text-align: center;
}

#contents .button_wrap .button {
  min-width: 250px;
  margin: 0 11px;
}

@media screen and (max-width: 768px) {
  #contents .button_wrap .button {
    margin: 0 0 20px;
  }
}
#contents .button_wrap .button a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: 19px 15px 16px;
}

@media screen and (max-width: 768px) {
  #contents .button_wrap .button a {
    padding: 16px 15px;
  }
}
#contents .button_layout02 {
  margin: 31px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .button_layout02 {
    margin: 10px 0 0;
  }
}
#contents .button_layout02.common02 .inner {
  width: 50%;
}

@media screen and (max-width: 768px) {
  #contents .button_layout02.common02 .inner {
    width: 100%;
  }
}
#contents .button_layout02.common02 .inner:nth-of-type(odd) {
  padding: 0 15px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .button_layout02.common02 .inner:nth-of-type(odd) {
    padding: 0;
  }
}
#contents .button_layout02.common02 .inner:nth-of-type(even) {
  padding: 0 0 0 15px;
}

@media screen and (max-width: 768px) {
  #contents .button_layout02.common02 .inner:nth-of-type(even) {
    padding: 0;
  }
}
#contents .button_layout02 .inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: left;
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .button_layout02 .inner {
    float: none;
    margin: 20px 0;
    font-size: 1.1rem;
  }
}
#contents .button_layout02 .inner.facebook a {
  background-color: #4b77be;
}

#contents .button_layout02 .inner.facebook a:before {
  width: 20px;
  height: 20px;
  background: url(../images/common/icon-facebook.svg) no-repeat center center transparent;
  background-size: 20px 20px;
}

@media screen and (max-width: 768px) {
  #contents .button_layout02 .inner.facebook a:before {
    width: 15px;
    height: 15px;
    background-size: 15px 15px;
  }
}
#contents .button_layout02 .inner a {
  position: relative;
  display: block;
  padding: 20px 0 20px;
  color: #ffffff;
  text-decoration: none;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  #contents .button_layout02 .inner a {
    padding: 10px 0;
  }
}
#contents .button_layout02 .inner a:before {
  content: "";
  vertical-align: middle;
  display: inline-block;
  margin: -3px 14px 0 0;
}

#contents .colomn_layout.colomn02.middle .inner:nth-of-type(odd) {
  padding-right: 20px;
}

#contents .colomn_layout.colomn02.middle .inner:nth-of-type(even) {
  padding-left: 20px;
}

#contents .colomn_layout.colomn02 .inner {
  width: 50%;
}

#contents .colomn_layout.colomn02 .inner:nth-of-type(odd) {
  float: left;
}

#contents .colomn_layout.colomn02 .inner:nth-of-type(even) {
  float: right;
}

#contents .colomn_layout.colomn03 .inner {
  float: left;
  width: 33%;
}

@media screen and (max-width: 768px) {
  #contents .colomn_layout.colomn03 .inner {
    width: 32%;
  }
}
#contents .colomn_layout.colomn03 .inner:nth-of-type(3n + 1) figure img {
  margin: 0 auto 0 0;
}

#contents .colomn_layout.colomn03 .inner:nth-of-type(3n + 2) {
  width: 34%;
}

@media screen and (max-width: 768px) {
  #contents .colomn_layout.colomn03 .inner:nth-of-type(3n + 2) {
    width: 32%;
    margin: 0 2%;
  }
}
#contents .colomn_layout.colomn03 .inner:nth-of-type(3n + 2) figure img {
  margin: 0 auto 0;
}

#contents .colomn_layout.colomn03 .inner:nth-of-type(3n + 3) figure img {
  margin: 0 0 0 auto;
}

@media screen and (max-width: 768px) {
  #contents .colomn_layout.colomn03 .inner img {
    width: 100%;
  }
}
#contents .colomn_layout.colomn04.middle .inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#contents .colomn_layout.colomn04.middle .inner:nth-of-type(4n + 1) {
  padding-right: 24px;
}

#contents .colomn_layout.colomn04.middle .inner:nth-of-type(4n + 2) {
  padding: 0 17px 0 8px;
}

#contents .colomn_layout.colomn04.middle .inner:nth-of-type(4n + 3) {
  padding: 0 8px 0 17px;
}

#contents .colomn_layout.colomn04.middle .inner:nth-of-type(4n + 4) {
  padding-left: 24px;
}

#contents .colomn_layout.colomn04 .inner {
  float: left;
  width: 25%;
}

@media screen and (max-width: 768px) {
  #contents .colomn_layout.sp_colom01.middle .inner:nth-of-type(odd) {
    float: none;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .colomn_layout.sp_colom01.middle .inner:nth-of-type(even) {
    float: none;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .colomn_layout.sp_colom01 .inner {
    width: 100%;
    margin: 10px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .colomn_layout.sp_colom01 .inner:first-child {
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .colomn_layout.sp_colom02.middle .inner:nth-of-type(odd) {
    float: left;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .colomn_layout.sp_colom02.middle .inner:nth-of-type(even) {
    float: right;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .colomn_layout.sp_colom02 .inner {
    width: 49%;
    margin: 10px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .colomn_layout.sp_colom02 .inner:nth-of-type(1),
  #contents .colomn_layout.sp_colom02 .inner:nth-of-type(2) {
    margin: 0;
  }
}
#contents .colomn_layout .inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  #contents .colomn_layout .inner figure img {
    width: 100%;
  }
}
#contents .gallery_layout01 .gallery_inner ul {
  width: 1086px;
  margin: 0 0 0 -16px;
}

@media screen and (max-width: 768px) {
  #contents .gallery_layout01 .gallery_inner ul {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 0;
  }
}
#contents .gallery_layout01 .gallery_inner ul li {
  float: left;
  display: block;
  margin: 15px 16px;
}

@media screen and (max-width: 768px) {
  #contents .gallery_layout01 .gallery_inner ul li {
    width: 49%;
    margin: 0 0 15px;
  }
}
@media screen and (max-width: 768px) {
  #contents .gallery_layout01 .gallery_inner ul li:nth-of-type(even) {
    float: right;
  }
}
#contents .gallery_layout01 .gallery_inner ul li img {
  width: 100%;
}

#contents .gallery_layout01 .gallery_inner ul li a {
  display: block;
}

#contents .link_layout01 .link_wrap {
  padding: 33px 0 0 0;
  /*
  .title{
      margin: 0 0 34px;
      font-size: 2.0rem;
      color: #004080;
      @media screen and (max-width: 768px) {
          margin: 0 0 17px;
          font-size: 1.6rem;
      }
  }
  */
}

@media screen and (max-width: 768px) {
  #contents .link_layout01 .link_wrap {
    padding: 17px 0 0 0;
  }
}
#contents .link_layout01 .link_wrap .link_list {
  position: relative;
  border-top: 1px solid #808080;
  border-left: 1px solid #808080;
  border-bottom: none;
}

#contents .link_layout01 .link_wrap .link_list:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
}

#contents .link_layout01 .link_wrap .link_list li {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: left;
  width: 50%;
  padding: 24px;
  border: 1px solid #808080;
  border-top: none;
  border-left: none;
}

@media screen and (max-width: 768px) {
  #contents .link_layout01 .link_wrap .link_list li {
    width: 100%;
    padding: 12px 15px;
  }
}
#contents .link_layout01 .link_wrap .link_list li:nth-of-type(even) {
  border-left: none;
}

#contents .link_layout01 .link_wrap .link_list li .name {
  margin: 0 0 12px 0;
  font-size: 1.6rem;
  color: #6c7a89;
}

@media screen and (max-width: 768px) {
  #contents .link_layout01 .link_wrap .link_list li .name {
    margin: 0 0 6px 0;
    font-size: 1.3rem;
  }
}
#contents .link_layout01 .link_wrap .link_list li a {
  color: #0071a1;
}

#contents .link_layout01 .link_wrap .link_list li dl {
  margin: 2px 0 0 0;
}

#contents .link_layout01 .link_wrap .link_list li dl dt {
  float: left;
}

#contents .link_layout01 .link_wrap .link_list li dl dt:after {
  content: "：";
}

#contents .link_layout02 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px 10px 45px;
  border: 4px solid #909c9c;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .link_layout02 {
    padding: 20px 5px 22px;
    border: 2px solid #909c9c;
  }
}
#contents .link_layout02 .title {
  font-weight: bold;
  font-size: 2rem;
  color: #6c7a89;
}

@media screen and (max-width: 768px) {
  #contents .link_layout02 .title {
    font-size: 1.6rem;
  }
}
#contents .link_layout02 .catch {
  margin: 25px 0 0;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  #contents .link_layout02 .catch {
    margin: 13px 0 0;
    font-size: 1.2rem;
  }
}
#contents .link_layout02 .button {
  margin: 47px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .link_layout02 .button {
    margin: 23px 0 0;
  }
}
#contents .link_layout02 .button.common {
  min-width: 450px;
}

@media screen and (max-width: 768px) {
  #contents .link_layout02 .button.common {
    min-width: 250px;
  }
}
#contents .main_catch {
  margin: 5px 0 0;
  padding: 113px 0 92px;
  background: url(../images/top/catch-back.jpg) no-repeat center center transparent;
  background-size: cover;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .main_catch {
    display: none;
  }
}
#contents .main_catch h2 {
  position: relative;
  margin: 0 0 40px;
  padding: 0 0 49px;
  font-size: 2.6rem;
  line-height: 1;
}

#contents .main_catch h2:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 100px;
  margin-left: -50px;
  border-top: 1px solid #a2a8ac;
}

#contents .main_catch p {
  font-size: 1.5rem;
  line-height: 2.3;
}

#contents .service_detail {
  position: relative;
  width: 100%;
  padding: 76px 0 252px;
  background: url(../images/top/service-back.jpg) no-repeat center bottom transparent;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  #contents .service_detail {
    padding: 36px 0 37px;
  }
}
@media screen and (max-width: 768px) {
  #contents .service_detail.decoration:before,
  #contents .service_detail.decoration:after {
    display: none;
  }
}
#contents .service_detail .title_style {
  font-size: 3rem;
}

@media screen and (max-width: 768px) {
  #contents .service_detail .title_style {
    font-size: 1.9rem;
  }
}
#contents .service_detail .title_style .en {
  margin: 22px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .service_detail .title_style .en {
    margin: 12px 0 0;
  }
}
#contents .service_detail .service_list {
  display: block;
  width: 1050px;
  margin: 56px auto 0;
}

@media screen and (max-width: 768px) {
  #contents .service_detail .service_list {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 21px auto 0;
    padding: 0 38px;
  }
}
#contents .service_detail .service_list li {
  position: relative;
  float: left;
  width: 320px;
  margin: 0 15px;
  background-color: #ffffff;
  -webkit-box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
  #contents .service_detail .service_list li {
    float: none;
    width: 100%;
    margin: 21px 0;
  }
}
#contents .service_detail .service_list li a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

#contents .service_detail .service_list li figure img {
  width: 100%;
}

#contents .service_detail .service_list li h2 {
  margin: 25px 0 9px;
  padding: 0 20px;
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #contents .service_detail .service_list li h2 {
    margin: 0;
    padding: 15px 10px;
    font-size: 1.3rem;
  }
}
#contents .service_detail .service_list li p {
  margin: 9px 0 23px;
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  #contents .service_detail .service_list li p {
    display: none;
  }
}
#contents .detail_style {
  position: relative;
  margin-top: 1px;
  padding: 56px 0 59px;
  background-color: #f1f1f2;
}

@media screen and (max-width: 768px) {
  #contents .detail_style {
    padding: 26px 0 24px;
  }
}
#contents .detail_style .list_style {
  display: block;
  width: 1040px;
  margin: 43px auto 0;
}

@media screen and (max-width: 768px) {
  #contents .detail_style .list_style {
    width: 100%;
    margin: 14px auto 0;
  }
}
#contents .detail_style .list_style li {
  float: left;
  width: 240px;
  margin: 0 10px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    margin: 4.8% 0 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li:nth-of-type(odd) {
    padding: 0 6px 0 13px;
  }
}
@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li:nth-of-type(even) {
    padding: 0 13px 0 6px;
  }
}
#contents .detail_style .list_style li a {
  display: block;
  text-decoration: none;
}

#contents .detail_style .list_style li figure {
  overflow: hidden;
  position: relative;
  width: 240px;
  height: 180px;
}

@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li figure {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: auto;
  }
}
#contents .detail_style .list_style li figure.zoom img {
  width: 100%;
  height: auto;
  margin-left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li figure.zoom img {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: 0;
  }
}
#contents .detail_style .list_style li figure .inner {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li figure .inner {
    overflow: hidden;
    height: 0;
    padding-top: 82.2%;
  }
}
#contents .detail_style .list_style li figure img {
  width: auto;
  height: 100%;
  margin-left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li figure img {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: 0;
  }
}
#contents .detail_style .list_style li h2 {
  margin: 19px 0 0;
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li h2 {
    margin: 7px 0 0;
    font-size: 1.3rem;
  }
}
#contents .detail_style .list_style li .category {
  color: #5990c8;
}

@media screen and (max-width: 768px) {
  #contents .detail_style .list_style li .category {
    display: block;
    margin: 2.4% 0 0;
    font-size: 1.1rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 768px) {
  #contents .detail_style .button {
    display: block;
    margin: 13px 0 0 0;
    text-align: center;
  }
}
#contents .detail_style .button.border {
  position: absolute;
  top: 74px;
  right: 50%;
  margin-right: -510px;
}

@media screen and (max-width: 768px) {
  #contents .detail_style .button.border {
    position: relative;
    top: 0;
    right: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .detail_style .button.border a {
    display: inline-block;
  }
}
#contents .real_estate {
  position: relative;
  margin-top: 1px;
  padding: 54px 0 80px;
}

@media screen and (max-width: 768px) {
  #contents .real_estate {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 25px 6px 47px;
  }
}
#contents .real_estate .title_style .en {
  margin: 13px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .title_style .en {
    margin: 15px 0 0;
  }
}
#contents .real_estate .detail {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  display: block;
  width: 1020px;
  margin: 54px auto 0;
  padding: 35px 30px 36px;
  background-color: #f1f1f2;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail {
    width: 100%;
    margin: 20px auto 0;
    padding: 20px 15px 15px;
  }
}
#contents .real_estate .detail:before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  margin-left: -20px;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #f1f1f2 transparent transparent transparent;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail:before {
    bottom: -24px;
    margin-left: -25px;
    border-width: 24px 25px 0 25px;
  }
}
#contents .real_estate .detail h3 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail h3 {
    font-size: 1.6rem;
    line-height: 1.4;
  }
}
#contents .real_estate .detail .catch {
  margin: 21px 0 32px;
  font-size: 1.4rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail .catch {
    margin: 6px 0 0;
    font-size: 1.2rem;
    text-align: left;
  }
}
#contents .real_estate .detail ul {
  display: block;
}

#contents .real_estate .detail ul li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 470px;
  padding: 26px 25px;
  background-color: #ffffff;
  counter-increment: estate;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail ul li {
    width: 100%;
    margin: 12px 0 0;
    padding: 15px 10px 12px;
  }
}
#contents .real_estate .detail ul li:nth-of-type(odd) {
  float: left;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail ul li:nth-of-type(odd) {
    float: none;
  }
}
#contents .real_estate .detail ul li:nth-of-type(even) {
  float: right;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail ul li:nth-of-type(even) {
    float: none;
  }
}
#contents .real_estate .detail ul li h4 {
  position: relative;
  padding: 0 0 0 1.8em;
  font-size: 2rem;
  color: #0054a7;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail ul li h4 {
    padding: 0 0 0 1.5em;
    font-size: 1.4rem;
  }
}
#contents .real_estate .detail ul li h4:before {
  content: counter(estate);
  position: absolute;
  top: -3px;
  left: 0;
  font-family: "Unica One", cursive;
  font-size: 4rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail ul li h4:before {
    top: 0px;
    left: 4px;
    font-size: 2.1rem;
  }
}
#contents .real_estate .detail ul li p {
  margin: 24px 0 0;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .detail ul li p {
    margin: 7px 0 0;
    font-size: 1.1rem;
    line-height: 1.4;
  }
}
#contents .real_estate .button.border {
  position: absolute;
  top: 72px;
  right: 50%;
  margin-right: -510px;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .button.border {
    display: none;
  }
}
#contents .real_estate .button.common {
  margin: 36px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .real_estate .button.common {
    margin: 33px 0 0;
  }
}
#contents .company_detail {
  padding: 62px 0 83px;
  background-color: #003171;
}

@media screen and (max-width: 768px) {
  #contents .company_detail {
    padding: 27px 0 38px;
  }
}
#contents .company_detail .title_style {
  font-size: 2.8rem;
}

@media screen and (max-width: 768px) {
  #contents .company_detail .title_style {
    font-size: 1.9rem;
  }
}
#contents .company_detail ul {
  display: block;
  width: 1050px;
  margin: 55px auto 0;
}

@media screen and (max-width: 768px) {
  #contents .company_detail ul {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 19px auto 0;
    padding: 0 56px;
  }
}
#contents .company_detail ul li {
  float: left;
  width: 320px;
  margin: 0 15px;
  background-color: #ffffff;
  -webkit-box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
  #contents .company_detail ul li {
    float: none;
    width: 100%;
    margin: 4.8% 0 0;
  }
}
#contents .company_detail ul li a {
  display: block;
  text-decoration: none;
}

#contents .company_detail ul li figure img {
  width: 100%;
}

#contents .company_detail ul li h2 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  margin: 21px 0 0;
  padding: 0 20px;
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #contents .company_detail ul li h2 {
    margin: 0;
    padding: 10px 5px;
    text-align: center;
    font-size: 1.4rem;
  }
}
#contents .company_detail ul li h2 span {
  vertical-align: middle;
  display: inline-block;
  margin: -3px 0 0 25px;
  font-size: 1.2rem;
  font-family: "Unica One", cursive;
  letter-spacing: 0.2em;
  color: #999999;
}

@media screen and (max-width: 768px) {
  #contents .company_detail ul li h2 span {
    display: none;
  }
}
#contents .company_detail ul li p {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 10px 0 17px;
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  #contents .company_detail ul li p {
    display: none;
  }
}
#contents .information {
  width: 1020px;
  margin: 93px auto 99px;
}

@media screen and (max-width: 768px) {
  #contents .information {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 19px 0 32px;
    padding: 0 14px;
  }
}
#contents .information .info_title h2 {
  vertical-align: middle;
  display: inline-block;
  margin: 0 24px 0 0;
  font-family: "Unica One", cursive;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #4d4d4d;
}

@media screen and (max-width: 768px) {
  #contents .information .info_title h2 {
    margin: 0 0 0 6px;
    font-size: 1.8rem;
  }
}
#contents .information .info_title .button.border {
  margin: 0 9px 0 0;
  font-size: 1.1rem;
}

@media screen and (max-width: 768px) {
  #contents .information .info_title .button.border {
    margin: 0 0 0 5px;
    font-size: 1.1rem;
  }
}
#contents .information .info_title .button.border a {
  padding: 9px 15px 8px;
}

@media screen and (max-width: 768px) {
  #contents .information .info_title .button.border a {
    padding: 7px 5px;
  }
}
#contents .information .info_list {
  margin: 52px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .information .info_list {
    margin: 12px 0 0;
  }
}
#contents .information .info_list dl {
  display: block;
  margin: 34px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .information .info_list dl {
    margin: 8px 0 0;
    border-bottom: 1px solid #b1b1b1;
  }
}
#contents .information .info_list dl:first-child {
  margin: 0;
}

#contents .information .info_list dl dt {
  float: left;
  width: 207px;
}

@media screen and (max-width: 768px) {
  #contents .information .info_list dl dt {
    float: none;
    width: 100%;
  }
}
#contents .information .info_list dl dt .category {
  float: left;
  display: block;
  min-width: 100px;
  padding: 6px 0 5px;
  border-radius: 3px;
  background-color: #199ae3;
  text-align: center;
  font-size: 1.1rem;
  line-height: 1;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  #contents .information .info_list dl dt .category {
    vertical-align: middle;
    display: inline-block;
    float: none;
    min-width: 70px;
    margin: 0 10px 0 0;
    padding: 3px 0;
    font-size: 1.1rem;
  }
}
#contents .information .info_list dl dt .info {
  background-color: #199ae3;
}

#contents .information .info_list dl dt .event {
  background-color: #618e34;
}

#contents .information .info_list dl dt .date {
  float: right;
  display: block;
  padding: 6px 0 5px;
  line-height: 1;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  #contents .information .info_list dl dt .date {
    vertical-align: middle;
    display: inline-block;
    float: none;
    padding: 3px 0;
    font-size: 1.2rem;
  }
}
#contents .information .info_list dl dd {
  float: right;
  width: 785px;
  line-height: 1.9;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  #contents .information .info_list dl dd {
    float: none;
    width: 100%;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  #contents .information .info_list dl dd a {
    display: block;
    padding: 4px 0 5px;
  }
}
#contents .information .info_list dl a {
  text-decoration: none;
}

#contents .banner_wrap {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 53px 0 46px;
  border-top: 4px solid #bcc4c4;
  background-color: #909c9c;
}

@media screen and (max-width: 768px) {
  #contents .banner_wrap {
    padding: 23px 5px 23px;
    border-top: 2px solid #bcc4c4;
  }
}
#contents .banner_wrap ul {
  text-align: center;
}

#contents .banner_wrap ul li {
  display: inline-block;
  margin: 0 30px;
}

@media screen and (max-width: 768px) {
  #contents .banner_wrap ul li {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    display: block;
    width: 50%;
    margin: 0;
    padding: 0 13px;
  }
}
@media screen and (max-width: 768px) {
  #contents .banner_wrap ul li img {
    width: 100%;
  }
}
#contents .banner_wrap ul li a {
  display: block;
}

#contents .category_section {
  padding: 75px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .category_section {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 30px 0;
  }
}
#contents .category_section .category_link {
  margin: 0 0 40px;
}

@media screen and (max-width: 768px) {
  #contents .category_section .category_link {
    margin: 0 0 17px;
    padding: 0 14px;
  }
}
#contents .category_section .category_link ul {
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .category_section .category_link ul {
    width: 100%;
  }
}
#contents .category_section .category_link ul li {
  position: relative;
  display: inline-block;
  min-width: 180px;
  margin: 0 4px;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  #contents .category_section .category_link ul li {
    float: left;
    min-width: inherit;
    min-width: auto;
    width: 32%;
    margin: 5px 0 0;
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 768px) {
  #contents .category_section .category_link ul li:nth-of-type(3n + 2) {
    margin: 5px 2% 0;
  }
}
#contents .category_section .category_link ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 17px 0;
  border: 1px solid #6c7a80;
  line-height: 1;
  text-decoration: none;
  color: #6c7a80;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

@media screen and (max-width: 768px) {
  #contents .category_section .category_link ul li a {
    padding: 11px 0;
  }
}
#contents .category_section .category_link ul li a:before {
  content: "";
  display: none;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -10px;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #6c7a80 transparent transparent transparent;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#contents .category_section .category_link ul li a:hover {
  background-color: #6c7a80;
  color: #ffffff;
}

#contents .category_section .category_link ul li a.active {
  background-color: #6c7a80;
  color: #ffffff;
}

#contents .category_section .category_link ul li a.active:before {
  display: block;
}

@media screen and (max-width: 768px) {
  #contents .category_section .category_link ul li a.active:before {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #contents .category_section .work_detail {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 14px;
  }
}
#contents .category_section .work_detail .visual {
  width: 800px;
  margin: 0 auto 116px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .visual {
    width: 100%;
    margin: 0 auto 23px;
  }
}
#contents .category_section .work_detail .visual.small img {
  display: inline;
  width: auto;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .visual.small img {
    display: block;
    width: 100%;
  }
}
#contents .category_section .work_detail .visual img {
  width: 800px;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .visual img {
    width: 100%;
  }
}
#contents .category_section .work_detail .wrapper {
  padding: 0 0 45px;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .wrapper {
    padding: 0 0 20px;
  }
}
#contents .category_section .work_detail .detail_wrap {
  float: left;
  width: 600px;
  padding: 63px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .detail_wrap {
    width: 100%;
    padding: 25px 0 0;
  }
}
#contents .category_section .work_detail .detail_wrap .title {
  font-size: 2rem;
  color: #004080;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .detail_wrap .title {
    font-size: 1.6rem;
  }
}
#contents .category_section .work_detail .detail_wrap .info {
  margin: 20px 0 0;
  font-weight: bold;
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .detail_wrap .info {
    margin: 15px 0 0;
    font-size: 1.2rem;
  }
}
#contents .category_section .work_detail .detail_wrap .info .category {
  display: inline-block;
}

#contents .category_section .work_detail .detail_wrap .info .location {
  display: inline-block;
}

#contents .category_section .work_detail .detail_wrap .info .location:before {
  content: "／";
  margin: 0 2px 0 0;
}

#contents .category_section .work_detail .detail_wrap .detail {
  margin: 45px 0 0;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .detail_wrap .detail {
    margin: 24px 0 0;
    font-size: 1.2rem;
  }
}
#contents .category_section .work_detail .detail_wrap .detail p {
  margin: 25px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .detail_wrap .detail p {
    margin: 12px 0 0;
  }
}
#contents .category_section .work_detail .data_wrap {
  float: right;
  width: 320px;
  padding: 107px 0 0;
  border-top: 1px solid #d1d5d6;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .data_wrap {
    width: 100%;
    margin: 24px 0 0;
    padding: 24px 0 0;
  }
}
#contents .category_section .work_detail .data_wrap h3 {
  margin: 0 0 50px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .data_wrap h3 {
    margin: 0 0 25px;
  }
}
#contents .category_section .work_detail .data_wrap dl {
  margin: 25px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .category_section .work_detail .data_wrap dl {
    margin: 12px 0 0;
  }
}
#contents .category_section .work_detail .data_wrap dl dt {
  font-weight: bold;
}

.top_categories ul,
.top_categories li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.top_categories ul {
  display: block;
  margin: 0;
  padding: 0;
  text-align: center;
}
.top_categories li {
  border: 1px solid #6C7A80;
  display: inline-block;
  margin: 0 5px;
  padding: 0;
  overflow: visible;
  height: 50px;
  vertical-align: top;
  min-width: 180px;
}
.top_categories li a {
  display: block;
  color: #6C7A80;
  font-size: 14px;
  font-weight: normal;
  line-height: 50px;
  margin: 0;
  padding: 0 21px;
  position: relative;
  text-align: center;
  text-decoration: none;
}
.top_categories li a:hover {
  opacity: 1;
  background: #909C9C;
  border-color: #909C9C;
  color: #fff;
}
.top_categories li a.active, .top_categories li a.active:hover {
  background-color: #6C7A80;
  color: #ffffff;
}
.top_categories li a.active:before {
  display: block;
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -10px;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #6c7a80 transparent transparent transparent;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
@media screen and (max-width: 768px) {
  .top_categories li a.active:before {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .top_categories ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: left;
  }
  .top_categories li {
    margin: 0 0 10px;
    height: auto;
    min-height: 10px;
    width: 50%;
    width: calc(50% - 12px);
    min-width: 10px;
  }
  .top_categories li a {
    height: 100%;
    height: calc(100% - 16px);
    line-height: 1.5;
    padding: 8px;
  }
  .top_categories li a .dot {
    display: block;
    font-size: 0;
    height: 0;
    line-height: 0;
    overflow: hidden;
    width: 100%;
  }
}

#contents .category_layout01 {
  width: 100%;
}

#contents .category_layout01.middle {
  padding: 45px 0;
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 h2 {
    margin: 0 0 23px;
  }
}
#contents .category_layout01 .layout_inner {
  width: 1050px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 14px;
  }
}
#contents .category_layout01 .layout_inner article {
  float: left;
  width: 320px;
  margin: 50px 15px 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner article {
    width: 100%;
    margin: 19px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner article:first-child {
    margin: 0;
  }
}
#contents .category_layout01 .layout_inner article a {
  display: block;
  text-decoration: none;
}

#contents .category_layout01 .layout_inner article figure {
  /*
  overflow: hidden;
  width: 320px;
  height: 240px;
  @media screen and (max-width: 768px) {
      width: 100%;
      height: auto;
  }
  img{
      width: auto;
      height: 100%;
      margin-left: 50%;
      transform: translateX(-50%);
      @media screen and (max-width: 768px) {
          width: 100%;
          //height: auto;
          margin-left: 0;
          transform: translateX(0);
      }
  }
  */
  overflow: hidden;
  position: relative;
  width: 320px;
  height: 240px;
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner article figure {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: auto;
  }
}
#contents .category_layout01 .layout_inner article figure.zoom img {
  width: 100%;
  height: auto;
  margin-left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner article figure.zoom img {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: 0;
  }
}
#contents .category_layout01 .layout_inner article figure .inner {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner article figure .inner {
    overflow: hidden;
    height: 0;
    padding-top: 74.3%;
  }
}
#contents .category_layout01 .layout_inner article figure img {
  width: auto;
  height: 100%;
  margin-left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner article figure img {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: 0;
  }
}
#contents .category_layout01 .layout_inner article .title {
  margin: 15px 0 0;
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner article .title {
    font-size: 1.3rem;
  }
}
#contents .category_layout01 .layout_inner article .title.idisp {
  display: inline-block;
}

#contents .category_layout01 .layout_inner article .category {
  display: block;
  margin: 5px 0 0;
  color: #5990c8;
}

#contents .category_layout01 .layout_inner article .category.idisp {
  display: inline-block;
  font-size: 1.5rem;
  color: #4d4d4d;
}

#contents .category_layout01 .layout_inner article .category.idisp:before {
  content: "／";
  margin: 0 3px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .category_layout01 .layout_inner article .category.idisp:before {
    font-size: 1.3rem;
  }
}
#contents .category_layout01 .layout_inner .empty_style {
  margin: 40px 0 0;
  font-size: 1.5rem;
}

#contents .voice_section {
  padding: 75px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .voice_section {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 30px 0;
  }
}
#contents .voice_section .wrapper {
  padding: 20px 0 92px;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 12px 14px 46px;
  }
}
#contents .voice_section .visual_wrap {
  float: right;
  width: 320px;
  margin: 6px 0 0 0;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .visual_wrap {
    float: none;
    width: 100%;
    margin: 30px auto;
  }
}
#contents .voice_section .visual_wrap .visual {
  margin: 50px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .visual_wrap .visual {
    margin: 11px auto 0;
  }
}
#contents .voice_section .visual_wrap .visual:first-child {
  margin: 0;
}

#contents .voice_section .visual_wrap .visual.small img {
  display: inline;
  width: auto;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .visual_wrap .visual.small img {
    display: block;
  }
}
#contents .voice_section .visual_wrap .visual img {
  width: 320px;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .visual_wrap .visual img {
    width: 292px;
    margin: 0 auto;
  }
}
#contents .voice_section .detail_wrap {
  float: left;
  width: 600px;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .detail_wrap {
    float: none;
    width: 100%;
  }
}
#contents .voice_section .detail_wrap .title {
  margin: 47px 0 0;
  font-size: 2rem;
  color: #004080;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .detail_wrap .title {
    margin: 20px 0 0;
    font-size: 1.6rem;
  }
}
#contents .voice_section .detail_wrap .title:first-child {
  margin: 0;
}

#contents .voice_section .detail_wrap .info {
  margin: 14px 0 0;
  font-weight: bold;
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .detail_wrap .info {
    margin: 10px 0 0;
    font-size: 1.2rem;
  }
}
#contents .voice_section .detail_wrap .info .category {
  display: inline-block;
}

#contents .voice_section .detail_wrap .info .location {
  display: inline-block;
}

#contents .voice_section .detail_wrap .info .location:before {
  content: "／";
  margin: 0 2px 0 0;
}

#contents .voice_section .detail_wrap .detail {
  margin: 37px 0;
  font-size: 1.4rem;
  line-height: 1.9;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .detail_wrap .detail {
    margin: 25px 0;
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
#contents .voice_section .detail_wrap .detail p {
  margin: 25px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .detail_wrap .detail p {
    margin: 12px 0 0;
  }
}
#contents .voice_section .data_wrap {
  padding: 39px 0 0;
  border-top: 1px solid #d1d5d6;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .data_wrap {
    width: 100%;
    margin: 33px 0 0;
    padding: 0;
    border: none;
  }
}
#contents .voice_section .data_wrap h3 {
  margin: 0 0 31px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .data_wrap h3 {
    margin: 0 0 15px;
    padding: 0 0 10px;
    border-bottom: 1px solid #d1d5d6;
  }
}
#contents .voice_section .data_wrap dl {
  margin: 20px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .data_wrap dl {
    margin: 10px 0 0;
  }
}
#contents .voice_section .data_wrap dl dt {
  font-weight: bold;
}

#contents .voice_section .category_layout01 {
  padding: 47px 0;
}

#contents .voice_section .category_layout01 .title_style {
  margin: 0 0 18px 0;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .category_layout01 .title_style {
    margin: 0 0 23px;
  }
}
#contents .voice_section .category_layout01 .layout_inner article {
  margin: 32px 15px 0;
}

@media screen and (max-width: 768px) {
  #contents .voice_section .category_layout01 .layout_inner article {
    margin: 19px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .voice_section .category_layout01 .layout_inner article:first-child {
    margin: 0;
  }
}
#contents .voice_section .category_layout01 .layout_inner article .title {
  margin: 22px 0 0;
}

#contents .image_gallery {
  width: 1020px;
  margin: 45px auto 0;
  padding: 45px 0 119px;
  border-top: 1px solid #d1d5d6;
}

@media screen and (max-width: 768px) {
  #contents .image_gallery {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 22px 14px 50px;
  }
}
#contents .image_gallery h2 {
  margin: 0 auto 25px;
  font-weight: bold;
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  #contents .image_gallery h2 {
    margin: 0 auto 11px;
  }
}
#contents .image_gallery ul {
  overflow: hidden;
  width: 1066px;
  margin: 0 0 0 -23px;
  /*
  li{
      overflow: hidden;
      position: relative;
      float: left;
      width: 220px;
      height: 0;
      margin: 0 23px;
      padding-top: 19.7%;
      a{
          display: block;
          width: 100%;
          height: 100%;
      }
      img{
          position: absolute;
          top:0;
          left:50%;
          transform: translateX(-50%);
          height: 100%;
      }
  }
  */
}

@media screen and (max-width: 768px) {
  #contents .image_gallery ul {
    width: 100%;
    margin: 0;
  }
}
#contents .image_gallery ul li {
  overflow: hidden;
  position: relative;
  float: left;
  width: 220px;
  height: 220px;
  margin: 20px 23px;
}

@media screen and (max-width: 768px) {
  #contents .image_gallery ul li {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 49%;
    height: auto;
    margin: 9px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .image_gallery ul li:nth-of-type(even) {
    float: right;
  }
}
#contents .image_gallery ul li a {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  #contents .image_gallery ul li a {
    overflow: hidden;
    height: 0;
    padding-top: 103.2%;
  }
}
#contents .image_gallery ul li img {
  width: auto;
  height: 100%;
  margin-left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  #contents .image_gallery ul li img {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .under_layer {
    padding: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  #contents .sublease_section {
    padding: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  #contents .mutenka_section {
    padding: 0 15px;
  }
}
#contents .mutenka_section .gallery_layout01 {
  margin: 73px auto 40px;
}

#contents .mutenka_section .link_layout01 {
  margin: 58px auto 40px;
}

@media screen and (max-width: 768px) {
  #contents .company_section {
    padding: 0 15px;
  }
}
#contents .company_section .catch_section table {
  margin: 40px 0 70px;
}

@media screen and (max-width: 768px) {
  #contents .company_section .catch_section table {
    margin: 20px 0 35px;
  }
}
#contents .company_section .colomn_layout .map {
  overflow: hidden;
  position: relative;
  height: 320px;
}

@media screen and (max-width: 768px) {
  #contents .company_section .colomn_layout .map {
    height: 0;
    padding-top: 65.3%;
  }
}
#contents .company_section .colomn_layout .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#contents .company_section .main_access table {
  margin: 33px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .company_section .main_access table {
    margin: 16px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .company_section .main_access .inner {
    margin: 16px 0 0;
  }
}
#contents .company_section .access_detail .inner {
  margin: 66px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .company_section .access_detail .inner {
    margin: 33px 0 0;
  }
}
#contents .company_section .access_detail .inner table {
  margin: 33px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .company_section .access_detail .inner table {
    margin: 16px 0 0;
  }
}
#contents .company_section .access_detail .inner table th {
  width: 22%;
}

@media screen and (max-width: 768px) {
  #contents .company_section .access_detail .inner table th {
    width: 25%;
  }
}
#contents .company_section .access_detail .inner table th,
#contents .company_section .access_detail .inner table td {
  padding: 17px 22px;
}

@media screen and (max-width: 768px) {
  #contents .company_section .access_detail .inner table th,
  #contents .company_section .access_detail .inner table td {
    padding: 7px 5px 5px;
  }
}
@media screen and (max-width: 768px) {
  #contents .myhome_section {
    padding: 0 15px 20px;
  }
}
#contents .myhome_section .image_layout01 {
  margin: 53px auto 86px;
}

@media screen and (max-width: 768px) {
  #contents .myhome_section .image_layout01 {
    margin: 27px auto 43px;
  }
}
#contents .myhome_section .detail_layout02 .title_wrap {
  margin: 0 0 56px;
}

@media screen and (max-width: 768px) {
  #contents .myhome_section .detail_layout02 .title_wrap {
    margin: 0 0 28px;
  }
}
@media screen and (max-width: 768px) {
  #contents .reform_section {
    padding: 0 15px 20px;
  }
}
#contents .reform_section .detail_layout01 {
  margin: 30px auto 85px;
}

@media screen and (max-width: 768px) {
  #contents .reform_section .detail_layout01 {
    margin: 19px auto 42px;
  }
}
#contents .orderhouse_section {
  padding: 27px 0 80px;
}

@media screen and (max-width: 768px) {
  #contents .orderhouse_section {
    padding: 0 15px 20px;
  }
}
#contents .orderhouse_section .catch_section .catch_wrap {
  margin: 0 0 31px;
}

@media screen and (max-width: 768px) {
  #contents .orderhouse_section .catch_section .catch_wrap {
    margin: 0 0 16px;
  }
}
#contents .orderhouse_section .catch_section .image_layout01 {
  margin: 31px auto 56px;
}

@media screen and (max-width: 768px) {
  #contents .orderhouse_section .catch_section .image_layout01 {
    margin: 16px auto 28px;
  }
}
#contents .orderhouse_section .reason_section .title_wrap {
  margin: 0 0 43px;
}

@media screen and (max-width: 768px) {
  #contents .orderhouse_section .reason_section .title_wrap {
    margin: 0 0 22px;
  }
}
#contents .orderhouse_section .reason_section .colomn_layout.colomn04 {
  margin: 38px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .orderhouse_section .reason_section .colomn_layout.colomn04 {
    margin: 19px 0 0;
  }
}
#contents .orderhouse_section .reason_section .image_layout01 {
  margin: 43px auto 0;
}

@media screen and (max-width: 768px) {
  #contents .orderhouse_section .reason_section .image_layout01 {
    margin: 22px auto 0;
  }
}
#contents .freely_section {
  padding: 30px 0 80px;
}

@media screen and (max-width: 768px) {
  #contents .freely_section {
    padding: 0 15px 20px;
  }
}
#contents .freely_section .catch_section {
  padding: 56px 0 55px;
}

@media screen and (max-width: 768px) {
  #contents .freely_section .catch_section {
    padding: 28px 0 28px;
  }
}
#contents .freely_section .catch_section .catch_wrap {
  margin: 0 0 32px;
}

@media screen and (max-width: 768px) {
  #contents .freely_section .catch_section .catch_wrap {
    margin: 0 0 16px;
  }
}
#contents .freely_section .catch_section .image_layout01 {
  margin: 32px auto 28px;
}

@media screen and (max-width: 768px) {
  #contents .freely_section .catch_section .image_layout01 {
    margin: 16px auto 14px;
  }
}
#contents .freely_section .catch_section .colomn_layout.colomn03 {
  margin: 0 0 40px;
}

@media screen and (max-width: 768px) {
  #contents .freely_section .catch_section .colomn_layout.colomn03 {
    margin: 0 0 20px;
  }
}
#contents .freely_section .catch_section > p {
  line-height: 2;
}

@media screen and (max-width: 768px) {
  #contents .freely_section .catch_section > p {
    line-height: 1.6;
  }
}
#contents .freely_section .freely_detail .title_wrap {
  margin: 0 0 27px;
}

@media screen and (max-width: 768px) {
  #contents .freely_section .freely_detail .title_wrap {
    margin: 0 0 14px;
  }
}
#contents .freely_section .freely_detail .title_wrap .catch {
  margin: 42px 0 0 0;
  line-height: 1.9;
}

@media screen and (max-width: 768px) {
  #contents .freely_section .freely_detail .title_wrap .catch {
    margin: 21px 0 0 0;
    line-height: 1.5;
    font-size: 1.3rem;
  }
}
#contents .freely_section .freely_detail .image_layout01 {
  margin: 53px auto 95px;
}

@media screen and (max-width: 768px) {
  #contents .freely_section .freely_detail .image_layout01 {
    margin: 27px auto 48px;
  }
}
@media screen and (max-width: 768px) {
  #footer .contact_detail {
    display: none;
    margin: 13px 0 16px;
  }
}
@media screen and (max-width: 768px) {
  #footer .contact_detail .contact_detail_inner .detail .catch {
    display: none;
  }
}
#footer .footer_inner {
  border-top: 5px solid #272727;
  background-color: #4d4d4d;
}

@media screen and (max-width: 768px) {
  #footer .footer_inner {
    border: none;
  }
}
#footer .footer_inner .logo {
  width: 100%;
  padding: 21px 0 24px;
  border-bottom: 1px solid #989898;
}

@media screen and (max-width: 768px) {
  #footer .footer_inner .logo {
    display: none;
  }
}
#footer .footer_inner .logo span {
  display: block;
  width: 1020px;
  margin: 0 auto;
}

#footer .footer_inner .logo span img {
  width: 200px;
}

#footer .footer_inner .link_wrap {
  display: block;
  width: 1020px;
  margin: 0 auto;
  padding: 56px 0 19px;
  border-bottom: 1px solid #333333;
  letter-spacing: 0.1em;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  #footer .footer_inner .link_wrap {
    width: 100%;
    padding: 0;
    border: none;
  }
}
#footer .footer_inner .link_wrap a {
  color: #ffffff;
  text-decoration: none;
}

#footer .footer_inner .link_wrap .pc_layout {
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  #footer .footer_inner .link_wrap .pc_layout {
    display: none;
  }
}
#footer .footer_inner .link_wrap .pc_layout h2 {
  margin: 0 0 24px;
  font-size: 1.6rem;
  font-weight: bold;
}

#footer .footer_inner .link_wrap .pc_layout h3 {
  margin: 0 0 16px;
  font-size: 1.4rem;
  font-weight: bold;
}

#footer .footer_inner .link_wrap .pc_layout h4 {
  margin: 0 0 4px;
}

#footer .footer_inner .link_wrap .pc_layout .inner {
  float: left;
  margin: 0 0 23px 0;
}

#footer .footer_inner .link_wrap .pc_layout ul li {
  margin: 0 0 4px;
}

#footer .footer_inner .link_wrap .pc_layout .heading li:before {
  content: "ー";
  margin: 0 4px 0 0;
}

#footer .footer_inner .link_wrap .pc_layout .colomn02 {
  width: 100%;
}

#footer .footer_inner .link_wrap .pc_layout .colomn02 .inner {
  width: 50%;
}

#footer .footer_inner .link_wrap .pc_layout .colomn03 {
  width: 100%;
}

#footer .footer_inner .link_wrap .pc_layout .colomn03 .inner {
  width: auto;
}
#footer .footer_inner .link_wrap .pc_layout .colomn03 .inner.large {
  min-width: 270px;
}

#footer .footer_inner .link_wrap .pc_layout .colomn04 {
  width: 100%;
}

#footer .footer_inner .link_wrap .pc_layout .colomn04 .inner {
  width: 25%;
}

#footer .footer_inner .link_wrap .pc_layout .colomn05 {
  width: 100%;
}

#footer .footer_inner .link_wrap .pc_layout .colomn05 .inner {
  width: 20%;
}

#footer .footer_inner .link_wrap .pc_layout .columnAuto > .inner {
  padding: 0 61px 0 0;
  width: auto;
}
#footer .footer_inner .link_wrap .pc_layout .columnAuto > .inner:last-child {
  padding: 0;
}

#footer .footer_inner .link_wrap .sp_layout {
  overflow: hidden;
  display: none;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  #footer .footer_inner .link_wrap .sp_layout {
    display: block;
  }
}
#footer .footer_inner .link_wrap .sp_layout .sp_nav {
  margin-bottom: -1px;
}

#footer .footer_inner .link_wrap .sp_layout .sp_nav li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: left;
  width: 50%;
  border-bottom: 1px solid #ffffff;
}

#footer .footer_inner .link_wrap .sp_layout .sp_nav li:nth-of-type(odd) {
  border-right: 1px solid #ffffff;
}

#footer .footer_inner .link_wrap .sp_layout .sp_nav li a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
}

#footer .footer_inner .link_wrap .sp_layout .sp_nav li a:before {
  content: "＞";
  display: inline-block;
  margin: 0 0.5em 0 0;
}

#footer .street_address {
  display: block;
  width: 1020px;
  margin: 0 auto;
  border-top: 1px solid #808080;
  padding: 37px 0 59px;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  #footer .street_address {
    display: none;
  }
}
#footer .copy {
  display: block;
  padding: 25px 0 27px;
  background-color: #333333;
  font-size: 1.1rem;
  letter-spacing: 0.14em;
  text-align: center;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  #footer .copy {
    padding: 11px 0;
    letter-spacing: 0;
    font-size: 0.9rem;
  }
}
.right {
  display: block;
  text-align: right;
}

.center {
  display: block;
  text-align: center;
}

.head_banner {
  margin: 0 0 21px 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.head_banner img {
  overflow: hidden;
  width: 100%;
}
.head_banner figcaption {
  color: #1A1A1A;
  font-size: 40px;
  font-weight: normal;
  line-height: 1.8;
  left: 65px;
  bottom: 32px;
  position: absolute;
  z-index: 0;
}
.head_banner figcaption small {
  font-size: 20px;
  display: block;
  line-height: 1.5;
}

.section_greeting .detail p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 48px 0;
}

.colomn02.flex .layout_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.colomn02.flex .layout_wrap .cassette {
  width: 50%;
  width: calc(50% - 40px);
}

.anchor {
  background: #F6F7F7;
  margin: 0 0 72px 0;
  padding: 14px;
  text-align: center;
}
.anchor ul,
.anchor li {
  list-style: none;
  display: inline;
  margin: 0;
  padding: 0;
}
.anchor a {
  display: inline-block;
  color: #0071A1;
  font-size: 18px;
  line-height: 1.5;
  margin: 0 10px;
  padding: 0;
  text-decoration: underline;
}

.detail + .anchor {
  margin-top: 24px;
}

@media screen and (max-width: 768px) {
  .head_banner figcaption {
    color: #fff;
    font-size: 30px;
    bottom: 16px;
    left: 21px;
  }
  .head_banner figcaption small {
    font-size: 13px;
    text-shadow: 1px solid rgba(0, 0, 0, 0.7);
  }
  .section_greeting .detail p {
    margin: 0 0 21px 0;
    font-size: 1.2rem;
    line-height: 1.8;
  }
}
.b_button {
  border: 1px solid #004080;
  display: block;
  padding: 8px 32px 8px 16px;
  position: relative;
  text-align: center;
  text-decoration: none;
}
.b_button .subtitle {
  color: #004080;
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
  padding: 8px 0 0 0;
}
.b_button .title {
  color: #004080;
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
  padding: 0 0 4px 0;
}
@media screen and (max-width: 768px) {
  .b_button .title {
    font-size: 2rem;
  }
}
.b_button .title.one {
  padding: 0;
}
.b_button .fa-chevron-right {
  color: #004080;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 18px;
}

.two_choices .col1-2 {
  width: 50%;
}
.two_choices .col1-2:first-child {
  float: left;
}
.two_choices .col1-2:first-child a {
  margin-right: 10px;
}
.two_choices .col1-2:last-child {
  float: right;
}
.two_choices .col1-2:last-child a {
  margin-left: 10px;
}

@media screen and (max-width: 768px) {
  .two_choices {
    float: none;
  }
  .two_choices .col1-2 {
    width: 100%;
  }
  .two_choices .col1-2 a {
    margin: 0 0 16px 0 !important;
  }
}
#contents.privacy a {
  color: #0071BC;
}

#sumika .reason_section .colomn02 {
  margin: 0;
  padding: 0 0 42px 0;
}

@media screen and (max-width: 768px) {
  #sumika .reason_section .colomn02 {
    padding: 0 0 21px 0;
  }
}
.required {
  color: #DB5A6B;
}

.single-event #header .under_title .inner,
.post-type-archive-event #header .under_title .inner,
.tax-event_tax #header .under_title .inner {
  background-image: url(../images/event/bg_header.jpg);
}

.event_section {
  padding: 75px 0 0 0;
}

#contents .event_section {
  padding: 75px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .event_section {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 30px 0;
  }
}
#contents .event_section .wrapper {
  padding: 20px 0 92px;
}

@media screen and (max-width: 768px) {
  #contents .event_section .wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 12px 14px 46px;
  }
}
#contents .event_section .detail_wrap {
  float: left;
  width: 600px;
}

#contents .event_section .detail_side {
  border-top: 1px solid #d1d5d6;
  float: right;
  padding: 92px 0 0 0;
  width: calc(100% - 600px - 94px);
}

@media screen and (max-width: 768px) {
  #contents .event_section .detail_wrap,
  #contents .event_section .detail_side {
    float: none;
    width: 100%;
  }
  #contents .event_section .detail_wrap {
    margin: 32px 0 0 0;
  }
  #contents .event_section .detail_side {
    padding: 35px 0 0 0;
  }
}
#contents .event_section .data_wrap {
  border-top: 1px solid #C1C1C1;
  margin: 0;
  padding: 35px 0 94px 0;
}

#contents .event_section .detail_side h3,
#contents .event_section .data_wrap h3 {
  color: #000;
  font-size: 15px;
  font-weight: bold;
  margin: 0 0 32px 0;
  padding: 0;
}

#contents .event_section .detail_side dl,
#contents .event_section .detail_side dt,
#contents .event_section .detail_side dd {
  display: block;
  color: #4D4D4D;
  font-size: 13px;
  line-height: 1.75;
  margin: 0;
  padding: 0;
}

#contents .event_section .detail_side dt {
  font-weight: bold;
}

#contents .event_section .detail_side dd {
  margin: 0 0 14px 0;
}

#contents .event_section .googlemap,
#contents .event_section .form {
  clear: both;
}

#contents .event_section .title_wrap {
  margin: 0 0 21px 0;
}

#contents .event_section .detail_wrap .title {
  margin: 47px 0 0;
  font-size: 2rem;
  color: #004080;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  #contents .event_section .detail_wrap .title {
    margin: 20px 0 0;
    font-size: 1.6rem;
  }
}
#contents .event_section .detail_wrap .title:first-child {
  margin: 0;
}

#contents .event_section .detail_wrap .info {
  margin: 14px 0 0;
  font-weight: bold;
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  #contents .event_section .detail_wrap .info {
    margin: 10px 0 0;
    font-size: 1.2rem;
  }
}
#contents .event_section .detail_wrap .info .category {
  display: inline-block;
}

#contents .event_section .detail_wrap .detail {
  margin: 37px 0;
  font-size: 1.4rem;
  line-height: 1.9;
}

@media screen and (max-width: 768px) {
  #contents .event_section .detail_wrap .detail {
    margin: 25px 0;
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
#contents .event_section .detail_wrap .detail p {
  margin: 25px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .event_section .detail_wrap .detail p {
    margin: 12px 0 0;
  }
}
#contents .event_section .form table {
  border-collapse: collapse;
  border-top: 1px solid #808080;
  border-left: 1px solid #808080;
  margin: 32px 0;
  padding: 0;
}
#contents .event_section .form th,
#contents .event_section .form td {
  border-right: 1px solid #808080;
  border-bottom: 1px solid #808080;
  margin: 0;
  padding: 16px 12px;
}
#contents .event_section .form th {
  vertical-align: middle;
  font-size: 13px;
  font-weight: bold;
}
#contents .event_section .form td {
  vertical-align: top;
}
#contents .event_section .form td label {
  display: inline-block;
  margin: 4px 10px 0 0;
  padding: 0;
  vertical-align: top;
  min-width: 30px;
}
#contents .event_section .form td .wpcf7-form-control-wrap {
  display: block;
}
#contents .event_section .form td .wpcf7-form-control-wrap .wpcf7-text,
#contents .event_section .form td .wpcf7-form-control-wrap .wpcf7-textarea {
  background: #F2F2F2;
  border: 0;
  color: #808080;
  font-size: 13px;
  line-height: 1.75;
}
#contents .event_section .form td .wpcf7-form-control-wrap .wpcf7-text {
  max-width: 400px;
}
#contents .event_section .form td .wpcf7-form-control-wrap .wpcf7-textarea {
  max-width: 600px;
}
#contents .event_section .form td .wpcf7-text,
#contents .event_section .form td .wpcf7-textarea {
  background: #F2F2F2;
  border: 0;
  color: #808080;
  display: block;
  font-size: 13px;
  line-height: 1.75;
  margin: 0;
  padding: 4px 8px;
  width: 100%;
  width: calc(100% - 16px);
}
#contents .event_section .form td div,
#contents .event_section .form td p {
  float: left;
  margin: 0;
  padding: 0;
  text-align: left;
  width: auto;
  white-space: nowrap;
}
#contents .event_section .form td div .wpcf7-form-control-wrap,
#contents .event_section .form td p .wpcf7-form-control-wrap {
  border: 0;
  display: inline-block;
  margin: 0 16px 0 0;
  padding: 0;
  vertical-align: top;
  width: 198px;
}
#contents .event_section .form td div .zipcode1,
#contents .event_section .form td div .zipcode2,
#contents .event_section .form td p .zipcode1,
#contents .event_section .form td p .zipcode2 {
  margin: 0;
  width: auto;
}
#contents .event_section .form td div .zipcode1 input[type=text],
#contents .event_section .form td div .zipcode2 input[type=text],
#contents .event_section .form td p .zipcode1 input[type=text],
#contents .event_section .form td p .zipcode2 input[type=text] {
  max-width: auto;
  max-width: inherit;
  width: auto;
}
#contents .event_section .form td div .zipcode1,
#contents .event_section .form td p .zipcode1 {
  margin: 0 2px 0 0;
}
#contents .event_section .form td div .zipcode2,
#contents .event_section .form td p .zipcode2 {
  margin: 0 0 0 2px;
}
#contents .event_section .form td p {
  clear: left;
  padding: 6px 0 0 0;
}
#contents .event_section .form td p .wpcf7-form-control-wrap {
  width: 396px;
}
#contents .event_section .form .wpcf7-submit {
  background: #4D4D4D;
  border: 0;
  border-bottom: 5px solid #1A1A1A;
  border-radius: 5px;
  display: block;
  color: #fff;
  font-size: 24px;
  font-weight: normal;
  letter-spacing: 2px;
  line-height: 65px;
  margin: 0 auto;
  max-width: 450px;
  width: 100%;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
#contents .event_section .form .wpcf7-submit:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  #contents .event_section .form table {
    margin: 16px 0;
    width: 100%;
  }
  #contents .event_section .form th,
  #contents .event_section .form td {
    display: block;
    width: 100%;
    width: calc(100% - 24px);
  }
  #contents .event_section .form th div,
  #contents .event_section .form th p,
  #contents .event_section .form th .wpcf7-form-control-wrap,
  #contents .event_section .form td div,
  #contents .event_section .form td p,
  #contents .event_section .form td .wpcf7-form-control-wrap {
    float: none;
    display: block;
    width: 100%;
  }
  #contents .event_section .form th div .wpcf7-text,
  #contents .event_section .form th div .wpcf7-textarea,
  #contents .event_section .form th p .wpcf7-text,
  #contents .event_section .form th p .wpcf7-textarea,
  #contents .event_section .form th .wpcf7-form-control-wrap .wpcf7-text,
  #contents .event_section .form th .wpcf7-form-control-wrap .wpcf7-textarea,
  #contents .event_section .form td div .wpcf7-text,
  #contents .event_section .form td div .wpcf7-textarea,
  #contents .event_section .form td p .wpcf7-text,
  #contents .event_section .form td p .wpcf7-textarea,
  #contents .event_section .form td .wpcf7-form-control-wrap .wpcf7-text,
  #contents .event_section .form td .wpcf7-form-control-wrap .wpcf7-textarea {
    float: none !important;
    width: calc(100% - 16px) !important;
    max-width: 100% !important;
  }
  #contents .event_section .form th div .wpcf7-form-control-wrap,
  #contents .event_section .form th p .wpcf7-form-control-wrap,
  #contents .event_section .form th .wpcf7-form-control-wrap .wpcf7-form-control-wrap,
  #contents .event_section .form td div .wpcf7-form-control-wrap,
  #contents .event_section .form td p .wpcf7-form-control-wrap,
  #contents .event_section .form td .wpcf7-form-control-wrap .wpcf7-form-control-wrap {
    float: none;
    display: block;
    width: 100%;
  }
  #contents .event_section .form th div,
  #contents .event_section .form td div {
    margin: 0 0 10px 0;
  }
  #contents .event_section .form th div:last-child,
  #contents .event_section .form td div:last-child {
    margin: 0;
  }
  #contents .event_section .form .wpcf7-submit {
    color: #fff;
    font-size: 18px;
  }
}
.post-type-archive-event #contents .category_layout01 .layout_inner article,
.tax-event_tax #contents .category_layout01 .layout_inner article {
  position: relative;
}
.post-type-archive-event #contents .category_layout01 .layout_inner article .title.idisp,
.tax-event_tax #contents .category_layout01 .layout_inner article .title.idisp {
  text-align: left;
}
.post-type-archive-event #contents .category_layout01 .layout_inner article .hold,
.tax-event_tax #contents .category_layout01 .layout_inner article .hold {
  color: #5990C8;
  font-size: 13px;
  font-weight: bold;
  display: block;
  padding: 4px 0 0 0;
  text-align: left;
}
.post-type-archive-event #contents .category_layout01 .layout_inner article .category,
.tax-event_tax #contents .category_layout01 .layout_inner article .category {
  margin: 0;
  padding: 0;
  left: 0;
  position: absolute;
  top: 0;
}
.post-type-archive-event #contents .category_layout01 .layout_inner article .cat,
.tax-event_tax #contents .category_layout01 .layout_inner article .cat {
  background: #0054A7;
  color: #fff;
  display: inline-block;
  font-size: 13px;
  font-weight: bold;
  line-height: 36px;
  margin: 0;
  min-width: 120px;
  padding: 0;
  width: auto;
}
.post-type-archive-event #contents .category_layout01 .layout_inner article .cat:nth-of-type(2),
.tax-event_tax #contents .category_layout01 .layout_inner article .cat:nth-of-type(2) {
  margin-left: 20px;
}

.wpcf7-validation-errors {
  margin-top: 20px;
  text-align: center;
  color: red;
}

.wpcf7-not-valid-tip {
  color: red;
}

#contents .event_section .detail_wrap .detail h2 {
  font-size: 1.9rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #contents .event_section .detail_wrap .detail h2 {
    font-size: 1.6rem;
  }
}
#contents .event_section .detail_wrap .detail h3 {
  font-size: 1.7rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #contents .event_section .detail_wrap .detail h3 {
    font-size: 1.5rem;
  }
}
#contents .event_section .detail_wrap .detail h4 {
  font-size: 1.4rem;
  font-weight: bold;
}

.single-news #header .under_title .inner,
.post-type-archive-news #header .under_title .inner {
  background-image: url(../images/news/bg_header.jpg);
}

#contents .news_section {
  padding: 75px 0 0;
}

#contents .news_section .information {
  padding-top: 0;
  margin-top: 0;
}
#contents .news_section .info_list {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  #contents .news_section {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 30px 0;
    width: 100%;
  }
}
#contents .news_section .wrapper {
  padding: 20px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .news_section .wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 12px 14px 46px;
  }
}
#contents .news_section .detail_wrap {
  width: 100%;
}

#contents .news_section .detail_wrap .title {
  margin: 0;
  font-size: 20px;
  color: #004080;
  line-height: 1.6;
}

#contents .news_section .detail_wrap .date {
  font-size: 13px;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

#contents .news_section .detail_wrap .info {
  margin: 14px 0 40px 0;
  padding: 0;
}

@media screen and (max-width: 768px) {
  #contents .news_section .detail_wrap .title {
    margin: 20px 0 0;
    font-size: 1.6rem;
  }
}
#contents .news_section .detail_wrap .detail p {
  margin: 25px 0 0;
}

#contents .news_section .button {
  padding-top: 48px;
}

.post-type-archive-news #contents .information .info_list dl dt {
  clear: left;
  display: block;
  margin: 0;
  padding: 15px 0 0 0;
  width: 115px;
}
.post-type-archive-news #contents .information .info_list dl dt .date {
  color: #5990C8;
  float: none;
  display: block;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.8;
  margin: 0;
  padding: 0;
}
.post-type-archive-news #contents .information .info_list dl dd {
  color: #333;
  display: block;
  float: none;
  font-size: 15px;
  line-height: 1.8;
  padding: 12px 0;
  position: relative;
  width: 100%;
}
.post-type-archive-news #contents .information .info_list dl dd:before {
  bottom: 0;
  content: " ";
  border-bottom: 1px solid #B1B1B1;
  font-size: 0;
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 0;
}

.single-column #header .under_title .inner,
.post-type-archive-column #header .under_title .inner {
  background-image: url(../images/landcolum/bg_header.jpg);
}

#contents .landcolum_section {
  padding: 75px 0 0;
}

#contents .landcolum_section .information {
  padding-top: 0;
  margin-top: 0;
}
#contents .landcolum_section .info_list {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  #contents .landcolum_section {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 30px 0;
    width: 100%;
  }
}
#contents .landcolum_section .wrapper {
  padding: 20px 0 0;
}

@media screen and (max-width: 768px) {
  #contents .landcolum_section .wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 12px 14px 46px;
  }
}
#contents .landcolum_section .detail_wrap {
  width: 100%;
}

#contents .landcolum_section .detail_wrap .title {
  margin: 0 0 41px 0;
  font-size: 20px;
  color: #004080;
  line-height: 1.6;
}

#contents .landcolum_section .detail_wrap .date {
  font-size: 13px;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

#contents .landcolum_section .detail_wrap .info {
  margin: 14px 0 40px 0;
  padding: 0;
}

@media screen and (max-width: 768px) {
  #contents .landcolum_section .detail_wrap .title {
    margin: 20px 0 0;
    font-size: 1.6rem;
  }
}
#contents .landcolum_section .detail_wrap .detail p {
  margin: 25px 0 0;
}

#contents .landcolum_section .button {
  padding-top: 48px;
}

#contents .category_layout01 .layout_inner article .title.idisp {
  text-align: left;
}

.post-type-archive-column #contents .information .info_list dl dt {
  clear: left;
  display: block;
  margin: 0;
  padding: 15px 0 0 0;
  width: 115px;
}
.post-type-archive-column #contents .information .info_list dl dt .date {
  color: #5990C8;
  float: none;
  display: block;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.8;
  margin: 0;
  padding: 0;
}
.post-type-archive-column #contents .information .info_list dl dd {
  color: #333;
  display: block;
  float: none;
  font-size: 15px;
  line-height: 1.8;
  padding: 12px 0;
  position: relative;
  width: 100%;
}
.post-type-archive-column #contents .information .info_list dl dd:before {
  bottom: 0;
  content: " ";
  border-bottom: 1px solid #B1B1B1;
  font-size: 0;
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 0;
}

.wp-pagenavi {
  clear: both;
  margin: 0;
  padding: 48px 0 0 0;
  text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
  border: 1px solid #6C7A80;
  display: inline-block;
  height: 30px;
  line-height: 30px;
  margin: 0 6px;
  padding: 0;
  text-align: center;
  text-decoration: none;
  width: 30px;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  background-color: #6C7A80;
  border-color: #6C7A80;
  color: #fff;
}
.wp-pagenavi .pages {
  border: 0;
  color: #6C7A80;
}

.koureisya_shisetsu_map {
  line-height: 19px;
  position: relative;
  margin: 0 auto;
}

.koureisya_sisetsu_box {
  border-top: 1px solid #DDDDDD;
  padding: 60px 0;
}

.koureisya_shisetsu_map dt {
  margin-top: 3px;
}

.koureisya_shisetsu_map dt.fst {
  margin-top: 0 !important;
}

.koureisya_shisetsu_map dd {
  margin-left: 10px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

.koureisya_shisetsu_map dd.fst {
  margin-left: 0 !important;
}

.koureisya_shisetsu_map dd.sec {
  margin: 5px 0 0 0 !important;
}

.koureisya_shisetsu_map .f-n {
  float: none;
}

.koureisya_shisetsu_map dd span {
  font-size: 10px;
  color: #666666;
  margin-left: 5px;
}

.koureisya_shisetsu_kensuu {
  color: #8b7454;
  font-size: 14px;
  margin-top: 10px;
}

/*タイトル*/
.koureisya_map_box {
  border: 1px solid #dbd3c7;
  padding: 15px;
}

.koureisya_map_box .sisetsu_map_title {
  color: #666666;
  font-size: 11px;
}

.koureisya_map_box .square_orange {
  background: url(../images/koureisya/square_orange.jpg) center left no-repeat;
  padding-left: 12px;
}

.koureisya_map_box .square_blue {
  background: url(../images/koureisya/square_blue.jpg) center left no-repeat;
  padding-left: 12px;
}

.koureisya_map_box .square_green {
  background: url(../images/koureisya/square_green.jpg) center left no-repeat;
  padding-left: 12px;
}

.koureisya_map_box .square_red {
  background: url(../images/koureisya/square_red.jpg) center left no-repeat;
  padding-left: 12px;
}

.koureisya_map_box .square_black {
  background: url(../images/koureisya/square_black.jpg) center left no-repeat;
  padding-left: 12px;
}

.koureisya_map_box .square_emerald {
  background: url(../images/koureisya/square_emerald.jpg) center left no-repeat;
  padding-left: 12px;
}

.koureisya_map_box .square_purple {
  background: url(../images/koureisya/square_purple.jpg) center left no-repeat;
  padding-left: 12px;
}

.koureisya_map_box .square_red02 {
  line-height: 19px;
  margin-top: 5px;
}

.koureisya_map_box .square_red02 span {
  background: url(../images/koureisya/square_red.jpg) center left no-repeat;
  padding-left: 12px;
  margin: 0 !important;
}

.koureisya_map_box .square_red02 .text_red_lst {
  padding-left: 12px;
  margin: 0 !important;
  background: none;
}

/*テキスト*/
.koureisya_map_box .text_orange {
  color: #c77f25;
}

.koureisya_map_box .text_blue {
  color: #2f63ae;
}

.koureisya_map_box .text_green {
  color: #518e51;
}

.koureisya_map_box .text_red {
  color: #c00000;
}

.koureisya_map_box .text_black {
  color: #333;
}

.koureisya_map_box .text_purple {
  color: #c674b6;
}

.koureisya_map_box .text_emerald {
  color: #36bfc7;
}

.koureisya_map_box .square_red02 span {
  color: #c00000 !important;
  font-size: 13px !important;
}

.koureisya_map_box .text_orange a {
  color: #c77f25;
  text-decoration: underline;
}

.koureisya_map_box .text_blue a {
  color: #2f63ae;
  text-decoration: underline;
}

.koureisya_map_box .text_green a {
  color: #518e51;
  text-decoration: underline;
}

.koureisya_map_box .text_red a {
  color: #c00000;
  text-decoration: underline;
}

.koureisya_map_box .text_black a {
  color: #333;
  text-decoration: underline;
}

.koureisya_map_box .text_purple a {
  color: #c674b6;
  text-decoration: underline;
}

.koureisya_map_box .text_emerald a {
  color: #36bfc7;
  text-decoration: underline;
}

.koureisya_map_box .text_orange a:hover {
  text-decoration: none;
}

.koureisya_map_box .text_blue a:hover {
  text-decoration: none;
}

.koureisya_map_box .text_green a:hover {
  text-decoration: none;
}

.koureisya_map_box .text_red a:hover {
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  .koureisya_shisetsu_map {
    background: url(../images/koureisya/koureisya_map_bg_02.jpg) no-repeat;
    width: 950px;
    height: 684px;
  }
  .koureisya_shisetsu_map .koureisya_map_box {
    background: url(../images/koureisya/koureisya_map_box_bg.jpg) repeat;
    position: absolute;
  }
  .koureisya_shisetsu_map h3 {
    display: block;
    background: url(../images/koureisya/h3_koureisya_map_title.jpg) no-repeat 0 0;
    height: 60px;
    overflow: hidden;
    text-indent: 120%;
    width: 100%;
    white-space: nowrap;
  }
  /*各エリア*/
  .koureisya_map_box01 {
    width: 265px;
    top: 245px;
    left: 0;
  }
  .koureisya_map_box02 {
    width: 123px;
    top: 414px;
    left: 0;
  }
  .koureisya_map_box03 {
    width: 51px;
    top: 518px;
    left: 0;
  }
  .koureisya_map_box04 {
    width: 240px;
    top: 15px;
    left: 270px;
  }
  .koureisya_map_box05 {
    width: 110px;
    top: 120px;
    left: 398px;
  }
  .koureisya_map_box06 {
    width: 74px;
    top: 530px;
    left: 600px;
  }
  .koureisya_map_box07 {
    width: 99px;
    top: 630px;
    left: 575px;
  }
  .koureisya_map_box08 {
    width: 175px;
    top: -35px;
    left: 740px;
  }
  .koureisya_map_box09 {
    width: 159px;
    top: 160px;
    left: 759px;
  }
  .koureisya_map_box10 {
    width: 185px;
    top: 390px;
    left: 733px;
  }
  .koureisya_map_box11 {
    width: 134px;
    border: none !important;
    background: none !important;
    top: 560px;
    left: 790px;
  }
  .koureisya_map_box12 {
    width: 185px;
    top: 468px;
    left: 563px;
  }
  .koureisya_map_box13 {
    width: 55px;
    top: 340px;
    left: 643px;
  }
  .koureisya_map_box14 {
    width: 170px;
    top: 635px;
    left: 123px;
  }
  .koureisya_map_box15 {
    width: 70px;
    top: -35px;
    left: 563px;
  }
  .koureisya_map_box16 {
    width: 130px;
    top: 605px;
    left: 333px;
  }
}
.common_table {
  border-left: 1px solid #808080;
  border-top: 1px solid #808080;
  margin: 0 0 56px 0;
}
.common_table label, .common_table .label {
  display: inline-block;
  font-size: 1.3rem;
  font-weight: normal;
  margin: 0 21px 0 0;
}
.common_table label.large, .common_table .label.large {
  display: block;
}
.common_table .wpcf7-list-item.last label, .common_table .wpcf7-list-item.last .label {
  margin: 0;
}
.common_table label + .large,
.common_table .label + .large {
  padding: 16px 0 0 0;
}
.common_table h3,
.common_table h3 label {
  color: #004080;
  font-size: 1.8rem;
  font-weight: bold;
}
.common_table h3 input,
.common_table h3 label input {
  vertical-align: middle;
}
.common_table .wpcf7-text {
  background: #F2F2F2;
  border: 0;
  color: #4d4d4d;
  font-size: 1.3rem;
  display: inline-block;
  line-height: normal;
  margin: 0 8px;
  padding: 6px 8px;
  vertical-align: middle;
}
.common_table .wpcf7-select {
  font-size: 1.3rem;
  margin: 0 8px;
  padding: 6px 8px;
}
.common_table .wpcf7-radio,
.common_table .wpcf7-checkbox {
  margin: 0 8px;
}
.common_table .wpcf7-textarea {
  background: #F2F2F2;
  border: 0;
  font-size: 1.3rem;
  margin: 0 8px;
  padding: 6px 8px;
  vertical-align: top;
}
@media screen and (min-width: 769px) {
  .common_table .large .wpcf7-text {
    border: 0;
    color: #4d4d4d;
    display: inline-block;
    font-size: 1.3rem;
    width: 400px;
  }
  .common_table .wpcf7-textarea {
    width: 600px;
    height: 140px;
  }
}
@media screen and (max-width: 768px) {
  .common_table .wpcf7-textarea {
    margin: 0;
    width: 100%;
    width: calc(100% - 16px);
  }
}
.common_table th, .common_table td {
  border-right: 1px solid #808080;
  border-bottom: 1px solid #808080;
  font-size: 1.3rem;
  padding: 16px 26px;
  vertical-align: top;
  text-align: left;
}
.common_table th {
  font-weight: normal;
}
.common_table th label {
  margin: 0;
}
.common_table td ul, .common_table td ul li,
.common_table td ol, .common_table td ol li {
  list-style: none;
  display: block;
  line-height: 1.8;
  margin: 0;
  padding: 0;
}
.common_table td ol {
  counter: num;
}
.common_table td ol li {
  counter-increment: num;
}
.common_table td ol li:before {
  content: counter(num) ".";
  display: inline;
  margin: 0 2px 0 0;
}
.common_table td ul li > .wpcf7-form-control-wrap:first-child,
.common_table td ol li > .wpcf7-form-control-wrap:first-child {
  display: block;
  padding: 0 0 10px 0;
}
.common_table td ul li p,
.common_table td ol li p {
  margin: 0 0 10px 23px;
}
.common_table td ol li {
  padding-bottom: 16px;
}
.common_table td ol li .wpcf7-form-control-wrap {
  margin: 0 0 0 10px;
}
.common_table td ol li .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
  margin: 0;
}
.common_table td > p, .common_table td > ul, .common_table td > ol {
  margin-left: 20px;
}
.common_table td h3 + p,
.common_table td h3 + ul,
.common_table td h3 + ol {
  padding-top: 20px;
  padding-bottom: 16px;
}
.common_table .wpcf7-list-item input {
  margin: 0 4px 0 0;
}
@media screen and (max-width: 468px) {
  .common_table th, .common_table td {
    display: block;
  }
  .common_table th {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .common_table .wpcf7-radio,
  .common_table .wpcf7-text,
  .common_table .wpcf7-textarea {
    width: calc(100% - 60px);
    margin: 4px 0 4px 0;
  }
  .common_table .zipcode1 .wpcf7-text, .common_table .zipcode2 .wpcf7-text {
    width: auto;
  }
}

.wpcf7-form .button {
  max-width: 450px;
}
.wpcf7-form .button.center {
  margin: 0 auto;
}