@charset "UTF-8";
/* CSS Document */
#plan h1 {
  color: #0089b3;
}

#plan h3 .brown {
  color: #736357;
}

#plan .section1 {
  position: relative;
  padding: 2em 0;
}

#plan .section1:before, #plan .section1:after {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  position: absolute;
  left: 0;
  background: #f8bd00;
  background: linear-gradient(90deg, #f8bd00 0%, #e18030 100%);
  filter: progid:DXImageTransform.Microsoft.Gradient(Enabled=1, GradientType=0, StartColorStr=#FFF8BD00, EndColorStr=#FFE18030);
}

#plan .section1:before {
  top: 0;
}

#plan .section1:after {
  bottom: 0;
}

#plan .section1 h5 {
  color: #534741;
}

#plan .section1 .red {
  color: #C30D23;
}

#plan .section1 .box {
  max-width: 500px;
  margin: 0 auto;
  display: block;
  padding: 1em 0 0 0;
  text-align: center;
}

#plan .section1 .box p {
  color: #595757;
  width: 100%;
}

#plan .section1 .box p:nth-of-type(2) {
  width: 100%;
  margin: 0.5em auto 0;
}

@media screen and (min-width: 640px), print {
  #plan .section1 .box {
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    padding: 1em 0 0 0;
  }
  #plan .section1 .box p {
    text-align: left;
    color: #595757;
    width: 70%;
  }
  #plan .section1 .box p:nth-of-type(2) {
    width: 30%;
    max-width: 142px;
    text-align: center;
    margin: 0;
  }
}
#plan .section1 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  color: #ec881e;
}

#plan .section1 ul li {
  background: #f8bd00;
  background: linear-gradient(90deg, #f8bd00 0%, #e18030 100%);
  filter: progid:DXImageTransform.Microsoft.Gradient(Enabled=1, GradientType=0, StartColorStr=#FFF8BD00, EndColorStr=#FFE18030);
  padding: 2px;
  margin: 1em;
  font-size: 16px;
  line-height: 1.75em;
  text-align: center;
  width: 10em;
  height: 10em;
  border-radius: 50%;
}

@media screen and (min-width: 640px), print {
  #plan .section1 ul li {
    font-size: 20px;
  }
}
@media screen and (min-width: 1280px), print {
  #plan .section1 ul li {
    font-size: 24px;
  }
}
#plan .section1 ul div {
  background-color: #fff;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.section2 .inner {
  overflow: hidden;
  max-width: 960px;
}

.section2 .left {
  margin: 0 0 2em;
  position: relative;
}

.section2 .left .last_img {
  width: 65%;
  margin: 0 auto 2em;
}

.section2 .left span.last_banner {
  position: relative;
  /* background: #ff0000; */
  background: #E17724;
  color: #fff;
  /*outline: 3px solid #ff0000;
  outline-offset: -3px;*/
  display: block;
  text-align: center;
  padding: 5px 5px;
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: bold;
}

.section2 .left span.last_banner sub {
  font-size: 75%;
  vertical-align: middle;
}

@media screen and (min-width: 640px), print {
  .section2 .left span.last_banner {
    padding: 5px 5px;
    font-size: 18px;
  }
}
.section2 .typeA_md {
  max-width: 1400px;
  margin: 150px auto 0;
  position: relative;
}

.section2 .typeA_md .left_text {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 38%;
  margin: 20px;
}

.section2 .typeA_md .right_text {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 11px;
  padding: 5px;
  color: #fff;
}

@media screen and (max-width: 640px), print {
  .section2 .typeA_md {
    margin: 50px auto 0;
  }
  .section2 .typeA_md .left_text {
    width: 50%;
    margin: 10px;
  }
  .section2 .typeA_md .right_text {
    font-size: 10px;
    padding: 2px;
  }
}
#plan .section2 ul {
  margin: 1em auto;
  padding: 0;
}

#plan .section2 ul.last_ul {
  margin: 2em auto 0;
}

#plan .section2 ul li {
  color: #e39616;
  font-size: 14px;
  line-height: 1.5em;
  border-bottom: 2px dashed #c1c1c1;
  padding-bottom: 0.5em;
  margin-top: 0.5em;
  text-indent: -1em;
  padding-left: 1em;
}

dl.price {
  margin: 2rem auto -1rem;
  line-height: 1.5;
}

dl.price dt, dl.price dd {
  display: inline-block;
  margin-bottom: 1rem;
  vertical-align: middle;
}

dl.price dt {
  position: relative;
  font-size: min(3.9vw, 21px);
  padding: 0.1rem 0.5rem;
  border: solid #e39616 1px;
  margin-right: 0.5rem;
  width: 3em;
  text-align: center;
}

dl.price dt.top-floor {
  padding-top: 1.2em;
}

dl.price dt.top-floor::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  content: "最上階";
  font-size: 12px;
  background: #e39616;
  color: #fff;
  width: 100%;
  padding: 0.2em 0;
}

dl.price dd {
  font-size: 32px;
  color: #0089b3;
}

dl.price dd:first-of-type::after {
  content: "～";
  padding: 0 0.5em;
}

dl.price.not-tilde dd:first-of-type::after {
  content: "";
  padding: 0 0.5em;
}

dl.price.dot dd:first-of-type::after {
  content: "・";
  padding: 0 0.5em;
}

@media screen and (max-width: 980px), print {
  dl.price dd {
    font-size: 24px;
  }
}
@media screen and (max-width: 640px), print {
  dl.price {
    margin-bottom: 0;
  }
  dl.price dt, dl.price dd {
    margin-bottom: 0.5rem;
  }
  dl.price dt {
    width: 4em;
  }
  dl.price dd {
    font-size: 7vw;
    width: calc(100% - 4em);
  }
}
@media screen and (max-width: 479px), print {
  dl.price dt.top-floor {
    padding-top: 1.8em;
  }
}
.section2 .right .plan_note {
  margin-top: 3%;
}

.section2 .right .plan_note＿3 {
  width: 95%;
}

@media screen and (min-width: 640px), print {
  .section2 .left {
    width: 40%;
    float: left;
    margin: 0;
  }
  .section2 .right {
    width: 55%;
    float: right;
  }
  .section2 .right .plan_note {
    width: 90%;
    margin: 5% auto 0;
  }
  .section2 .right .plan_note＿3 {
    width: 88%;
  }
  #plan .section2 ul {
    margin: 2em auto;
    padding: 0;
  }
  #plan .section2 ul li {
    font-size: 16px;
  }
}
@media screen and (min-width: 1280px), print {
  #plan .section2 ul li {
    font-size: 18px;
  }
}
#plan .section2 a {
  color: #666666;
  font-weight: 600;
  border: 1px solid #666666;
  display: block;
  margin: 10em auto 0;
  padding: 1em;
  width: 16em;
  text-align: center;
}

#plan .list p {
  position: relative;
}

#plan .list p span {
  position: absolute;
  top: -2.45em;
  right: 0px;
  background: #ff0000;
  color: #fff;
  display: block;
  text-align: center;
  padding: 0 3px;
  font-size: 10px;
}

@media screen and (min-width: 640px), print {
  #plan .list p span {
    padding: 2px 5px;
    font-size: 12px;
  }
}
#plan .list p span.last_banner {
  position: absolute;
  top: 25%;
  right: 3%;
  bottom: auto;
  left: auto;
  background: #ff0000;
  color: #fff;
  /*outline: 2px solid #ff0000;
  outline-offset: -2px;*/
  display: block;
  text-align: center;
  padding: 0 5px;
  font-size: 12px;
}

@media screen and (min-width: 640px), print {
  #plan .list p span.last_banner {
    padding: 2px 5px;
    font-size: 13px;
  }
}
/* トリカゴ */
.cage {
  width: 100%;
  max-width: 740px;
  margin: 5px auto 0;
  padding: 2px;
  position: sticky;
  top: 6%;
}

.c_txt {
  text-align: center;
  color: #004380;
  font-weight: 500;
  font-size: 1rem;
  position: relative;
  margin-bottom: 25px;
}

.c_txt::before {
  content: "";
  display: inline-block;
  transform: rotate(45deg);
  width: 37px;
  border-top: 2px solid #004380;
  position: absolute;
  left: 11%;
  top: 50%;
}

.c_txt::after {
  content: "";
  display: inline-block;
  transform: rotate(135deg);
  width: 37px;
  border-top: 2px solid #004380;
  position: absolute;
  right: 11%;
  top: 50%;
}

@media screen and (max-width: 640px), print {
  .c_txt {
    font-size: 4vw;
  }
  .c_txt::before {
    width: 30px;
    left: 1%;
    top: 50%;
  }
  .c_txt::after {
    width: 30px;
    right: 1%;
    top: 50%;
  }
}
.cage_in {
  width: 100%;
  display: flex;
  background: #FFF;
}

.cage_in div {
  display: block;
  width: 9.0909090909%;
}

.cage_a {
  width: 100%;
  display: inline-block;
  border-top: solid 1px #000;
}

span.b_r {
  display: inline-block;
  border-right: solid 2px #000;
}

.b_t {
  border-top: none;
  border-bottom: solid 1px #000;
}

.cage_a_in {
  display: block;
  text-align: center;
  width: 100%;
  padding: 5px 0;
  background: rgba(227, 130, 44, 0.1);
  border: 1px solid #000;
}

.cage_a_in.dis {
  background: #fff;
  pointer-events: none;
}

.cage_a.dis {
  pointer-events: none;
  color: #AAD7FF;
}

.cage_a.dis .cage_a_in {
  background: #FFF;
}

/* .cage_a:hover .cage_a_in {
  background: rgba(227, 130, 44, 0.7);
  color: #fff;
} */
.cage_a_floor {
  margin-right: 5px;
}

.cage_a_floor_in {
  display: block;
  text-align: center;
  padding: 5.5px 0;
  color: #004380;
  border-top: solid 1px #004380;
}

.b_b {
  border-bottom: solid 1px #004380;
}

.b_bb {
  border-bottom: solid 2px #000;
}

.b_bb {
  border-bottom: solid 2px #000;
}

.b_r {
  display: inline-block;
  border-right: solid 1px #000;
}

.b_l {
  display: inline-block;
  border-left: solid 1px #000;
}

.b_ll {
  display: inline-block;
  border-left: solid 2px #000;
}

#plan .en, #plan .kan, #plan .bike, #plan .com, #plan .bike_2 {
  position: relative;
}
#plan .en::after {
  content: "";
  display: inline-block;
  background: url(../images/plan/en.svg) no-repeat;
  width: 39px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#plan .kan::after {
  content: "";
  display: inline-block;
  background: url(../images/plan/kan.svg) no-repeat;
  width: 44px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#plan .bike::after {
  content: "";
  display: inline-block;
  background: url(../images/plan/bike.svg) no-repeat;
  width: 39px;
  height: 23px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#plan .com::after {
  content: "";
  display: inline-block;
  background: url(../images/plan/com.svg) no-repeat;
  width: 38px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#plan .bike_2::after {
  content: "";
  display: inline-block;
  background: url(../images/plan/bike_2.svg) no-repeat;
  width: 40px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 640px), print {
  #plan .en::after {
    width: 7.7vw;
    height: 4vw;
  }
  #plan .kan::after {
    width: 8.4vw;
    height: 2vw;
  }
  #plan .bike::after {
    width: 7.4vw;
    height: 4vw;
  }
  #plan .com::after {
    width: 7.4vw;
    height: 3.8vw;
  }
  #plan .bike_2::after {
    width: 7.7vw;
    height: 2vw;
  }
}

.plan_btn {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 2%;
}

.plan_btn .plan_flex {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.plan_list li {
  float: left;
  margin-right: 10%;
  margin-left: 13%;
  width: 32%;
  margin-bottom: 3%;
}

.plan_list li:nth-child(2) {
  margin-right: 0%;
  margin-left: 0%;
}

.plan_list li img {
  width: 100%;
}

.plan_flex {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  position: relative;
  min-height: 730px;
  margin: -92px 0 0 0;
  min-height: 800px;
}

.plan_flex_le {
  width: 50%;
  max-width: 500px;
  /* position: fixed; */
  top: 0;
  padding: 92px 0 0 0;
}

.plan_flex_le_rela {
  margin: 0 0 30px 0;
  position: relative;
}

.plan_flex_le_rela img:not(:first-child) {
  position: absolute;
  top: 0px;
  transition: 0.5s;
  opacity: 0;
}

.plan_flex_ri {
  width: 42%;
  /* margin:0 0  0 580px; */
  padding: 92px 0 0 0;
}

.accbox {
  margin: 0 0 2em 0;
  padding: 0;
  width: 100%;
}

.plan_bnr {
  width: 100%;
  margin: 0 0% 0 0;
}

.plan_bnr img {
  width: 100%;
  max-width: 460px;
}

/*ラベル*/
.accbox label {
  display: block;
  margin: 1.5px 0;
  padding: 6px 20px;
  color: #fff;
  background: #E09715;
  cursor: pointer;
  transition: all 0.5s;
  font-size: 24px;
  letter-spacing: 2px;
  position: relative;
}

.accbox label:after {
  content: "";
  position: absolute;
  right: 19px;
  top: 16px;
  z-index: 1;
  width: 15px;
  height: 15px;
  margin: auto;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
}

/*アイコンを入れ替える*/
.cssacc:checked + label:after {
  content: "";
  position: absolute;
  right: 15px;
  top: 12px;
  z-index: 1;
  width: 15px;
  height: 15px;
  margin: auto;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  transform: rotate(45deg);
}

.accbox .label_act:after {
  content: "";
  position: absolute;
  right: 15px;
  top: 12px;
  z-index: 1;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 20px solid #fff;
}

.cssacc:checked + .label_act:after {
  content: "";
  position: absolute;
  right: 19px;
  top: 10px;
  z-index: 1;
  width: 15px;
  height: 15px;
  margin: auto;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  border-left: none;
  transform: rotate(45deg);
}

/*ラベルホバー時*/
.accbox label:hover {
  opacity: 0.8;
}

/*チェックは隠す*/
.accbox input {
  display: none;
}

/*中身を非表示にしておく*/
.accbox .accshow {
  height: 0;
  padding: 0;
  opacity: 0;
  transition: 0.8s;
}

.accbox .accshow_act {
  height: auto;
  padding: 5px;
  opacity: 1;
}

.accbox .accshow_act a {
  position: relative;
}

.accbox .accshow_act a .new_cap {
  position: absolute;
  top: 0;
  right: 0;
  line-height: 1;
  background: red;
  color: #fff;
  padding: 0.2em 0.3em;
  font-size: 16px;
}

.accbox .accshow_act a .last_img {
  position: absolute;
  top: -2%;
  left: -5%;
  width: 18%;
}

@media screen and (max-width: 640px) {
  .accbox .accshow_act a .last_img {
    left: -4%;
  }
}
/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
  height: auto;
  padding: 5px;
  background: #fff;
  opacity: 1;
}

.cssacc:checked + label + .accshow_act {
  height: 0;
  padding: 0;
  opacity: 0;
}

.accshow a:hover {
  opacity: 0.8;
}

.accbox .accshow img {
  width: 100%;
}

.accbox .accshow p {
  margin: 15px 10px;
}

.accbox .accshow_act a {
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
  position: relative;
  margin: 2% 0;
}

.accbox .accshow_act .menu_plan_wrap {
  border: 3px solid #c95c36;
  margin-bottom: 5px;
  position: relative;
}

.menu_plan_wrap img.plan_btn_img {
  width: 90%;
}

@media screen and (max-width: 640px), print {
  .plan_btn .plan_flex {
    width: 100%;
    flex-direction: column;
  }
  .plan_flex_le {
    width: 100%;
    position: relative;
    margin: auto;
  }
  .plan_flex_ri {
    width: 100%;
    margin: unset;
    padding: 92px 0 0 0;
  }
}
.sp_on {
  display: none;
}

@media screen and (max-width: 640px) {
  .sp_on {
    display: block;
  }
  .sp_off {
    display: none;
  }
}
/* cap */
.foto_cap {
  font-size: 12px;
  display: block;
}

/* 扉ページリニューアル */
.re-inner {
  padding: 4rem 1rem 2rem;
}

.re-inner h2 {
  color: #DB8E16;
}

.re-plan-box {
  background: #e2822f;
  padding: 1.5rem 2rem 0;
  width: 90%;
  max-width: 520px;
  margin: auto;
}

.container {
  width: calc(100% - 1rem);
  max-width: 1280px;
  margin: min(4vw, 4rem) auto min(6vw, 6rem);
}

.container {
  display: grid;
  grid-auto-flow: row dense;
  grid-template-columns: 28% 39% 28%;
  grid-template-rows: 1fr 1fr;
  gap: 2.5% 2.5%;
  grid-template-areas: "block1 image block3" "block2 image block4";
}

.block1 {
  grid-area: block1;
}

.block2 {
  grid-area: block2;
}

.block3 {
  grid-area: block3;
}

.block4 {
  grid-area: block4;
}

.image {
  grid-area: image;
}

@media screen and (max-width: 640px) {
  .container {
    display: grid;
    grid-auto-flow: row dense;
    grid-template-columns: auto auto;
    grid-template-rows: 1fr auto 30rem;
    gap: 2.5% 5%;
    grid-template-areas: "image image" "block1 block3" "block2 block4";
  }
  .block1 {
    grid-area: block1;
  }
  .block2 {
    grid-area: block2;
  }
  .block3 {
    grid-area: block3;
  }
  .block4 {
    grid-area: block4;
  }
  .image {
    grid-area: image;
  }
}
.block1 dt, .block2 dt, .block3 dt, .block4 dt {
  font-size: min(3.6svw, 18px);
  color: #DB8E16;
  margin-bottom: min(1vw, 1rem);
  font-weight: bold;
  padding-left: 2.3em;
  text-indent: -2.3em;
}

.block1 dt.no1::before, .block2 dt.no2::before, .block3 dt.no3::before, .block4 dt.no4::before {
  content: "";
  color: #fff;
  background: #DB8E16;
  border-radius: 50%;
  padding: 0.1em 0.6em;
  margin-right: 0.5em;
}

.block1 dt.no1::before {
  content: "1";
}

.block2 dt.no2::before {
  content: "2";
}

.block3 dt.no3::before {
  content: "3";
}

.block4 dt.no4::before {
  content: "4";
}

.block1 dd, .block2 dd, .block3 dd, .block4 dd {
  font-size: min(3.2svw, 16px);
}

.block1 dd p, .block2 dd p, .block3 dd p, .block4 dd p {
  position: relative;
  margin: 1rem auto 0;
}

.block1 dd p img, .block2 dd p img, .block3 dd p img, .block4 dd p img {
  position: relative;
}

.block1 dd p span, .block2 dd p span, .block3 dd p span, .block4 dd p span {
  position: absolute;
  right: 0.5em;
  bottom: 0.1em;
  font-size: min(2svw, 10px);
  color: #fff;
}

.block1 dd div.flex p {
  width: 46%;
}/*# sourceMappingURL=plan.css.map */