charset "utf-8";


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

  “FARNEST KADAIMAE”

 -----------------------------------------
  common.css
 -----------------------------------------

  1.リセット

  2.共通パーツ

  3.フレームワーク
  
  4.コンテンツ

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

/* 1.リセット
////////////////////////////////////////// */
*{
    margin: 0;
    padding: 0;
    }

html{
    height: 100%;
    font-size: 1px;
    line-height: 24px;
    overflow: auto;
    }
@media print, screen and (min-width: 768px) {/*PC*/
html{
    font-size: 1px;
    line-height: 26px;
    min-width: 1050px;
    }
}

body{
    margin: 0;
    padding: 0;
    font-family: "TsukuMinPr6N-LB", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-size: 13rem;
    letter-spacing: 0.25rem;
    text-align: justify;
    word-break: break-all; 
    text-justify: nter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
    color: #333333;
    background-color: #ffffff;
    -webkit-text-size-adjust: 100%;
    }
@media print, screen and (min-width: 768px) {/*PC*/
body{
    min-width: 1050px;
    letter-spacing: 0.5rem;
    }
}
@media print {/*Print*/
body{
    font-size: 13rem;
    -webkit-print-color-adjust: exact;
    zoom: 0.75;
    }
}

body main{
    width: 100vw;
    padding: 0 0 100px 0;
    overflow: hidden;
 }
body:not(#index) main{
    background-image: url(../img/common_img/bg_header_sp.jpg);
    background-position: top center;
    background-size: 440px auto;
    background-repeat: no-repeat;
}
@media print, screen and (min-width: 768px) {/*PC*/
body main{
        width: 100%;
        margin: 0 0 160px 0;
        padding: 0 0 160px 0;
        position: relative;
        top: 160px;
    }
body:not(#index) main{
    background-image: url(../img/common_img/bg_header_pc.jpg);
    background-size: 3600px auto;
    }
}

div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  vertical-align:baseline;
  background:transparent;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}

ul,dl,ol{
    list-style-type: none;
}

blockquote, q {
  quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

table {
  border-collapse:collapse;
  border-spacing:0;
}

input, select {
  vertical-align:middle;
}

a{
    margin:0;
    padding:0;
    border: 0;
    outline: 0;
    color: #333;
    vertical-align:baseline;
    background:transparent;
    text-decoration: none;
    outline:none;
    transition: color 0.15s ease-in;
    }
@media print, screen and (min-width: 768px) {/*PC*/
a:hover{
    color: #387aad;
    transition: color 0.25s ease-in;
    }
}

img{
    width: 100%;
    margin: 0;
    font-size: 0;
    line-height: 0;
    vertical-align: top;
    border: 0;
    outline: 0;
    }
@supports (-webkit-hyphens:none){/*Safari*/
img { 
    image-rendering: auto;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}
}

/*for Animation*/
h1,.title,h3.top,nav#top,nav#global,.dir,main>article{
    /* opacity: 0; */
}


/* 2.共通パーツ
////////////////////////////////////////// */
@media print, screen and (min-width: 768px) {/*Tablet*/
.portrait{
    display: none !important;
    }
}
@media screen and (max-width: 896px) and (orientation: landscape) {/*Landscape*/
.portrait{
    display: none !important;
    }
}

@media screen and (max-width: 767px) {/*Phone*/
.tab{
    display: none !important;
    }
.pc{
    display: none !important;
    }
.sp{
    display: block !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1099px) {/*Tablet*/
.sp{
    display: none !important;
    }
.pc{
    display: none !important;
    }
.tab{
    display: block !important;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
.sp{
    display: none !important;
    }
.tab{
    display: none !important;
    }
.pc{
    display: block !important;
    }
}

body:not(#index, #design, #inner) article{
    margin: 0 23px;
}
@media print, screen and (min-width: 768px) {/*PC*/
    body:not(#index, #design, #inner) article{
    width: 1050px;
    margin: 0 auto 0;
}
}

nav#menu{
    width: 100%;
    max-width: 450px;
	margin:0 0 250px 0!important;
	position: fixed;
	overflow: auto;
    position: fixed;
    z-index: 99998;
    top: 0;
    right: 0;
    line-height: 20rem;
    background-image: linear-gradient(90deg,#7590a4, #9cbacf 60%, #e0dcd4);
    transform: translateX(100%);
    transition: all 0.6s;
}
@media print, screen and (min-width: 768px) {/*PC*/
nav#menu{
    display: none;
    }
}

nav#menu dl{
    width: 100%;
    height: 100vh;
    overflow: auto;
}

nav#menu dt{
    padding: 25px 0 10px 20px;
    font-family: "TrajanPro-Regular";
	font-size: 28rem;
    letter-spacing: 3rem;
    color: #ffffff;
    }

nav#menu dd{
	width: auto;
    margin: 0 20px 0 20px;
    background-image: url(../img/common_img/ic_arrow_line.png);
    background-size: 600px 7px;
    background-position: right 22px;
    background-repeat: no-repeat;
    display: block;
    position: relative;
    }
nav#menu dd:last-child{    
	padding: 0 0 150px 0;
	}

nav#menu dd.active ul::before{
    content: "　";
    width: 20px;
    height: 10px;
    position: absolute;
    top: 17px;
    left: 0;
    right: 0;
    margin: auto;
    background-image: url(../img/common_img/ic_tri_up.png);
    transition: background-image 0.5s;
    background-size: 20px 10px;
    background-position: center 0;
    background-repeat: no-repeat;
}
    
nav#menu dd a{
    padding: 8px 0 0 0;
    font-family: "TsukuGoPr5N-D";
    /* color: #548e8c; */
    color: #ffffff;
    font-size: 15rem;
    line-height: 20rem;
    letter-spacing: 1rem;
    display: block;
    background-size: 22px;
    background-repeat: no-repeat;
    }
nav#menu dd:nth-child(7)>a{/*NEWマーク*/
    /* background-image: url(../img/common_img/ic_new.png);
    background-position: 66px 4px; */
}


nav#menu dd span{
    margin: 1px 0 0 0;
    display: block;
    font-family: "TrajanPro-Regular";
    font-size: 11rem;
    transform: scale(0.8);
    transform-origin: top left;
    color: rgba( 255, 255, 255, 0.40 );
}

nav#menu dd ul {
    margin: 0 0 24px 0;
    flex-wrap: wrap;
    height: 0;
    display: none;
}

nav#menu dd ul li{
    width: calc(60% - 16px);
    margin: 0px 0 6px 0;
    padding: 0 0 0 14px;
    background-image: url(../img/common_img/ic_circle.png);
    background-size: 12px 12px;
    background-position: 0 13px;
    background-repeat: no-repeat;
    letter-spacing: -0.1rem;
    line-height: 14rem;
}
nav#menu dd:nth-child(8) li:first-child{
    width: 100%;
}

nav#menu dd ul li:nth-child(2n){
    width: calc(40% - 12px);
}

nav#menu dd ul li a{
    letter-spacing: 0.5rem;
    white-space: nowrap;
}
nav#menu dd ul li:nth-of-type(7) a,
nav#menu dd ul li:nth-of-type(8) a{
    letter-spacing: 10rem;
}

/* このクラスを、jQueryで付与・削除する */
nav#menu.active{
    transform: translateY(0%);
}

/* ハンバーガーメニュー展開時、背面を固定 */
body.fix{
    position: fixed;
    left: 0;
    right: 0;
}

.down{
    display: block;
    width: 46px;
    height: 46px;
    cursor: pointer;
    text-align: center;
    border-radius: 0 0 3px 3px;
    position: relative;
}

@media print, screen and (min-width: 768px) {/*PC*/
.down{
    display: none;
    }
}

.down span{
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 30px;
    margin: auto;
    border-bottom: solid 4px #ffffff;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 0;
    right: 0;
}

.down span:nth-child(1){
    top: 8px;
}

.down span:nth-child(2){
    top: 16px;
}

.down span:nth-child(3){
    top: 24px;
}

.down span:nth-child(4){
    border: none;
    top: 33px;
}

.down span:nth-child(4) img{
	width: 30px;
	height:8px;
}

.down.active{
    /*position: fixed;
    filter: brightness(200%);
    background-color: rgba( 255, 255, 255, 0.3 ) !important;*/
    /*filter: brightness(999%);
    opacity: 0.75;*/
}

/* 最初のspanをマイナス45度に */
.down.active span:nth-child(1){
    top: 16px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-bottom: solid 3px #ffffff;
}

/* 2番目と3番目のspanを45度に */
.down.active span:nth-child(2),
.down.active span:nth-child(3){
    top: 16px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    border-bottom: solid 3px #ffffff;
}

.down img.close{
    opacity: 0;
}

.down.active img.open{
    opacity: 0;
}
.down.active img.close{
    opacity: 1;
}

nav#phone{
    width: 100%;
    height: 60px;
    padding: 0 0 4px 0;
    position: fixed;
    bottom: 0;
    z-index: 99999;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-image: url(../img/common_img/bg_nav_phone.png);
    background-size: 100%;
}
@media print, screen and (min-width: 768px) {/*PC*/
nav#phone{
    display: none;
    }
}

nav#phone a{
    width: 20%;
    display: block;
    text-align: center;
    line-height: 0;
}

nav#phone img{
    width: 55px;
    height: 55px;
}

nav#phone .down img{
    width: auto;
    height: 10px;
    margin: auto;
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 0;
    transition: all 300ms 0s ease-in;
}

nav#top{
    display: none;
}
@media print, screen and (min-width: 768px) {/*PC*/
nav#top{
    position: absolute;
    top: 26px;
    right: 60px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

nav#top ul.sub li{
    text-align: right;
}

nav#top ul.sub a{
    margin: 8px 2px 8px 0;
    padding: 1px 12px 0 0;
    font-size: 13rem;
    line-height: 13rem;
    letter-spacing: 1rem;
    text-align: right;
    white-space: nowrap;
    background-image: url(../img/common_img/ic_arrow.png);
    background-size: auto 8px;
	background-position: right 4px;
    background-repeat: no-repeat;
    transition: all 200ms 0s ease;
    display: block;
}
}


nav#top ul.sub a:hover{
    color: #333333;
    opacity: 0.4;
    transition: all 300ms 0s ease;
}

nav#top ul.btn{
    display: flex;
    margin: 0;
}

nav#top ul.btn a{
     width: 244px;
     height: 28px;
     margin: 0 0 0 8px;
     padding: 8px 6px;
     letter-spacing: 4rem;
     text-align: right;
     color: #ffffff;
     box-shadow: 0 0 5px rgba( 0, 0, 0, 0.3 );
     display: block;
}
nav#top ul.btn li:has(+ .hide) a{/*来場予約非表示時*/
    width: 300px;
}

nav#top ul.btn a span{
    margin: 0 0 0 6px;
    padding: 0 0 4px 0;
    font-family: "TrajanPro-Regular";
    font-size: 9rem;
    line-height: 9rem;
    letter-spacing: 0;
    text-align: left;
    color: rgba(255, 255, 255, 0.5);
    background-image: url(../img/common_img/hr_bt_pc.png);
    background-size: 113px 1px;
    background-position: 0 bottom;
    background-repeat: no-repeat;
    display: block;
}

nav#top ul.btn a strong{
    margin: -8px 8px 0 0;
    font-size: 17rem;
    line-height: 17rem;
    font-weight: normal;
    display: block;
}

nav#top a.request{
    background-image: url(../img/common_img/bg_bt_tri.png),linear-gradient(90deg, #789bbb, #6386a7 30%, #4e7294);
    background-size: 12px 12px,100% 100%;
    background-position: calc(100% - 3px) calc(100% - 3px),0 0;
    background-repeat: no-repeat;
    transition: all 500ms 0s ease;
    
}
nav#top a.request:hover{
    box-shadow: 0 0 8px rgba( 0, 0, 0, 0.3 );
    filter: saturate(110%) contrast(140%);
    transition: all 250ms 0s ease;
}

nav#top a.reserve{
    background-image: url(../img/common_img/bg_bt_tri.png),linear-gradient(90deg, #bba580, #b0976d 30%, #a68a5b);
    background-size: 12px 12px,100% 100%;
    background-position: 241px 29px,0 0;
    background-repeat: no-repeat;
    transition: all 500ms 0s ease;
}
nav#top a.reserve:hover{
    box-shadow: 0 0 8px rgba( 0, 0, 0, 0.3 );
    filter: saturate(80%) contrast(140%);
    transition: all 250ms 0s ease;
}

nav#global{
    display: none;
}
@media print, screen and (min-width: 768px) {/*PC*/
nav#global{
    display: block;
    width: 100%;
    position: absolute;
    top: 116px;
    z-index: 999;
    /* background-color: rgba( 255, 255, 255, 0.85 ); */

}
nav.navi_fix{
    height: 42px;
    padding: 6px 0 0 0;
    position: fixed !important;
    top: 0 !important;
    background-color: rgba( 255, 255, 255, 0.75 );
    background-size: 100% 100%;
    background-repeat: no-repeat;
}
}

@media print, screen and (min-width: 768px) {/*PC*/
nav#global>ul{
    width: calc(100% - 120px);
    min-width: 1050px;
    margin: 0 auto 0;
    display: flex;
    justify-content: space-between;

}

nav#global>ul>li{
    width: calc(100% / 9);
    height: 36px;
    overflow: visible;
    border-left: dotted 1px #cccccc;
    position: relative;
}
nav#global>ul>li:last-child{
    border-right: dotted 1px #cccccc;
}


nav#global>ul>li:nth-child(8)::before {/*NEWマーク*/
    /* content: '';
    width: 20px;
    height: 12px;
    display: block;
    background-image: url(../img/common_img/ic_new.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -1px;
    right: 3px; */
} 


#index nav#global>ul>li:nth-child(1)::after,
#concept nav#global>ul>li:nth-child(2)::after,
#design nav#global>ul>li:nth-child(3)::after,
#location nav#global>ul>li:nth-child(4)::after,
#landplan nav#global>ul>li:nth-child(5)::after,
#inner nav#global>ul>li:nth-child(6)::after,
#roomtype nav#global>ul>li:nth-child(7)::after,
#roomplan nav#global>ul>li:nth-child(7)::after,
#equipment nav#global>ul>li:nth-child(8)::after{
    content: '';
    height: 8px;
    margin: 0 -1px 0 0;
    background-image: url(../img/common_img/hr_nav_select.jpg);
    background-size: 100% 4px;
    background-repeat: no-repeat;
    background-position: 0 bottom;
    display: block;
}

nav#global>ul>li>a{
    height: 16px;
    padding: 15px 0 5px 0;
    display: block;
    text-align: center;
    position: relative;
    font-family: "TrajanPro-Regular";
    font-size: 14rem;
    line-height: 14rem;
    letter-spacing: 0;
    color: #666666;
    transition: all 300ms 0s ease;
}

nav#global>ul>li>a:hover{
    color: #588096;
    transform: scale(1.05) translateY(12%);
    transition: all 300ms 0s ease;
}

nav#global>ul>li>a::before{
    content: '';
    margin: auto;
	position: absolute;
	left: 0%;
    right: 0;
	top: 12px;
	width: 10px;
	border-top: solid 1px #ffffff;/*開始時*/
	transition: all 300ms 0s ease;
}
nav#global>ul>li:not(.hide)>a:hover::before{
    content: '';
	top: 11px;
	width: 60%;/*下線横幅設定*/
	transform: translateX(0%);
    /* border-image: linear-gradient(90deg, #ffffff, #588096 30%, #588096 70%, #ffffff) 1; */
    border-image: linear-gradient(90deg, #97b3c8, #97b3c8 50%, #dad0c1) 1;
	transition: all 300ms 0s ease;
}

nav#global>ul>li>a small {
  display: flex;
  overflow: hidden;
  height: 15px;
  margin: auto;
  line-height: 15rem;
  font-size: 10rem;
  color: #588096;
  justify-content: center;
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
}

nav#global>ul>li>a small span {
  display: block;
  transform: translate(0, -100%);
  transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  /*transition: opacity 0.5s 0s ease;*/
  opacity: 0;
}

nav#global li:not(.hide) a:hover small span {
  transform: translate(0, 0);
  opacity: 1;
}

nav#global a:hover small span:nth-child(2) {
  transition-delay: 0.08s;
}
nav#global a:hover small span:nth-child(3) {
  transition-delay: 0.16s;
}
nav#global a:hover small span:nth-child(4) {
  transition-delay: 0.24s;
}
nav#global a:hover small span:nth-child(5) {
  transition-delay: 0.32s;
}
nav#global a:hover small span:nth-child(6) {
  transition-delay: 0.40s;
}
nav#global a:hover small span:nth-child(7) {
  transition-delay: 0.48s;
}
nav#global a:hover small span:nth-child(8) {
  transition-delay: 0.56s;
}
}

/*サブメニュー*/
nav#global div{
    display: none;
}
@media print, screen and (min-width: 768px) {/*PC*/
nav#global div{
    display: block;
    text-align: right;
    overflow: hidden;
    /*background-color: rgba(24, 82, 140, 0.5);サブメニュー背景色*/
    background-image: url(../img/common_img/bg_globalnav.png);/*サブメニュー背景画像*/
    background-position: 0 6px;
    background-repeat: repeat-x;
    position: absolute;
    top: 42px;
    left: 0;
    right: 0;
    z-index: 999;
    width: 100%;
}
nav#global div{
    height: 0;
    padding: 0 0 0 12px;
    transition: all 0.25s;
    opacity: 0.5;
}
nav#global div.active{
    /*height: 0;サブメニュー非表示*/
    height: 40px;
    transition: all 0.5s;
    opacity: 0.9;z-index: 99999;
}
}

@media print, screen and (min-width: 768px) {/*PC*/
nav#global div.side ul{
    margin: 0 50px 0 0;
    display: inline-flex;
}
nav#global div.side2 ul{
    margin: 0 calc((100% - 120px) / 9 + 60px - (216px - 100% / 9) / 2) 0 0;
    /*(1)左右余白を引いた値をボタン数で割り右余白分を追加してボタンと右揃えにする (2)さらにサブメニュー幅とボタン幅の差分を2で割り右側だけの差を算出、それを(1)から引いて中央揃えにする */
    /*(120px:左右余白合計値 216px:サブメニュー幅 9:ボタン数)*/
    display: inline-flex;
}
}

@media print, screen and (min-width: 768px) {/*PC*/
nav#global div li a{
    width: auto;
    height: 24px;
    margin: 0 18px 0 0;
    padding: 16px 12px 0 0;/*サブメニュー余白*/
    font-size: 13rem;
    line-height: 13rem;
    color: #ffffff;
    background-image: url(../img/common_img/ic_arrow_wh.png);
    background-size: 10px 10px;
    background-position: right 18px;
    background-repeat: no-repeat;
    display: block;
}
}
@media print, screen and (min-width: 768px) {/*PC*/
nav#global div li a:hover{
    color: #79d0f0;
}
}

@media print, screen and (min-width: 768px) {/*PC*/
    nav#global div.side li:nth-child(7) a::first-letter,
    nav#global div.side li:nth-child(8) a::first-letter{
        letter-spacing: 15rem;
    }
}

.title{
    width: 100%;
    min-height: 110px;
    padding: 0 0 55px 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-content: flex-start;
}
@media print, screen and (min-width: 768px) {/*PC*/
.title{
    min-height: 140px;
    padding: 0 0 90px 0;
}
}

.title h2{
    margin: 35px 0 15px 0;
    font-size: 15rem;
    line-height: 15rem;
    font-weight: normal;
    letter-spacing: 0.5rem;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
.title h2{
    margin: 10px 0 10px 0;
    font-size: 18rem;
    line-height: 18rem;
}
}

.title h2 span{
    font-family: "TrajanPro-Regular";
    font-size: 41rem;
    line-height: 61rem;
    letter-spacing: 0rem;
    background: linear-gradient(90deg, #588096 0%, #c3b6a5 80%, #b2ab92 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
.title h2 span{
    font-size: 61rem;
    line-height: 81rem;
    letter-spacing: 0rem;
    text-align: center;
}
}

.title h2::first-letter{
    margin: 0 0 0 4px;
}
@media print, screen and (min-width: 768px) {/*PC*/
.title h2::first-letter{
    margin: 0 0 0 6px;
}
}

.title p{
    width: 100%;
    font-size: 15rem;
    line-height: 23rem;
    text-align: center;
    opacity: 1 !important;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    .title p{
        font-size: 18rem;
        line-height: 28rem;
        letter-spacing: 1rem;
    }
}

ol.dir{
    display: none;
}
@media print, screen and (min-width: 768px) {/*PC*/
    ol.dir{
        width: calc(100% - 120px);
        height: 25px;
        padding: 8px 60px 0;
        display: flex;
        font-size: 11rem;
        line-height: 11rem;
        color: #666666;
        position: relative;
        z-index: 99999;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
ol.dir li a::after{
    content: "＞";
    margin: 0 6px;
}
}

@media print, screen and (min-width: 768px) {/*PC*/
    .inquiry{
        width: 770px;
        margin: auto;
        padding: 0;
        display: flex;
        justify-content: space-between;
        /*来場予約非表示*/
        justify-content: center;
    }
}

.inquiry a{
    height: 62px;
    margin: 0 23px 14px;
    padding: 8px 0 0;
    letter-spacing: 4rem;
    color: #ffffff;
    display: block;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    box-shadow: 0 0 5px rgba( 0, 0, 0, 0.3 );
    transition: all 500ms 0s ease;
}
@media print, screen and (min-width: 768px) {/*PC*/
    .inquiry a{
        width: 334px;
        height: 60px;
        padding: 0 18px;
        margin: 0 14px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-size: 16px 16px,100% 100%;
        background-position: calc(100% - 3px) calc(100% - 3px),0 0;
    }
    .inquiry li:has(+ .hide) a{/*来場予約非表示時*/
        width: 420px;
    }
}

.inquiry a.request{
    background-image: linear-gradient(90deg, #789bbb, #6386a7 30%, #4e7294);
}
.inquiry a.reserve{
    background-image: linear-gradient(90deg, #bba580, #b0976d 30%, #a68a5b);
}
@media print, screen and (min-width: 768px) {/*PC*/
    .inquiry a.request{
    background-image: url(../img/common_img/bg_bt_tri.png),linear-gradient(90deg, #789bbb, #6386a7 30%, #4e7294);
    }
    .inquiry a.reserve{
        background-image: url(../img/common_img/bg_bt_tri.png),linear-gradient(90deg, #bba580, #b0976d 30%, #a68a5b);
    }
}

.inquiry a.request:hover{
    box-shadow: 0 0 12px rgba( 0, 0, 0, 0.3 );
    filter: saturate(110%) contrast(140%);
    transition: all 250ms 0s ease;
}
.inquiry a.reserve:hover{
    box-shadow: 0 0 12px rgba( 0, 0, 0, 0.3 );
    filter: saturate(80%) contrast(140%);
    transition: all 250ms 0s ease;
}

.inquiry strong{
    margin: 0 0 12px 0;
    padding: 0 0 0 8rem;
    font-size: 16rem;
    line-height: 16rem;
    font-weight: normal;
    text-align: center;
    /* background-image: url(../img/common_img/ic_arrow_wh.png);
    background-size: 11px 10px;
    background-position: right 7px;
    background-repeat: no-repeat; */
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    .inquiry strong{
        margin: 0 0 1px 0;
        }
}
.inquiry span{
    margin: 0 0 8px 0;
    padding: 0 0 5px 0;
    font-family: "TrajanPro-Regular";
    font-size: 11rem;
    line-height: 11rem;
    letter-spacing: 0.5rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    background-image: url(../img/common_img/hr_bt_sp.png);
    background-size: 300px 1px;
    background-position: center bottom;
    background-repeat: no-repeat;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    .inquiry span{
        width: 114px;
        margin: 0;
        padding: 6px 0 3px;
        text-align: left;
        background-image: url(../img/common_img/hr_bt_pc.png),url(../img/common_img/hr_bt_pc.png);
        background-size: 114px 1px;
        background-position: left top,left bottom;
    }
}

.inquiry a b{
    font-size: 22rem;
    line-height: 22rem;
    font-weight: normal;
}
@media print, screen and (min-width: 768px) {/*PC*/
    .inquiry a b{
        font-size: 20rem;
        line-height: 20rem;
    }
}

.map{
    margin: 0 -23px;
}
@media print, screen and (min-width: 768px) {/*PC*/
    .map{
        margin: 0;
        position: relative;
    }
}

.map a.gmap{
    width: calc(100% - 12px);
	height:23px;
    padding: 9px 12px 0 0;
    font-family: "TsukuGoPr5N-D";
    color: #ffffff;
    line-height: 13rem;
    text-align: right;
    background-image: url(../img/common_img/ic_arrow_gmap.png);
    background-size: auto 26px;
    background-position: 8px center;
    background-repeat: no-repeat;
    background-color: #4d4d4d;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
.map a.gmap{
    width: 350px;
    position: absolute;
    z-index: 999;
    bottom: 0;
    left: 0;
    opacity: 0.9;
    transition: all 0.15s ease-in;
}
.map a.gmap:hover{
    opacity: 1;
    transition: all 0.25s ease-in;
}
}


.img_blt::before{
    margin: 0 0 -15rem 4rem;
    content: "image";
    font-size: 10rem;
    line-height: 10rem;
	font-family: "TsukuGoPr5N-M";
    color: #333333;
    text-align: left;
    display: block;
    position: relative;
    z-index: 999;
}

.img_bl::after{
    margin: -15rem 0 5rem 4rem;
    content: "image";
    font-size: 10rem;
    line-height: 10rem;
	font-family: "TsukuGoPr5N-M";
    color: #333333;
    text-align: left;
    display: block;
}

.img_br::after{
    margin: -15rem 4rem 5rem 0;
    content: "image";
    font-size: 10rem;
    line-height: 10rem;
	font-family: "TsukuGoPr5N-M";
    color: #333333;
    text-align: right;
    display: block;
}

.img_wl::after{
    margin: -15rem 0 5rem 4rem;
    content: "image";
    font-size: 10rem;
    line-height: 10rem;
	font-family: "TsukuGoPr5N-M";
    color: #ffffff;
    text-align: left;
    display: block;
}

.img_wr::after{
    margin: -15rem 4rem 5rem 0;
    content: "image";
    font-family: "TsukuGoPr5N-M";
    font-size: 10rem;
    line-height: 10rem;
    color: #ffffff;
    text-align: right;
    display: block;
}

aside.ad{
	margin: 28px 23px;
    display: flex;
    justify-content: space-between;
}
@media print, screen and (min-width: 768px) {/*PC*/
aside.ad{
    width: 1050px;
    margin: auto;
    font-size: 12rem;
    color: #666666;
    display: flex;
    justify-content: center;
    position: absolute;
    top: -55px;
}
}

aside.ad strong{
    margin: 2px 6px 0 0;
    padding: 0 6px;
    font-family: "TsukuGoPr5N-D";
    font-size: 13rem;
    line-height: 12rem;
    font-weight: normal;
    text-align: center;
    display: flex;
    align-items: center;
    border: solid 1px #999999;
    white-space: nowrap;
}
@media print, screen and (min-width: 768px) {/*PC*/
aside.ad strong{
    margin: 0;
	padding: 4px 10px 4px 10px;
    font-size: 12rem;
    line-height: 12rem;
    white-space: nowrap;
}
}

aside.ad p{
    font-family: "TsukuGoPr5N-M";
    font-size: 11rem;
    line-height: 13rem;
    letter-spacing: -0.25rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
aside.ad p{
    margin: 0 0 0 10px;
    font-size: 12rem;
    line-height: 16rem;
}
}

aside.fade-ad strong,
aside.fade-ad p{
    opacity: 1 !important;
    transition: all cubic-bezier(0.23, 1, 0.32, 1) 2s;/*easeOutQuint*/
}

.fade-reset{
    transform: translate(0) scale(1) !important;
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 1.25s;/* easeOutCubic */
}
.fade-reset2{
    transform: translate(0) scale(1) !important;
    opacity: 1 !important;
    transition: all cubic-bezier(0.19, 1, 0.22, 1) 2s;/* easeOutExpo */
}
.fade-reset3{
    transform: translate(0) scale(1) !important;
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 3s;/* easeOutCubic */
}
.fade-reset4{
    transform: translate(0) scale(1) !important;
    opacity: 1 !important;
    transition: all cubic-bezier(0.075, 0.82, 0.165, 1) 4s;/* easeOutCirc */
}
.fade-reset5{
    transform: translate(0) scale(1) !important;
    opacity: 1 !important;
    transition: all cubic-bezier(0.19, 1, 0.22, 1) 1.5s;/* easeOutExpo */
}
.fade-reset6{
    transform: translate(0) scale(1) !important;
    opacity: 1 !important;
    transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s;/* easeOutCubic */
}


/* 3.フレームワーク
////////////////////////////////////////// */
header{
    width: 100%;
    padding: 10px 0 8px;
}

@media print, screen and (min-width: 768px) {/*PC*/
header{
    min-width: 1050px;
    padding: 0;
    height: 190px;
    position: absolute;
    top: 0;
    z-index: 99999;
    overflow: hidden;
}
}

/*ヘッダー固定時位置*/
@media print, screen and (min-width: 768px) {/*PC*/
.navi_fix{
    position: fixed !important;
    top: 0 !important;
}
}

header h1{
    width: 312px;
    margin: auto;
    padding: 0 15px 0 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
header h1{
    width: 312px;
    height: auto;
    margin: 0;
    position: absolute;
    top: 26px;
    left: 60px;
}
}

header h1 img{
    margin: auto;
    display: block;
}

@media print, screen and (min-width: 768px) {/*PC*/
	header h1 img{
		image-rendering: auto;
	}
}

 footer{
    padding: 0 0 72px 0;
}
.fade-footer{
    opacity: 1;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 2s;/*easeOutQuint*/
}
@media print, screen and (min-width: 768px) {/*PC*/
footer{
    width: 100%;
    min-width: 1100px;
    padding: 0;
    position: relative;
    clear: both;
    opacity: 1;
}
}

footer .contact{
    padding: 20px 0 36px;
    background-image: url(../img/common_img/bg_footer_sp.jpg);
    background-size: 100% 100%;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer .contact{
        padding: 26px 0 48px;
        background-image: url(../img/common_img/bg_footer_pc.jpg);
    }
}

footer h3{
    margin: 0 auto;
    font-family: "TrajanPro-Regular";
    font-size: 23rem;
    line-height: 26rem;
    font-weight: normal;
    text-align: center;
    background: linear-gradient(90deg, #588096 0%, #c3b6a5 80%, #b2ab92 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer h3{
        font-size: 28rem;
        line-height: 30rem;
    }
}

footer h3 b{
    width: 49%;
    font-size: 31rem;
    font-weight: normal;
    white-space: nowrap;
    text-align: right;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer h3 b{
        width: 100%;
        font-size: 28rem;
        text-align: center;
        color: #818c92;
    }
}

footer h3 span{
    width: 50%;
    margin: 25px 0 0 0;
    white-space: nowrap;
    text-align: left;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer h3 span{
        display: none;
    }
}

footer h3.fade-tt3{
    opacity: 1 !important;
    transition: all cubic-bezier(0.23, 1, 0.32, 1) 2s;/*easeOutQuint*/
}

footer p.invite{
    margin: 20px 0 15px;
    font-family: "TsukuMinPr6N-D";
    font-size: 13rem;
    line-height: 20rem;
    text-align: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer p.invite{
        margin: 40px auto 15px;
        font-size: 15rem;
        line-height: 24rem;
        color: #666666;
    }
}

nav#list{
    padding: 14px 0 14px;
    background-color: #f2f6f6;
}
@media print, screen and (min-width: 768px) {/*PC*/
nav#list{
    display: none;
}
}
nav.fade-list{
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 2s;/*easeOutCubic*/
}

nav#list ul{
    padding: 0 13px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    
}

nav#list li{
    width: 50%;
    height: 50px;
    margin: auto;
    font-size: 14rem;
    position: relative;
    background-image: url(../img/common_img/hr_list.png);
    background-size: 100% 1px;
    background-repeat: no-repeat;
}
nav#list li:nth-child(1),
nav#list li:nth-child(2){
    background-image: none;
}

nav#list li a{
    width: 100%;
    height: 100%;
    margin: auto;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

nav#list li.hide a{
    opacity: 0.3 !important;
    cursor: default !important;
}



footer .fade-invite{
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 2s;/*easeOutCubic*/
}

footer .gallery{
    margin: 33px 23px 0;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer .gallery{
        width: 358px;
        margin: 40px auto 0;
    }
}
footer .fade-gallery{
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 2s;/*easeOutCubic*/
}

footer .gallery h4{
    margin: 0 0 4px 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer .gallery h4{
        margin: 0 auto 10px;
        padding: 4px 20px;
        border-top: solid 2px #9e9e9e;
        border-bottom: solid 2px #9e9e9e;
        line-height: 0;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    footer .credit{
        width: 1050px;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    footer .links{
        width: 680px;
        margin: 0 auto 36px;
        display: flex;
        flex-direction: column;
    opacity: 0;/*for Animation*/
    }
}

footer .banner{
    margin: 28px 23px 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer .banner{
        margin: 0;
        opacity: 1;
    }
}

footer .banner li{
    width: calc(50% - 6px);
    margin: 0 0 12px 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer .banner li{
        width: 168px;
        margin: 0;
    }
}
footer .fade-banner{
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 2s;/*easeOutCubic*/
}


aside.line{
    margin: 0 40px;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
aside.line{
    width: 612px;
    height: 108px;
    margin: 30px 0 9px 0;
    padding: 0 34px;
    background-color: #07b43b;
    display: flex;
    justify-content: center;
    align-items: center;
    order: -1;
    opacity: 1;
}
aside.line img{
}
}
aside.fade-line{
    opacity: 1 !important;
    transition: all cubic-bezier(0.23, 1, 0.32, 1) 2s;/*easeOutQuint*/
}

p.footnote{
    margin: 16px 23px 16px;
    font-family: "TsukuGoPr5N-M";
    font-size: 11rem;
    line-height: 14rem;
    clear: both;
    display: block;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    p.footnote{
        width: 100%;
        margin: -15px 0 0 0;
        padding: 18px 0 24px;
        border-top: solid 1px #d4d9dc;
        opacity: 1 !important;
    }
}
p.fade-footnote{
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 2s;/*easeOutCubic*/
}


footer address{
    margin: 12px 23px 0;
    padding: 12px 0 0 0;
    border-top: solid 1px #cccccc;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer address{
        width: 356px;
        margin: 18px 0 0 0;
        padding: 0;
        border: none;
        order: -1;
        opacity: 0;/*for Animation*/
    }
}
footer .fade-address{
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 2s;/*easeOutCubic*/
}

footer address strong{
    font-size: 14rem;
    font-weight: normal;
    font-style: normal;
    display: block;
}

footer address a img{
    width: 266px;
    margin: 5px 0 13px;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer address a img{
        width: 256px;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    footer address>img{
        width: 337px;
    }
}

footer address .copyright{
    margin: 0 -23px 0;
    padding: 12px 23px;
    font-family: "TsukuGoPr5N-D";
    font-size: 11rem;
    line-height: 11rem;
    font-weight: normal;
    font-style: normal;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    footer address .copyright{
        margin: 8px 0 0 0;
        padding: 0;
    }
}

.note{
    font-size: 10rem;
    line-height: 14rem;
    /* display: inline-block; */
}

.link{
    height: 38px;
    margin: 0 34px;
    padding: 0 22px 0 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    background-image: url(../img/common_img/bg_bt_gr.png);
    background-size: 100% 100%;
    background-repeat: repeat-y;
}
@media print, screen and (min-width: 768px) {/*PC*/
    .link{
        width: 300px;
        height: 34px;
        margin: 0;
    }
    .link:hover{
        filter: saturate(140%);
        transition: all 250ms 0s ease;
    }
}

.link strong{
    font-family: "TsukuGoPr5N-D";
    font-size: 17rem;
    letter-spacing: 2rem;
    color: #ffffff;
}
@media print, screen and (min-width: 768px) {/*PC*/
    .link strong{
        line-height:17rem;
    }
}

.link small{
    padding: 0 15px 0 0;
    font-family: "DINNextLTPro-Condensed";
    font-size: 11rem;
    letter-spacing: 1rem;
    color: rgba( 255, 255, 255, 0.75 );
    background-image: url(../img/common_img/ic_arrow_wh.png);
    background-size: 9px 10px;
    background-position: right center;
    background-repeat: no-repeat;
}
@media print, screen and (min-width: 768px) {/*PC*/
    .link small{
        padding: 2px 15px 0 0;
    }
}

article:not(.feature) .hide{
    opacity: 0.25 !important;
    filter: grayscale(50%);
    cursor: default !important;
}

nav#phone .hide,
nav#global .hide,
nav#banner .hide,
footer .banner .hide{
    opacity: 0.2 !important;
    cursor: default !important;
}

.hide a,
a.hide{
    pointer-events: none !important;
    cursor: default !important;
}

.hide a:hover,
.hide a:hover img{
    opacity: 0 !important;
    display: none !important;
}

.btn li.hide,
.inquiry li.hide{
    position: relative;
    display: none !important;/*来場予約非表示*/
}

.btn .hide a::after,
.inquiry .hide a::after{
    content: "COMING SOON";
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    font-family: "DINNextLTPro-Condensed";
    font-size: 16rem;
    letter-spacing: 1rem;
    color: #888888;
    justify-content: center;
    place-items:center;
    align-items:center;
    text-align: center;
    z-index: 999;
    background-color: rgba( 241, 246, 245, 0.9 );
}
@media print, screen and (min-width: 768px) {/*PC*/
   .btn .hide a::after,
   .inquiry .hide a::after{
       padding:3px 0 0 0;
    }
}

footer dl .hide{
    opacity: 0.3 !important;
    cursor: default !important;
}



 /* 4.コンテンツ
////////////////////////////////////////// */
/*/// トップページ ///*/
#index #mainimg{
    height: 120vw;
    overflow: hidden;
    position: relative;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index #mainimg{
        height: 56vw;
    }
}

#index #mainimg .birdview .place{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

#index .birdview h2{
    width: 42vw;
    margin: auto;
    position: absolute;
    top: 3vw;
    left: 0;
    right: 0;
    z-index: 999;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .birdview h2{
    width: 21%;
    top: 2vw;
    left: 6vw;
    right: inherit;
    }
}

#index .birdview h2 img{
    /* position: absolute;
    top: 0;
    left: 0;
    right: 0; */
}
#index .birdview h2 .tt1,
#index .birdview h2 .tt2{
    opacity: 0;/*for Animation*/
    transform: scale(1.2);/*for Animation*/
}
#index .birdview h2 .tt3{
    opacity: 0;/*for Animation*/
    transform: translateY(15px) scale(1.0);/*for Animation*/
}

#index #mainimg .fade-main-tt{
    transform: translate(0) scale(1) !important;
    opacity: 1 !important;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 1.2s;/* easeOutCubic */
}

#index #mainimg .fade-main-tt2{
    transform: translate(0) scale(1) !important;
    opacity: 1 !important;
    transition: all cubic-bezier(0.19, 1, 0.22, 1) 3s;/* easeOutExpo */
}


#index .point{
    text-align: center;
    background-image: url(../img/index_img/bg_point_sp.png);
    background-size: auto 100%;
    background-repeat: repeat-x;
    opacity: 1 !important;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .point{
        background-image: url(../img/index_img/bg_point_pc.png);
        background-size: 3600px auto;
        background-position: center 0;
        background-repeat: repeat-y;
    }
}

#index .point h3{
    padding: 23px 13px 0;;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .point h3{
        max-width: 1200px;
        margin: auto;
        padding: 38px 0 24px;;
    }
}

#index .point ul {
    padding: 0 13px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .point ul{
        width: 1100px;
        margin: auto;
        padding: 0;
        flex-wrap: nowrap;
    }
}


#index .point ul.train{
    padding: 4px 0 10px;
}

#index .point li{
    width: 100%;
    height: 13.5vw;
    line-height: 0;
}
#index .point ul.train li{
    padding: 15px 0;
}
#index .point ul.other li{
    padding: 20px 0;
    border-top: solid 1px #b3b3b3;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .point li{
        width: auto;
        height: 63px;
    }
    #index .point ul.train li{
        padding: 0 0 44px;
    }
    #index .point ul.train li:nth-child(2){
        padding: 0 40px 44px;
    }
    #index .point ul.other li{
        padding: 0 0 36px;
        border-top: none;
    }
    #index .point ul.other li:nth-child(2){
        padding: 0 48px 36px 56px;
    }
}

#index .point li img{
    width: auto;
    height: 100%;
}

#index .action{
    margin: 35px 23px 23px;
}
#index .action img {
    width: 95%;
    margin: auto;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .action {
        margin: 65px 0 35px 0;
    }
    #index .action img {
        width: 611px;
    }
}

#index .news{
    margin: 40px 0;
    padding: 0 23px;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .news{
        width: 754px;
        min-height: 110px;
        margin: 68px auto 0;
        padding: 0 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-left: solid 1px #b3b3b3;
        border-right: solid 1px #b3b3b3;
        position: relative;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #index .news::before,
    #index .news::after,
    #index .news table::before,
    #index .news table::after{
        content: "";
        width: 9px;
    }
    #index .news::before{
        border-bottom: solid 1px #b3b3b3;
        position: absolute;
        top: 0;
        left: 0;
    }
    #index .news::after{
        border-top: solid 1px #b3b3b3;
        position: absolute;
        bottom: 0;
        left: 0;
    }
    #index .news table::before{
        border-bottom: solid 1px #b3b3b3;
        position: absolute;
        top: 0;
        right: 0;
    }
    #index .news table::after{
        border-top: solid 1px #b3b3b3;
        position: absolute;
        bottom: 0;
        right: 0;
    }
}

#index .news h3{
    margin: 0 0 10px 0;
    font-family: "TrajanPro-Regular";
    font-size: 19rem;
    font-weight: normal;
    color: #4d4d4d;
    text-align: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .news h3{
        width: 144px;
        height: 100%;
        margin: 2px 0 0 0;
        font-size: 14rem;
        line-height: 14rem;
        display: block;
    }
}

#index .news table{
    background-image: url(../img/index_img/bg_news_l.png),url(../img/index_img/bg_news_r.png);
    background-size: 61px 59px;
    background-position: left top,right bottom;
    background-repeat: no-repeat;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .news table{
        width: 610px;
        min-height: 110px;
        border-left: solid 1px #b3b3b3;
        background-image: none;
    }
}

#index .news table tbody{
    height: auto;/*スクロールバー表示時に指定*/
    padding: 19px 15px;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .news table tbody{
        height: 132px;
        padding: 0 16px;
        display: flex;
        flex-wrap: wrap;
        align-content: center;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #index .news table tr{
        margin: 4px 0;
        display: flex;
    }
}

#index .news th{
    display:block;
    font-family: "TrajanPro-Regular";
    font-weight: normal;
    font-size: 16rem;
    line-height: 15rem;
    text-align: left;
    white-space: nowrap;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .news th{
        padding: 3px 8px 0 0;
        font-size: 13rem;
    }
}

#index .news td{
    padding: 2px 0 16px 0;
    display:block;
    line-height: 18rem;
}
#index .news tr:last-child td{
    padding: 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .news td{
        font-size: 13rem;
        padding: 0;
        display: inline-block;
    }
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background-color: rgba(0, 0, 0, 0.3) !important;
}

#index .concept{
    padding: 68px 0 0;
    position: relative;
    background-image: url(../img/index_img/bg_concept_sp.png);
    background-size: auto 180px;
    background-repeat: repeat-x;
        opacity: 1 !important;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .concept{
        margin: auto;
        padding: 70px 0 0 11vw;
        display: flex;
        justify-content: center;
        background-image: none;
        opacity: 1 !important;
        transform: scale(0.9);
    }
}

#index .concept div{
        opacity: 1 !important;
    }
@media print, screen and (min-width: 768px) {/*PC*/
    #index .concept div{
        margin: 0 -95px 0 0;
        position: relative;
        z-index: 999;
    }
}

#index .concept figure{
    width: calc(100% - 64px);
    margin: 28px auto 0;
    transform: translateY(0px) scale(1.1);/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .concept figure{
        width: 760px;
        min-width: 760px;
        margin: 40px 0 0 0;
        transform: translateY(20px) scale(1.0);/*for Animation*/
    }
     
}

#index .concept h3{
    width: 162px;
    margin: auto;
    padding: 0 22px 14px 0;
    transform: scale(1.2);/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .concept h3{
        width: 408px;
        margin: 0 0 60px 0;
        padding: 0;
        transform: scale(1.1);/*for Animation*/
    }
}

#index .concept h4{
    font-size: 21rem;
    font-weight: normal;
    color: #4d4d4d;
    text-align: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .concept h4{
        width: 490px;
        margin: 0 0 0 18px;
        padding: 0 0 30px 0;
        font-size: 42rem;
        letter-spacing: 10rem;
        text-align: left;
        background-image: url(../img/index_img/hr_ism.png);
        background-size: 760px 2px;
        background-position: left bottom;
        background-repeat: no-repeat;
    }
}

#index .concept p{
    margin: 20px 0 15px;
    font-family: "TsukuMinPr6N-LB";
    font-size: 14rem;
    line-height: 32rem;
    text-align: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .concept p{
        min-width: 460px;
        margin: 28px 0 10px 18px;
        font-size: 18rem;
        line-height: 32rem;
		letter-spacing: 0.75rem;
        text-align: left;
        white-space: nowrap;
    }
}

/* #index .concept p span{
    line-height: 42rem;
} */

a.readmore{
    width: 200px;
    height: 40px;
    margin: auto;
    background-color: #7894a9;
    box-shadow: 0 0 7px rgba( 0, 0, 0, 0.2 );
    border-radius: 3px;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    a.readmore{
        margin: 0;
        transition: all 500ms 0s ease;
        opacity: 1;/*for Animation*/
    }
    a.readmore:hover{
        box-shadow: 0 0 9px rgba( 0, 0, 0, 0.3 );
        filter: saturate(130%) contrast(140%);
        transition: all 250ms 0s ease;
    }
}

a.readmore span{
    margin: 4px 6px 0 0;
    font-family: "TrajanPro-Regular";
    font-size: 17rem;
    line-height: 17rem;
    color: rgba( 255, 255, 255, 0.75 );
}

a.readmore img{
    width: 14px;
    height: 14px;
}

#index .contents,
#index .location,
#index .roomplan{
        opacity: 1 !important;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .contents{
        margin: 90px 0 0 0;
        /* background-image: url(../img/index_img/bg_location_pc.jpg),url(../img/index_img/bg_roomplan_pc.jpg);
        background-size: 100% auto;
        background-position: left top,right bottom;
        background-repeat: no-repeat; */
        position: relative;
        opacity: 1 !important;
    }
    #index .contents::before{
        width: 100%;
        height: 40vw;
        content: "";
        background-image: url(../img/index_img/bg_location_pc.jpg);
        background-size: 1% auto;
        background-position: left top;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        top: -12vw;
        left: -100vw;
        opacity: 0;
    }
    #index .contents::after{
        width: 100%;
        height: 40vw;
        content: "";
        background-image: url(../img/index_img/bg_roomplan_pc.jpg);
        background-size: 1% auto;
        background-position: right bottom;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        bottom: 45vw;
        right: -100vw;
        opacity: 0;
    }
    #index .fade-contents::before{
        background-size: 100% auto;
        top: 0;
        left: 0;
        opacity: 1;
        transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 1.2s;/* easeOutCubic */
    }
    #index .fade-contents2::after{
        background-size: 100% auto;
        bottom: 0;
        right: 0;
        opacity: 1;
        transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 1.2s;/* easeOutCubic */
    }
}

#index .location{
    opacity: 1 !important;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location{
        min-width: 1150px;
        height: 40vw;
        margin: 0 0 60px 0;
        display: flex;
        clip-path: polygon(0 27%, 100% 0%, 100% 73%, 0 100%);
        position: relative;
        opacity: 1 !important;
    }
}

#index .location .tt{
    height: 55vw;
    padding: 60px 0 0 23px;
    background-image: url(../img/index_img/bg_location_sp.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    clip-path: polygon(0 0, 100% 18%, 100% 100%, 0 82%);
    transform: translateX(-100vw) translateY(-10vw) scale(1.0);/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location .tt{
        width: calc(25% - 3.5vw);
        min-width: calc(300px - 3.5vw);
        padding: 14vw 0 0 3.5vw;
        background-image: url(../img/index_img/bg_tt_pc.jpg);
        background-size: 100% 100%;
        clip-path: none;
        transform: translateX(0) translateY(0) scale(1.0);/*for Animation*/
    }
}
#index .fade-tt{
        opacity: 1 !important;
        transform: translateX(0) scale(1.0) !important;/*for Animation*/
        transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 0.75s;/* easeOutCubic */
}

#index .location h3,
#index .roomplan h3{
    font-family: "TrajanPro-Regular";
    font-size: 34rem;
    line-height: 34rem;
    font-weight: normal;
    color: #4d4d4d;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location h3,
    #index .roomplan h3{
        font-size: 3.3vw;
        line-height: 3.3vw;
        opacity: 1 !important;
    }
}

#index .location h3 span,
#index .roomplan h3 span{
    display: none;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location h3 span,
    #index .roomplan h3 span{
        display: block;
        margin: 0 0 12px 0;
        font-size: 0.8vw;
        line-height: 1.2vw;
        color: rgba( 100, 100, 100, 0.8 );
    }
}

#index .location p{
    margin: 4px 0 10px;
    white-space: nowrap;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location p{
        font-size: 16rem;
        margin: calc(11vw - 65px) 0 12px;
    }
}
@media print, screen and (min-width: 1400px) {/*PC*/
    #index .location p{
        margin: calc(1.2vw * 6) 0 12px;
    }
}
@media print, screen and (min-width: 1800px) {/*PC*/
    #index .location p{
        margin: 30px 0 12px;
    }
}

#index .location a,
#index .roomplan a{
    margin: 0;
}

#index .location figure{
    height: 74vw;
    margin: -16vw 0 0 0;
    clip-path: polygon(0 15%, 100% 0%, 100% 85%, 0 100%);
    opacity: 1 !important;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location figure{
        width: 25%;
        height: auto;
        clip-path: none;
        position: relative;
    }
}

#index .location .jr,
#index .location .park,
#index .location figcaption,
#index .roomplan .roof{
    display: none;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location .jr,
    #index .location .park,
    #index .location figcaption,
    #index .roomplan .roof{
        display: block;
    }
}

#index .location .tram picture img {
    transform: translateX(-30vw) translateY(0vw) scale(1.0);/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location .tram picture img {
        transform: translateX(0) translateY(0) scale(1.0);/*for Animation*/
    }
}

#index .fade-picture {
    opacity: 1 !important;
    transition: all cubic-bezier(0.55, 0.055, 0.675, 0.19) 1s;/* easeInCubic */
}

#index .fade-picture img {
    transform: translateX(0) translateY(0) scale(1.0) !important;/*for Animation*/
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 1s;/* easeOutCubic */
}

#index .location figure img,
#index .roomplan figure img{
    width: 100%;
    object-fit: cover;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .location figure.tram picture{
        margin: 21vw 0 0 0;
        border-right: solid 2px #ffffff;
        display: block;
    }
    #index .location figure.jr picture{
        margin: 18.5vw 0 0 0;
        border-right: solid 2px #ffffff;
        display: block;transform:
    }
    #index .location figure.park picture{
        margin: 16vw 0 0 0;
        display: block;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #index .location figcaption{
        position: absolute;
        left: 1vw;
    }
    #index .location figure.tram figcaption{
        width: 128px;;
        bottom: 4.5vw;
    }
    #index .location figure.jr figcaption{
        width: 102px;;
        bottom: 7.1vw;
    }
    #index .location figure.park figcaption{
        width: 96px;;
        bottom: 9.6vw;
    }
   
}

@media print, screen and (min-width: 768px) {/*PC*/
    #index .roomplan{
        min-width: 1150px;
        height: 40vw;
        display: flex;
        clip-path: polygon(0 0, 100% 27%, 100% 100%, 0 73%);
        position: relative;
        z-index: 1;
        opacity: 1 !important;
    }
}

#index .roomplan figure{
    height: 70vw;
    background-image: url(../img/index_img/bg_roomplan_sp.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    clip-path: polygon(0 0, 100% 18%, 100% 100%, 0 82%);
    position: relative;
    transform: translateX(100vw) translateY(20vw) scale(1.0);/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .roomplan figure.plan{
        width: 35% !important;
        background-image: none;
        clip-path: none;
        transform: translateX(0) translateY(0) scale(1.0);/*for Animation*/
    }
    #index .roomplan figure.roof{
        width: 40% !important;
        background-image: none;
        clip-path: none;
        transform: translateX(0) translateY(0) scale(1.0);/*for Animation*/
    }
}

#index .roomplan figure picture{
    width: 58vw;
    margin: 0 0 0 42vw;
    padding: 5vw 0 0 0;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .roomplan figure picture{
        width: auto;
        padding: 0;
    }
    #index .roomplan figure.plan picture{
        margin: 2.5vw 0 0 0;
        border-right: solid 2px #ffffff;
    }
    #index .roomplan figure.roof picture{
        margin: 6vw 0 0 0;
    }
}

#index .roomplan .tt{
    margin: -30vw 0 0 23px;
    position: relative;
    z-index: 999;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .roomplan .tt{
        width: calc(25% - 3.5vw);
        min-width: calc(300px - 3.5vw);
        margin: 0;
        padding: 3.5vw 0 0 3.5vw;
        background-image: url(../img/index_img/bg_tt_pc.jpg);
        background-size: 100% 100%;
        order: -1;
        opacity: 0;/*for Animation*/
    }
}

#index .roomplan p{
    margin: 5vw 0 10px;
    white-space: nowrap;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #index .roomplan p{
        margin: 2vw 0 10px;
        font-size: 16rem;
        margin: calc(7vw - 60px) 0 12px;
    }
}
@media print, screen and (min-width: 1400px) {/*PC*/
    #index .roomplan p{
        margin: calc(1.1vw * 3) 0 12px;
    }
}
@media print, screen and (min-width: 1800px) {/*PC*/
    #index .roomplan p{
        margin: 30px 0 12px;
    }
}








/*/// 生活環境 ///*/
#location .access{
    margin: 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access{
        width: 100%;
        margin: 0 auto;
        background-image: url(../img/location_img/bg_3way_pc.jpg);
        background-size: 1360px auto;
        background-position: center 112px;
        background-repeat: no-repeat;
    }
}

#location .access h3{
    width: 282px;
    margin: auto;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access h3{
    width: 802px;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #location .access ul.train{
        width: 1050px;
        margin: auto;
        display: flex;
        justify-content: space-between;
    }
}

#location .access .train li{
    margin: 18px 0 0 0;
    position: relative;
    background-image: url(../img/location_img/bg_3way_sp.jpg);
    background-size: 85% auto;
    background-position: 0 0;
    background-repeat: no-repeat;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train li{
        width: 352px;
        margin: 37px 0 0 0;
        background-image: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
}

#location .access .train h4{
    font-size: 15rem;
    line-height: 15rem;
    letter-spacing: 1rem;
    position: absolute;
    top: 26px;
    left: 20px;
	white-space: nowrap;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train h4{
        position: relative;
		left: 33px;
    }
}

#location .access .train h4 small{
    font-size: 11rem;
}

#location .access .train h4 b{
	margin: 0 3rem 0 -5rem;
    font-size: 32rem;
	line-height: 40rem;
    letter-spacing: 1rem;
    vertical-align: 10rem;
    display: inline-block;
}
#location .access .train li:last-child h4 b{
    margin: 2rem 5rem 0 -5rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train h4 b{
        line-height: 40rem;
        vertical-align: 0;
    }
    #location .access .train li:last-child h4 b{
        margin: 0;
    }
}

#location .access .train h4 span{
    font-size: 21rem;
    letter-spacing: 2rem;
    writing-mode: vertical-rl;
}
#location .access .train li:last-child h4 span{
    font-size: 24rem;
    vertical-align: 6rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train h4 span{
        vertical-align: 0;
        writing-mode: horizontal-tb;
    }
    #location .access .train li:last-child h4 span{
        font-size: 24rem;
        vertical-align: 0rem;
    }
}

#location .access .train figure{
    width: 52%;
    padding: 12px 0 0 48%;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train figure{
        width: 100%;
        padding: 37px 0 0 0;
    }
}

#location .access .train figcaption{
    width: 140px;
    font-size: 41rem;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: absolute;
    bottom: 23px;
    left: calc(25% - 70px);
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train figcaption{
        width: 128px;
        height: 128px;
        border-radius: 66px;
        border: solid 2px #5f86a1;
        background-color: #ffffff;
        font-size: 28rem;
        line-height: 40rem;
        flex-wrap: wrap;
        bottom: -30px;
        left: inherit;
        right: 30px;
    }
}

#location .access .train figcaption span{
    margin: -15rem 0 0 0;
    font-size: 23rem;
    letter-spacing: 4rem;
    writing-mode: vertical-rl;
    display: inline-block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train figcaption span{
        width: 100%;
        margin: 0 0 10px 0;
        text-align: center;
        writing-mode: horizontal-tb;
        display: block;
    }
}

#location .access .train figcaption strong{
    margin: 0 -6rem 0 -2rem;
    font-size: 80rem;
    line-height: 11rem;
    color: #3f74a3;
    text-align: center;
    word-break: keep-all;
    display: inline-block;
}
#location .access .train li:last-child figcaption strong{
    margin: 0 2rem 0 -2rem;
    letter-spacing: -5rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train figcaption strong{
        margin: 0 -5rem 0 16rem;
    }
    #location .access .train li:nth-child(2) figcaption strong{
        margin: 0 -12rem 0 12rem;
    }
    #location .access .train li:last-child figcaption strong{
        margin: 0 2rem 0 11rem;
        letter-spacing: -7rem;
    }
}

#location .access .train figcaption small{
    margin: 30rem 0 0 0;
    font-size: 11rem;
    letter-spacing: .5rem;
    color: #333333;
    display: inline-block;
}
#location .access .train li:last-child figcaption small{
        margin: 30rem 0 0 2rem;
    }
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .train li:last-child figcaption small{
        margin: 30rem 0 0 10rem;
    }
}

#location .access .diagram{
    margin: 65px 23px 60px;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .access .diagram{
        width: 936px;
        margin: 115px auto 60px;
    }
}

#location .spot{
    margin: 0 23px 40px;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .spot{
        width: 936px;
        margin: 0 auto 30px;
        display: flex;
        justify-content: space-between;
    }
}

#location .spot li{
    margin: 0 0 30px 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .spot li{
        width: 252px;
        margin: 0;
    }
}

#location .spot h4{
    font-size: 21rem;
    line-height: 35rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .spot h4{
        font-size: 18rem;
        line-height: 30rem;
        text-align: center;
        opacity: 1 !important;/*for Animation*/
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #location .spot figure img{
        height: 230px;
        object-fit: cover;
    }
}

#location .spot figure{
    position: relative;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .spot figure{
        opacity: 1 !important;/*for Animation*/
    }
}

#location .spot figure figcaption {
    width: 107px;
    height: 107px;
    border-radius: 55px;
    border: solid 1px #5f86a1;
    background-color: #ffffff;
    font-size: 21rem;
    line-height: 40rem;
    position: absolute;
    bottom: -14px;
    right: -22px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#location .spot figure figcaption span{
    width: 100%;
    margin: 6px 0 -2px;
    font-size: 15rem;
    text-align: center;
    display: inline-block;
}
#location .spot li:last-child figure figcaption span{
    margin: 0px 0 -2px;
    font-size: 18rem;
}

#location .spot figure figcaption strong{
    margin: 0 0 0 4px;
    font-size: 62rem;
    line-height: 15rem;
    letter-spacing: -1rem;
    color: #3f74a3;
    word-break: keep-all;
    display: inline-block;
}

#location .spot figure figcaption small{
    font-size: 11rem;
    position: absolute;
    top: 35px;
    right: 7px;
}

#location .note{
    margin: 0 23px 80px 23px;
    font-family: "TsukuGoPr5N-M";
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .note{
        width: 936px;
        margin: 0 auto 120px;
    }
}

#location .note li{
    margin: 0 0 10px 8rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .note li{
        margin: 0 0 3px 8rem;
    }
}

#location .note li::first-letter{
    margin: 0 0 0 -8rem;
}

#location .life>div{
    margin: 75px auto 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .life>div{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

#location .life h3{
    margin: 12px 0 8px 0;
    font-size: 15rem;
    letter-spacing: 5rem;
    color: #5d6970;
    font-weight: normal;
    text-align: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .life h3{
        width: 100%;
        margin: 0 0 12px 0;
        font-size: 14rem;
        letter-spacing: 0.5rem;
        text-align: left;
    }
}

#location .life h3 b{
    font-family: "TrajanPro-Regular";
    font-size: 24rem;
    line-height: 26rem;
    letter-spacing: 0.25rem;
    color: #5d6970;
    background-image: url(../img/location_img/hr_tt.png);
    background-size: 100% 1px;
    background-position: center bottom;
    background-repeat: no-repeat;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .life h3 b{
        margin: 0 12px 0 0;
    font-family: "TrajanPro-Regular";
    font-size: 28rem;
    line-height: 28rem;
    background-image: none;
    display: inline;
    }
}

#location .life figure{
    margin: 0 0 30px 0;
    position: relative;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .life figure{
        width: 320px;
        margin: 0;
    }
}

#location .life figure .tt{
    margin: 2px 0 0 0;
    font-family: "TsukuGoPr5N-D";
    font-size: 15rem;
}

#location .life figure figcaption.ic {
    width: 88px;
    height: 88px;
    border-radius: 45px;
    border: solid 1px #5f86a1;
    background-color: #ffffff;
    font-size: 17rem;
    line-height: 40rem;
    position: absolute;
    bottom: 12px;
    right: -16px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#location .life figure figcaption.ic span{
    width: 100%;
    margin: 6px 0 8px;
    font-size: 14rem;
    line-height: 14rem;
    text-align: center;
    display: inline-block;
}

#location .life figure figcaption.ic strong{
    margin: 0 0 0 12px;
    font-size: 50rem;
    line-height: 21rem;
    color: #3f74a3;
    word-break: keep-all;
    display: inline-block;
}

#location .life figure figcaption.ic small{
    margin: -15px 0 0 4px;
    font-size: 11rem;
    line-height: 11rem;
    display: inline-block;
	transform: scale(0.9);
}

#location .list h3{
    margin: 100px 0 15px 0;
    font-family: "TrajanPro-Regular";
    font-size: 24rem;
    text-align: center;
    letter-spacing: 0;
    color: #5d6970;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .list h3{
        margin: 80px 0 30px 0;
        font-size: 36rem;
    }
}

#location .list h4{
    width: calc(100% - 24px);
    padding: 10px 12px 6px;
    font-family: "TrajanPro-Regular";
    font-size: 18rem;
    line-height: 18rem;
    font-weight: normal;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    background-image: linear-gradient(90deg, #9cbacf, #c9b99f 90%, #c0af9b);

}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .list h4{
        margin: 0 0 2px 0;
        padding: 9px 12px 3px;
    }
}

#location .list h4 strong{
    font-family: "TsukuMinPr6N-D";
    font-size: 16rem;
    line-height: 16rem;
    font-weight: normal;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .list h4 strong{
    line-height: 14rem;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #location .list div{
    width: 490px;
}
}


#location .list dl{
    width: 100%;
    margin: 0 0 45px 0;
    font-family: "TsukuGoPr5N-M";
    font-size:  13rem;
    line-height: 16rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
#location .list dl{
    margin: 0 0 40px 0;
	}
}

#location .list dt{
    width: 20%;
    margin: 14px 0 0 0;
    padding: 0 0 3px 0;
    letter-spacing: 0;
    white-space: nowrap;
    border-bottom: solid 1px #b3b3b3;
}
@media print, screen and (min-width: 768px) {/*PC*/
#location .list dt{
    padding: 0 0 5px 0;
    letter-spacing: 0.5rem;
}
}
#location .list dt span{
    font-size: 12rem;
}
#location .list dt.w{
   padding: 0 0 20px 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .list dt.w{
        padding: 0;
     }
}

#location .list dd{
    width: 80%;
    margin: 14px 0 0 0;
    padding: 0 0 3px 0;
    letter-spacing: 0;
    text-align: right;
    border-bottom: solid 1px #b3b3b3;

    
}
@media print, screen and (min-width: 768px) {/*PC*/
#location .list dd{
    padding: 0 0 5px 0;
    font-size: 13rem;
    letter-spacing: 0.5rem;
}
}

#location .list dd span{
    margin: 0 -2rem 0 0;
    font-size: 10rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #location .list dd span{
        font-size: 13rem;
    }
}





/*/// 敷地計画 ///*/
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking{
        margin: 0 auto 60px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

#landplan .parking div *{
    opacity: 1 !important;/*for Animation*/
}

@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking div{
        width: 650px;
    }
}

#landplan .parking h3{
    font-size: 33rem;
    line-height: 39rem;
    color: #808080;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking h3{
    font-size: 49rem;
    line-height: 49rem;
    justify-content: flex-end;
    }
}

#landplan .parking h3 strong{
    white-space: nowrap;
    display: block;
}

#landplan .parking h3 b{
    font-size: 94rem;
    line-height: 78rem;
    color: #b8384f;
    white-space: nowrap;
    display: block;
}
#landplan .parking h3 b::first-letter{
    letter-spacing: -8rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking h3 b{
    font-size: 105rem;
}
@-moz-document url-prefix() {/*for Firefox*/
    #landplan .parking h3 b{
	margin: 0 14rem 0 0;
    }
}
}

#landplan .parking h3 b span{
    margin: 0 0 0 -4px;
    font-size: 44rem;
    line-height: 44rem;
    vertical-align: 4rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking h3 b span{
        font-size: 60rem;
    }
}

#landplan .parking h3>span{
    margin: 6px 0 0 0;
    writing-mode: vertical-rl;
    letter-spacing: 6rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking h3>span{
    margin: 6px 0 0 0;
	letter-spacing: 0.25rem;
    writing-mode: horizontal-tb;
    }
}

#landplan .parking h4{
    margin: 6px -23px 16px;
    padding: 4px 0;
    font-family: "TsukuMinPr6N-D";
    font-size: 17rem;
    color: #ffffff;
    text-align: center;
    background-image: url(../img/common_img/bg_bluebeige.jpg);
    background-size: 100%;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking h4{
    margin: 12px 0 16px;
    padding: 8px 0;
    font-size: 19rem;
    line-height: 19rem;
    clip-path: polygon(3% 0%, 100% 0%, 100% 100%, 0% 100%);
    }
}

#landplan .parking p{
    font-family: "TsukuMinPr6N-D";
    font-size: 14rem;
    line-height: 28rem;
    text-align: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking p{
    font-size: 15rem;
    }
}

#landplan .parking figure{
    margin: 30px -13px;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .parking figure{
        width: 440px;
        margin: -40px -40px 0 0;
        order: -1;
        opacity: 1 !important;/*for Animation*/
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .equip{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        position: relative;
    }
}

#landplan .equip dl{
    margin: 30px 0 45px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .equip dl{
        width: 490px;
        margin: 20px 0 40px;
        position: relative;
    }
    /* #landplan .equip dl.point_b{
        position: absolute;
        top: 260px;
    }
    #landplan .equip dl.point_c::after{
        content: "";
        width: 1050px;
        border-top: solid 1px #b5b5b5;
        display: block;
        position: absolute;
        left: -560px;
        bottom: -30px;
    } */
}

#landplan .equip dt{
    width: 100%;
    margin: 0 0 10px 0;
    font-size: 17rem;
    line-height: 22rem;
    display: flex;
    align-items: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .equip dt{
        height: 32px;
    }
}

#landplan .equip dt em{
    width: 32px;
    height: 32px;
    margin: 0 10px 0 0;
    font-family: "TrajanPro-Regular";
    font-size: 24rem;
    line-height: 26rem;
    font-style: normal;
    color: #ffffff;
    background-color: #5d7390;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

#landplan .equip .txt{
    width: calc(100% - 160px);
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .equip .txt{
    width: 300px;
}
}

#landplan .equip .ph{
    width: 140px;
    margin: 4px 0 0 0;
    position: relative;
}
#landplan .equip dl.point_b .ph{
    margin: -30px 0 0 0;
}
#landplan .equip dl.point_d .ph{
    width: 155px;
    margin: 0 -10px 0 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .equip .ph,
    #landplan .equip dl.point_b .ph,
    #landplan .equip dl.point_d .ph{
    width: 170px;
    margin: -42px 0 0 0;
    }
    #landplan .equip dl.point_a .ph{
    width: 170px;
    margin: 6px 0 0 0;
    }
}

#landplan .equip .ph .pop{
    width: 76px;
    position: absolute;
    top: 80px;
    right: -15px;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .equip .ph .pop{
    width: 86px;
    position: absolute;
    top: 100px;
    right: -15px;
}
}

#landplan .equip .fig{
    margin: 22px 0 0 0;
}

#landplan .equip .note{
    margin: 3px 0 0 0;
    line-height: 20rem;
    letter-spacing: 0.3rem;
    display: inline-block;
}

#landplan .plan{
    margin: 90px 0 0 0;
    opacity: 0;/*for Animation*/
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .plan{
        width: 1050px;
        margin: 50px auto 0;
}
}

#landplan .plan figcaption{
    width: 28px;
    margin: 10px 0 0 calc(100% - 48px);
}


/*/// 間取り ///*/
#roomtype .fig{
}
@media print, screen and (min-width: 768px) {/*PC*/ 
    #roomtype .fig {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}
#roomtype .fig>div {
    margin: 0 0 80px 0;
    padding: 0 0 15px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
}

 @media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig>div {
        width: 470px;
        margin: 0;
        padding: 0 0 20px 0;
        position: relative;
    }
    #roomtype .fig>div.f_type {
        width: 1050px;
        padding: 120px 0 20px 0;
        align-items: flex-start;
        }
}

 #roomtype .fig>div .tt {
     width: 100%;
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     align-items: flex-end;
 }
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig>div .tt{
        width: 290px;
    }
}

#roomtype .fig>div h3,
#roomtype .fig>div h4,
#roomtype .fig>div div{
    opacity: 1 !important;/*for Animation*/
}

#roomtype .fig h3 {
    padding: 0 10px 0 0;
    font-family: "TrajanPro-Regular";
    font-size: 16rem;
    line-height: 16rem;
    font-weight: normal;
	text-align: center;
	color: #476070;
}
@media print,screen and (min-width: 768px) {/*PC*/
    #roomtype .fig h3 {
        font-size: 14rem;
        line-height: 14rem;
        border-bottom: solid 2px #cccccc;
    }
}

#roomtype .fig h3 strong {
    font-size: 72rem;
    line-height: 52rem;
    font-weight: normal;
    display: block;
}

 @media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig h3 strong {
        display: inline;
    }
    #roomtype .fig .a_type h3 strong {
        margin: 0 6px 0 0;
    }
    #roomtype .fig .f_type h3 strong {
        margin: 0 -6px 0 -6px;
    }
}

#roomtype .fig h4 {
    margin: 0 0 24px 0;
    font-family: "TrajanPro-Regular";
    font-size: 33rem;
    line-height: 33rem;
    font-weight: normal;
    text-align: right;
    color: #476070;
    border-bottom: solid 2px #cccccc;
    flex-grow: 1;
}
@media print, screen and (min-width: 390px) {
    #roomtype .fig h4 {
        font-size: 35rem;
        line-height: 35rem;
    }
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig h4 {
        margin: 0;
        font-size: 36rem;
        line-height: 36rem;
    }
}

#roomtype .fig .size {
    width: 220px;
    padding: 0 0 0 calc(100% - 220px);
}

 @media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .size {
        width: 230px;
        height: 120px;
        padding: 15px 0 0 calc(100% - 230px);
    }
}

#roomtype .fig .size dl {
    margin: 0 0 8px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14rem;
    line-height: 14rem;
    color: #4d4d4d;
    border-bottom: solid 1px #c4c4c4;
}
#roomtype .fig .size dl:nth-child(1) {
    margin: -8px 0 8px 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .size dl:nth-child(1) {
		margin: 0 0 8px 0;
    }
}

#roomtype .fig .size dl strong {
    font-family: "TrajanPro-Regular";
    font-size: 34rem;
    line-height: 36rem;
    font-weight: normal;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .size dl strong {
    font-size: 32rem;
    line-height: 34rem;
    }
}

#roomtype .fig .size dl b {
    font-family: "TrajanPro-Regular";
    font-size: 24rem;
    line-height: 30rem;
    font-weight: normal;
}

#roomtype .fig figure {
    width: 100%;
    display: block;
}
#roomtype .fig .a_type figure {
        margin: 25px auto 10px;
}
#roomtype .fig .b_type figure {
        margin: 10px auto 10px;
}
#roomtype .fig .f_type figure {
        margin: 10px auto 10px;
}

 @media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig>div:not(.f_type) figure {
        width: 470px;
        margin: 5px auto 0 !important;
        transform: scale(0.95);
    }
    #roomtype .fig .f_type figure {
        width: 716px;
        margin: 23px 0 0 auto !important;
    }
}

#roomtype .fig figure .north{
    width: 36px;
    margin: 10px 0 0 0;
    float: right;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .f_type figure .north{
    margin: 0;
    }
}

#roomtype .fig .point{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .f_type .point{
        width: 230px;
        position: absolute;
        bottom: 62px;
        left: 60px;
    }
}

#roomtype .fig .point li {
    width: calc(50% - 5px);
    height: 36px;
    margin: 3px 0;
    color: #325b82;
    font-size: 14rem;
    line-height: 16rem;
    text-align: center;
    border: solid 1px #e6e6e6;
    border-radius: 4px;
    background-color: #f2f4f4;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .point li {
        height: 30px;
    }
     #roomtype .fig .f_type .point li{
        width: 100%;
     }
}

#roomtype .fig .notice {
    margin: -65px 0 0 0;
    font-size: 12rem;
    line-height: 13rem;
    letter-spacing: -0.25rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

 @media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .notice {
        width: 100%;
        margin: 12px 0 50px 0;
        border-bottom: none;
    }
}

#roomtype .fig .notice li {
    margin: 6px 6px 0px 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .notice li {
        margin: 0 15px 0 0;
    }
}

#roomtype .fig .notice li:first-child {
    width: 100%;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .fig .notice li:first-child {
        width: auto;
        margin: 0 18px 0 0;
    }
}

#roomtype .fig .notice img {
    width: 28px;
    height: 10px;
    margin: 0 2px 0 0;
}

@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select,
    #roomtype .equip{
        padding: 70px 0 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #roomtype .equip div{
        
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select dl,
    #roomtype .equip dl{
        width: 490px;
    }
}

#landplan .equip h3,
#roomtype .select h3,
#roomtype .equip h3{
    margin: 85px 0 0;
    font-family: "TrajanPro-Regular";
    font-size: 38rem;
    line-height: 42rem;
    font-weight: normal;
    color: #97b2c3;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .equip h3,
    #roomtype .select h3,
    #roomtype .equip h3{
        width: 100%;
        margin: 0 0 0 0;
        font-size: 44rem;
        line-height: 48rem;
    }
}

#landplan .equip h4,
#roomtype .select h4,
#roomtype .equip h4{
    width: 100%;
    margin: 0 -23px;
    padding: 10px 23px;
    font-family: "TsukuMinPr6N-D";
    font-style: normal;
    font-size: 15rem;
    line-height: 18rem;
    color: #ffffff;
    background-image: url(../img/common_img/bg_bluebeige.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #landplan .equip h4,
    #roomtype .select h4,
    #roomtype .equip h4{
        width: calc(100% - 20px);
        margin: 0;
        padding: 8px 0 8px 20px;
        font-size: 16rem;
        border-top: none;
        flex-grow: 1;
    }
}

#roomtype .select .ic{
    width: 120px;
    height: 20px;
    margin: 0 0 8px 0;
    display: flex;
    flex-wrap: wrap;
    font-weight: normal;
    border: solid 1px #b83948;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .ic{
        margin: 0;
        order: 1;
    }
}

#roomtype .select .ic span{
    width: 50%;
    padding: 3px 0 3px;
    font-family: "TsukuGoPr5N-M";
    font-size: 13rem;
    line-height: 13rem;
    text-align: center;
    white-space: nowrap;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .ic span{
        padding: 4px 0 1px;
    }
}

#roomtype .select .ic span:first-child{
    color: #ffffff;
    background-color: #b83948;
}

#roomtype .select .ic span:last-child{
    color: #b83948;
    background-color: #ffffff;
}

#roomtype .select dt{
    margin: 18px 0 8px 0;
    font-family: "TrajanPro-Regular";
    font-size: 20rem;
    line-height: 20rem;
    color: #808080;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select dt{
        font-size: 24rem;
        margin: 18px 0 6px 0;
    }
}

#roomtype .select dt span{
    background-color: #ffffff;
    display: inline-block;
}

#roomtype .select dt::after{
    content: '';
    height: 1px;
    margin: 0 0 4px 6px;
    border-bottom: solid 1px #cccccc;
    flex-grow: 1;
}

#roomtype .select h5{
    width: 100%;
    padding: 2px 4px;
    font-family: "TsukuMinPr6N-D";
    font-size: 14rem;
    font-weight: normal;
    letter-spacing: 0;
    display: flex;
    align-items: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select h5{
        padding: 10px 0 0;
        font-size: 17rem;
    }
}

#roomtype .select h5 .ex{
    width: 22px;
    height: 22px;
    margin: 0 1px 0 0;
    line-height: 20rem;
    color: #ffffff;
    text-align: center;
    background-color: #5d6970;
    border-radius: 11px;
    display: inline-block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select h5 .ex{
        width: 24px;
        height: 24px;
        line-height: 24rem;
        border-radius: 12px;
    }
}

#roomtype .select dl,
#roomtype .equip dl{
    opacity: 0;/*for Animation*/
}

#roomtype .select .gas_ih{
    margin: 0 0 50px 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .gas_ih{
        margin: 0 0 15px 0;
    }
}

#roomtype .select .gas_ih dd{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}

#roomtype .select .gas_ih dd .or{
    width: 12px;
    margin: auto;
    position: absolute;
    top: 20vw;
    left: 0;
    right: 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .gas_ih dd .or{
        width: 19px;
        top: 92px;
    }
}

#roomtype .select .gas_ih figure{
    width: calc(50% - 9px);
    margin: 12px 0 0 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .gas_ih figure{
        width: 220px;
        margin: 10px 0 0 0;
    }
}

#roomtype .select .gas_ih figcaption{
    font-size: 14rem;
    line-height: 16rem;
    text-align: center;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .gas_ih figcaption{
        margin: 10px 0 0 0;
        font-size: 15rem;
        line-height: 18rem;
        text-align: left;
        display: flex;
        align-items: center;
    }
}

#roomtype .select .gas_ih figcaption strong{
    margin: 8px 0;
    padding: 3px 0;
    line-height: 13rem;
    font-weight: normal;
    text-align: center;
    color: #ffffff;
    background-color: #999999;
    display: block;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .gas_ih figcaption strong{
        margin: -2px 8px 0 0;
        padding: 2px 0 0 0;
        width: 52px;
        height: 46px;
        line-height: 16rem;
        letter-spacing: -0.25rem;
        white-space: nowrap;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

#roomtype .select .color{
    margin: 0 0 22px 0;
}

#roomtype .select .color dd{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#roomtype .select .color figure{
    width: calc(50% - 5px);
    
    margin: 0 0 10px;
    position: relative;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .color figure{
        width: calc(50% - 7px);
        margin: 0 0 14px;
    }
}

#roomtype .select .color figure img{
    height: 64px;
    object-fit: cover;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .color figure img{
    height: 80px;
}
}

#roomtype .select .color figcaption{
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    text-align: center;
    font-family: "TsukuMinPr6N-D";
    font-size: 11rem;
    line-height: 11rem;
    color: #ffffff;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .color figcaption{
        font-size: 13rem;
    }
}

#roomtype .select .color figcaption b{
    margin: 3px 0 4px 0;
    font-family: "TrajanPro-Regular";
    font-size: 14rem;
    font-weight: normal;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .color figcaption b{
        margin: 6px 0 8px 0;
        font-size: 16rem;
    }
}

#roomtype .select .color dd strong{
    margin: auto;
    font-size: 14rem;
    line-height: 22rem;
    font-weight: normal;
    letter-spacing: 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .color dd strong{
        font-size: 16rem;
    }
}

#roomtype .select .color .img_wr::after{
    transform: scale(0.8);
    transform-origin: 100%;
}

#roomtype .select .notice{
    margin: 0 0 0 11rem;
    font-size: 11rem;
    line-height: 14rem;
    letter-spacing: 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .notice{
        display: flex;
        margin: 0 0 0 -11rem;
    }
}

#roomtype .select .notice li::first-letter{
    margin: 0 0 0 -11rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .select .notice li::first-letter{
        margin: 0 0 0 11rem;
    }
}

#roomtype .equip dl{
    margin: 6px 0 36px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .equip dl{
        margin: 0;
        display: flex;
        align-content: space-between;
    }
}

#roomtype .equip dt{
    width: 100%;
    margin: 15px 0 10px 0;
    font-family: "TsukuMinPr6N-D";
    font-size: 16rem;
    line-height: 20rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .equip dt{
        margin: 20px 0 15px 0;
        font-size: 18rem;
    }
}

#roomtype .equip dt::before{
    content: '';
    width: 18px;
    height: 18px;
    margin: 0 3px 0 0;
    vertical-align: -3px;
    background-color: rgba( 80, 128, 153, 0.3 );
    display: inline-block;
}

#roomtype .equip dd.ph{
    margin: 25px auto 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .equip dd.ph{
        height: 187px;
        margin: 15px auto 0;
        display: flex;
        align-items: flex-end;
    }
}

#roomtype .equip dd.txt{
        letter-spacing: 0;
    }
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .equip dd.txt{
        min-height: 80px;
        letter-spacing: 0.5rem;
    }
}

#roomtype .banner_zeh{
    margin: 46px 23px 0;
}
@media print, screen and (min-width: 768px) {/*PC*/
    #roomtype .banner_zeh{
        width: 1050px;
        margin: 75px auto 0;
    }
}


/*/// 物件概要 ///*/
#outline article table{
}
@media print, screen and (min-width: 768px) {/*PC*/
    #outline article table{
        width: 1050px;
    }
}

@media print, screen and (min-width: 768px) {/*PC*/
    #outline article tr{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

#outline article th{
    width: 14px;
    white-space: nowrap;
    display:inline-block;
    padding: 0 0 2px 0;
    line-height: 18rem;
	font-family: "TsukuGoPr5N-D";
    }
@media print, screen and (min-width: 768px) {/*PC*/
#outline article th{
    width: 202px;
    margin: 0 0 24px 0;
    padding: 0 0 10px 8px;
    font-size: 14rem;
    border-bottom: solid 1px #308ab9;
    }
}

#outline article td{
    width: 100%;
    margin: -2px 0 0 0;
    display:block;
    padding: 4px 0 12px 0px;
    font-family: "TsukuGoPr5N-M";
    line-height: 18rem;
    background-image: url(../img/common_img/bg_bluebeige.jpg);
    background-size: 100% 1px;
    background-position: center top;
    background-repeat: no-repeat;
    }
    
@media print, screen and (min-width: 768px) {/*PC*/
#outline article td{
    width: calc(100% - 230px);
    margin: 0 0 24px 0;
    padding: 0 0 10px 10px;
    font-size: 14rem;
    background-position: center bottom;
    }
}

#outline article .note{
    line-height: 14rem;
}
@media print, screen and (min-width: 768px) {/*PC*/
#outline article .note{
    font-size: 13rem;
    margin: -8px 0 0 8px;
}
}