@charset "UTF-8";
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent;
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  font-size: 1.6rem;
  font-size: 16px;
  color: #221814;
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: normal;
  height: 100%;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  width: 100%; }

a {
  color: #000;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  transition: .3s;
  -moz-transition: .3s;
  -webkit-transition: .3s;
  -o-transition: .3s;
  -ms-transition: .3s; }

a:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.65; }

a:active, a:hover {
  outline-width: 0; }

li{
  margin: 0;
  list-style: none; }

ul,ol{
  margin: 0;
  padding: 0; }

h1,h2,h3,h4,h5,h6, p, figure, dd, dt, dl { margin:0; }

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

b, strong { font-weight: bolder; }

small { font-size: 80%; }

img {
  border-style: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  height: auto;
  max-width: 100%;
  vertical-align: middle; }

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button {
  border: none;
}

button, input { overflow: visible; }
button, select { text-transform: none; }
button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

textarea { overflow: auto; }

[type="checkbox"], [type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  outline-offset: -2px; }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -moz-appearance: none;
  -webkit-appearance: none; }

/* Grid System width Flex */
.flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flex-wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse; }

.flex-justify-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

.flex-justify-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.flex-justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.flex-justify-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.flex-align-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }

.flex-align-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }

.flex-align-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.flex-dir-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

/*margin*/
.m-auto{
  margin: auto;
}
.mt-10 { margin-top: 10px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }
.mt-40 { margin-top: 40px; }
.mt-50 { margin-top: 50px; }
.mt-60 { margin-top: 60px; }
.mt-70 { margin-top: 70px; }
.mt-80 { margin-top: 80px; }
.mt-90 { margin-top: 90px; }
.mt-100 { margin-top: 100px; }
.mb-10 { margin-bottom: 10px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }
.mb-60 { margin-bottom: 60px; }
.mb-70 { margin-bottom: 70px; }
.mb-80 { margin-bottom: 80px; }
.mb-90 { margin-bottom: 90px; }
.mb-100 { margin-bottom: 100px; }

/* form input*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
  width: 100%; }

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=password],
input[type=number],
select {
  font-size: 16px;
  font-size: 1.6rem;
  background: #FFF;
  border: 1px solid #E8E8E8;
  margin: 2px;
  padding: 0 .3em;
  width: 100%;
  height:45px; }

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=number]:focus,
select:focus {
  outline: none;
  border-color: #000; }

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0; }

input[type=number] {
  -moz-appearance: textfield; }

select {
  font-size: 13px;
  font-size: 1.3rem;
  height: 2.5em;
  padding: .5em;
  width: auto;
  min-width: 7em; }

textarea {
  font-size: 16px;
  font-size: 1.6rem;
  background: #FFF;
  border: 1px solid #E8E8E8;
  padding: 0 .3em;
  resize: vertical;
  width: 100%;
  height:250px; }

textarea:focus {
  outline: none;
  border-color: #000; }

input[type=checkbox],
input[type=radio] {
  background: #FFF;
  cursor: pointer;
  margin-right: .5em; }

textarea::placeholder,
input::placeholder {
  font-size: 1.4rem;
  color: #C5C5C5;
}

/* wordpress pager */
.pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 35px;
  margin-bottom: 60px;
  max-width: 100%;
  padding: 30px 0;
  position: relative;
}
.pager a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  position: relative;
  line-height: 1.42857143;
  text-decoration: none;
  border-radius: 4px;
  border: 1px solid #E8E8E8;
  color: #000;
  font-weight: bold;
  margin: 5px;
  padding: 5px 10px;
}
.pc .pager a:active, .pc .pager a:hover, .pc .pager a:focus {
  border-color: #000;
  color: #000;
}
.pager .previous, .pager .next,
.pager .back {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.pager .previous a {
  padding-left: 1.5em;
}
.pager .previous a:before {
  content: "≪";
  position: absolute;
  left: 5px;
  top: 4px; }

.pager .next a {
  padding-right: 1.5em; }

.pager .next a:after {
  content: "≫";
  position: absolute;
  right: 5px;
  top: 4px; }

.pager .back a {
  padding: 5px; }

/* wordpress pagination */
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}
.pagination > li {
  position: relative;
}
.pagination > li > span,
.pagination > li > a {
  border-radius: 4px;
  border: 1px solid #E8E8E8;
  color: #231815;
  margin: 3px;
  width: 2.4em;
  height: 2.4em;
  line-height: 2.4;
  display: block;
  text-decoration: none;
  padding: 0;
}
.pagination > li > span {
  border-color: #231815;
  cursor: default;
}
.pc .pagination > li > a:active, .pc .pagination > li > a:hover, .pc .pagination > li > a:focus {
  border-color: #000;
  color: #000;
}
.pagination > li span.dot {
  border: none;
  width: 1em;
}

/* wordpress wp-pagenavi */
.wp-pagenavi{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
  font-size: 1.6rem;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  border: 1px solid #000;
  color: #000;
  margin: 3px;
  width: 2.4em;
  height: 2.4em;
  line-height: 2.4;
  display: block;
  text-decoration: none;
  padding: 0;
}
.wp-pagenavi .current {
  border: 0;
  color: #fff;
  background: #000;
  font-weight: normal;
}
.wp-pagenavi a:hover{
  border: 1px solid #000;
}

/* wordpress breadcrumbs */
.txt_ellipsis .breadcrumbs span:last-of-type{
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  width: 130px;
  display: inline-block;
  vertical-align: bottom;
}
.breadcrumbs {
  font-size: 1.2rem;
}
.breadcrumbs .container {
  margin-left: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.breadcrumbs ul,
.breadcrumbs ol {
  list-style: none;
  padding: 0;
}
.breadcrumbs li {
  display: inline;
}
.breadcrumbs li:before {
  content: ">";
  margin: 0 10px;
}
.breadcrumbs li:first-child:before {
  display: none;
}
.breadcrumbs a {
  color: #231815;
  text-decoration: none;
}
.breadcrumbs a:hover {
  color: #000;
}
@media screen and (max-width: 560px) {
  .breadcrumbs {
    font-size: 1rem;
  }
  .breadcrumbs li:before {
    margin: 0 5px;
  }
}

/* Slick Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
.slick-slide img{
  width: 100%;
  height: auto;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img,
.slick-initialized .slick-slide {
  display: block;
}
.slick-slide.slick-loading img,
.slick-arrow.slick-hidden {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./img/common/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick/slick.eot");
  src: url("./fonts/slick/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick/slick.woff") format("woff"), url("./fonts/slick/slick.ttf") format("truetype"), url("./fonts/slick/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 1;
  display: block;
  width: 16px;
  height: 31px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  margin-top: -15px;
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  opacity: 0.65;
  color: transparent;
}
.slick-prev.slick-disabled,
.slick-next.slick-disabled {
  opacity: 0.25;
}
.slick-prev {
  left: 30px;
  background: url(img/common/btn-prev.png) no-repeat center center;
}
.slick-next {
  right: 30px;
  background: url(img/common/btn-next.png) no-repeat center center;
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.slick-dots {
  position: absolute;
  bottom: 10px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0;
  font-size: 0;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before {opacity: 1; }
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  color: #AAA;
  opacity: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots .slick-active button:before {
  color: #000;
  opacity: 0.75;
}
.slick-archive {
  padding-top: 10px;
  margin: 0 auto;
  width: calc(100% - 50px);
}
.slick-archive__item { padding: 5px; }
.slick-archive__item a {
  display: block;
  max-width: 350px;
  margin: auto;
  color: #231815;
  text-decoration: none;
  position: relative;
}
.slick-archive__item a:hover { opacity: 0.65; }
.slick-archive__date {
  margin-top: 5px;
  display: block;
}
.slick-archive__title {
  display: block;
  font-weight: bold;
}
.slick-archive__label {
  background-color: #464a4c;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: .2em 2em;
}

@media screen and (max-width: 560px) {
  .slick-archive__date,
  .slick-archive__label { font-size: 1rem; }
  .slick-archive__title { font-size: 1.2rem; }
}

/* toggle button */
.toggle { display: none; }
@media screen and (max-width: 880px) {
  .toggle {
    cursor: pointer;
    display: inline-block;
    background: none;
    border: none;
    outline: none;
    position: absolute;
    padding: 13px;
    right: 10px;
    text-align: center;
    top: 47%;
    z-index: 7;
  }
  .toggle__bar {
    position: relative;
    margin: 8px auto;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .toggle__bar, .toggle__bar::before, .toggle__bar::after {
    display: block;
    width: 30px;
    height: 3px;
    background-color: #221814;
    outline: 1px solid transparent;
    -webkit-transition-property: background-color, -webkit-transform;
    transition-property: background-color, -webkit-transform;
    transition-property: background-color, transform;
    transition-property: background-color, transform, -webkit-transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
  }
  .toggle__bar::before, .toggle__bar::after {
    position: absolute;
    content: "";
  }
  .toggle__bar{
    width: 30px;
  }
  .toggle__bar::after{
    width: 30px;
  }
  .toggle__bar::before { top: -8px; }
  .toggle__bar::after { top: 8px; }
  .toggle__title {
    font-size: 10px;
    font-size: 1rem;
    display: block;
    padding-top: 5px;
    width: 4em;
    white-space: nowrap;
  }
  .toggle__title:before {
    content: "メニュー";
  }
}

.toggle[aria-expanded="true"] .toggle__bar { background-color: transparent; }
.toggle[aria-expanded="true"] .toggle__bar::before {
  -webkit-transform: translateY(8px) rotate(45deg);
  -ms-transform: translateY(8px) rotate(45deg);
  transform: translateY(8px) rotate(45deg);
}

.toggle[aria-expanded="true"] .toggle__bar::after {
  -webkit-transform: translateY(-8px) rotate(-45deg);
  -ms-transform: translateY(-8px) rotate(-45deg);
  transform: translateY(-8px) rotate(-45deg);
  width: 30px;
}

.toggle[aria-expanded="true"] .toggle__title:before { content: "とじる"; }

.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}

.fade.in { opacity: 1; }

/* Hamburger menu */
.collapse {
  display: none;
}
.collapse nav ul.flexbox{
  -webkit-transform: translateX(-300px);
  -ms-transform: translateX(-300px);
  transform: translateX(-300px);
}
.collapse.in nav ul.flexbox{
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}
.collapse.in {
  display: block;
}
tr.collapse.in { display: table-row; }
tbody.collapse.in { display: table-row-group; }
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.gnav {
  line-height: 1.6;
  margin: 0;
}

@media screen and (min-width: 881px) {
  .gnav {
    display: block !important;
    height: inherit !important;
  }
}

@media screen and (max-width: 880px) {
  .gnav {
    position: absolute;
    left: 0;
    top: 138px;
    max-width: 100%;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #E8E8E8;
    -webkit-box-shadow: 0 1px 5px #E8E8E8;
    box-shadow: 0 1px 5px #E8E8E8;
    z-index: 6;
    height: calc( 100vh - 138px );
  }
}

/*////////////////////////

fonts

////////////////////////*/


/*////////////////////////

 header

////////////////////////*/
.fixedmenu{
  -webkit-box-shadow: 0 3px 3px -3px rgba(0,0,0,0.6);
  -moz-box-shadow: 0 3px 3px -3px rgba(0,0,0,0.6);
  box-shadow: 0 3px 3px -3px rgba(0,0,0,0.6);
  z-index: 999;
}

header{
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  padding: 20px 0;
}

header .descript{
  font-size: 1.2rem;
  margin-bottom: 10px;
}

header .logo{
  margin-right: 30px;
}

header nav{
  width: 100%;
  max-width: 610px;
}

header nav ul li{
  width: calc( 100% / 5 );
  border-left: 1px solid #221814;
  text-align: center;
}

header nav ul li:last-child{
  border-right: 1px solid #221814;
}

header nav ul li a{
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  font-weight: bold;
}

@media screen and (max-width: 1000px) {
  header nav{
    width: 100%;
    max-width: 550px;
  }
}

@media screen and (max-width: 880px) {
  header .logo{
    width: 260px;
  }
  header nav ul{
    flex-wrap: wrap;
    max-width: 550px;
    width: 100%;
    margin: 20px auto;
  }
  header nav ul li{
    width: 100%;
    border: 0;
    padding: 10px 0;
  }
  header nav ul li:last-child{
    border: 0;
  }
  header nav ul li a{
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 320px) {
  header .logo{
    width: 230px;
  }
}

/*////////////////////////

footer

////////////////////////*/
footer{
  padding: 25px 0 80px;
}

footer a, footer a:hover{ color: #000;}

footer .add{
  width: 100%;
  text-align: center;
  padding: 0 15px; 
}

footer .logo{
  margin-bottom: 25px;
}

footer .sub-nav{
  width: 100%;
  background: #fff;
  padding: 25px 15px;
}

footer .sub-nav ul{
  max-width: 755px;
  width: 100%;
  margin: 0 auto;
}

footer .sub-nav ul li{
  width: calc( 100% / 5 );
  text-align: center;
  position: relative;
}

footer .sub-nav ul li:before{
  position: absolute;
  content: '';
  width: 1px;
  height: 24px;
  background: #ce1125;
  top: calc( 50% - 12px );
  left: 0;
}

footer .sub-nav ul li:last-child:after{
  position: absolute;
  content: '';
  width: 1px;
  height: 24px;
  background: #ce1125;
  top: calc( 50% - 12px );
  right: 0;
}

footer .sub-nav ul li a{
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  font-weight: bold;
}

footer small{
  width: 100%;
  padding: 20px 0;
  display: block;
  text-align: center;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  footer .sub-nav ul{
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  footer .sub-nav ul li{
    width: calc( 100% / 3 );
    margin-bottom: 10px;
  }
  footer .sub-nav ul li:nth-last-child(3):after{
    position: absolute;
    content: '';
    width: 1px;
    height: 24px;
    background: #ce1125;
    top: calc( 50% - 12px );
    right: 0;
  }
  footer .sub-nav ul li:last-child,footer .sub-nav ul li:nth-last-child(2){
    margin-bottom: 0;
  }
}

@media screen and (max-width: 425px) {
  footer .sub-nav ul li{
    width: calc( 100% / 2 );
    margin-bottom: 10px;
  }
  footer .sub-nav ul li:nth-child(2n):after{
    position: absolute;
    content: '';
    width: 1px;
    height: 24px;
    background: #ce1125;
    top: calc( 50% - 12px );
    right: 0;
  }
  footer .sub-nav ul li:nth-last-child(3):after{
    display: none;
  }
  footer .sub-nav ul li:nth-last-child(2){
    margin-bottom: 10px;
  }
}

/*////////////////////////

 user common css

////////////////////////*/
body.home{
  background: #fdf0f3;
}

body.concept .main{
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
}

main{
  margin-top: 150px;
}

[class*="container_"]{
  width: 100%;
  margin: 0 auto;
  padding-right: 15px;
  padding-left: 15px;
}

.container_l{
  max-width: 1070px;
}

.pc{ display: block; }

.sp, .sp_550{ display: none; }

.tac{ text-align:center; }

.tar{ text-align:right; }

.vt_align_top{ vertical-align: top; }

.wd_100{ width: 100%; }

.bold{ font-weight:bold; }

.fz-22{
  font-size: 2.2rem;
}

.fz-17{
  font-size: 1.7rem;
}

.fz-15{
  font-size: 1.5rem;
}

.pc{
  display:block;
}

.sp{
  display:none;
}

.sp.sp_768{ display: none; }

@media screen and (max-width: 880px) {
  main{
    margin-top: 137px;
  }
}

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

@media screen and (min-width: 651px) {
  a[href^="tel:"] {
      pointer-events: none;
  }
}

@media screen and (max-width: 650px) {
  a[href^="tel:"] {
    text-decoration: underline;
    display: inline-block;
  }
}

@media screen and (max-width: 550px) {
  .pc_550{ display: none; }
  .sp_550{ display: block; }
}

@media screen and (max-width: 401px) {
  main{
    margin-top: 157px;
  }
}

@media screen and (max-width: 320px) {
  main{
    margin-top: 148px;
  }
}

/*////////////////////////

toppage

////////////////////////*/
.top01{
  background: #fff;
  padding: 0 0 30px;
}

.main-visual {
  margin-bottom: 30px;
}

.main-nav{
  max-width: 940px;
  width: 100%;
  margin: 0 auto;
}

.main-nav li{
  width: calc( 100% / 5 );
  text-align: center;
  position: relative;
}

.main-nav li:before{
  position: absolute;
  content: '';
  width: 1px;
  height: 24px;
  background: #ce1125;
  top: calc( 50% - 12px );
  left: 0;
}

.main-nav li:last-child:after{
  position: absolute;
  content: '';
  width: 1px;
  height: 24px;
  background: #ce1125;
  top: calc( 50% - 12px );
  right: 0;
}

.main-nav li a{
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top02{
  padding-top: 60px;
}

.cont-box{
  width: 100%;
  border: 1px solid;
  background: #fff;
  position: relative;
  padding: 60px 20px;
}

.cont-box.is-red{
  border-color: #ce1125;
  margin-bottom: 65px;
}

.cont-box.is-blue{
  border-color: #1c1f87;
  margin-bottom: 50px;
}

.cont-box .cont-box-ttl{
  max-width: 300px;
  width: 100%;
  padding: 5px 10px;
  text-align: center;
  color: #fff;
  font-size: 2.1rem;
  letter-spacing: 0.2em;
  position: absolute;
  left: calc( 50% - 150px );
  top: -21px;
  border-radius: 50px;
}

.cont-box.is-red .cont-box-ttl{
  background: #ce1125;
}

.cont-box.is-blue .cont-box-ttl{
  background: #1c1f87;
}

.bnr-link-box{
  max-width: 820px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.bnr-link-box li{
  width: calc( 100% / 2 - 10px );
}

.bnr-link-box li:first-child{
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
}

.bnr-garage.pc{
  margin:0 auto;
  max-width:820px;
  margin-top:20px;
  border: 1px solid #dedede;
}

.basic__txt01{
  line-height: 2;
  letter-spacing: 0.075em;
}

.basic__txt02{
  line-height: 2;
  letter-spacing: 0.05em;
}

.basic__txt03{
  line-height: 2;
  letter-spacing: 0.01em;
}

.company-cont{
  max-width: 800px;
  width: 100%;
  margin: 0 auto 20px;
}

.company-cont .hdg_01{
  width: 250px;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-weight: bold;
  background: #1c1f87;
  margin-right: 10px;
  padding: 10px 0;
}


.company-cont ul{
  width: calc( 100% - 270px );
}

.company-cont ul li{
  position: relative;
  padding-left: 20px;
  margin-right: 20px;
  margin-bottom: 15px;
  font-weight: bold;
}

.company-cont ul li:before{
  position: absolute;
  content: '';
  width: 18px;
  height: 18px;
  background: #221814;
  border-radius: 100%;
  left: 0;
  top: calc( 50% - 9px );
}

.company-list{
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

.company-list li{
  width: calc( 100% / 2 - 20px );
  background: #1c1f87;
  color: #fff;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  padding: 10px 0;
  font-weight: bold;
}

.top05{
  width: 100%;
}

.top05 dl{
  max-width: 850px;
  width: 100%;
  margin: 0 auto 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.top05 dt{
  width: 130px;
  border-right: 1px solid #221814;
  font-size: 1.5rem;
  letter-spacing: 0.075em;
  font-weight: bold;
}

.top05 dd{
  width: calc( 100% - 130px );
  padding-left: 35px;
  font-size: 1.5rem;
  letter-spacing: 0.075em;
  font-weight: bold;
}

.top05 dd ul li{
  position: relative;
  font-weight: bold;
}

.top05 dl dd ul li:before{
  display: inline-block;
  content: '・';
}

.garage-example-ttl{
  margin:0 auto;
  text-align: center;
  margin-bottom:30px;
  max-width: 130px;
}

.garage-example-li{
  margin-bottom:30px;
  border:1px solid #dedede;
}

.garage-lead{
  font-size: 2.6rem;
  letter-spacing: 0.2em;
  line-height: 1.8;
  color: #fff;
  text-align: center;
  background:#1c1f87;
  font-family: 'Noto Sans JP';
  font-weight: 500;
  max-width: 892px;
  margin: 0 auto;
  margin-bottom: 30px;
}

.garage-ttl-img{
  max-width:500px;
  margin:0 auto;
  margin-top:40px;
  margin-bottom: 30px;
}

.garage-txt{
  font-family: 'Noto Sans JP';
  font-weight: 500;
  line-height: 1.8;
  font-size: 1.5rem;
}

@media screen and (max-width: 1000px){
  .garage-txt{
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 768px){
  .main-nav{
    flex-wrap: wrap;
  }
  .main-nav li{
    width: calc( 100% / 3 );
    margin-bottom: 10px;
  }
  .main-nav li:nth-child(3):after{
  position: absolute;
  content: '';
  width: 1px;
  height: 24px;
  background: #ce1125;
  top: calc( 50% - 12px );
  right: 0;
}
  .bnr-link-box li{
    width: 100%;
    text-align: center;
  }
  .bnr-link-box li:not(:last-child){
    margin-bottom: 20px;
  }
  .bnr-link-box li:first-child p{
    width: 100%;
    text-align: center;
  }
  .bnr-link-box li:first-child p:first-child{
    margin-bottom: 20px;
  }
  .garage-lead {
    font-size: 2.2rem;
  }
  .bnr-garage.sp{
    margin:0 auto;
    max-width:400px;
    margin-top:20px;
    border: 1px solid #dedede;
  }
}
@media screen and (max-width: 630px){
  .company-cont .hdg_01{
    width: 100%;
  }
  .company-cont .box{
    width: 100%;
    margin-bottom: 20px;
  }
  .company-cont ul{
    width: 100%;
  }
  .company-list li{
    width: 100%;
    margin-bottom: 20px;
  }
  .company-list li:last-child{
    margin-bottom: 0;
  }
  .garage-lead {
    font-size: 2rem;
  }
}
@media screen and (max-width: 550px){
  .main-nav li {
    width: calc( 100% / 2 );
    margin-bottom: 10px;
  }
  .main-nav li:nth-child(3):after{
    display: none;
  }
  .main-nav li:nth-child(2n):after{
    position: absolute;
    content: '';
    width: 1px;
    height: 24px;
    background: #ce1125;
    top: calc( 50% - 12px );
    right: 0;
  }
  .top05 dt{
    width: 100%;
    border-right: 0;
    margin-bottom: 15px;
  }
  .top05 dd{
    width: 100%;
    margin-bottom: 20px;
    padding-left: 0;
  }
  .top05 dl:last-child dd{
    margin-bottom: 0;
  }
  .garage-ttl-img {
    max-width: 300px;
  }
  .garage-lead {
    font-size: 2.3rem;
    line-height: 1.4;
    padding: 10px 0px;
  }
  .garage-txt{
    font-size: 1.2rem;
  }
  .sp.sp_550{
    display:block;
  }
}

/*////////////////////////

basic

////////////////////////*/
.basic{
  width: 100%;
}

.basic .subpage{
  max-width: 1070px;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}

.basic .cont{
  width: 100%;
  padding: 20px 0;
}

/*////////////////////////

concept

////////////////////////*/
.hdg_02{
  font-size: 2.6rem;
  letter-spacing: 0.2em;
  line-height: 1.8;
  color: #e7416c;
  text-align: center;
}

.hdg_03{
  max-width: 930px;
  width: 100%;
  margin: 0 auto 30px;
  position: relative;
  font-size: 3.7rem;
  letter-spacing: 0.2em;
  line-height: 1.8;
  text-align: center;
  color: #e7416c;
}

.hdg_03:before, .hdg_03:after{
  position: absolute;
  content: '';
  width: calc( ( 100% - 260px ) / 2 );
  height: 1px;
  background: #e7416c;
  top: 50%;
}

.hdg_03:before{
  left: 0;
}

.hdg_03:after{
  right: 0;
}

.facility-list{
  max-width: 930px;
  width: 100%;
  margin: 0 auto 30px;
}

.facility-list li{
  max-width: 892px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 20px;
}

.comingsoon{
  border:1px solid #dedede;
}
/*////////////////////////

contact

////////////////////////*/
.contact .subpage{
  max-width: 100%;
  background: url(img/contact/main.png) no-repeat center center / contain;
  background-size: 1042px 510px;
  height: 510px;
  position: relative;
}

.contact .subpage .inner{
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact .cont{
  padding: 50px 0;
}

.subpage_ttl{
  font-size: 4.5rem;
  color: #fff;
}

.form_wrapper{
  width: 100%;
}

.contact_form{
  width: 100%;
  margin-bottom: 55px;
}

.contact_form tr{
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-bottom: 1px solid #CCCCCC;
  background: #fff;
}

.contact_form tr:first-child{
  border-top: 1px solid #CCCCCC;
}

.form__th{
  width: 250px;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.75;
  padding: 50px 30px 50px 70px;
  position: relative;
  vertical-align: top;
  background: #fff8fa;
}

.form__th.req:before{
  position: absolute;
  content: '必須';
  width: 45px;
  text-align: center;
  color: #FF0000;
  letter-spacing: 0.04em;
  line-height: 1.2;
  font-size: 1.2rem;
  border: 1px solid #FF0000;
  background: #fff;
  top: 45px;
  left: 10px;
  padding: 9.5px 0;
}

.form__th:before{
  position: absolute;
  content: '任意';
  width: 45px;
  text-align: center;
  color: #545454;
  letter-spacing: 0.04;
  line-height: 1.2;
  font-size: 1.2rem;
  border: 1px solid #545454;
  background: #fff;
  top: 45px;
  left: 10px;
  padding: 9.5px 0;
}

.form__td {
  width: calc( 100% - 250px );
  padding: 35px;
}

.form__td span{
  width: 100%;
}

.form_btn{
  width: 100%;
  text-align: center;
  padding: 30px 0;
  border: 2px solid #e85076;
  border-radius: 5px;
  background: #fff8fa;
  font-weight: bold;
  color: #221814;
}


.input-wrapper{
  max-width: 400px;
  width: 100%;
  margin: 0 auto 30px;
  position: relative;
}

.input-wrapper button.form_btn{
  width: 100%;
  text-align: center;
  padding: 30px 0;
  border: 2px solid #e85076;
  border-radius: 5px;
  background: #fff8fa;
  font-weight: bold;
  color: #221814;
}

.input-wrapper input.form_btn{
  width: 100%;
  text-align: center;
  padding: 30px 0;
  border: 2px solid #e85076;
  border-radius: 5px;
  background: #fff8fa;
  font-weight: bold;
  color: #221814;
}

/******************* 20230929 ADDED *********************/
:root{
  --white: #fff;
  --black: #231F20;
}

.align-top{
  vertical-align: top;
}

.fz-13{
  font-size: 1.3rem;
}

.fz-14{
  font-size: 1.4rem;
}

.fz-18{
  font-size: 1.8rem;
}

.fz-25{
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.btn-round{
  display: block;
  text-align: center;
  background-color: #6D6E71;
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  color: var(--white);
  border-radius: 100px;
  padding: 20px 25px;
  width: min(100%, 675px);
  font-weight: 400;
  line-height: 1.3;
}

.btn-round.-black{
  background-color: var(--black);
}

.btn-round.-border{
  font-weight: 500;
  color: var(--black);
  border: 1px solid #6D6E71;
  background-color: var(--white);
}

.btn-round:not(.-border):hover{
  color: var(--white);
}

.btn__garage_logo{
  display: inline-block;
  margin: 5px 10px;
}

.aroow-right{
  display: inline-block;
}

.aroow-right::after{
  content: '\025b6';
  display: inline-block;
  margin-left: 5px;
}

.aroow-right.-large::after{
  font-size: 2.8rem;
  line-height: 1;
  vertical-align: text-bottom;
}

.table-common-th, .table-common-td{
  border: 1px solid var(--black);
  padding: 5px 15px;
}

.table-common-th{
  text-align: left;
}

.sp-550{
  display: none;
}

.garage-detail{
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  /*font-family: 'Noto Sans JP';*/
  line-height: 1.8;
  font-weight: 500;
  overflow: hidden;
}

.garage__detail_concept_block{
  gap: 30px;
}

.garage__detail_concept_block:not(.-main){
  margin-bottom: 50px;
}

.garage__detail_concept_block.-main{
  position: relative;
  top: -40px;
}

.garage__detail_concept_hdg{
  color: var(--white);
  position: relative;
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.3;
  padding: 10px 0;
  margin-bottom: 30px;
}

.garage__detail_concept_hdg::before{
  content: '';
  position: absolute;
  right: -20px;
  top: 0;
  width: 200%;
  height: 100%;
  background-color: var(--black);
  z-index: -1;
}

.flex-dir-reverse .garage__detail_concept_hdg::before{
  right: auto;
  left: -20px;
}

.garage__detail_concept_txt{
  font-size: clamp(1.6rem, 4vw, 1.8rem);
  line-height: 2.2;
}

.garage__detail_plan_img_list{
  gap: 50px 0;
}

.garage__detail_plan_img_item{
  width: calc(95% / 2);
  text-align: center;
}

.garage__detail_feature_list{
  gap: 13px 0;
  margin: 70px 0 40px;
}

.garage__detail_feature_item{
  width: calc(95% / 4);
  color: var(--white);
  background-color: var(--black);
  text-align: center;
  padding: 7px 5px;
  font-size: clamp(1.6rem, 4vw, 1.8rem);
  font-weight: 500;
  line-height: 1.3;
  min-height: 58px;
}

.garage__detail_feature_item_inner{
  display: block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (min-width: 769px){
  .garage__detail_concept_txt{
    width: min(100%, 415px);
  }
  .-main .garage__detail_concept_txt{
    width: min(100%, 575px);
  }
}

@media screen and (max-width: 768px){
  .table-common-th, .table-common-td{
    display: block;
  }
  .table-common-th,
  .table-common-row:not(:last-of-type) .table-common-td{
    border-bottom: none;
  }
  .table-common-th{
    background-color: #eee;
  }
  .garage__detail_concept_block{
    flex-wrap: wrap;
  }
  .garage__detail_feature_item{
    width: calc(98% / 2);
  }
  .-main .garage__detail_concept_img{
    width: 50%;
  }
}

@media screen and (max-width: 550px){
  .sp-550{
    display: block;
  }
  .garage__detail_plan_img_item{
    width: 100%;
  }
}

/******** toppage ********/
.top__garage_banner_list{
  width: min(100%, 820px);
  margin: 20px auto 0;
  gap: 20px 0;
}

.top__garage_banner_item{
  width: calc(98% / 2);
}

.top__garage_banner_item img{
  width: 100%;
}

@media screen and (max-width: 768px){
  .top__garage_banner_list{
    width: min(100%, 400px);
  }
  .top__garage_banner_item{
    width: 100%;
  }
}