@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;700;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;700;800&display=swap');


:root {
--font-Garamond: "Cormorant Garamond", serif;
--color-green: #1a421e;
--color-deepblue: #00415c;
--color-lightblue: #456782;
--color-lightbrown: #9a9280;
}

#top {
	display: block;
	z-index: 1;
}

html { scroll-behavior: smooth;}


/* Global */
body {
	height: 100%;
    background: url("../images/common/bg.jpg") no-repeat center / cover;
	background-attachment: fixed;
    position: relative;
    color: #231815;
    word-break: break-all;
	font-size: 1em;
	font-family: 'Shippori Mincho', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	letter-spacing: 0.5px;
}

.body_noimg {
	background-image: none;
}

img {
	max-width: 100%;
	height: auto;
}

a:hover img {
opacity:0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}

.ie8 img {
	width: auto;
}

a:link {
	color: #456782;
	text-decoration: none;
}

a:hover {
	color: #456782;
	text-decoration: underline;
}

a:visited {
	color: #456782;
}

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.container {
	width: 92%;
	max-width: 1000px !important;
	margin: auto !important;
	position: relative;
}

.container1200 {
	width: 92%;
	max-width: 1200px !important;
	margin: auto !important;
	position: relative;
}

.container1300 {
	width: 92%;
	max-width: 1300px !important;
	margin: auto !important;
	position: relative;
}

.container1400 {
	width: 92%;
	max-width: 1400px !important;
	margin: auto !important;
	position: relative;
}

figure {
	margin: 0;
}

.main_p {
	color: #666666;
	font-size: 0.9em;
	line-height: 1.8em;
	text-align: left;
}

.font_Cormorant {
	font-family: 'Cormorant Garamond', serif;
}


/* Navigation */
.menu {
	width:100%;
	position:fixed;
	top: 0;
	z-index: 9900;
}

.contact-btn {
	width: 130px;
	height: 30px;
	text-align: center;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
	margin-left: auto;
	margin-right: auto;
	z-index: 100;
	position: absolute;
	top: 5px;
	right: 20px;
	z-index: 90000;
}

.contact-btn a {
	display: block;
	padding: 9px 8px 7px;
	color: #FFF;
	text-decoration: none;
	font-weight: 400;
	font-size: 0.9em;
	background-image: linear-gradient( 76.3deg,  #002E41 12.6%, rgba(69,103,131,1) 82.8% );
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
 
.contact-btn a:hover {
	text-decoration: none;
	background-image: linear-gradient( 76.3deg,  #002E41 12.6%, #002E41 82.8% );
	color: #fff;
}

.contact2-btn {
	width: 130px;
	height: 30px;
	text-align: center;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
	margin-left: auto;
	margin-right: auto;
	z-index: 100;
	position: absolute;
	top: 5px;
	right: 155px;
	z-index: 90000;
}

.contact2-btn a {
	display: block;
	padding: 9px 8px 7px;
	color: #FFF;
	text-decoration: none;
	font-weight: 400;
	font-size: 0.9em;
	background-image: linear-gradient( 76.3deg,  #002E41 12.6%, rgba(69,103,131,1) 82.8% );
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
 
.contact2-btn a:hover {
	text-decoration: none;
	background-image: linear-gradient( 76.3deg,  #002E41 12.6%, #002E41 82.8% );
	color: #fff;
}

.contact3-btn {
	width: 130px;
	height: 30px;
	text-align: center;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
	margin-left: auto;
	margin-right: auto;
	z-index: 100;
	position: absolute;
	top: 5px;
	right: 290px;
	z-index: 90000;
}

.contact3-btn a {
	display: block;
	padding: 9px 8px 7px;
	color: #222;
	text-decoration: none;
	font-weight: 400;
	font-size: 0.9em;
	background-color: rgba(255, 255, 255, 0.7);
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
 
.contact3-btn a:hover {
	text-decoration: none;
	background-color: #002E41;
	color: #fff;
}



/* ヘッダーメニュー */
.header_menu {
	z-index: 80000;
	text-align: left;
	position: fixed;
	top: 30px;
	left: 30px;
    transition: .6s;
    opacity: 1;
	
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 0;
}
 
.header_menu.hide {
    transform: translateY(-80px);
    opacity: 0;
}

.header_menu .logo {
	width: 240px;
}

.header_menu ul {
	display: flex;
	margin: 20px 0 0 50px;
	padding: 0;
}

.header_menu li {
	list-style: none;
	color: #666666;
	font: 400 1em/1.8em 'Cormorant Garamond', serif;
	margin: 0 50px 0 0;
	padding: 0;
}

.header_menu a {
	text-decoration: none;
	color: var(--color-deepblue);
}

.header_menu a:hover {
	text-decoration: none;
	color: var(--color-lightblue);
	opacity: 0.8;
}

.menu-sp {
	display: none;
}





/* ふわっと表示 */
/* 画面外にいる状態 */
.fadein {
    opacity : 0;
    transform : translate(0, 45px);
    transition : all 700ms;
    }
 
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

#fade_effect .fadein:nth-of-type(2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
}

#fade_effect .fadein:nth-of-type(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
}

#fade_effect .fadein:nth-of-type(4) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
}



/* General Slides */ 
.slide{
	background-attachment: fixed;
	width:100%;
	height:auto;
	position: relative;
	padding:0;
}



/* Slide 1 */
#slide1 {
	position: relative;
	margin: 0;
	width: 100%;
	text-align: left;
	background-color: transparent;
}

/* kv */
#main_box {
	width: 100%;
	overflow:hidden;
	/* 1920px上限は撤廃。基本は画面幅にフィット（16:9）、
	   縦が足りないときだけ100vhで頭打ちにして必ず1画面に収める */
	aspect-ratio: 1920 / 1080;
	height: auto;
	max-height: 100vh;
	position: relative;
	margin: auto;
	background-color: #fff;
}

/* KVスライド（4枚を切り替え） */
.kv_slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.kv_slide picture {
	display: block;
}

.kv_photo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	max-width: none;
	/* 拡大時のちらつき（モアレ）対策：GPUレイヤーに固定して再サンプリングを抑える */
	will-change: transform;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transform: translateZ(0);
}

/* KVロゴ（スライドごとに位置を変えて出す） */
.kv_logo {
	position: absolute;
	top: 0;
	left: 0;
	width: 16%;
	max-width: 240px;
	min-width: 96px;
	pointer-events: none;
	will-change: transform, opacity;
	filter: drop-shadow(0 2px 14px rgba(0, 0, 0, 0.35));
}

.kv_logo svg.kv_logo__svg {
	display: block;
	/* viewBoxの外に出た文字も描画する（登場アニメが切り取られるため）。
	   normalize.css の svg:not(:root){overflow:hidden} に勝つ必要があるので
	   セレクタを強くしている */
	overflow: visible;
	width: 100%;
	height: auto;
}

/* KV GRAND OPEN（5枚目の最後にフェードイン） */
.kv_grandopen {
	position: absolute;
	/* 位置：左下 */
	left: 4%;
	width: 36%;
	bottom: 8%;
	pointer-events: none;
	opacity: 0;
	will-change: transform, opacity;
	filter: drop-shadow(0 2px 14px rgba(0, 0, 0, 0.35));
}

.kv_grandopen img {
	display: block;
	width: 100%;
	height: auto;
}

.bg_sky {
	display: block;
	width: 100%;
	height: 100%;
	/* 全体のimg{max-width:100%}に切り詰められると横に流せないため */
	max-width: none;
	object-fit: cover;
	object-position: center bottom;
	vertical-align: bottom;
	margin: 0;
	padding: 0;
}

.building {
	position: absolute;
	top: 0;
	left: 0;
}

.light {
	position: absolute;
	top: top;
	left: calc(260 / 1920 * 100%);
	width:calc(215 / 1920 * 100%);
}

.name1 {
	position: absolute;
	top: calc(825 / 1080 * 100%);
	left: calc(247 / 1920 * 100%);
	width:calc(210 / 1920 * 100%);
}

.name2 {
	position: absolute;
	top: calc(520 / 1080 * 100%);
	left: calc(1095 / 1920 * 100%);
	width:calc(174.8 / 1920 * 100%);
}

.name3 {
	position: absolute;
	top: calc(700 / 1080 * 100%);
	left: calc(1310 / 1920 * 100%);
	width:calc(174.8 / 1920 * 100%);
}

.name4 {
	position: absolute;
	top: calc(730 / 1080 * 100%);
	left: calc(1688 / 1920 * 100%);
	width:calc(174.8 / 1920 * 100%);
}

.top_facade {
	position: absolute;
	right: 0;
	bottom: -5px;
	/* 高さ基準だと画面が横長のとき建物が右に寄って左が空くので、
	   常に幅いっぱい（＝空と同じ拡大率）にする。はみ出す上側は透明部分 */
	width: 100%;
	height: auto;
	max-width: none;
}

.logo-ageo {
	position: absolute;
	top: calc(230 / 1080 * 100%);
	left: calc(130 / 1920 * 100%);
	width:calc(420 / 1920 * 100%);
}

.logo-txt1 {
	position: absolute;
	top: calc(305 / 1080 * 100%);
	left: calc(560 / 1920 * 100%);
	width:calc(360 / 1920 * 100%);
}

.logo-txt2 {
	position: absolute;
	top: calc(385 / 1080 * 100%);
	left: calc(560 / 1920 * 100%);
	width:calc(360 / 1920 * 100%);
}

.top_caption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    color: #fff;
    font-size: 0.85em;
    line-height: 1.8em;
}

.point3 {
	background-image: linear-gradient(358deg, #f5f6f2 0%, #ffffff 70%);
	margin: 0 auto;
	padding: 40px 0 50px;
	width: 100%;
	text-align: center;
}


/* ページ読み込みふわっと表示下から */
.css-fade3 {
  width:100%;
  height: 100px;
  line-height: 100px;
  text-align: center;
  opacity: 0;
  animation-name:fade-in3;
  animation-duration:1s;
  animation-timing-function: ease-out;
  animation-delay:1s;
  animation-iteration-count:1;
  animation-direction:normal;
  animation-fill-mode: forwards;
  background-color: #fff;
}
@keyframes fade-in3 {
  0% {opacity: 0; transform: translate3d(0,20px,0);}
  100% {opacity: 1; transform: translate3d(0,0,0);}
}



/* Slide 2 Information */
#slide2 {
	text-align: center;
	margin: 0;
	padding: 0;
}
 
#slide2 .form_link .go_form {
	display: none;
}

.info_wrap {
	background-color: rgba(215, 215, 214, 0.4);
	padding: 100px 0;
}

.info_wrap .info_h2 {
	font: 1.4em/1.8em 'Cormorant Garamond', serif;
	text-align: center;
	letter-spacing: 2px;
	margin: 0 0 30px;
	padding-bottom: 0.5rem;
    border-bottom: 1px solid #999;
	position: relative;
	background-color: transparent;
}

#slide2 p {
	text-align: center;
	font-size: 2em;
	line-height: 2.1em;
	color: #444;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 1px;
	margin: 0 0 10px;
}

.top_notes {
	font-size: 0.8em;
	line-height: 1.7em;
	text-align: left;
	margin-top: 30px;
	margin-right: auto;
	width: 100%;
	max-width: 800px;
	margin-left: auto;
}

.open_img {
	width: 100%;
	max-width: 500px;
}


/* トップ　モーダル*/
.top_modal {
	display: none;
}

.top_modal_pd {
	padding: 20px;
}



/* Slide 3 */ 
#slide3 {
	margin: 120px 0 100px;
	padding: 0;
	width: 100%;
	position: relative;
}

.slide3_wrap {
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: auto;
	margin: 0 0 0 4%;
	/* .container1300 の左端に合わせて右寄せ */
	margin-left: max(4%, calc((100% - 1300px) / 2));
	padding: 0;    
}

.slide3_wrap .description {
	width: 40%;
	margin: 0;
}

.slide3_wrap h2 {
	margin: 0 0 50px;
	width: 100%;
	max-width: 400px;
}

.slide3_wrap p {
    font-size: 1em;
    line-height: 2em;
	text-align: left;
	margin: 0;
}

.slide3_wrap figure {
	position: relative;
	margin: 0 1% 0 0;
	width: 59%;
	padding: 0;
}

.slide3_wrap  figcaption {
	font-size: 0.7em;
	line-height: 1.6em;
	bottom: 10px;
	right: 0;
	text-align: right;
}



/* Slide 4 コンテンツ */ 
#slide4 {
	text-align: center;
	margin: 0;
	padding: 180px 0 110px;
	background-color: #f5f5f5;
}

.side4_title {
	position: relative;
	margin: 0;
}

.side4_title img {
	width: 100%;
	max-width: 360px;
	position: absolute;
	left: 0;
	opacity: 0.5;
	margin-top: -80px;
	margin-left: -50px;
}

.top_access_ul {
	width: 100%;
	margin: 50px 0 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.top_access_ul li {
	width: 23%;
	margin: 0 1% 40px;
	padding: 0;
}

.top_access_ul li img {
	width: 100%;
	margin: 0 0 10px;
}

.top_access_ul li .time  {
	font-size: 1.2em;
	line-height: 1.6em;
	margin: 0 0 10px;
	letter-spacing: 1px;
}

.top_access_ul li .note  {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
}


/* Slide 5 */
#slide5 {
	text-align: center;
	margin: 0;
	padding: 0 0 110px;
}
/* ticker（画像） */
.ticker_photo {
	margin: 20px 0 0 -20px;
	width: calc(100% + 20px);
}

@keyframes infinity-scroll-left {
from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}

.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0
}

.scroll-infinity__list--left {
	animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
	width: calc(100vw / 2);
}

.scroll-infinity__item>img {
	width: 100%;
}



/* Slide 9 資料請求 */ 
#slide9 {
	margin: 0;
	padding-top: 80px;
	padding-bottom: 50px;
	background-color: rgba(215, 215, 214, 0.35);
}

/* ボトムコンテンツ */
.bottom_content {
	margin: 0;
}

.bottom_content .contact_link {
	width: 95%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: auto;
}


.bottom_content .contact_link .go_form {
	font-size:1.1em;
	line-height: 65px;
	text-align: center;
	font-family: 'Cormorant Garamond', serif;
	margin: 0 1em 20px;
	width: 100%;
	height: 65px;
	background-image: linear-gradient( 76.3deg,  #002E41 12.6%, rgba(69,103,131,1) 82.8% );
	box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
	max-width: 350px;
}

.bottom_content .contact_link .go_form a {
	display: block;
}

.bottom_content .contact_link .go_form a:hover {
	text-decoration: none !important;
	background-color: #002E41;
}

.bottom_content .contact_link a {
	color: #fff;
}

.tel_wrap {
	margin-top: 30px;
	font-size: 1em;
	letter-spacing: 1px;
	margin-bottom: 0;
	color: #666;
	text-align: center;
	padding-right: 20px;
	padding-left: 20px;
}

.tel_wrap h3 {
	font-size: 1em;
	line-height: 1.6em;
	font-family: 'Noto Serif JP', serif;
	margin: 30px 0 0;
}

.tel_wrap .tel_no {
	font-size: 1.9em;
	letter-spacing: 2px;
	line-height: 2em;
	font-family: 'Noto Serif JP', serif;
}

.top_note p {
	color: #333;
	font-size: 0.7em;
	line-height: 2em;
	max-width: 700px;
	margin: 70px auto 0;
	letter-spacing: 1px;
	padding-left: 20px;
	padding-right: 20px;
}


/* footer */ 
footer {
	margin: 0;
	padding: 50px 0 30px;
	background-color: #e2e3e4;
	text-align: center;
}

.footer_link {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
}

.footer_link div {
	width: 100%;
	max-width: 220px;
	margin: 0 30px;
	padding: 0;
}

.copyright {
	color: #666;
	font-size: 0.9em;
	line-height: 1.8em;
	margin: 0;
	letter-spacing: 1px;
	padding-top: 30px;
}


/* 常時バナー */
.reserve {
	opacity: 0;
	width: 300px;
	height: 100px;
	position: fixed;
	z-index: 3;
	bottom: 0;
	right: 0;
	font-size: 1em;
	line-height: 2em;
	font-weight: bold;
	text-align: center;
	background-image: linear-gradient(135deg, #4b350d 0%, #7e6836 25%, #ae975d 50%, #4b350d 85%);
	padding-top: 1.2em;
	vertical-align: bottom;
	overflow: hidden;
	color: #fff;
}

.reserve .tel_link {
	font-size: 2em;
	font-weight: normal;
	font-style: normal;
}

.reserve a {
	color: #fff;
	text-decoration: none;
	display: block;
	width: 100%;
	height: 100%;
}



/* 中ページ */
.main_img {
	position: relative;
}

.main_img img {
    width: 100%;
    object-fit: cover;
    margin: 110px 0 0;
    padding: 0;
    vertical-align: bottom;
	height: 400px;
}

/* design.html だけ画像本来の高さで表示 */
.main_img.img_design img {
	height: auto;
}




/* メインタイトルを画像の中央に重ねる */
.mimg_c {
	margin-top: 110px;
}

.mimg_c img {
	margin-top: 0;
}

/* 白文字を読みやすくするため画像に暗いベールをかける（濃さは0〜1で調整） */
.mimg_c::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.45);
}

.mimg_c .img_caption {
	color: #fff;
}

.slide_main_h2.h2_c {
	background-color: transparent;
	display: block;
	width: 100%;
	text-align: center;
	letter-spacing: 2px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 2;
	opacity: 0;
	animation: h2_left 600ms ease-out 100ms forwards;
}

/* 左からすっと出す */
@keyframes h2_left {
  0% {opacity: 0; transform: translate(-40px, -50%);}
  100% {opacity: 1; transform: translate(0, -50%);}
}

/* 動きを減らす設定の端末では静止表示 */
@media (prefers-reduced-motion: reduce) {
.slide_main_h2.h2_c {
	opacity: 1;
	animation: none;
}
}


.img_caption {
	color: #000;
	font-size: 0.75em;
	line-height: 1em;
	position: absolute;
	bottom: 10px;
	right: 10px;
}

.img_caption2 {
	color: #fff;
	font-size: 0.85em;
	line-height: 1em;
	position: absolute;
	bottom: 0;
	right:0;
	background-color: rgba(0, 0, 0, 0.7);
	display: inline-block;
	padding: 9px 10px;
}

.slide_main_h2 {
	color: #fff;
	font: 5.7em/1em "Cormorant Garamond", serif;
	font-weight: 600;
	font-style: italic;
	text-align: left;
	letter-spacing: 1px;
	position: relative;
	background-color: #fff;
	margin: -.7em 0 0 0;
	padding: 20px 100px 60px;
	display: inline-block;
}

.slide_main2_h2 {
	color: var(--color-deepblue);
	font-size: 2em;
	line-height: 1.8em;
	font-weight: 500;
	letter-spacing: 5px;
	margin: 180px 0 0;
	display: inline-block;
	border-bottom: 2px solid var(--color-deepblue);
}

/* slide_main */
#slide_main {
	width: 100%;
	margin: 0;
	padding-top: 80px;
	padding-bottom: 80px;
}

.slide_main-p {
	color: #000;
	font:0.95em/1.8em;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.nophoto-mg {
	padding-top: 300px;
}

.no-mgtop {
	margin-top: 0 !important;
}

.image-b {
	display: block;
}

.image-s {
	display: none;
}

.width90 {
	width: 90%;
	margin-left: 5%;
	margin-right: 5%;
}

.width100 {
	width: 100%;
}

.font-white {
	color: #fff;
}

.mg-auto {
	margin-left: auto;
	margin-right: auto;
}


.m_title {
    color: #bbb;
    letter-spacing: 2px;
    text-align: left;
    font: normal 400 4rem/1.6em trajan-pro-3, serif;
    position: absolute;
	left: 15px;
	bottom: 15px;
}

.under {
  border-bottom: solid 1px #bbb;
	padding-bottom: 5px;
}



/* デザイン */
.design_area {
	margin-top: 0;
	margin-bottom: 80px;
	position: relative;
}

.design_photo {
	margin-bottom: 30px;
	position: relative;
	width: 100%;
	margin-top: 150px;
}

.design_photo .caption {
	position: absolute;
	right: 10px;
	bottom: 10px;
	color: #fff;
	font-size: 0.75em;
	line-height: 1.8em;
}

.design_h2 {
	color: var(--color-green);
	font-size: 2.7em;
	line-height: 1em;
	font-weight: 500;
	margin: 30px 0;
	letter-spacing: 1px;
}

.design_p {
	font-size: 1.2em;
	line-height: 2.5em;
	text-align: left;
	text-justify: inter-ideograph;
	margin: 0 0 50px;
	padding: 0;
}

.design_p span {
	display: inline-block;
}

.note p {
	color: #666;
	font-size: 0.85em !important;
	line-height: 1.6em !important;
	text-align: justify;
	text-justify: inter-ideograph;
	font-weight: 300;
	padding-left: 10px;
	padding-right: 10px;
}

.design_notes {
	color: #666;
	font-size: 0.8em !important;
	line-height: 1.6em !important;
	text-align: justify;
	text-justify: inter-ideograph;
	margin-top: 80px !important;
	margin-bottom: 50px;
}

.gallery_wrap {
	margin: 100px auto 0;
}

.gallery_wrap ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -5px;
	padding: 0;
	list-style: none;
}

/* サムネイル4枚並び */
.gallery_wrap li {
	width: 25%;
	padding: 5px;
	box-sizing: border-box;
}

/* 縦写真も横写真と同じ高さ・中央表示。余白は背景色で埋める */
.gallery_wrap a {
	display: block;
	aspect-ratio: 1000 / 714;
	background-color: #eee;
	overflow: hidden;
	cursor: pointer;
}

.gallery_wrap img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: opacity 0.3s ease;
}

.gallery_wrap a:hover img {
	opacity: 0.7;
}



/* アクセス */
.access_area {
margin: 50px auto 80px;
text-align: center;
}

.access_p {
	text-align: center;
	font-size: 1.3em;
	line-height: 1.8em;
	margin-bottom: 60px;
	margin-top: 0;
}

.access_p span {
	font-size: 1.3em;
}

.img_frame {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 0 80px;
	padding: 0;
}

.img_frame .left {
	display: flex;
	flex-direction: column;
	width: 25%;
	margin: 0;
}

.img_frame .right {
	width: 70%;
	margin: 0;
	background-color: #fff;
	padding: 1em;
}

.img_frame img {
	width: 100%;
}

.img_frame figure {
	margin: 0 0 20px;
}

.img_frame figcaption {
	font-size: 0.75rem;
	line-height: 1;
	text-align: left;
	margin: 0;
}

.access_ul {
	width: 100%;
	margin: 50px 0 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.access_ul li {
	width: 31%;
	margin: 0 1% 40px;
	padding: 0;
}

.access_ul li img {
	width: 100%;
	margin: 0 0 10px;
}

.access_ul li .time  {
	font-size: 1.2em;
	line-height: 1.6em;
	margin: 0 0 10px;
	letter-spacing: 1px;
}

.access_ul li .note  {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
}

.notes {
	font-size: 0.8em;
	line-height: 1.6em;
	text-align: left;
}




.s1 {
display: flex;
align-items: center;
}

.s1:before, .s1:after {
content: "";
flex-grow: 1;
height: 1px;
background: #bbb;
display: block;
}

.s1:before {
margin-right: .6em;
}

.s1:after {
margin-left: .6em;
}


.photo_frame {
	border: 1px dashed #c0c0c0;
	text-align: center;
	padding-top: 20px;
}

.access_info01 {
	background-color: #4BBCB7;
	padding: 2em;
	margin-top: 50px;
}

.access_info01_ti {
	color: #fff;
	font-size: 1.3em;
	line-height: 1.8em;
	text-align: left;
}

.access_detail {
	display: flex;
	flex-wrap: wrap;	
	justify-content: space-between;
	width: 100%;
	margin-top: 20px;
}

.access_detail figure {
	width: 47%;
	text-align: left;
	margin: 0;
	padding: 0;
	position: relative;
}

.access_detail figure .caption {
	color: #fff;
	font-size: 0.8em;
	line-height: 1.8em;
	position: absolute;
	bottom: 10px;
	right: 10px;
}

.access_detail .description {
	width: 48%;
	color: #fff;
	font-size: 0.9em;
	line-height: 1.8em;
	text-align: left;
}

h3.access-h3 {
    font-size: 1.6em;
	line-height: 1.5em;
	color: #231815;
	letter-spacing: 4px;
	font-weight: normal;
	font-style: normal;
	margin: 120px 0 10px 0;
	text-align: center;
}








/* ロケーション */
h3.loca-h3 {
    font-size: 1.5em;
    line-height: 1.5em;
    color: var(--color-green);
    letter-spacing: 3px;
    display: flex;
    align-items: center;
    font-weight: normal;
    font-style: normal;
    margin: 70px 0 30px;
    position: relative;
    display: inline-block;
    padding: 20px 20px;
}

h3.loca-h3::before,
h3.loca-h3::after {
    content: "";
    display: block;
    width: 50%;
    height: 4px;
    border-top: 1px solid rgba(69,103,131,1);
    position: absolute;
    top: 0;
}

h3.loca-h3:before{left:-24px;}
h3.loca-h3:after{right:-24px;}
h3.loca-h3 span{
	display:block;
	width:8px;height:8px;
	border:2px solid rgba(69,103,131,1);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	position:absolute;
	top:-4px;
	left: 50%;
	margin-left:-2px;
}

.map_frame {
	border: thin solid #ddd;
}

.info_photoflex {
	margin: 30px 0 0;
  	padding:0;
  	display: flex;
  	justify-content: space-between;
  	flex-wrap: wrap;
	width: 100%;
	list-style-type: none;
}

.info_photoflex figure {
	width: 24%;
	margin: 0 0 40px;
	padding: 0;
}

.info_photoflex figcaption {
	font-size: 0.75em;
	line-height: 1.5em;
	text-align: left;
	margin: 0;
}

ul.infoflex {
	margin:0;
  	padding:0;
  	display: flex;
  	justify-content: space-between;
  	flex-wrap: wrap;
	width: 100%;
	list-style-type: none;
}

.infoflex li {
	width: 45%;
	margin: 0 0 40px;
	padding: 0;
	text-align: left;
}

h4.life_h4 {
	color: var(--color-green);
	font-size: 1.1em;
	line-height: 2em;
	border: 1px solid #ccc;
	border-right-style: none;
	border-left-style: none;
	padding-top: 5px;
	margin-bottom: 20px;
	text-align: left;
	padding-bottom: 3px;
	border-top-style: none;
	margin-top: 0;
}

.life_info {
	display: flex;
  	justify-content: space-between;
  	flex-wrap: wrap;
	width: 100%;
	font-size: 0.85em;
	line-height: 1.8em;
}


/* 駅近ライフ */
.sf_map {
	display: flex;
	flex-wrap: wrap;
	 justify-content: space-between;
	width: 100%;
	margin: 60px 0 80px;
	padding: 0;
}

.sf_map1 {
	width: calc(540 / 1300* 100%);
	margin: 0;
	padding: 0;
}

.sf_map2 {
	width: calc(742 / 1300* 100%);
	margin: 0;
	padding: 0;
}

.shop_ul {
	display: flex;
	flex-wrap: wrap;
	 justify-content: space-between;
	width: 100%;
	margin: 0 0 60px;
	padding: 0;
	list-style-type: none;
}

.shop_ul li {
	width: calc(420 / 1300* 100%);
	margin: 0 0 30px;
	padding: 0;
	font-size: 0.8em;
	line-height: 1.5em;
	text-align: left;
}

.shop_ul li img {
	margin: 0;
	width: 100%;
}



/* 設備仕様 */
ul.eq_link {
	display: flex;
	width: 65%;
	padding: 0;
	margin: 50px auto 0;
}

ul.eq_link li {
	width: 50%;
	color: #fff;
	font-size: 1em;
	line-height: 1.5em;
	display: block;
	padding: 7px 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.eq_link_li01 {
	background-color: #002E41;
	position: relative;
	text-align: center;
}

.eq_link_li02 {
	background-color: #f5f5f5;
	position: relative;
	text-align: center;
	border: 1px solid #002E41;
}

.eq_link_li01::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 50;
  bottom: -7px;
  border-top: 8px solid #002E41;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
}

.eq_link a {
	color: #002E41 !important;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
	width: 100%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
}

.eq-title {
    margin: 50px auto 0;
	color: #231815;
	line-height: 1.5em;
	font-weight: normal;
	font-style: normal;
	font-size: 1.5em;
	letter-spacing: 3px;
	text-align: center;
}

h3.eq-h3 {
	font: italic 2.5em var(--font-Garamond);
	line-height: 1;
    color: var(--color-green);
	display: flex;
	justify-content: space-between;
    margin: 70px 0 30px;
    padding: 0 0 10px;
	border-bottom: 3px double var(--color-green);
}

.sub_title {
	color: var(--color-green);
	font-size: 0.5em;
	line-height: 1.5em;
	letter-spacing: 1px;
	font-weight: 500;
	font-style: normal;
	margin-left: 1.5em;
	margin-top: 10px;
	text-align: right;
}

/* eq_area */
.eq_area {
	margin-top: 0;
	padding: 0;
	display: flex;
  	justify-content: space-between;
	width: 100%;
	margin-left: 0;
}

.eq_area_photo {
	width: 37%;
	margin: 0 2% 30px 0;
	padding: 0;
	text-align: left;
}

.eq_area_photo img {
	width: 100%;
}

.eq_area ul {
	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
	margin: 0;
	padding: 0;
	width: 63%;
}

.eq_area ul li {
	list-style-type: none;
	padding: 10px;
	flex-basis: 48.5%;
	margin: 0 2% 30px 0;
}

.eq_area ul li:nth-child(even){
	margin-right: 0px;
}

.eq_area figure {
	margin: 0;
}

.eq_area figure img {
	vertical-align: bottom;
}

.eq_area .description {
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;
	text-align: justify;
	text-justify: inter-ideograph;
}

.eq_area .description h4 {
	display: flex;
	flex-direction: column;
	padding: 4px 6px;
	margin: 5px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color: var(--color-green);
	font-size: 0.9em;
	line-height: 1.6em;
	letter-spacing: 1px;
	background-color: #f5f5f5;
}

.eq_area .description p {
	font-size: 0.85em;
	line-height: 1.8em;
	text-align: left;
	margin: 8px 0 0;
	color: #666;
}

.eq_area .description span {
	font-size: 0.9em;
}


/* eq_area2 */
.eq_area2 {
	margin-top: 30px;
	padding: 0;
}

.eq_area2 ul {
	display: flex;
  	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	width: 100%;
}

.eq_area2 ul li {
	list-style-type: none;
	padding: 10px;
	flex-basis: 32%;
	margin-right: 2%;
	margin-left: 0;
	margin-bottom: 20px;
}

.eq_area2 ul li:nth-child(3n) {
	margin-right: 0;
}

.eq_area2 figure {
	margin: 0;
	position: relative;
}

.eq_area2 figure figcaption {
	position: absolute;
	right: 5px;
	bottom: 8px;
	font-size: 0.8em;
}

.eq_area2 .description {
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;
	text-align: left;
}

.eq_area2 .description h4 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	padding: 4px 6px;
	margin: 5px 0 0;
	text-align: left;
	color: var(--color-green);
	font-size: 0.9em;
	line-height: 1.6em;
	letter-spacing: 1px;
	background-color: #f5f5f5;
}

.eq_area2 .description h4 span {
	background-color: var(--color-green);
	color: #fff;
	display: inline-block;
	margin-left: 10px;
	padding-right: 10px;
	padding-left: 10px;
}

.eq_area2 .description p {
	font-size: 0.85em;
	line-height: 1.8em;
	text-align: left;
	margin: 5px 0 0;
	color: #666;
}

.eq_area2 .description span {
	font-size: 0.9em;
}


/* eq_area3 */
.eq_area3 {
	margin-top: 0;
	padding: 0;
	display: flex;
  	justify-content: space-between;
	width: 100%;
	margin-left: 0;
}

.eq_area3_photo {
	width: 47%;
	margin: 0 2% 30px 0;
	padding: 0;
	text-align: left;
}

.eq_area3_photo img {
	width: 100%;
}

.eq_area3 ul {
	display: flex;
  	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	width: 50%;
}

.eq_area3 ul li {
	list-style-type: none;
	padding: 10px;
	flex-basis: 100%;
	margin: 0 0 30px;
}

.eq_area3 ul li:nth-child(even){
	margin-right: 0px;
}

.eq_area3 figure {
	margin: 0;
}

.eq_area3 figure img {
	vertical-align: bottom;
}

.eq_area3 .description {
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;
	text-align: justify;
	text-justify: inter-ideograph;
}

.eq_area3 .description h4 {
	display: flex;
	flex-direction: column;
	padding: 4px 6px;
	margin: 5px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color: var(--color-green);
	font-size: 0.9em;
	line-height: 1.6em;
	letter-spacing: 1px;
	background-color: #f5f5f5;
}

.eq_area3 .description p {
	font-size: 0.85em;
	line-height: 1.8em;
	text-align: left;
	margin: 8px 0 0;
	color: #666;
}

.waku {
	border: 1px solid #dcdcdc;
}


/* eq_area4 */
.eq_area4 {
    margin-top: 30px;
    padding: 0;
}

.eq_area4 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 0;
}

.eq_area4 ul li {
	list-style-type: none;
	padding: 10px 20px;
	width: 24%;
	margin: 0;
}

.eq_area4 h4 {
    display: flex;
    flex-direction: column;
    padding: 6px 0 0;
    margin: 5px 0 0;
    text-align: justify;
    text-justify: inter-ideograph;
    color: #45351d;
    font-size: 0.9em;
    line-height: 1.6em;
    letter-spacing: 1px;
}

.eq_area4 p {
    font-size: 0.85em;
    line-height: 1.8em;
    text-align: left;
    margin: 5px 0 0;
    color: #666;
}



/* プラン */
.plan_area {
	margin-top: 60px;
	margin-bottom: 80px;
}

.sub_img {
	position: relative;
	margin-bottom: 70px;
}

.sub_img img {
	border-radius: 4px; /* CSS3草案 */  
	-webkit-border-radius: 4px; /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px; /* Firefox用 */
}

.sub_img p {
	position: absolute;
	bottom: 5px;
	right: 5px;
	color: #fff;
	font-size: .85em;
	line-height: 1.6em;
	letter-spacing: 2px;
}


ul.plan_spMenu {
	display: none;
}


ul.plan_list {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
}

.plan_list li {
	width: 31%;
	text-align: center;
	padding: 2em;
	position: relative;
	margin: 0 3.5% 3em 0;
	background-color: #fff;
}

.plan_list li:nth-child(3n) {
	margin: 0 0 3em;
}

.plan_list li a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(68, 103, 131, 0.5);
	border-top: 3px solid #002E41;
}

.plan_list li a:hover {
	border-color: #231815;
	border-width: 2px;
}


.plan_name {
	color: var(--color-green);
	font-size: 0.8em;
	line-height: 1.5em;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
	margin-right: 0;
}

.plan_name span {
	font-size: 50px;
}

.room_type {
	color: var(--color-lightbrown);
	font-size: 1.5em;
	line-height: 1.8em;
	font-family: 'Noto Serif JP', serif;
	border-bottom: 1px solid #d6d6d6;
	margin: 20px 0 0;
}

.plan_list figure {
	margin: 0;
	padding: 0;
}

.plan_list img {
	width: 40%;
	margin-bottom: 2em;
	margin-top: 20px;
}

.plan_btn {
	background-color: var(--color-lightbrown);
	color: #fff;
	font-size: 0.8em;
	line-height: 1.5em;
	position: absolute;
	left: 20%;
	bottom: 20px;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	padding: 7px 0;
}

.plan_p {
	font-size: 0.8rem;
	line-height: 1.8;
	text-align: left;
	margin: 0;
	padding: 30px 0 0;
}




/* 物件概要 */
.outline_wrap {
	margin: 60px auto 100px;
}

.outline_wrap h3 {
	font-size: 1.7em;
	text-align: center;
	font-weight: 500;
	letter-spacing: 10px;
	margin-top: 0;
	margin-bottom: 50px;
}

.outline_wrap .date {
	font-size: 0.85em;
	line-height: 1.8em;
	text-align: right;
	margin-top: 40px;
}

table.outline { 
	border-collapse: collapse;
	font-size: 0.9em;
	line-height: 1.8em;
	letter-spacing: 0.5px;
	text-align: left;
	width: 100%;
}

table.outline th { 
	text-align: left;
	vertical-align: top;
	width: 250px;
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 10px;
	font-weight: normal;
	font-style: normal;
	border: 1px solid #ddd;
	border-right-style: none;
	border-left-style: none;
}

table.outline td { 
	vertical-align: top; 
	padding: 15px 10px 10px 50px;
	border: 1px solid #ddd;
	border-right-style: none;
	border-left-style: none;
}



/* table */
.contact_area {
	margin: 0 0 80px;
}

.contact_area h2 {
    font-size: 1.5em;
    line-height: 1.6em;
    text-align: left;
    max-width: 800px;
    margin: 50px auto 40px;
}

.contact_area p {
    font-size: 1em;
    line-height: 2em;
    text-align: left;
    max-width: 800px;
	margin: 50px auto 0;
}

.form_area {
	border-radius: 8px;		/* CSS3草案 */
	-webkit-border-radius: 8px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 8px;
	background-color: rgba(245,245,245,0.7);
	padding: 50px 30px 40px;
	margin-bottom: 80px;
	margin-top: 50px;
	border: 1px solid #dfdfdf;
	box-shadow: #eee 2px 2px 4px;
}

table.contactus { 
	border-collapse: collapse;
	text-align: left;
	width: 100%;
	margin-top: 0;
}

table.contactus caption {
	color: #111;
	line-height: 1.6em;
	padding-bottom: 20px;
	letter-spacing: 5px;
	font-size: 1.5em;
}

table.contactus th { 
	text-align: left; 
	letter-spacing: 0; 
	vertical-align: top;
	width: 270px;
	padding-top: 18px;
	padding-bottom: 18px;
	padding-left: 15px;
	font-size: 0.85em;
	line-height: 1.8em;
	font-weight: normal;
	font-style: normal;
}

table.contactus td { 
	vertical-align: top; 
	padding: 18px 10px 10px 50px;
	color: #666;
	font-size: 0.9em;
	line-height: 2em;
}

.hr_top2 {
	border-top: 4px double #dcdcdc;
}

.hr_top {
	border-top: 1px solid #dcdcdc;
}

.hr_bottom {
	border-bottom: 1px solid #dcdcdc;
}

.span-required {
	color: #fff;
	font-size: 0.85em;
	line-height: 2em;
	background-color: #af5e61;
	padding: 3px 5px;
	border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
	margin-right: 8px;
}


/* お知らせ */
.news_area {
	margin: 0;
	padding: 0;
}

.news_area .news_date {
	font-size: 0.9em;
    line-height: 1.8em;
    text-align: left;
    margin: 0 auto 20px;
}

.news_area h2 {
    font-size: 1.3em;
    line-height: 1.6em;
    text-align: left;
    margin: 0 auto 50px;
	border-bottom: 1px solid #dcdcdc;
	padding-bottom: 15px;
}

.news_area p {
    font-size: 0.9em;
    line-height: 2em;
    text-align: left;
    margin: 0 auto 30px;
}

.up_date {
    font-size: 0.9em;
    line-height: 2em;
    text-align: right;
    margin: -40px auto 80px;
}


/* FORMテキスト */
.form{
    padding: 12px;
    background:#fff;
    border:1px solid #d0d0d0;
    margin-bottom:10px;
    color:#727272 !important;
    font-size:13px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
  }

.form_confirm{
    padding: 12px;
    background:#fff;
    border:1px solid #d0d0d0;
    color:#727272 !important;
    font-size:13px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
	margin-top: 6px;
}

.width {
	width: 150px;
}

  .form:hover{
    border:1px solid #4BBCB7;
  }

  .form:focus{
    color: white;
    outline: none;
    border:1px solid #4BBCB7;
  }

  .textarea{
    height: 200px;
    max-height: 200px;
    max-width: 100%;
  }
  
  
/* Send Button Styles */
.form-btn{
    width:200px;
    display: block;
    height: auto;
    padding:16px;
    color:#fff;
        background-image: linear-gradient(76.3deg, #002E41 12.6%, rgba(69, 103, 131, 1) 82.8%);
    border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
    outline: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    margin:auto;
	letter-spacing: 3px;
	border: 1px solid #002E41;
}

.form-btn:hover{
    background: #fff;
    color: var(--color-green);
    border:none;
	border: 1px solid #002E41;
}

.form-btn:active{
    opacity: 0.9;
}

center{
  margin-top:330px;
}

input {
    position: relative;
    z-index: 99;
}



/* FORMセレクト */
.select-wrap{
	position:relative;
	overflow:hidden;
	display:inline-block;
	min-width:192px;
	min-width:12em;
	background-color:#ffffff;
	background-image:-webkit-linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
	background-image:linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
	border: 1px solid rgba(0,0,0,0.15);
	color:#666;
}

.select-wrap select{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	appearance:none;
	position:relative;
	z-index:2;
	display:block;
	width:200%;/* fallback non calc support */
	width:-webkit-calc(100% + 5em);
	margin:0;
	padding: 6px 35px 6px 11px;
	background:transparent;
	border:0;
	outline:none;
	line-height: 1.5;
	font-size: 1em;
}

.entypo-down-open-mini:before{
	position:absolute;
	z-index:1;
	top:50%;
	right:12px;
	right:.75rem;
	margin-top:-8px;
	margin-top:-.5rem;
	font-size:16px;
	font-size: 1.1em;
	line-height:1;
	color:#333;
}

.select-wrap-2{
	position:relative;
	overflow:hidden;
	display:inline-block;
	min-width:192px;
	min-width:5em;
	background-color:#ffffff;
	background-image:-webkit-linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
	background-image:linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
	border: 1px solid rgba(0,0,0,0.15);
	color:#666;
	
}

.select-wrap-2 select{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	appearance:none;
	position:relative;
	z-index:2;
	display:block;
	width:200%;/* fallback non calc support */
	width:-webkit-calc(100% + 5em);
	margin:0;
	padding: 3px 35px 3px 11px;
	background:transparent;
	border:0;
	outline:none;
	line-height: 1.5;
	font-size: 1em;
}

.entypo-down-open-mini:before{
	position:absolute;
	z-index:1;
	top:50%;
	right:12px;
	right:.75rem;
	margin-top:-8px;
	margin-top:-.5rem;
	font-size:16px;
	font-size: 1.1em;
	line-height:1;
	color:#333;
}



/* FORMチェックボックス、ラジオボタン */
/*Checkboxes styles*/
input[type="checkbox"] { display: none; }

input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 5px;
  color: #444;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
	width: 200px;
}

input[type="checkbox"] + label:last-child { margin-bottom: 0; }

input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
	margin-top: 3px;
}

input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mgLeft30 {
	margin-left: 30px;
}



/*プライバシーポリシー*/
.privacy {
	font-size: 0.85em;
	line-height: 1.8em;
	margin: 0 auto 30px;
	width: 400px;
}

/*Checkboxes styles*/
.privacy input[type="checkbox"] { display: none; }

.privacy input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 10px;
  margin-bottom: 5px;
  color: #444;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
	width: 400px;
}

.privacy input[type="checkbox"] + label:last-child { margin-bottom: 0; }

.privacy input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid #af5e61;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
	margin-top: 3px;
}

.privacy input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}




/*ラジオボタン styles*/
.radio {
  margin: 0 0 5px;
}

.radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}
.radio input[type="radio"] + .radio-label:before {
  content: '';
  background: #f4f4f4;
  border-radius: 100%;
  border: 1px solid #b4b4b4;
  display: inline-block;
  width: 15px;
  height: 15px;
  position: relative;
  top: 2px;
  margin-right: 1em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}
.radio input[type="radio"]:checked + .radio-label:before {
  background-color: #af5e61;
  box-shadow: inset 0 0 0 4px #f4f4f4;
}
.radio input[type="radio"]:focus + .radio-label:before {
  outline: none;
  border-color: #af5e61;
}
.radio input[type="radio"]:disabled + .radio-label:before {
  box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
}
.radio input[type="radio"] + .radio-label:empty:before {
  margin-right: 0;
}



.submit_area {
	display: flex;
    justify-content: center;
    align-items: center;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}




/*両サイド*/
.left_txtarea {
	position: fixed;
	width: 300px;
	top: 50%;
	left: 0;
	height: 3em;
	text-align: center;
	margin: 0 0 0 -8em;
}

.left_name {
	color: #aaa;
	font-size: 10px;
	line-height: 1em;
	letter-spacing: 5px;
	transform: rotate( -90deg );
	font-weight: 300;
}




.cl_white {
	color: #fff !important;
}

.cl_black {
	color: #150201 !important;
}

.cl_666 {
	color: #666 !important;
}

.cl_aaa {
	color: #aaa !important;
}

.cl_777 {
	color: #777 !important;
}

.cl_bbb {
	color: #bbb !important;
}

.cl_b3bbc0 {
	color: #b3bbc0 !important;
}

.cl_d3c9b6 {
	color: #d3c9b6 !important;
}

.cl_d80c18 {
	color: #d80c18;
}

.br_tab {
	display: none;
}

.no_link {
	pointer-events: none;
}

.hidden_pc {
	display: none;
}

.hidden_sp {
	display: block;
}


@media screen and (max-width: 1400px) {
.slide3_wrap figure {
    margin: 0 1% 0 0;
    width: 57%;
}

.main_img img {
    height: 350px;
}
}


@media screen and (max-width: 1280px) {
/* ヘッダーメニュー-1200 */
.header_menu {
    top: 10px;
    left: 30px;
}

.header_menu ul {
	display: none;
}

.header_menu h1 {
    width: 120px;
    padding-bottom: 0;
	margin-top: 0;
}

.main_img img {
    height: 300px;
}

#slide_main {
    padding-top: 30px;
}

/* 設備仕様-1200 */
.eq_area,
.eq_area2,
.eq_area3  {
	padding-left: 10px;
	padding-right: 10px;
}

/* デザイン-1200 */
.design_p {
	font-size: 1.1em;
	line-height: 2.2em;
	text-align: left;
	text-justify: inter-ideograph;
	margin: 0 0 80px;
	padding: 0;
}
}


@media screen and (max-width: 1024px) {
.top_access_ul li {
    width: 31%;
    margin: 0 1% 40px;
    padding: 0;
}

/* 中ページ-1024 */
.slide_main_h2 {
	font-size: 5em;
	margin: -.5em 0 0 0;
	padding: 10px 60px 0 70px;
}

.object-position01 {
    object-position: 10% top;
}

/* デザイン-1200 */
.design_description {
	position: absolute;
	top: calc(500 / 1343* 100%);
    left: calc(200 / 1920* 100%);
}
}


@media screen and (max-width: 999px) {
.left_txtarea-999 {
	display: none;
}

/* slide4-999 */
#slide4 ul li {
	width: 47%;
}
}



@media screen and (max-width: 912px) {
.main_img img {
    height: 250px;
}

/* 中ページ-912 */
.left_txtarea {
	display: none;
}

/* slide3-912 */
h2.location_h2 {
    max-width: 400px;
}

/* アクセス-912 */
.access_ul li {
	width: 48%;
}

/* デザイン-912 */
.design_description {
	position: absolute;
	top: calc(500 / 1343* 100%);
    left: calc(100 / 1920* 100%);
	max-width: 480px;
}

/* 駅近ライフ-912 */
.shop_ul li {
	width: 48%;
	margin: 0 0 30px;
	padding: 0;
	font-size: 0.8em;
	line-height: 1.5em;
	text-align: left;
}
}



@media screen and (max-width: 820px) {
.mimg_c {
    margin-top: 90px;
}

#slide2 p {
    font-size: 1.7em;
}

.slide3_wrap .description {
    width: 70%;
    margin: 0 auto;
}

.side4_title img {
    width: 100%;
    max-width: 300px;
    margin-top: -60px;
    margin-left: -30px;
}

#slide4 .access_p {
    font-size: 1.2em;
    line-height: 1.5em;
}

/* 中ページ-820 */
#slide_main {
    padding-bottom: 0;
		padding-top: 0;
}

.slide_main_h2 {
	font-size: 4.5em;
	margin: -.5em 0 0 0;
	padding: 10px 40px 0 40px;
}

.slide3_wrap figure {
   margin: 30px auto 0;
   width: 70%;
}

/* 概要-820 */
table.outline th {
    width: 180px;
}

/* アクセス-820 */
.access_p {
    font-size: 1.2em;
    line-height: 1.8em;
    margin-bottom: 40px;
}

.img_frame .left {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0;
}

.img_frame .left figure {
	width: 48%;
}

.img_frame .right {
	width: 100%;
	margin: 0;
	background-color: #fff;
	padding: 1em;
}

.access_ul {
    margin: 40px 0 0;
}


/* ロケーション-820 */
.info_photoflex figure {
    width: 48%;
}

/* 設備仕様-820 */
.eq_area4 ul li {
    list-style-type: none;
    padding: 10px 20px 20px;
    width: 48%;
    margin: 0;
}
}


@media screen and (max-width: 768px) {
.info_wrap {
    padding: 70px 0;
}

.slide3_wrap h2 {
    margin: 0 0 30px;
    width: 100%;
    max-width: 300px;
}

.slide3_wrap .description {
    width: 75%;
    margin: 0 auto;
}

.slide3_wrap figure {
 margin: 30px auto 0;
 width: 90%;
}

#slide4 {
    text-align: center;
    margin: 0;
    padding: 130px 0 110px;
    background-color: #f5f5f5;
}

.design_description {
	position: absolute;
	top: calc(500 / 1343* 100%);
    left: calc(100 / 1920* 100%);
	max-width: 400px;
}

.design_h2 {
	color: var(--color-green);
	font-size: 2.3em;
	line-height: 1em;
	font-weight: 500;
	margin: 30px 0;
	letter-spacing: 1px;
}

.design_p {
	font-size: 1em;
	line-height: 2em;
	text-align: left;
	text-justify: inter-ideograph;
	margin: 0 0 80px;
	padding: 0;
}

.gallery_wrap {
	margin-top: 60px;
}

/* サムネイル2枚並び */
.gallery_wrap li {
	width: 50%;
}
}



@media screen and (max-width: 767px) {
.scroll_area {
	display: none;
}

.top_contact-btn, .contact-btn {
    width: 112px;
    height: 20px;
    top: 5px;
    right: 5px;
}

.top_contact2-btn, .contact2-btn {
    width: 112px;
    height: 20px;
    top: 5px;
    right: 125px;
}

.top_contact-btn a,
.contact-btn a {
    display: block;
    padding: 5px 8px;
}

.top_contact2-btn a,
.contact2-btn a {
    display: block;
    padding: 5px 8px;
}


/* 中ページ */


#slide_main {
    width: 100%;
    margin: 50px 0 0;
}


/* footer */
footer {
	padding-bottom: 20px;
} 

.footer_link {
	width: 100%;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	padding: 0;
}

.footer_link h2 {
	width: 100%;
	text-align: center;
}

.footer_link ul {
	display: none;
}

.copyright {
    padding-top: 20px;
}
}


@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}



@media screen and (max-width: 640px) {
body {
	font-size: 1.05em;
	background: url(../images/common/bg.jpg) fixed 10% top;
}

.top_contact-btn, .contact-btn,
.top_contact2-btn, .contact2-btn {
	display: none;
}

.menu {
	width: auto;
}

.menu-sp {
	background-color: #c5c2b4;
	width: 100%;
	display: block;
	position: fixed;
	margin: 0;
	padding: 0;
	z-index: 10000;
}

.menu-sp ul {
	display: flex;
	width: 80%;
	background-color: #c5c2b4;
	margin: 0;
	padding: 0 0 0 15%;
	text-align: center;
	list-style-type: none;
}

.menu-sp li {
	width: 32%;
	font-size: 9px;
	line-height: 1.8em;
	color: #fff;
	padding-top: 8px;
	padding-bottom: 4px;
}

.menu-sp li i {
	font-size: 24px;
}

.menu-sp li a,
.menu-sp li a:hover,
.menu-sp li a:visited {
	color: #fff !important;
	text-decoration: none;
}

.header_menu .h1_wrap {
	display: none;
}

/* スマホトップのみh1 */ 
.sp-top-h1 {
	margin: auto;
	padding-top: 57px;
	padding-bottom: 10px;
}

.h1_caption {
    color: #fff;
    font-size: 0.75em;
    line-height: 1.8em;
	text-align: right;
	margin-top: -3em;
	margin-right: 5px;
}

/* スマホ中ページh1 */ 
.sp-h1 {
    text-align: center;
    width: 200px;
    margin: auto;
    padding-top: 75px;
    padding-bottom: 10px;
}

/* Slide 1-sp */ 
#slide1 {
	padding-top: 54px;
}

.point3 {
    background-image: linear-gradient(358deg, #f5f6f2 0%, #ffffff 70%);
    margin: 0 auto;
    padding: 20px 0;
    width: 100%;
    text-align: center;
}

/* Slide 2-sp */ 
#slide2 .form_link .go_form {
	font-size:1.1em;
	line-height: 58px;
	font-family: 'Cormorant Garamond', serif;
	margin: 0 auto 20px;
	width: 80%;
	height: 60px;
	display: block;
	text-align: center;
}

#slide2 .form_link .go_form a {
	display: block;
	color: #fff;
	text-decoration: none;
}

#slide2 .form_link .go_form a:hover {
	text-decoration: none !important;
	background-color: #231815;
}

.info_wrap {
    padding: 50px 0;
}

.info_wrap .info_h2 {
    margin: 0 0 30px;
	font-size: 1rem;
}

#slide2 p {
	font-size: 1.2em;
	color: #444;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0;
	margin: 0 0 10px;
}


/* Slide 3-sp */
#slide3 {
    margin: 70px 0;
    padding: 0;
    width: 100%;
    position: relative;
}

.slide3_wrap .description {
    width: 92%;
    margin: 0 auto;
}

.slide3_wrap h2 {
    margin: 0 auto 30px;
    width: 100%;
    max-width: 250px;
}

.slide3_wrap figure {
    margin: 30px auto 0;
    width: 95%;
}


/* slide4 */
#slide4 {
    padding: 120px 0 110px;
}

#slide4 .access_p {
    font-size: 1.1em;
    line-height: 1.8em;
}

.side4_title img {
    max-width: 60%;
	margin-top: -50px;
}

.side4_title {
    position: relative;
    margin: 0 0 -40px;
}

#slide4 ul li {
	width: 100%;
}


/* Slide 9 資料請求 */ 
.bottom_content .contact img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: 0 0;
    vertical-align: bottom;
}

.bottom_content .contact .contct_link {
    color: #fff;
    position: absolute;
    top: 30px;
    left: 50%;
    -ms-transform: translate(-50%,-120%);
    -webkit-transform: translate(-50%,-120%);
    transform: translate(-50%,-120%);
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
}

.bottom_content .contact .contct_link .go_form {
    width: 80%;
}

.slide9-btn {
	width: 80%;
}

#slide9 .contact_tel {
	font-size: 0.9em;
	line-height: 2.8em;
	letter-spacing: 2px;
}

.tel_link {
	font-size: 2.4em;
}

#slide9 .contact_info {
	color: #fff;
	font-size: 0.8em;
	line-height: 1.8em;
}


/* footer-640 */
.footer_link div {
    width: 100%;
    max-width: 220px;
    margin: 0 30px 20px;
    padding: 0;
}

.copyright {
        padding-top: 0;
		margin-top: 30px;
}


/* 中ページ-640 */
.main_img img {
    margin: 0;
	height: 160px;
}

.mimg_c {
	margin-top: 0;
}

.img_caption {
	font-size: 0.7em;
    bottom: 5px;
    right: 5px;
}

.img_caption2 {
	font-size: 0.7em;
	padding: 5px 7px;
    bottom: 0;
    right: 0;
}

.slide_main_h2 {
	font-size: 2.5em;
	margin: -.5em 0 0 0;
	padding: 10px 20px 0 20px;
}


/* デザイン-640 */
.design_description {
	display: none;
}

.design_h2 {
	font-size: 2em;
}

.design_p {
	font-size: 0.95em;
	line-height: 1.8em;
	text-align: left;
	text-justify: inter-ideograph;
	margin: 0 0 80px;
	padding: 0;
}



/* ロケーション-640 */
.v_line_fix {
    height: 100px;
}

.info_p {
    color: #666666;
    font-size: 0.9em;
    line-height: 2.5em;
    text-align: left;
    margin-left: 15px;
		margin-top: 20px;
}

h3.loca-h3 {
    font-size: 1.3em;
	margin-top: 40px;
}

.infoflex li {
    width: 90%;
	margin-left: auto;
	margin-right: auto;
}


/* アクセス-sp */
.access_p {
    text-align: center;
    font-size: 1.1em;
    line-height: 1.8em;
    margin-bottom: 30px;
    margin-top: 0;
}

.access_ul li {
    width: 100%;
    margin: 0 3% 40px;
}

.img_frame .right {
	padding: 0;
}


/* プラン-sp */
ul.plan_spMenu {
	width: 90%;
	margin: 0 auto 20px;
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding-left: .5em;
}

.plan_spMenu li {
	width: 31%;
	text-align: center;
	position: relative;
	margin: 0 1% .8em;
	padding: .5em;
	background-color: rgba(91,120,148,0.9);
}

.plan_spMenu li a {
	color: #fff;
}

.plan_list li {
	width: 100%;
	margin: 0 auto 3em;
}

.plan_list li:nth-child(3n) {
	margin: 0;
}


/* 駅近-640 */
.shop_ul li {
        width: 100%;
        margin: 0 0 30px;
        padding: 0;
        font-size: 0.8em;
        line-height: 1.5em;
        text-align: left;
}


/* 設備仕様-640 */
h2.eq-h2 {
	font-size: 1.2em;
	line-height: 1.8em;
}

.eq-title {
    color: #231815;
    font-size: 1.2em;
    line-height: 1.5em;
    letter-spacing: 1px;
	margin: 50px auto 0;
}

h3.eq-h3 {
    font-size: 1.5em;
	margin: 50px 0 0;
	flex-direction: column;
}

.sub_title {
    font-size: 0.65em;
    line-height: 1.6em;
    letter-spacing: 1px;
    font-weight: 500;
    margin-left: 0;
    margin-top: 10px;
	text-align: left;
}

ul.eq_link {
    width: 100%;
}

ul.eq_link li {
	font-size: 0.9em;
	padding: 5px;
}

.eq_area {
	margin-top: 30px;
	padding: 0;
	-js-display: flex;
    display: flex;
  	flex-direction: column;
  	padding-left: 10px;
	padding-right: 10px;
	width: 100%;
}

.eq_area_photo {
	width: 100%;
	margin: 0 auto 30px;
	padding: 0;
	text-align: left;
}

.eq_area ul {
	-js-display: flex;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0;
    padding: 0;
    width: 100%;
}

.eq_area ul li {
    list-style-type: none;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
	width: 100%;
}

.eq_area ul li:nth-child(even) {
    margin-right: auto;
	margin-left: auto;
}

.eq_area figure {
    margin: 0;
    background-color: #f5f5f5;
}

.eq_area2 ul {
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0;
    padding: 0;
    width: 100%;
}

.eq_area2 ul li {
    list-style-type: none;
    margin-right: auto;
    margin-left: auto;
    margin-bottom:30px;
	width: 100%;
}

.eq_area2 ul li:nth-child(3n) {
	margin-right: auto;
	margin-left: auto;
}

.eq_area2 ul li:nth-child(2n) {
	margin-right: auto;
	margin-left: auto;
}

.eq_area2 figure {
    margin: 0;
    background-color: #f5f5f5;
}

.eq_area3 {
	margin-top: 30px;
	padding: 0;
	-js-display: flex;
    display: flex;
  	flex-direction: column;
  	padding-left: 10px;
	padding-right: 10px;
	width: 100%;
}

.eq_area3_photo {
	width: 100%;
	margin: 0 auto 30px;
	padding: 0;
	text-align: left;
}

.eq_area3 ul {
	-js-display: flex;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0;
    padding: 0;
    width: 100%;
}

.eq_area3 ul li {
    list-style-type: none;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
	width: 100%;
}

.eq_area3 ul li:nth-child(even) {
    margin-right: auto;
	margin-left: auto;
}

.eq_area3 figure {
    margin: 0;
    background-color: #f5f5f5;
}

.eq_area4 ul li {
    padding: 10px 20px 20px;
    width: 100%;
}


/* 物件概要-640 */
.outline_wrap h3 {
    font-size: 1.2em;
	margin-bottom: 30px;
}

table.outline { 
	border-collapse: collapse;
	font-size: 0.9em;
	line-height: 1.8em;
	letter-spacing: 0.5px;
	text-align: left;
	width: 100%;
}

table.outline tbody th,td {
    display: block;
	border-style: none;
	width: 100%;
}

table.outline th { 
	background-color: #eee !important;
	padding-top: 6px;
		padding-bottom: 6px;
}

table.outline td { 
	padding: 10px 10px 25px;
}


/* お問い合わせ-sp */
.slide_main2_h2 {
	font-size: 2em;
	line-height: 1.8em;
	font-weight: 500;
	letter-spacing: 5px;
	margin: 50px 0 0;
	display: inline-block;
}

.form_area {
    padding: 20px 30px 40px;
}

table.contactus { 
	border-collapse: collapse;
	margin-top: 20px;
	margin-left: 0px;
	margin-right: 0px;
}

table.contactus th { 
	text-align: left; 
	width: 95%;
	padding-top: 15px;
	padding-bottom: 5px;
	padding-left: 10px;
	display: block;
	border-style: none;
	color: #3D4042;
	font-weight: bold;
}

table.contactus td { 
	vertical-align: top;
	display: block;
	border-style: none;
	padding: 10px;
	width: 100%;
}

.thanks {
	font-size: 1.2em !important;
	line-height: 1.8em !important;
	margin: 40px 10px;
	text-align: left;
}

.privacy {
	width: 100%;
}

.privacy input[type="checkbox"] + label {
	width: 100%;
	text-align: left;
}

.privacy input[type="checkbox"] + label  {
	padding-left: 20px;
}


.hidden_pc {
	display: block;
}
.hidden_sp {
	display: none;
}
}

/* ===== slide3 フォトモザイク（1枚画像を6分割してアニメーション） ===== */
.photo_mosaic {
	position: relative;
	width: 100%;
	padding-top: 85.9%; /* 1000 : 859 */
}

.photo_mosaic__item {
	position: absolute;
	height: auto;
	will-change: transform, opacity;
}

/* JS(GSAP)が有効なときのみ初期状態を隠す */
.js-slide3-ready .photo_mosaic__item {
	opacity: 0;
}

.photo_mosaic__item--1 { left: 0;      top: 10.7101%; width: 45.2%; }
.photo_mosaic__item--2 { left: 30.1%;  top: 0;        width: 31.3%; }
.photo_mosaic__item--3 { left: 54.8%;  top: 11.6414%; width: 27.1%; }
.photo_mosaic__item--4 { left: 38.5%;  top: 28.1723%; width: 31.3%; }
.photo_mosaic__item--5 { left: 15.2%;  top: 47.3807%; width: 45.2%; }
.photo_mosaic__item--6 { left: 54.8%;  top: 38.9988%; width: 45.2%; }

/* タイトル画像（進化✕快適）のワイプ表示 */
.slide3_title__inner {
	display: block;
	overflow: hidden;
}

.slide3_title__inner img {
	display: block;
	width: 100%;
	height: auto;
	will-change: transform, clip-path;
}

/* リード文　1行ブロックごとに出す */
.slide3_lead .lead_line {
	display: inline-block;
	will-change: transform, opacity;
}

.js-slide3-ready .slide3_lead .lead_line {
	opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
	.js-slide3-ready .photo_mosaic__item,
	.js-slide3-ready .slide3_lead .lead_line { opacity: 1; }
}

/* ===== slide1 POINT3（SVGを分解してアニメーション） ===== */
.points_svg {
	position: relative;
}

.points_svg svg {
	display: block;
	width: 100%;
	height: auto;
}

/* PC用／SP用の出し分け */
.points_svg svg.points_svg__sp {
	display: none;
}

@media screen and (max-width: 640px) {
	.points_svg svg.points_svg__pc {
		display: none;
	}
	.points_svg svg.points_svg__sp {
		display: block;
	}
}


/* KV：SPは高さ成り行き（100vhだと建物が大きく切れるため） */
@media screen and (max-width: 640px) {
	#main_box {
		height: auto;
	}

	.bg_sky {
		height: auto;
		object-fit: fill;
	}
}
