@charset "UTF-8";
/*----------------------------------------------------
	楽天パーツ
----------------------------------------------------*/
#htlRmSrch {
  top: 1810px;
  left: 0px; }

#upfrntPlans {
  top: 1640px;
  left: 0px; }

#htlSide-A #latest_cstm_review {
  top: 1840px !important;
  left: 0px; }

#htlSide-A .module-history-domsearch {
  top: 2500px !important;
  left: 0px; }

/*header
----------------------------------------------------*/
#header {
	height: 919px;
}
#h_logo {
    top: 50px;
    left: 50px;
    width: 250px;
}
.mv_slider {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  top: 0;
  left: 0;
}
 .mv_slider iframe {
    width: 100%;
    height: 919px;
    position: relative;
    z-index: 0;
}


/*concept
----------------------------------------------------*/
.menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 100px;
}
.menu_item a {
    display: block;
    position: relative;
    overflow: hidden;
}
.menu_item a:after {
    inset: 0;
    content: '';
    position: absolute;
    background: rgba(0, 0, 0, .6);
    transition: opacity .3s ease-in-out;
}
.menu_item a:hover:after {
		opacity: 0;
	}
.menu_item a img {
  transition: 0;
}
.menu-item_ttl {
    inset: 0;
    position: absolute;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 25px 0;
}
.menu-item_ttl-en, .menu-item_ttl-ja {
    display: block;
    color: #fff;
    line-height: 1;
}
.menu-item_ttl-ja {
    font-size: 2.4rem;
}
.menu-item_ttl-en {
    font-size: 1.0rem;
}
.concept_inner {
    padding: 190px 0;
    position: relative;
    z-index: 1;
}
.concept_catch {
    position: absolute;
    top: 190px;
    left: 155px;
    font-size: 2.25rem;
    letter-spacing: .2em;
    line-height: 2;
    writing-mode: vertical-rl;
}
.concept_cont {
    width: calc(100% - 450px);
    margin: 85px 0 100px auto;
    padding-right: 160px;
}
.p-tp-concept__txt:not(:nth-last-of-type(1)) {
    margin-bottom: 40px;
}
.c-recs {
    padding-block: 200px;
    position: relative;
}
.c-sec-ttl {
    margin-bottom: 80px;
    text-align: center;
}
.c-sec-ttl:before {
    width: 30px;
    height: 1px;
    margin: 0 auto 40px;
    content: '';
    display: block;
    background: #8e1515;
}
.c-sec-ttl--ja {
    margin-bottom: 20px;
    font-size: 2.5rem;
    font-weigth: 400;
}
.c-recs__plan {
    margin-bottom: 80px;
    display: flex;
    justify-content: center;
    gap: 0 20px;
    position: relative;
}
.c-recs-plan__item {
    width: calc((100% - 20px) / 3);
}
.c-recs-plan-item__img {
    width: 100%;
    aspect-ratio: 4 / 3;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
}
.c-recs-plan-item__ttl {
    margin-bottom: 20px;
    font-size: 1.125rem;
    line-height: 1.8;
}
.c-recs-plan-item__txt {
    margin-bottom: 40px;
    line-height: 1.8;
}
.c-recs-plan__item a:hover .c-recs-plan-item__links:after {
		transform: scale(1, 1);
  transform-origin: left top;
}
.c-recs-plan-item__links {
    padding-bottom: 10px;
    position: relative;
    line-height: 1;
    border-bottom: 1px solid #cfcfcf;
}
.c-recs-plan-item__links:before {
    width: 10px;
    height: 10px;
    top: 4px;
    right: 2px;
    background: url("../images/plan_arrow.png") no-repeat 0 0;
    position: absolute;
    content: "";
}
.c-recs-plan-item__links:after {
    width: 100%;
    height: 1px;
    bottom: -1px;
    left: 0;
    background: #8e1515;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .2s;
    position: absolute;
    content: "";
}
.c-recs-plan__item a {
    height: 100%;
    display: block;
}
.p-tp-access {
    display: flex;
    position: relative;
}
.p-tp-sec-access__map {
    width: 73%;
}
.p-tp-access__cont {
    width: 27%;
    padding-bottom: 150px;
    padding-inline: 5%;
}
.p-tp-access__ttl {
    margin-bottom: 70px;
    text-align: left;
}
.c-sec-ttl:before {
    width: 30px;
    height: 1px;
    margin: 0 auto 40px;
    content: '';
    display: block;
    background: #8e1515;
    left: 0;
}
.c-sec-ttl--ja, .c-sec-ttl--en {
    display: block;
    line-height: 1;
}
.c-sec-ttl--ja {
    font-size: 2.5rem;
    font-weight: 400;
}
.p-tp-access__info {
    margin-bottom: 80px;
}
.p-tp-access-info__add {
    margin-bottom: 40px;
    font-size: 1.125rem;
    line-height: 1.6;
}
.p-tp-access__info dl:nth-of-type(1) {
    margin-bottom: 30px;
}
.p-tp-access__info dl dt {
    margin-bottom: 15px;
    line-height: 1;
}
.p-tp-access__info dl dd {
    font-size: 0.9rem;
    line-height: 1.5;
}