@charset "utf-8";
/* ===================================================================
 style info : ヘッダーやフッターなどサイト内共通
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/
body {
  font-family: Lato, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  background: #ffffff;
  color: #151515;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  animation: fade-in 1s;
  -webkit-animation: fade-in 1s;
}

/*----------------------------------------------------
    fade-in
----------------------------------------------------*/
@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

/*----------------------------------------------------
    リンク
----------------------------------------------------*/
a:link,
a:visited,
a:hover,
a:active {
  color: #151515;
  text-decoration: none;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

/* toggle-panel
----------------------------------------------------------- */
#panel-btn {
  display: none;
}

/* -----------------------------------------------------------
    .btn_box
----------------------------------------------------------- */
.btn_box {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  margin: 5vw 0 0;
}

.btn_box > div:not(:first-of-type) {
  margin: 0 0 0 1.5vw;
}

.btn {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  color: #151515;
  width: 100%;
  min-height: 60px;
  height: 60px\0;
  padding: 0.5vw 1vw;
  position: relative;
  z-index: 0;
}

.btn:hover {
  color: #ffffff;
}

.bg_clr01 {
  background: #ffffff;
}

.bg_clr01:hover {
  background: #b01221;
}

.bg_clr02 {
  background: #b01221;
}

.bg_clr02:hover {
  background: #d3ba00;
}

.brdr {
  border: 1px solid #dbdbdb;
}

.brdr:hover {
  border: 1px solid #b01221;
}

.clr01 {
  color: #ffffff !important;
}

.clr02 {
  color: #b01221 !important;
}

.clr02:hover {
  color: #d3ba00 !important;
}

.fb {
  font-weight: 900;
}

.wid_00 {
  width: 10em;
}

.wid_01 {
  width: 12.5em;
}

.wid_02 {
  width: 15em;
}

.wid_03 {
  width: 17.5em;
}

.wid_04 {
  width: 20em;
}

.wid_05 {
  width: 22.5em;
}

.wid_06 {
  width: 25em;
}

.icon_clr01:after {
  color: #b01221;
}

.icon_clr01:hover:after {
  color: #d3ba00;
}

.icon_clr02:after {
  color: #ffffff;
}

.icon:after {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: normal;
  font-family: FontAwesome;
  content: "\f2d2";
  margin: 0 0 0 0.5em;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.double_click {
  pointer-events:none;
}
/* -----------------------------------------------------------
   .arrow
----------------------------------------------------------- */
.arrow {
  position: relative;
}

.arrow:before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 50px;
  height: 1px;
  background: #b01221;
  transition: inherit;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.arrow:after {
  content: "";
  position: absolute;
  top: calc(50% - 9px);
  right: 0;
  border-top: 4px solid transparent;
  border-left: 4px solid #b01221;
  border-right: 4px solid transparent;
  border-bottom: 4px solid #b01221;
  transition: inherit;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.arr01:before,
.arr01:after {
  right: -25px;
}

.arr01:hover:before,
.arr01:hover:after {
  right: 15px;
}

.arr01:hover:before {
  background: #ffffff;
  width: 25px;
}

.arr01:hover:after {
  border-left: 4px solid #ffffff;
  border-bottom: 4px solid #ffffff;
}

.arr02:before {
  top: calc(50% - -2px);
  width: 35px;
}

.arr02:after {
  top: calc(50% - 6px);
}

.arr02:before,
.arr02:after {
  right: -50px;
}

a:hover .arr02:before,
a:hover .arr02:after {
  right: -75px;
}

/* -----------------------------------------------------------
   .note
----------------------------------------------------------- */
.note {
  display: flex;
  display: -webkit-flex;
}

.note:before {
  content: "※";
  margin: 0 0.15em 0 0;
}

/* -----------------------------------------------------------
   .list_ccl
----------------------------------------------------------- */
.list_ccl {
  font-size: 16px;
  font-size: 1.6rem;
}

.list_ccl li {
  display: flex;
  display: -webkit-flex;
  align-items: baseline;
  -webkit-align-items: baseline;
  margin: 0.25vw 0 0;
}

.list_ccl li:first-of-type {
  margin: 0;
}

.list_ccl li:before {
  background: #b01221;
  border-radius: 100%;
  content: "";
  width: 0.65em;
  height: 0.65em;
  margin: 0 0.45em 0 0;
}

.list_ccl li span {
  flex: 1 1;
  -webkit-flex: 1 1;
}

/* -----------------------------------------------------------
   .gallery_box
----------------------------------------------------------- */
.gallery_box {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  width: calc(100% + 2.5vw);
}

.gallery_box picture {
  width: calc(100% / 3 - 2.5vw);
  margin-top: 2.5vw;
  margin-left: 2.5vw;
}

.gallery_box picture:nth-of-type(-n+3) {
  margin-top: 0;
}

.gallery_box picture:nth-of-type(3n+1) {
  margin-left: 0;
}

/* -----------------------------------------------------------
    .zoom
----------------------------------------------------------- */
.zoom {
  overflow: hidden;
}

.zoom img {
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.zoom:hover img {
  transform: scale(1.15);
  -webkit-transform: scale(1.15);
}

/* -----------------------------------------------------------
    .bg_zoom
----------------------------------------------------------- */
.bg_zoom {
  position: relative;
  overflow: hidden;
}

.bg_zoom:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  z-index: -2;
}

.bg_zoom:hover:after {
  transform: scale(1.15);
  -webkit-transform: scale(1.15);
}

/* -----------------------------------------------------------
   .l_nav
----------------------------------------------------------- */
.l_nav {
  background: #151515;
  padding: 1.75vw 10vw;
}

.l_nav ul {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.l_nav ul li a {
  color: #ffffff;
}

.l_nav ul li a:hover,
.l_nav ul li a.current {
  color: #b01221;
}

/* -----------------------------------------------------------
   .hgroup
----------------------------------------------------------- */
.hgroup {
  text-align: center;
}

.hgroup h1 {
  font-size: 26px;
  font-size: 2.6rem;
}

.hgroup h2 {
  font-size: 60px;
  font-size: 6.0rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #b01221;
  margin: 1.5vw 0 0;
}

/* -----------------------------------------------------------
   .heading
----------------------------------------------------------- */
.heading {
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  font-weight: 900;
  text-align: center;
}

.heading h1 {
  font-size: 34px;
  font-size: 3.4rem;
  color: #b01221;
  line-height: 1.5;
  margin: 1.5vw 0 0;
  order: 2;
  -webkit-order: 2;
}

.heading h1 span {
  display: block;
}

.heading h1 span br {
  display: none;
}

.heading p {
  font-size: 18px;
  font-size: 1.8rem;
  order: 1;
  -webkit-order: 1;
}

/* -----------------------------------------------------------
   .hd
----------------------------------------------------------- */
.hd_01 {
  text-align: center;
}

.hd_01 span {
  display: block;
}

.hd_01 span:nth-of-type(1) {
  font-size: 50px;
  font-size: 5.0rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.15em;
}

.hd_01 span:nth-of-type(2) {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 1vw 0 0;
}

.hd_02 {
  font-size: 34px;
  font-size: 3.4rem;
  text-align: center;
  padding: 0 0 1.25vw;
  position: relative;
}

.hd_02:after {
  background: #b01221;
  content: "";
  width: 50px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}

.hd_03 {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1;
}

.hd_03:before {
  background: #b01221;
  content: "";
  width: 5px;
  height: 1.1em;
  margin: 0 0.5em 0 0;
}

.hd_04 {
  font-size: 30px;
  font-size: 3.0rem;
  position: relative;
}

.hd_04:after {
  content: "";
  background: #b01221;
  position: absolute;
  bottom: -25%;
  left: 0;
  width: 50px;
  height: 2px;
}

/* -----------------------------------------------------------
   .tbl_dl
----------------------------------------------------------- */
.tbl_dl > dl {
  display: flex;
  display: -webkit-flex;
}

.tbl_dl > dl > dt,
.tbl_dl > dl > dd {
  padding: 2vw;
}

.tbl_dl > dl > dt {
  flex: 0 1 17.5%;
  -webkit-flex: 0 1 17.5%;
  max-width: 17.5%;
  font-weight: 900;
  background: #e9e9e9;
  margin-top: 1px;
}

.tbl_dl > dl:first-of-type > dt {
  margin-top: 0;
}

.tbl_dl > dl > dd {
  background: #f9f9f9;
  flex: 1 1;
  -webkit-flex: 1 1;
  margin-top: 1px;
  margin-left: 1px;
}

.tbl_dl > dl:first-of-type > dd {
  margin-top: 0;
}

.tbl_dl > dl > dd .address:not(:first-of-type) {
  margin: 1.5vw 0 0;
}

.tbl_dl > dl > dd .address .ttl {
  font-weight: 900;
  margin: 0 0 0.5vw;
}

.tbl_dl > dl > dd .address .inq {
  margin: 0 0 0.5vw;
}

.tbl_dl > dl > dd .address .inq span:nth-of-type(2):before {
  content: "/";
  margin: 0 0.5em;
}

.tbl_dl > dl > dd .address .inq a:hover {
  color: #b01221;
}

.tbl_dl > dl > dd .address .map {
  font-size: 13px;
  font-size: 1.3rem;
  margin: 0.5vw 0 0;
}

.tbl_dl > dl > dd .address .map a {
  color: #b01221;
}

.tbl_dl > dl > dd .address .map a:before {
  font-family: FontAwesome;
  font-size: 15px;
  font-size: 1.5rem;
  content: "\f041";
  color: #b01221;
  margin: 0 0.5em 0 0;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.tbl_dl > dl > dd .address .map a:hover,
.tbl_dl > dl > dd .address .map a:hover:before{
  color: #d3ba00;
}

.tbl_dl > dl > dd ul li {
  display: flex;
  display: -webkit-flex;
}

.tbl_dl > dl > dd ul li:not(:first-of-type) {
  margin: 0.25vw 0 0;
}

.tbl_dl > dl > dd ul li:before {
  content: "・";
  margin: 0 0 0 -0.15em;
}

/* -----------------------------------------------------------
   .tbl_box
----------------------------------------------------------- */
.tbl {
  font-size: 16px;
  font-size: 1.6rem;
  width: calc(100% + 2px);
  border-collapse: separate;
  border-spacing: 1px;
  margin: -1px 0 0 -1px;
}

.tbl th,
.tbl td {
  text-align: center;
  padding: 1.5vw 2.5vw;
}

.tbl thead th {
  background: #000000;
  color: #ffffff;
}

.tbl tbody th {
  background: #e9e9e9;
}

.tbl tbody td {
  background: #f9f9f9;
}

.tbl tbody td:last-of-type {
  text-align: left;
}

.tbl tbody tr:last-of-type th {
  background: #fecfc7;
}

.tbl tbody tr:last-of-type td {
  background: #ffeeeb;
}

.tbl tbody tr:last-of-type td {
  font-weight: 900;
}

.tbl tbody tr:last-of-type td:first-of-type {
  color: #fa5130;
}

/* -----------------------------------------------------------
   .alternate_box
----------------------------------------------------------- */
.alternate_box section {
  margin: 10vw 0 0;
  display: flex;
  display: -webkit-flex;
  align-items: flex-end;
  -webkit-align-items: flex-end;
  position: relative;
}

.alternate_box section:first-of-type {
  margin: 0;
}

.alternate_box section picture {
  flex: 0 1 60%;
  -webkit-flex: 0 1 60%;
  max-width: 60%;
}

.alternate_box section picture img {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.alternate_box section .txt_box {
  flex: 1 1;
  -webkit-flex: 1 1;
  background: #ffffff;
  position: relative;
}

/* -----------------------------------------------------------
   .inquiry
----------------------------------------------------------- */
.inquiry {
  margin: 11vw 0 0;
}

.inquiry .inquiry_ttl_bg {
  position: relative;
  z-index: 0;
}

.inquiry .inquiry_ttl_bg:after {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: -1;
}

.inquiry .inquiry_ttl_bg:after {
  content: url(../img/common/inquiry_bg.svg);
}

.property .inquiry .inquiry_ttl_bg:after {
  content: url(../img/common/property_bg.svg);
}

.inquiry .inquiry_ttl_bg .inquiry_ttl {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
}

.inquiry .inquiry_ttl:before,
.inquiry .inquiry_ttl:after {
  flex: 1 1 auto;
  -webkit-flex: 1 1 auto;
  content: "";
  background: #151515;
  height: 2px;
}

.inquiry .inquiry_ttl h2 {
  font-size: 40px;
  font-size: 4.0rem;
  text-align: center;
  font-weight: 900;
  padding: 0 2vw;
}

.inquiry .inquiry_lede {
  font-weight: 900;
  text-align: center;
  margin: 3vw 0 0;
  position: relative;
}

.inquiry .inquiry_lede .inquiry_lede_txt {
  font-size: 20px;
  font-size: 2.0rem;
  line-height: 1.8;
}

.inquiry .inquiry_lede .inquiry_lede_txt span {
  display: block;
}

.inquiry .inquiry_lede .inquiry_lede_txt span br {
  display: none;
}

.property .inquiry .inquiry_lede .inquiry_lede_txt span {
  display: inline;
}

.property .inquiry .inquiry_lede .inquiry_lede_txt span:not(:first-of-type) {
  margin: 0 0 0 0.5em;
}

.inquiry .inquiry_lede .inquiry_lede_tel {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 1vw 0 0;
}

.inquiry .inquiry_lede .inquiry_lede_tel span:nth-of-type(2):before {
  content: "/";
  margin: 0 0.5em;
}

.inquiry .inquiry_btn {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  width: 100%;
  margin: 4vw 0 0;
  position: relative;
}

.inquiry .inquiry_btn ul {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.inquiry .inquiry_btn ul li:not(:first-of-type) {
  margin: 0 0 0 1.5vw;
}

/* -----------------------------------------------------------
    .tabs
----------------------------------------------------------- */
.tabs ul {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.tabs ul li {
  width: 100%;
}

.tabs ul li a {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  border-top: 1px solid #dbdbdb;
  border-right: 1px solid #dbdbdb;
  border-bottom: 1px solid #dbdbdb;
  min-height: 70px;
  height: 70px\0;
}

.tabs ul li:first-of-type a {
  border-left: 1px solid #dbdbdb;
}

.tabs ul li a:hover,
.tabs ul li a.current {
  background: #151515;
  border-top: 1px solid transparent;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  color: #ffffff;
}

/* -----------------------------------------------------------
    pagination
----------------------------------------------------------- */
.pagination {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: 700;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  margin: 5vw 0 0;
}

.pagination li {
  margin: 0 0.5vw;
}

.pagination li.prev {
  margin: 0 2.5vw 0 0;
}

.pagination li.next {
  margin: 0 0 0 2.5vw;
}

.pagination li a {
  color: #a0a0a0;
  display: block;
  padding: 0 0.75em;
}

.pagination li.prev a,
.pagination li.next a {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  color: #b01221;
}

.pagination li.prev a {
  padding: 0;
}

.pagination li.next a {
  padding: 0;
}

.pagination li.prev a:before,
.pagination li.next a:after {
  font-family: FontAwesome;
  font-size: 60px;
  font-size: 6.0rem;
  font-weight: normal;
  line-height: 0;
  margin: -0.08em 0 0;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.pagination li.prev a:before {
  content: "\f104";
  margin-right: 1vw;
}

.pagination li.next a:after {
  content: "\f105";
  margin-left: 1vw;
}

.pagination li a.current {
  font-weight: 900;
  color: #151515;
  pointer-events: none;
  cursor: none;
}

.pagination li a:hover {
  color: #151515;
}

.pagination li.prev a:hover,
.pagination li.next a:hover,
.pagination li.prev a:hover:before,
.pagination li.next a:hover:after {
  color: #d3ba00;
}

/* -----------------------------------------------------------
    pager
----------------------------------------------------------- */
.pager {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: 700;
  margin: 5vw 0 0;
}

.pager li a,
.pager li span {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  color: #b01221;
}

.pager li a:before,
.pager li a:after,
.pager li span:before,
.pager li span:after  {
  font-family: FontAwesome;
  font-weight: normal;
  color: #b01221;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.pager li.prev a:before,
.pager li.next a:after,
.pager li.prev span:before,
.pager li.next span:after {
  font-family: FontAwesome;
  font-size: 60px;
  font-size: 6.0rem;
  font-weight: normal;
  line-height: 0;
  margin: -0.08em 0 0;
}

.pager li.prev a:before,
.pager li.prev span:before {
  content: "\f104";
  margin-right: 1vw;
}

.pager li.next a:after,
.pager li.next span:after {
  content: "\f105";
  margin-left: 1vw;
}

.pager li.list a i {
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 0;
}

.pager li a:hover,
.pager li a:hover:before,
.pager li a:hover:after {
  color: #d3ba00;
}

.pager li.prev span,
.pager li.next span {
  opacity: 0.3;
}

/* -----------------------------------------------------------
    .overlap_box
----------------------------------------------------------- */
.overlap_box .txt_box {
  background: #ffffff;
  margin: -5vw 5vw 0;
  padding: 5vw 5vw 0;
  position: relative;
}

/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  background: rgba(255,255,255,1);
  min-height: 120px;
  height: 120px\0;/*IE*/
  padding: 0 2.5vw;
  width: 100%;
  position: fixed;
  top: 0;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  z-index: 9999;
}

.is-fixed header {
  min-height: 70px;
  height: 70px\0;/*IE*/
  padding: 0 0vw 0 1vw;
}

header .site_id {
  width: 12%;
  line-height: 0;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.is-fixed header .site_id {
  width: 8%;
}

/* -----------------------------------------------------------
    #g_nav
----------------------------------------------------------- */
#g_nav {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
}

#g_nav ul {
  display: flex;
  display: -webkit-flex;
}

#g_nav .main_nav li.arrow:before,
#g_nav .main_nav li.arrow:after {
  content: none;
}

#g_nav .main_nav li a {
  position: relative;
  padding: 0 0 0.65vw;
}

#g_nav .main_nav li a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #b01221;
  transform: scale(0, 1);
  -webkit-transform: scale(0, 1);
  transform-origin: left top;
  -webkit-transform-origin: left top;
  transition: .5s;
  -webkit-transition: .5s;
}

#g_nav .main_nav li a:hover:after,
#g_nav .main_nav li a.current:after{
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
}

#g_nav .main_nav li:not(:first-of-type) {
  margin: 0 0 0 1.5vw;
}

#g_nav .main_nav li a span {
  display: none;
}

#g_nav .sub_nav {
  margin: 0 0 0 1.5vw;
}

#g_nav .sub_nav li:not(:first-of-type) {
  margin: 0 0 0 1px;
}

#g_nav .sub_nav li a {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  background: #b01221;
  color: #ffffff;
  min-width: 120px;
  min-height: 40px;
  height: 40px\0;/*IE*/
}

.is-fixed #g_nav .sub_nav li a {
  min-width: 140px;
  min-height: 70px;
  height: 70px\0;/*IE*/
}

#g_nav .sub_nav li a:hover,
#g_nav .sub_nav li a.current{
  background: #d3ba00;
}

/* -----------------------------------------------------------
    #main
----------------------------------------------------------- */
#main {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  margin: 120px 0 0;
  position: relative;
  z-index: 0;
}

.is-fixed #main {
  margin: 70px 0 0;
}

#lower #main {
  height: calc(70vh - 120px);
}

.is-fixed #lower #main {
  height: calc(70vh - 70px);
}

#lower #main:before {
  background: rgba(0,0,0,0.25);
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

#main h1 {
  color: #ffffff;
  text-align: center;
  position: relative;
  z-index: 1;
}

#main h1 span {
  display: block;
}

#lower #main h1 span:nth-of-type(1) {
  font-size: 40px;
  font-size: 4.0rem;
  letter-spacing: 0.15em;
}

#lower #main h1 span:nth-of-type(2) {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.125em;
  margin: 0.5vw 0 0;
}

/* -----------------------------------------------------------
    main
----------------------------------------------------------- */
#lower main {
  padding: 10vw;
}

/* -----------------------------------------------------------
    .contents
----------------------------------------------------------- */
.contents {
  margin: 5vw 0 0;
}

/* -----------------------------------------------------------
    .brand_list
----------------------------------------------------------- */
.brand_list {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}

.brand_list .shop {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 0;
}

.brand_list #teppanmeat {
  background-image: url("../img/brand/teppanmeat/teppanmeat_bg.jpg");
}

.brand_list #sanemon {
  background-image: url("../img/brand/sanemon/sanemon_bg.jpg");
}

.brand_list #umeeya {
  background-image: url("../img/brand/umeeya/umeeya_bg.jpg");
}

.brand_list #riverve {
  background-image: url("../img/brand/riverve/riverve_bg.jpg");
}

.brand_list #pasion {
  background-image: url("../img/brand/pasion/pasion_bg.jpg");
}

.brand_list #arrowtree {
  background-image: url("../img/brand/arrowtree/arrowtree_bg.jpg");
}

.brand_list #kushiwakamaru {
  background-image: url("../img/brand/kushiwakamaru/kushiwakamaru_bg.jpg");
}

.brand_list #jonetsuhorumon {
  background-image: url("../img/brand/jonetsuhorumon/jonetsuhorumon_bg.jpg");
}

.brand_list #yakinikugoen {
  background-image: url("../img/brand/yakinikugoen/yakinikugoen_bg.jpg");
}

.brand_list #tenten {
  background-image: url("../img/brand/tenten/tenten_bg.jpg");
}

.brand_list #gofuku {
  background-image: url("../img/brand/gofuku/gofuku_bg.jpg");
}

.brand_list #yakinikuhachien {
  background-image: url("../img/brand/yakinikuhachien/yakinikuhachien_bg.jpg");
}

.brand_list #ninjosakaba {
  background-image: url("../img/brand/ninjosakaba/ninjosakaba_bg.jpg");
}

.brand_list #kanibugyo {
  background-image: url("../img/brand/kanibugyo/kanibugyo_bg.jpg");
}

.brand_list #chineseryuen {
  background-image: url("../img/brand/chineseryuen/chineseryuen_bg.jpg");
}

.brand_list #chinesegoen {
  background-image: url("../img/brand/chinesegoen/chinesegoen_bg.jpg");
}

.brand_list .shop a {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  background-color: rgba(255,255,255,1);
  height: 15vw;
  padding: 2.5vw;
  position: relative;
  z-index: 1;
}

.brand_list .shop a:hover {
  background-color: rgba(255,255,255,0);
}

.brand_list .shop a:before {
  content: "";
  border-style: solid;
  border-color: transparent transparent #b01221 transparent;
  border-width: 0 0 15px 15px;
  position: absolute;
  bottom: 5px;
  right: 5px;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.brand_list .shop a:hover:before {
  bottom: 0;
  right: 0;
}

.brand_list .shop:after {
  background: rgba(0,0,0,0.5);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.brand_list .shop a figure.hvr_of {
  display: block;
}

.brand_list .shop a:hover figure.hvr_of {
  display: none;
}

.brand_list .shop a figure.hvr_on {
  display: none;
}

.brand_list .shop a:hover figure.hvr_on {
  display: block;
}

.brand_list .shop a figure {
  width: 100%;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

.brand_list .shop a figure.wid_95 {
  width: 95%;
}

.brand_list .shop a figure.wid_90 {
  width: 90%;
}

.brand_list .shop a figure.wid_85 {
  width: 85%;
}

.brand_list .shop a figure.wid_80 {
  width: 80%;
}

.brand_list .shop a figure.wid_75 {
  width: 75%;
}

.brand_list .shop a figure.wid_70 {
  width: 70%;
}

.brand_list .shop a figure.wid_65 {
  width: 65%;
}

.brand_list .shop a figure.wid_60 {
  width: 60%;
}

.brand_list .shop a figure.wid_55 {
  width: 55%;
}

.brand_list .shop a figure.wid_50 {
  width: 50%;
}

/* -----------------------------------------------------------
    .step_box
----------------------------------------------------------- */
.step_box > ul li {
  display: flex;
  display: -webkit-flex;
  margin: 1px 0 0;
}

.step_box > ul li:first-of-type {
  margin: 0;
}

.step_box > ul li .process_num {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  flex-direction: column;
  -webkit-flex-direction: column;
  background: #b01221;
  color: #ffffff;
  flex: 0 1 300px;
  -webkit-flex: 0 1 300px;
  max-width: 300px;
  min-height: 250px;
  height: 250px\0;
  padding: 1.5vw 3.5vw;
}

.step_box > ul li .process_num span {
  font-weight: 700;
  line-height: 1.1;
}

.step_box > ul li .process_num span:nth-of-type(1) {
  font-size: 26px;
  font-size: 2.6rem;
}

.step_box > ul li .process_num span:nth-of-type(2) {
  font-size: 60px;
  font-size: 6.0rem;
}

.step_box > ul li .process_txt {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  background: #f9f9f9;
  flex: 1 1;
  -webkit-flex: 1 1;
  padding: 1.5vw 3.5vw;
  margin: 0 0 0 1px;
}

.step_box > ul li .process_txt dl dt {
  color: #b01221;
  font-size: 30px;
  font-size: 3.0rem;
  font-weight: 900;
}

.step_box > ul li .process_txt dl dd {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 0.75vw 0 0;
}

.step_box > ul li .process_txt dl dd ul {
  margin: 0.5vw 0 0;
}

.step_box > ul li .process_txt dl dd ul li {
  margin: 0.5vw 0 0;
}

.step_box > ul li .process_txt dl dd ul li:before {
  content: "・";
  margin: 0 0 0 -0.15em;
}

/* -----------------------------------------------------------
    aside
----------------------------------------------------------- */
aside {
  padding: 0 10vw;
}

aside ul {
  display: flex;
  display: -webkit-flex;
}

aside ul li {
  width: calc(100% / 3);
  margin-left: 1px;
}

aside ul li:first-of-type {
  margin-left: 0;
}

aside ul li a {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 900;
  color: #ffffff !important;
  height: 30vh;
  position: relative;
  z-index: 0;
}

aside ul li a:after {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

aside ul li.aside_re_bg a:after {
  background-image: url("../img/common/aside_re_bg.jpg");
}

aside ul li.aside_fc_bg a:after {
  background-image: url("../img/common/aside_fc_bg.jpg");
}

aside ul li.aside_ef_bg a:after {
  background-image: url("../img/common/aside_ef_bg.jpg");
}

aside ul li.aside_co_bg a:after {
  background-image: url("../img/common/aside_co_bg.jpg");
}

aside ul li a:before {
  content: "";
  background: rgba(0,0,0,0.2);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

aside ul li a:hover:before {
  background: rgba(0,0,0,0.8);
}

/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */
footer {
  margin: 10vw 0 0;
}

footer .above {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  border-top: 1px solid #dbdbdb;
  padding: 5vw 10vw;
}

footer .above address {
  font-size: 14px;
  font-size: 1.4rem;
  display: flex;
  display: -webkit-flex;
  flex: 1 1;
  -webkit-flex: 1 1;
}

footer .above address figure {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
}

footer .above address figure:after {
  background: #dbdbdb;
  content: "";
  width: 1px;
  height: 100%;
  margin: 0 1.5vw;
}

footer .above address figure img {
  width: 165px;
}

footer .above address .add {
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  justify-content: center;
  -webkit-justify-content: center;
  xmin-height: 50px;
  xheight: 50px\0;
}

footer .above address .add p:not(:first-of-type) {
  margin: 0.15vw 0 0;
}

footer .above address .add p:nth-of-type(1) span:nth-of-type(2) {
  margin: 0 0 0 0.5em;
}

footer .above address .add p:nth-of-type(2) span:nth-of-type(1):after {
  content: "/";
  margin: 0 0.5em;
}

footer .above address .add p a:hover {
  color: #b01221;
}

footer .above .add_btn {
  font-size: 14px;
  font-size: 1.4rem;
}

footer .above .add_btn ul {
  display: flex;
  display: -webkit-flex;
}

footer .above .add_btn ul li:not(:first-of-type) {
  margin: 0 0 0 1.5vw;
}

footer .above .add_btn ul li a:before {
  font-family: FontAwesome;
  font-size: 16px;
  font-size: 1.6rem;
  color: #b01221;
  margin: 0 0.5em 0 0;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}

footer .above .add_btn ul li.gm a:before {
  content: "\f041";
}

footer .above .add_btn ul li.co a:before {
  content: "\f0e0";
}

footer .above .add_btn ul li a {
  min-height: 50px;
  height: 50px\0;
}

footer .above .add_btn ul li a:hover:before {
  color: #ffffff;
}

footer .below {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  background: #151515;
  color: #ffffff;
  padding: 3vw 10vw;
}

footer .below nav {
  font-size: 13px;
  font-size: 1.3rem;
}

footer .below nav ul {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
}

footer .below nav ul li:not(:first-of-type) {
  margin: 0 0 0 1.5vw;
}

footer .below .copyright small {
  font-size: 13px;
  font-size: 1.3rem;
}

footer .below a {
  color: #ffffff;
}

footer .below a:hover {
  color: #b01221;
}

/* -----------------------------------------------------------
    img:hover
----------------------------------------------------------- */
a img:hover {
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}


/* editor */
 
.news_detail .article_box p {
    display: block;
    margin: 1em 0;
}
.news_detail .article_box strong { font-weight: bold; }
.news_detail .article_box em { font-style: italic; }
.news_detail .article_box blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}
 
/* img */
 
.news_detail .article_box .aligncenter {
    display: block;
    margin: 0 auto;
}
.news_detail .article_box .alignright { float: right; }
.news_detail .article_box .alignleft { float: left; }
 
.news_detail .article_box img[class*="wp-image-"],
.news_detail .article_box img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}
 
/* clearfix */
 
.news_detail .article_box .clearfix {
    overflow: hidden;
    zoom: 1;
}
.news_detail .article_box .clearfix:after {
    content: "";
    display: block;
    clear: both;
}