@charset "UTF-8";

/* 個別設定
  ############################################################################################# */
/* ========================================================================== */
/* #wrap {
  padding-top: 90vh;
} */

img {
  image-rendering: -webkit-optimize-contrast;
}

@media screen and (max-width: 750px) {
  .forPc {
    display: none !important;
  }
}

@media screen and (min-width: 751px) {
  .forSp {
    display: none !important;
  }
}

.movieCatch {
  position: absolute;
  color: rgba(255, 255, 255, .9);
  width: 90vw;
  max-width: 1300px;
  left: 50%;
  transform: translateX(-50%);
  top: 1.75rem;
  font-weight: 700;
  text-align: right;
}

.movieCatch>.inner {
  display: inline-block;
  text-align: left;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.8;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
}

@media screen and (max-width: 750px) {
  .movieCatch {
    text-align: center;
    /* top: 2.5rem; */
    top:0;
  }

  .movieCatch>.inner {
    position: absolute; right: -1em; top:1em;
    font-size: .3rem;
    text-align: center;
    line-height: 1.8em;
  }
}

#bgMovie {
  position: fixed;
  z-index: -10;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

#bgMovie .inner {
  padding-bottom: 56.25%;
  position: absolute;
}

@media screen and (min-aspect-ratio: 16/9) {
  #bgMovie .inner {
    left: 0;
    width: 100%;
    padding-bottom: 56.25%;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media screen and (max-aspect-ratio: 16/9) {
  #bgMovie .inner {
    height: 100vh;
    width: 178vh;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
}

#bgMovie video {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}

#main {
  background: #fcfcfc url("../imgs/v2-main-bg.jpg");
  /* max-width: 1300px; */
  width: 100vw;
  /* margin: -1.3rem auto 8.2rem; */
  margin: 0 auto;
  text-align: center;
  padding-top: 1rem;
  padding-left: 5vw; padding-right: 5vw;
  box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
  #main {
    padding-left: .5rem;
    padding-right: .5rem;
  }
}

@media screen and (max-width: 750px) {
  #main {
    /* margin-top: -.3rem; */
    margin-top: 1.2rem;
    padding: 0 5vw;
    width: auto;
  }
}

/*第3期先着順受付開始*/
.ttl__3rd {
  position: relative;
  top: -.35rem;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  padding: .25rem .35rem .25rem .35rem;
  border: 2px solid #e6cc80;
  letter-spacing: .05em;
  background: rgb(136, 9, 2);
  background: linear-gradient(90deg, rgba(136, 9, 2, 1) 0%, rgba(195, 19, 40, 1) 50%, rgba(136, 9, 2, 1) 100%);
  box-sizing: border-box;
  margin-bottom: -1.4rem;
}

.txt__firstcome {
  display: flex;
  justify-content: center;
  align-items: center;
}

.txt__firstcome__arrival {
  display: inline-block;
  margin-right: 1em;
  padding: .2em .4em .2em .7em;
  color: #e6cc80;
  font-size: 65%;
  border-top: 2px solid #e6cc80;
  border-bottom: 2px solid #e6cc80;
  text-align: center;
}

.txt__firstcome__price {
  display: flex;
  align-items: flex-end;
}

.ttl__3rd .txt__num {
  display: inline-block;
  width: 18rem;
}

.ttl__3rd .txt__num img {
  width: 70%;
  height: auto;
  max-width: inherit;
	display: block;
	margin: 0 auto;
}

@media screen and (max-width: 750px) {
  .ttl__3rd .txt__num img {
    width: 80%;
  }
}

.ttl__3rd .txt__num__option {
  background: rgb(229, 210, 151);
  background: linear-gradient(90deg, rgba(229, 210, 151, 1) 0%, rgba(226, 174, 100, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 70%;
}

@media screen and (max-width: 750px) {
  .ttl__3rd {
    top: -.6rem;
    left: -2.5%;
    width: 105%;
    font-size: .55rem;
    padding-left: .2rem;
    padding-right: .2rem;
    letter-spacing: normal;
    margin-bottom: 0;
  }

  .ttl__3rd .txt__num {
    width: 8.8rem;
  }

  .ttl__3rd .txt__num__option {
    font-size: 90%;
  }
}

.bnr_img img {
  width: 93%;
  margin-top: -2.1rem;
  margin-bottom: .8rem;
}

@media screen and (max-width: 750px) {
  .bnr_img img {
    margin-top: -1.2rem;
    margin-bottom: .7rem;
  }
}

/*来場予約で素敵なプレゼントを差し上げます*/
.bnr__present img,
.bnr__house img {
  height: auto;
}

.bnr__present {
  margin: 0 auto .8rem;
  width: 80%;
}

@media screen and (max-width: 750px) {
  .bnr__present {
    margin: 0 auto .8rem;
    width: 105%;
    left: -2.5%;
    position: relative;
  }
}

.bnr__house {
  margin: -.8rem auto .5rem;
  width: 80%;
}

@media screen and (max-width: 750px) {
  .bnr__house {
    margin: -.6rem auto .5rem;
    width: 105%;
    left: -2.5%;
    position: relative;
  }
}

#obiWrap {
  display: flex;
  margin: 0 -.3rem -.1rem;
  padding-bottom: .6rem;
}

@media screen and (max-width: 1200px) {
  #obiWrap {
    margin-left: -.8rem;
    margin-right: -.8rem;
  }
}

@media screen and (max-width: 750px) {
  #obiWrap {
    display: block;
    margin: 0 -5vw 2vw;
  }
}

#obiWrap .obi {
  width: 50%;
  padding: .58rem .2rem;
  color: #fff;
  position: relative;
}

@media screen and (max-width: 750px) {
  #obiWrap .obi {
    width: auto;
    padding: 4.26vw 0;
  }
}

/* #obiWrap .obi:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  border-width: .15rem;
  border-style: solid;
  bottom: -.3rem;
} */

@media screen and (max-width: 750px) {
  #obiWrap .obi:after {
    content: none;
  }
}

#obiWrap .obi.bgGreen {
  background: url("../imgs/v2-bg1.png") center/cover;
}

#obiWrap .obi.bgGreen:after {
  border-color: #188c62 #188c62 transparent transparent;
  left: 0;
}

#obiWrap .obi.bgBlue {
  background: url("../imgs/v2-bg2.png") center/cover;
}

#obiWrap .obi.bgBlue:after {
  border-color: #3972b3 transparent transparent #3972b3;
  right: 0;
}

#obiWrap .line1 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .5rem;
  font-weight: 700;
  line-height: 1.8;
}

@media screen and (max-width: 750px) {
  #obiWrap .line1 {
    font-size: 3.7vw;
  }
}

#obiWrap .line1 .whBox {
  background: #fff;
  padding: 0 .5em;
  margin: 0 .15rem;
}

#obiWrap .line1 .txtBlue {
  color: #4387d4;
}

#obiWrap .line1 .ib {
  display: inline-block;
}

#obiWrap .line1 .txtGreen {
  color: #1caa7a;
}

#obiWrap .line1 .kakeru {
  font-size: 0%;
  display: inline-block;
  width: .82rem;
  height: .82rem;
  background: url("../imgs/v2-x.png") center/.54rem no-repeat;
}

@media screen and (max-width: 750px) {
  #obiWrap .line1 .kakeru {
    width: 7.33vw;
    height: 7.33vw;
    background-size: 4.66vw;
  }
}

#obiWrap .line2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: .2rem;
}

@media (min-width:751px),
print {

  #obiWrap .obi.bgGreen .line2,
  #obiWrap .obi.bgBlue .line2 {
    margin-top: 0.6rem;
  }
}

#obiWrap .sizeS {
  font-size: .4rem;
  font-weight: 700;
  line-height: 1.2;
  display: inline-block;
  text-align: left;
  margin-right: .55rem;
}

@media screen and (max-width: 750px) {
  #obiWrap .sizeS {
    font-size: 2.83vw;
  }
}

#obiWrap .sizeM {
  font-size: .55rem;
}

@media screen and (max-width: 750px) {
  #obiWrap .sizeM {
    font-size: 4vw;
  }
}

#obiWrap .sizeLL {
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.2;
}

@media screen and (max-width: 750px) {
  #obiWrap .sizeLL {
    font-size: 5vw;
  }
}
#obiWrap .soldout {
	position: relative;
	display: inline-block;
	color: rgba(255,255,255,.6)
}
#obiWrap .soldout:after {
	content: '成約御礼';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	font-size: .4rem;
	border: solid 4px red;
	background: #fff;
	z-index: 1;
	padding: 0 .25em 0 .252em;
	letter-spacing: .02em;
	color: red;
	font-weight: bold;
}
@media screen and (max-width: 750px){
	#obiWrap .soldout {
		margin-top: .2em;
	}
}

.kengaku>a:hover {
  opacity: .8;
}

.kengaku img {
  width: 86%;
  margin-top: .3rem;
}

@media screen and (max-width: 750px) {
  .kengaku img {
    width: 100%;
    margin-bottom: .8rem;
    margin-top: 0;
  }
}

.meritImg {
  margin: .3rem auto -2.2rem;
  pointer-events: none;
}

@media screen and (max-width: 750px) {
  .meritImg {
    margin: 0 0 6.6vw -4.66vw;
  }
}

.info,
.info_closed {
  text-align: center;
  margin: 0.3em 0 1.5em;
}

.info .title {
  font-size: .6rem;
  letter-spacing: .08em;
}

.info_closed .title {
  font-size: .55rem;
  letter-spacing: .08em;
}

.info p,
.info_closed p {
  font-size: .48rem;
  color: #1eac74;
  font-weight: bold;
  margin: .5em 0 1.2em;
}

.info_closed p {
  color: #1a1a1a;
}

.info_closed .title,
.info_closed p {
  font-size: .33rem;
}

@media screen and (max-width: 750px) {

  .info,
  .info_closed {
    margin: 2.5em 0 3em;
  }

  .info p {
    font-size: .42rem;
    margin: .5em 0 0;
  }

  .info_closed .title,
  .info_closed p {
    font-size: .3rem;
  }
}

.information {
  text-align: center;
}

.info-ttl {
  font-size: .5rem;
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: .2rem;
}

@media screen and (max-width: 750px) {
  .info-ttl {
    margin-bottom: .4rem;
  }
}

.info-text {
  margin-top: .3rem;
  font-size: .35rem;
  text-align: left;
}

@media screen and (max-width: 750px) {
  .info-text {
    letter-spacing: -.01em;
  }
}

.info-text span {
  color: #FF0000;
}

.info-text2 {
  font-size: .35rem;
  text-align: left;
}

.info-text3 {
  font-size: .35rem;
  margin-bottom: .4rem;
  text-align: right;
}

.info-text4 {
  margin-top: .3rem;
  font-size: .35rem;
  text-align: center;
}

.bnrArea {
  max-width: 1000px;
  margin: 0 auto 1.5rem;
}

@media screen and (max-width: 750px) {
  .bnrArea {
    width: 78.66vw;
    margin-bottom: 10.66vw;
  }
}

.bnrArea .bnr {
  display: block;
}

.bnrArea .bnr:hover {
  opacity: .8;
}

.bnrArea .bnr:nth-child(n+2) {
  margin-top: .5rem;
}

.inductions {
  margin: 0 auto 1.66rem;
  max-width: 837px;
}

.inductions>a {
  display: block;
}

.inductions>a:nth-child(n+2) {
  margin-top: .5rem;
}

.inductions>a:hover {
  opacity: .8;
}

@media screen and (max-width: 750px) {
  .inductions {
    margin-bottom: 9.33vw;
  }
}

section.news {
  margin-bottom: 2.5rem;
}

.news-inner {
  max-width: 17rem;
  margin: 0 auto;
}

.news-content {
  text-align: center;
  /* background: #fff; */
  padding: 2px;
  background: linear-gradient(to right, #1c8cbf, #1eac74);
}

.news-border {
  background: #fff;
  /* テキストの上下余白 */
  padding: .9rem .5rem .5rem;
}

.news-bold {
  font-size: .6rem;
  font-weight: bold;
  letter-spacing: .03em;
  line-height: 1.51786;
  background: -webkit-linear-gradient(0deg, #1c8cbf, #1eac74);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.news-text {
  font-size: .37rem;
  letter-spacing: .03em;
  margin-top: .34rem;
  font-weight: bold;
  background: -webkit-linear-gradient(0deg, #1c8cbf, #1eac74);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sctConcept .block1 {
  position: relative;
  padding: 1rem 0 3.03rem;
}

.sctConcept .block1:before {
  content: '';
  display: block;
  position: absolute;
  top: -2.5rem;
  left: 0;
  width: 100%;
  bottom: -5px;
  pointer-events: none;
  background: url("../imgs/v2-leaf-l.png") left top/5.46rem no-repeat, url("../imgs/v2-leaf-r.png") right top/3.73rem no-repeat, url("../imgs/v2-people.png") center bottom/18.23rem no-repeat;
}

@media screen and (max-width: 750px) {
  .sctConcept .block1:before {
    content: none;
  }

  .sctConcept .block1 {
    background: url("../imgs/v2-concept-bg-sp.png") bottom/100% no-repeat;
    position: relative;
    z-index: 1;
    margin: 0 -5vw -1vw;
  }
}

.sctConcept h2 {
  width: 13.25rem;
  margin: 0 auto .6rem;
}

@media screen and (max-width: 750px) {
  .sctConcept h2 {
    width: 62.13vw;
    margin-bottom: 5.4vw;
  }
}

.sctConcept .lead {
  font-size: .3rem;
  line-height: 1.86;
  font-weight: 500;
  position: relative;
  margin-bottom: 0.8rem;
}

@media screen and (max-width: 750px) {
  .sctConcept .lead {
    font-size: 3.46vw;
  }
}

.sctConcept .movieBg {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  overflow: hidden;
  background: url("../imgs/v2-bg-grn.png");
  padding: 1.6rem 0 1.2rem;
}

@media screen and (max-width: 1200px) {
  .sctConcept .movieBg {
    margin-left: -.5rem;
    margin-right: -.5rem;
    width: auto;
  }
}

@media screen and (max-width: 1200px) {
  .sctConcept .movieBg {
    padding-top: 10.66vw;
    padding-bottom: 10.66vw;
  }
}

.sctConcept .movieWrap {
  position: relative;
}

.sctConcept .movieArea {
  position: relative;
  max-width: 830px;
  margin: 0 auto;
}

@media screen and (max-width: 750px) {
  .sctConcept .movieArea {
    width: 85.33vw;
  }
}

.sctConcept .movieArea .ttl {
  position: absolute;
  display: inline-block;
  width: 22px;
  top: 0;
  left: -48px;
}

@media screen and (max-width: 750px) {
  .sctConcept .movieArea .ttl {
    width: 2.26vw;
    left: -3.86vw;
  }
}

.sctConcept .video {
  position: relative;
  left: 0;
  top: 0;
  margin: 0 auto;
}

.sctConcept .movieBg .video {
  width: 100%;
  padding-bottom: 56.26%;
  margin-bottom: .6rem;
}

.sctConcept .block1 .video {
  width: 16.6rem;
  padding-bottom: 35.9%;
}

@media screen and (max-width: 750px) {
  .sctConcept .block1 .video {
    width: 85.33vw;
    padding-bottom: 48%;
  }
}

.sctConcept .block1 h3 {
  color: #FFFFFF;
  background-color: #1caa7a;
  font-size: .4rem;
  padding: 0.2rem 0;
  width: 16.6rem;
  margin: 0 auto;
}

@media screen and (max-width: 750px) {
  .sctConcept .block1 h3 {
    width: 85.33vw;
    font-size: 3.46vw;
  }
}

.sctConcept iframe {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  top: 0;
}

.sctConcept .btn {
  background: #fff url("../imgs/v2-arrow-grn.svg") right .4rem center/.4rem no-repeat;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 6rem;
  height: 1.2rem;
  border-radius: .6rem;
}

@media screen and (max-width: 750px) {
  .sctConcept .btn {
    width: 61.33vw;
    height: 12vw;
  }
}

.sctConcept .btn:hover {
  opacity: .8;
}

.sctConcept .btn img {
  width: 1.75rem;
}

@media screen and (max-width: 750px) {
  .sctConcept .btn img {
    width: 18.66vw;
  }
}

.pageNav {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 1060px;
  margin: 0 auto 1.4rem;
  padding-top: 2.5rem;
}

@media screen and (max-width: 750px) {
  .pageNav {
    display: block;
  }
}

.pageNav li {
  width: calc(50% - .6rem);
  margin-bottom: 1.2rem;
  text-align: left;
}

@media screen and (max-width: 750px) {
  .pageNav li {
    width: auto;
    margin-bottom: 10.66vw;
  }
}

.pageNav .img {
  display: block;
  padding-bottom: 75.2%;
  position: relative;
}

.pageNav .img:hover {
  opacity: .8;
}

.pageNav .img figure {
  width: 100%;
  height: auto;
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
}

.pageNav figucaption {
  position: absolute;
  right: 0;
  top: 0;
  font-size: .24rem;
  font-weight: 500;
  background: rgba(255, 255, 255, .8);
  padding: .5em .5em;
}

.pageNav figucaption.bgGreen {
  background: rgba(15, 147, 15, .8);
  color: #fff;
}

.pageNav figucaption.bgAqua {
  background: rgba(175, 213, 240, .8);
}

.pageNav .txt {
  font-size: .34rem;
  line-height: 1.76;
  font-weight: 700;
  margin-bottom: .5rem;
  margin-left: 5%;
}

.pageNav .btn {
  display: inline-block;
  width: 5rem;
  margin-left: 5%;
}

.pageNav .btn:hover {
  opacity: .8;
}

.fNote {
  text-align: left;
}

@media all and (-ms-high-contrast: none) {

  /* IE10,11用 */
  .news-bold,
  .news-text,
  .taxi-service-ttl {
    color: #1eac74;
  }
}

.text-strong {
  font-size: .56rem;
  color: #e60101;
  font-weight: bold;
  background: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentcolor;
}

.news-link {
  display: inline-block;
  margin-top: .54rem;
}

.information {
  max-width: 17rem;
  margin: 0 auto;
  padding: 1rem 0 0;
}

@media screen and (max-width: 750px) {
  .news-border {
    padding: .9rem .3rem .5rem;
  }

  .information {
    padding-right: 5.33333vw;
    padding-left: 5.33333vw;
  }

  .campaign_text {
    font-size: .6rem;
  }

  .campaign_body {
    flex-direction: column;
    align-items: center;
  }

  .campaign_body .modelhouse,
  .campaign_body .present {
    width: 94%;
  }

  .campaign_body .modelhouse .title,
  .campaign_body .present .title {
    margin-bottom: .4rem;
  }

  .campaign_body .modelhouse .image,
  .campaign_body .present .image {
    margin-bottom: .5rem;
  }

  .campaign_body .modelhouse .annotation,
  .campaign_body .present .annotation {
    padding-top: .2rem;
  }

  .campaign_body .and {
    margin: .6rem 0;
  }

  .reserve_box h2 {
    display: block;
    text-align: center;
  }

  .reserve_box h2 span {
    margin: 0 0 .2rem;
    display: block;
  }

  .reserve_box .lead p {
    text-align: left;
  }

  .reserve_box ul.flex {
    display: block;
  }

  .reserve_box ul.flex>li+li {
    margin-top: 0.4rem;
  }

  .reserve_box .vac_txt p {
    font-size: .45rem;
  }
}

.information-ttl {
  margin-top: .94rem;
  font-weight: normal;
  font-size: .6rem;
  text-align: center;
}

.information-text {
  font-size: .22rem;
  padding-top: .34rem;
  padding-bottom: .34rem;
  border-top: 1px solid #c5c4c1;
  border-bottom: 1px solid #c5c4c1;
}

@media screen and (max-width: 750px) {
  .news-inner {
    /*padding-right: 5.33333vw;
    padding-left: 5.33333vw;*/
  }
}

/* ========================================================================== */
.interview-bnr {
  position: relative;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  z-index: 0;
}

@media (min-width:751px),
print {
  .interview-bnr {
    margin: 1rem -.4rem .5rem;
  }
}

@media screen and (max-width: 750px) {
  .interview-bnr {
    margin: 1rem -.2rem .2rem;
  }
}

.interview-bnr span {
  display: block;
}

.interview-bnr::before {
  background-image: url(../common/imgs/bg01.png);
  content: '';
  display: block;
  width: 95%;
  height: 96%;
  position: absolute;
  top: 0;
  left: 4%;
  background-repeat: repeat;
  background-position: 0 0 / .06em auto repeat;
  -webkit-transform: translate(.1rem, .1rem);
  transform: translate(.1rem, .1rem);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  -webkit-transform: translate(0, .15rem);
  transform: translate(0, .15rem);
  border-radius: .15rem;
  z-index: -1;
}

/*
*/
/*.interview-bnr:hover.bgL::before {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}
*/
@media (min-width:751px),
print {
  .interview-bnr:hover {
    -webkit-transform: translate(.15rem, .15rem);
    transform: translate(.15rem, 0.15rem);
  }

  .interview-bnr:hover::before {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    transition: transform .3s;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    opacity: 0;
  }
}

@media screen and (max-width: 750px) {
  .interview-bnr:hover {
    -webkit-transform: translate(.1rem, .1rem);
    transform: translate(.1rem, .1rem);
    background-size: .8vw auto;
    -webkit-transform: none;
    transform: none;
  }
}

/* ========================================================================== */
.emergency {
  color: #000 !important;
  font-weight: normal !important;
}

.spOnly {
  display: none;
}

@media screen and (max-width: 750px) {
  .emergency {
    font-size: 3.6vw !important;
    color: #000 !important;
    font-weight: normal !important;
  }

  .spOnly {
    display: block;
  }
}

/* for IE 11 */
@media all and (-ms-high-contrast: none) {
  #photo {
    height: 57vw;
  }
}

/* for Microsoft Edge */
@supports (-ms-ime-align:auto) {
  #photo {
    height: 57vw;
  }
}

@media screen and (min-width: 751px) {
  .itotBanner {
    float: left;
    margin-left: 8.5%;
  }

  .supBanner {
    max-width: 9.6rem;
    /*float: right;
    margin-right: 8.5%;*/
    margin: 0 auto;
  }

  .newBanner {
    padding: 1.5rem 0 0 0;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 750px) {
  .supBanner {
    margin-top: 3%;
  }

  .newBanner {
    padding: 15.4vw 0 0;
  }
}

#overlay {
  position: fixed;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  display: none;
}

.sup_modal {
  position: fixed;
  z-index: 10000;
  border-radius: .35em;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  width: 11.65em;
  background: #fff;
  visibility: hidden;
}

.sup_modal img {
  width: auto;
  max-width: auto;
}

.sup_modal p {
  font-size: 15px;
  padding: 3.5em 1.5em 1.5em;
}

.sup_modal .slide {
  position: relative;
}

.sup_modal .sup_close {
  position: absolute;
  right: 0;
  bottom: -2em;
  width: 1.2em;
  cursor: pointer;
}

@media screen and (max-width: 750px) {
  .sup_modal {
    border-radius: .8em;
    width: 80%;
    font-size: 7vw;
  }

  .sup_modal p {
    font-size: 2.8vw;
  }
}

.sup_modal .bx-pager {
  position: absolute;
  bottom: -.7em;
  width: 100%;
  text-align: center;
}

.sup_modal .bx-pager a {
  display: inline-block;
  vertical-align: bottom;
  color: transparent;
  width: .2em;
  height: .2em;
  background: #e3e3e3;
  border-radius: 50%;
}

.sup_modal .bx-pager a:hover {
  background: #1c8cbf;
}

.sup_modal .bx-pager a.active {
  background: #1c8cbf;
}

.sup_modal .bx-pager-item {
  display: inline-block;
  padding: 0 .1em;
}

/* add css only */
.txt__76 {
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  text-align: center;
}

.txt__76 .txt__bgwhite {
  padding: .2em;
  background: #fff;
  color: #1c5dbf;
}

.txt__76 .txt__shadow {
  text-shadow: 0px 0px #0d408d, 1px 1px #0d408d, 2px 2px #0d408d, 3px 3px #0d408d, 4px 4px #0d408d;
}

.txt__76 .txt__modelhouse {
  font-size: 130%;
  font-weight: 900;
  background-image: linear-gradient(135deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
  -webkit-background-clip: text;
  color: transparent;
}

@media screen and (max-width: 750px) {
  .txt__76 {
    font-size: .5rem;
  }
}

.obi02inner {
  padding: 0 0 .2rem;
  max-width: 28.8rem;
  margin: 0 auto;
}

.obi-left {
  width: 20rem;
  display: inline-block;
  padding-right: 15px;
  margin-right: 0;
  position: relative;
}

a.obi-right {
  width: 4.8rem;
  display: inline-block;
  position: absolute;
  height: 100%;
  box-sizing: border-box;
  top: 0;
}

@media screen and (max-width: 750px) {
  .obi02inner {
    /* padding: 20px 0;   */
    padding: .3rem .5rem;
  }

  .obi02 .box {
    left: 0;
  }

  a.obi-left {
    width: 100%;
    position: static;
    margin-right: 0;
    padding: 0;
    border: none;
  }

  a.obi-left img {
    width: 70%;
  }

  a.obi-right {
    width: 3.1rem;
    display: inline-block;
    position: static;
    /* margin-top: 20px; */
  }
}

.taxi-service-ttl {
  font-size: .5rem;
  background: -webkit-linear-gradient(0deg, #1c8cbf, #1eac74);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.taxi-text {
  font-size: .3rem;
  font-weight: bold;
  width: 90%;
  border-top: 1px solid #c5c4c1;
  margin: 10px auto 0;
  padding-top: 10px;
  line-height: 2;
}

.taxi-sm {
  margin-top: .1rem;
  font-size: .29rem;
}

.taxi-map-text {
  font-size: .3rem;
  font-weight: bold;
  margin-top: .5rem;
}

.taxy-btn {
  display: block;
  width: 6rem;
  margin: 0 auto;
}

.taxy-btn span {
  margin: .4rem auto 0;
  cursor: pointer;
}

#taxy_mdl {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 10000;
  display: none;
}

#taxy_mdl .taxy_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1rem;
}

#taxy_mdl .taxy_body .taxy_img {
  width: 40%;
}

#taxy_mdl .taxy_body #close {
  color: #fff;
  width: 70px;
  height: 70px;
  font-size: 20px;
  text-align: center;
  margin-top: .2rem;
  cursor: pointer;
  position: relative;
}

#taxy_mdl .taxy_body #close::before,
#taxy_mdl .taxy_body #close::after {
  content: '';
  background: #fff;
  width: 50px;
  height: 1px;
  top: 25px;
  position: absolute;
}

#taxy_mdl .taxy_body #close::before {
  left: 10px;
  transform: rotate(45deg);
}

#taxy_mdl .taxy_body #close::after {
  right: 10px;
  transform: rotate(-45deg);
}

#taxy_mdl .taxy_body #close p {
  padding-top: 50px;
  font-size: .3rem;
  text-align: center;
}

@media screen and (max-width: 750px) {
  .taxy-btn {
    width: 73.33333vw;
  }

  #taxy_mdl .taxy_body {
    padding-top: 1rem;
  }

  #taxy_mdl .taxy_body .taxy_img {
    width: 90%;
  }
}

@media screen and (min-width: 1441px) {
  #taxy_mdl .taxy_body .taxy_img {
    width: 26%;
  }
}

.corona-virus-ttl {
  font-size: .5rem;
  background: -webkit-linear-gradient(0deg, #1c8cbf, #1eac74);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.corona-virus-ttl br {
  display: none;
}

.corona-text {
  font-size: .3rem;
  border-top: 1px solid #c5c4c1;
  margin: 10px 5%;
  padding: 10px 2rem 0;
  line-height: 2;
  text-align: left;
}

.corona-btn {
  display: block;
  width: 9rem;
  margin: 0 auto;
  cursor: pointer;
}

#corona_mdl {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 10000;
  display: none;
}

#corona_mdl .corona_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1rem;
}

#corona_mdl .corona_body .corona_img {
  width: 45%;
}

#corona_mdl .corona_body #close2 {
  color: #fff;
  width: 70px;
  height: 70px;
  font-size: 20px;
  text-align: center;
  margin-top: .2rem;
  cursor: pointer;
  position: relative;
}

#corona_mdl .corona_body #close2::before,
#corona_mdl .corona_body #close2::after {
  content: '';
  background: #fff;
  width: 50px;
  height: 1px;
  top: 25px;
  position: absolute;
}

#corona_mdl .corona_body #close2::before {
  left: 10px;
  transform: rotate(45deg);
}

#corona_mdl .corona_body #close2::after {
  right: 10px;
  transform: rotate(-45deg);
}

#corona_mdl .corona_body #close2 p {
  padding-top: 50px;
  font-size: .3rem;
  text-align: center;
}

@media screen and (max-width: 750px) {
  .corona-virus-ttl br {
    display: block;
  }

  .corona-btn {
    width: 73.33333vw;
  }

  #corona_mdl .corona_body {
    padding-top: 1rem;
  }

  #corona_mdl .corona_body .corona_img {
    width: 90%;
  }

  .corona-text {
    padding: 10px 0 0;
  }

  #corona_btn.btn02 span {
    padding: 3vw 0;
    line-height: 5vw;
  }
}

@media screen and (min-width: 1441px) {
  #corona_mdl .corona_body .corona_img {
    width: 45%;
  }
}

/* Edge12〜14 */
@supports (-ms-ime-align: auto) and (not (-webkit-text-stroke: initial)) {
  a.obi-right {
    right: -5.3rem;
  }
}

@supports (-ms-ime-align: auto) and (not (-ms-accelerator: true)) and (not (-webkit-text-stroke: initial)) {
  a.obi-right {
    right: -5.3rem;
  }
}

/* Edge15+ */
@supports (-ms-ime-align: auto) and (-webkit-text-stroke: initial) {
  a.obi-right {
    right: -5.3rem;
  }
}

.campaign_ttl {
  font-size: .5rem;
  font-weight: bold;
  background: -webkit-linear-gradient(0deg, #1c8cbf, #1eac74);
  text-align: left;
  color: #FFFFFF;
  padding: .15rem;
  margin: .4rem 0 .3rem;
}

.period_txt {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  margin-bottom: 0.4rem;
}

.period_txt dt {
  border: 0.05rem solid #1a1a1a;
  padding: .05rem .2rem 0 .2rem;
  font-size: 0.35rem;
  margin-right: 0.2rem;
}

.period_txt dd {
  font-size: .45rem;
}

.campaign {
  position: relative;
}

.campaign .captainstag_logo {
  margin: 0 auto .25rem;
  width: 2.5rem;
}

.campaign .sub_ttl {
  font-weight: bold;
  font-size: .5rem;
  margin: .5rem 0 .6rem;
  text-align: center;
}

.campaign .sub_ttl span {
  position: relative;
  display: inline-block;
  margin-top: .1rem;
}

.campaign .sub_ttl span:after {
  width: 100%;
  height: 0.05rem;
  display: block;
  background: -webkit-linear-gradient(0deg, #1c8cbf, #1eac74);
  content: "";
}

.campaign .itemBx,
.campaign .present_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.campaign .itemBx {
  justify-content: flex-start;
  position: relative;
}

.campaign .itemBx>li {
  flex-basis: 30%;
}

.campaign .itemBx>li+li:before {
  content: "or";
  font-size: 0.4rem;
  width: 1.2rem;
  height: 1em;
  position: absolute;
  top: 0rem;
  bottom: 0rem;
  left: 4.8rem;
  text-align: center;
  margin: auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}

.campaign .itemBx>li span.img,
.campaign .itemBx>li span.name {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.campaign .itemBx>li span.img img {
  width: auto;
  height: auto;
}

.campaign .itemBx>li span.name {
  font-size: .34rem;
  color: #1eac74;
  line-height: 1.2;
  font-weight: bold;
}

.campaign .itemBx>li span.name .sml {
  font-size: 65%;
}

.campaign .icon_txt {
  font-weight: bold;
  color: #FFFFFF;
  background: -webkit-linear-gradient(0deg, #1c8cbf, #1eac74);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .55rem;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 2.5rem;
  right: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.campaign .detail_txt {
  font-size: .25rem;
  text-align: left;
}

.campaign .present_list>li {
  flex-basis: 48%;
  margin-bottom: 0.3rem;
}

.campaign .present_list .logo {
  margin: 0 0 .2rem;
  text-align: center;
  font-weight: bold;
  font-size: .35rem;
  color: #0056a8;
}

.campaign .present_list .logo img {
  width: 35%;
  display: block;
  margin: 0 auto;
}

.campaign .present_list .img {
  margin-bottom: 0.3rem;
  position: relative;
}

.campaign .present_list .img .add_txt {
  position: absolute;
  right: 0.1rem;
  bottom: 0.1rem;
  font-size: .25rem;
  color: #FFFFFF;
}

.campaign .present_list .name {
  font-size: 0.4rem;
  font-weight: bold;
}

.campaign .present_list .caution {
  font-size: 0.3rem;
}

@media screen and (min-width: 751px) {
  .campaign .itemBx>li {
    border-radius: 50%;
    border: 0.05rem solid #1eac74;
    height: 4.8rem;
    overflow: hidden;
  }

  .campaign .itemBx>li.item__winter {
    display: flex;
    align-items: center;
    margin-left: 1rem;
    border-radius: 0;
    border: none;
    overflow: visible;
    flex-basis: 70%;
  }

  .campaign .itemBx>li.item__winter img {
    width: 40%;
    height: 3.3rem;
    object-fit: cover;
  }

  .campaign .itemBx>li.item__winter h4 {
    font-size: .35rem;
    margin-left: .5em;
    text-align: left;
  }

  .txt__spajapo {
    color: #5a82b7;
  }

  .campaign .itemBx>li.item__winter h4 .txt__ticket {
    display: block;
  }

  .campaign .itemBx>li+li {
    margin-left: 7%;
  }

  .campaign .itemBx>li span.img {
    margin: .2rem auto 0;
    height: 2.6rem;
  }

  .campaign .itemBx>li span.img img {
    max-height: 2.6rem;
  }
}

@media screen and (max-width: 750px) {
  .campaign .sub_ttl {
    font-size: .45rem;
  }

  .campaign .itemBx {
    margin-bottom: .2rem;
  }

  .campaign .itemBx>li {
    flex-basis: 46%;
  }

  .campaign .itemBx>li.item__winter {
    flex-basis: 85%;
    margin-left: auto;
    margin-right: auto;
  }

  .txt__spajapo {
    color: #5a82b7;
  }

  .campaign .itemBx>li.item__winter .txt__ticket {
    display: block;
  }

  .campaign .itemBx>li+li {
    margin-left: 8%;
  }

  .campaign .itemBx>li+li:before {
    bottom: auto;
    top: 1.7rem;
    width: .7rem;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
  }

  .campaign .itemBx>li span.img {
    margin: 0 0 .2rem;
    border: 0.05rem solid #1eac74;
    border-radius: 50%;
    height: 3.6rem;
    overflow: hidden;
  }

  .campaign .itemBx>li span.img img {
    max-height: 3rem;
    max-width: 3rem;
  }

  .campaign .icon_txt {
    font-size: .3rem;
    /*width: 1.5rem;
    height: 1.5rem;*/
    width: 80%;
    height: auto;
    margin: 0 auto 2em;
    padding: .2rem;
    line-height: 1.3;
    top: 0rem;
    right: 0rem;
    position: static;
  }

  item__winter .campaign .itemBx>li span.name {
    font-size: 0.34rem;
  }

  .campaign .present_list {
    display: block;
  }

  .campaign .present_list>li {
    margin-bottom: 0.5rem;
  }
}

.miniBnrWrap {
  margin-bottom: 1rem;
}

.miniBnrWrap a {
  display: inline-block;
  margin-bottom: .5rem;
}

.miniBnrWrap a:hover {
  opacity: .8;
}

.modal01content {
  margin: -30px;
}

/*obi__reservation*/
.obi__reservation {
  margin-bottom: .5rem;
  color: #53c298;
  font-size: .8rem;
  font-weight: 700;
}

.obi__reservation .obi__reservation__inner {
  color: #019c63;
  font-size: 125%;
}

.obi__reservation a {
  position: relative;
  padding-right: 30px;
  display: inline-block;
  transform: opacity .4s;
}

.obi__reservation a:hover {
  opacity: .7;
}

.obi__reservation a::before,
.obi__reservation a::after {
  content: "";
  display: block;
  position: absolute;
}

.obi__reservation a::before {
  border-right: 2px solid #019c63;
  border-top: 2px solid #019c63;
  transform: rotate(45deg);
  width: 12px;
  height: 12px;
  right: 0;
  top: 50%;
  margin-top: -6px;
}

.obi__reservation a::after {
  width: 20px;
  border-bottom: 2px solid #019c63;
  right: 0;
  top: 50%;
}

@media screen and (max-width: 750px) {
  .obi__reservation {
    margin-bottom: .7rem;
    font-size: .5rem;
  }

  .obi__reservation .obi__reservation__inner {
    display: block;
  }
}

.summer {
  font-size: 0.35rem;
  margin: 0.5rem 0 0.8rem;
  
}

.summer .ttl{
  font-weight: bold;
}

@media screen and (max-width: 750px) {
  .summer {
    font-size: 3.5vw;
  }
}

/* スライド */
.btSideFloatLeft {
  position: absolute;
  display: flex; justify-content: center;
  left: 0; right: 0; top:87%; bottom:0; margin-left: auto; margin-right: auto;
  @media screen and (max-width: 750px) {
    top:80dvh;
  }
  > .bgOblique {
    &:first-child {
      margin-right: .1rem;
    }
    &:last-child {
      margin-left: .1rem;
    }
    > a {
      width:8rem; height: auto; padding-top: .2rem; padding-bottom: .2rem;
      @media screen and (max-width: 750px) {
        width:4.7rem;
      }
    }
    &::before {
      height: 1.85rem;
    }
  }
}
.btMenu {
  bottom: .4rem;
}

.slide {
  position: relative;
  height: 70dvh;
  margin: 0;
  padding: 0;
  @media screen and (min-width: 751px) {
    height: 100vh;
  }
  @media screen and (max-width: 750px) {
  margin-top: 16vw; height: auto;
  }
}
.slide .item {
  position: relative;
  height: 100%; line-height: 1;
  @media screen and (max-width: 750px) {
    margin-bottom: -3px;
  }
  > .caption,
  > .caption__right {
    position: absolute; bottom: 0.25rem; color:#fff; font-size: .2rem;
    @media screen and (max-width: 750px) {
      bottom:.3rem;
    }
  }

  &.item__first {
     > .caption {
      left: .3rem;
     }
     > .caption__right {
      right: .3rem;
      /* @media screen and (max-width: 750px) {
        display: none;
      } */
     }
  }

  &.item__second {
    > .caption {
      right:.3rem;
    }
  }

}
.slide .item::before {
  display: block;
  content: "";
}
.slide .item .image {
  position: relative;
  overflow: hidden;
}
.slide .item img {
  width: 100%; height: 100%; object-fit: cover; line-height: 1; vertical-align: middle;
  @media screen and (max-width: 750px) {
    height: auto; object-fit: contain;
  }
}
.slide > .slick-list,
.slide > .slick-list > .slick-track,
.slide > .slick-list > .slick-track > .slick-slide > div {
  position: relative;
  height: 100%;
}

.slick-slide { 
  @media screen and (max-width: 750px) {
  line-height: 1;
  }
 }


 /* 完売御礼 */
.thanks__sold {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 65%;
  padding: 1em;
  background-color: rgba(0,0,0,0.8);
  color:#fff;
  text-align: center;
  @media screen and (max-width: 750px) {
    padding: 2em;
  }
  .thanks__sold__ttl {
    margin-bottom: .6em;
    font-size: 90%;
    @media screen and (max-width: 750px) {
      font-size: 250%;
    }
  }
  .thanks__sold__text {
    font-size: 35%;
    line-height: 1.5;
    @media screen and (max-width: 750px) {
      font-size: 100%;
    }
  }
}

 #footer {
  .block01 {
    padding-top: 60px;
    padding-bottom: 60px;
    @media screen and (max-width: 750px) {
      background-position: center 35px, 50% 0;
    }
    .wrap {
      @media screen and (max-width: 750px) {
        margin-top: 100px;
      }
    }
  }
 }


