@charset "utf-8";
@import url("/jutaku/feature/indexlife/meister/css/rn02/fonts.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400..900&display=swap');
/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
#container {
	min-width: 950px;
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 20px;
	color: #000;
}
body {
    height: auto;
}
h1,
h2,
h3,
h4,
h5 {
	font-weight: 400;
}
/* ==

　01. モジュール

=============================================================================== */
/* 領域
------------------------------------------------------------------------------- */

/* メインビジュアル
------------------------------------------------------------------------------- */
.dMainVisual {
	min-height: 750px;
	position: relative;
}
.dMainVisual_bg{
	width: 90%;
	height: 460px;
	margin-top: -230px;
	background: #FFF url(../../images/rn02/bg_mv.svg);
	background-size: 110px auto;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 2;
}
.dMainVisual_in{
	max-width: 1500px;
	min-height: 750px;
	margin: 0 auto;
    background: url(../../images/rn02/mv_pc.png) right -10px top 0 no-repeat;
    background-size: 1490px auto;
	position: relative;
    z-index: 2;
}

@media only screen and (max-width: 1740px) {
	.dMainVisual_bg{
		width:  calc(100% - 6.5vw);
	}
}
@media only screen and (max-width: 1640px) {
	.dMainVisual_bg{
		width:  calc(100% - 5.5vw);
	}
}
@media only screen and (max-width: 1540px) {
	.dMainVisual_bg{
		width:  calc(100% - 4.5vw);
	}
}
@media only screen and (max-width: 1440px) {
	.dMainVisual_bg{
		width:  calc(100% - 3.4722vw);
	}
	.dMainVisual_in {
		background-position: center center;
	}
}
@media only screen and (max-width: 1280px) {
	.dMainVisual {
		min-height: 725px;
	}
	.dMainVisual_in {
		max-width: 1450px;
		min-height: 725px;
		background-size: 1450px auto;
	}
}
@media only screen and (max-width: 980px) {
}



.dMainVisual h1{
	padding: 30px 0 0 100px;
	font-size: 92px;
	line-height: 1.0;
	color: #8A783F;
	font-family: "Playfair Display", serif;
	font-weight: 600;
	letter-spacing: 0.03em;
	position: relative;
	z-index: 2;
}
.dMainVisual p{
	padding: 20px 0 0 100px;
	font-size: 125%;
	line-height: 1.8;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	letter-spacing: 0.04em;
	position: relative;
	z-index: 2;
}
.dMainVisual p::before{
	content: "";
	width: 90px;
	height: 18px;
	margin: 8px 0;
	padding-bottom: 5px;
	background: url(../../images/rn02/ico_mv01.svg) left top space;
	background-size: 25px auto;
	display: block;
}

@media only screen and (max-width: 1440px) {
	.dMainVisual h1{
		padding-left: 6.94444vw;
		font-size: 6.38vw;
	}
	.dMainVisual p{
		padding-left: 6.94444vw;
	}
}
@media only screen and (max-width: 980px) {
	.dMainVisual h1{
		padding: 20px 0 0 50px;
		font-size: 64px;
	}
	.dMainVisual p{
		padding: 20px 0 0 50px;
	}
}




.dBg01{
	margin: -430px 0 0;
	padding: 460px 0 0;
	background: #003438 url(../../images/rn02/bg_01.svg);
	background-size: 110px auto;
	position: relative;
	z-index: 1;
}
.dTxt_lead01{
	font-size: 185%;
	line-height: 2.0;
	font-family: 'Noto Serif JP', serif;
	color: #fff;
	text-align: center;
	letter-spacing: 0.06em;
	display: flex;
	justify-content: center;
}
.dTxt_lead01::before{
	content: "";
	padding-left: 0.06em;
}

@media only screen and (max-width: 1440px) {
}
@media only screen and (max-width: 1280px) {
	.dBg01{
		margin: -460px 0 0;
	}
}
@media only screen and (max-width: 980px) {
}





/* リード
------------------------------------------------------------------------------- */
.dBlock01 {
	margin: 0;
	padding: 160px 50px 190px;
}
.dBlock01_in {
	max-width: 1200px;
	margin: 0 auto;
	padding: 90px 80px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	box-sizing: border-box;
	position: relative;
}
.dBlock01_block{
	display: flex;
	position: relative;
}
.dBlock01_block.dBlock01_block-t1{
	margin-bottom: 60px;
	flex-direction: row-reverse;
}
.dBlock01_block.dBlock01_block-t2{
	flex-direction: row;
}

.dBlock01_block figure{
	width: 61.5384%;
	height: auto;
	position: absolute;
	aspect-ratio: 6 / 4;
}
.dBlock01_block.dBlock01_block-t1 figure{
	top: -148px;
	left: -120px;
}
.dBlock01_block.dBlock01_block-t2 figure{
	top: 50px;
	right: -120px;
}
.dBlock01_block figure img{
	position: relative;
	z-index: 2;
}
.dBlock01_block figure::after{
	content: "";
	width: 240px;
	height: 240px;
	background-color: #003438;
	display: block;
	position: absolute;
	z-index: 1;
}
.dBlock01_block.dBlock01_block-t1 figure::after{
	right: -160px;
	bottom: -126px;
}
.dBlock01_block.dBlock01_block-t2 figure::after{
	left: -160px;
	bottom: -133px;
}
.dBlock01_block > div{
	width: 42.30769%;
	position: relative;
	z-index: 2;
}

@media only screen and (max-width: 1280px) {
	.dBlock01_in {
		padding: 70px 4vw;
	}
	.dBlock01_block figure{
		width: 50vw;
	}
	.dBlock01_block.dBlock01_block-t1 figure{
		top: -120px;
		left: -8vw;
	}
	.dBlock01_block.dBlock01_block-t2 figure{
		right: -8vw;
	}
}
@media only screen and (max-width: 980px) {
	.dBlock01{
		padding-bottom: 80px;
	}
	.dBlock01_block{
		display: block;
	}
	.dBlock01_in {
		padding: 40px;
	}
	.dBlock01_block > div{
		width: auto;
	}
	.dBlock01_block.dBlock01_block-t1 > div{
		position: relative;
		top: -60px;
	}
	.dBlock01_block.dBlock01_block-t1 figure {
		width: auto;
		margin-right: 110px;
		position: relative;
		left: auto;
	}
	.dBlock01_block.dBlock01_block-t2 figure {
		width: auto;
		margin-left: 110px;
		margin-bottom: 90px;
		position: relative;
		top: 0;
		left: auto;
		right: auto;
	}
	.dBlock01_block figure::after{
		width: 200px;
		height: 200px;
	}
	.dBlock01_block.dBlock01_block-t1 figure::after{
		right: -110px;
		bottom: -50px;
	}
	.dBlock01_block.dBlock01_block-t2 figure::after{
		left: -110px;
		bottom: -50px;
	}
}



.dBlock01_block h2{
	margin: 0 0 30px;
	font-size: 200%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	letter-spacing: 0.06em;
	position: relative;
}
.dBlock01_block h2 span{
	text-decoration: underline;
	text-decoration-thickness: 0.25em;
	text-decoration-color: #8A783F;
	text-underline-offset: -0.05em;
	text-decoration-skip-ink: none;
}
.dBlock01_block p{
	margin-bottom: 20px;
	font-size: 125%;
	line-height: 2.0;
	color: #DBDBDB;
	font-weight: 400;
}
.dBlock01_block p.dBlock01_btn{
	margin-top: 32px;
	font-size: 108%;
	line-height: 1.3;
}
.dBlock01_block p.dBlock01_btn a{
	width: 320px;
	height: 50px;
	padding: 15px;
	background-color: #fff;
	color: #003E42;
	font-weight: 500;
	text-decoration: none;
	display: block;
	box-sizing: border-box;
	position: relative;
}
.dBlock01_block p.dBlock01_btn a span{
	display: block;
	position: relative;
	z-index: 1;
}
.dBlock01_block p.dBlock01_btn a span::after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 13px;
	height: 8px;
	margin: -4px 0 0;
	background-image: url(../../images/rn02/arw_ico09.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.dBlock01_block p.dBlock01_btn a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background-color: #8A783F;
}
.d_hover .dBlock01_block p.dBlock01_btn a::after {
	transition: width 0.3s;
}
.d_hover .dBlock01_block p.dBlock01_btn a:hover{
	color: #fff;
}
.d_hover .dBlock01_block p.dBlock01_btn a:hover::after {
	width: 100%;
}
.d_hover .dBlock01_block p.dBlock01_btn a:hover span::after {
	background-image: url(../../images/rn02/arw_ico06.svg);
}



@media only screen and (max-width: 1440px) {
}
@media only screen and (max-width: 1280px) {
	.dBlock01_block h2{
		font-size: 1.875vw;
	}
}
@media only screen and (max-width: 980px) {
	.dBlock01_block h2{
		font-size: 200%;
	}
}





/* Instagram
------------------------------------------------------------------------------- */
.dInstagram {
	margin: 0 0 185px;
	padding: 120px 50px 0;
	position: relative;
}
.dInstagram::after {
	content: "";
	width: 440px;
	height: 240px;
	background: url(../../images/rn02/bg_02.svg);
	background-size: 110px auto;
	position: absolute;
	top: 0;
	right:0;
	display: block;
	z-index: 1;
}
.dInstagram_in {
	max-width: 1120px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.dInstagram_hd {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0 40px;
}
.dInstagram_tit{
	margin: 0 0 20px;
	font-size: 62px;
	line-height: 0.7;
	color: #003E42;
	font-family: "Playfair Display", serif;
	font-weight: 600;
	letter-spacing: 0.06em;
}
.dInstagram_tit span{
	font-size: 35%;
	letter-spacing: 0.06em;
	white-space: nowrap;
}
.dInstagram_txt01{
	margin-bottom: 50px;
	font-size: 167%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	letter-spacing: 0.06em;
	white-space: nowrap;
}
.dInstagram_txt02{
	padding: 1.8em 0 0;
	font-size: 117%;
	font-weight: 400;
	white-space: nowrap;
	display: flex;
	align-items: center;
	position: relative;
}
.dInstagram_txt02::before{
	content: "";
	width: 24px;
	height: 24px;
	margin-right: 10px;
	background: url(../../images/rn02/ico_instagram01.svg) left top no-repeat;
	background-size: 24px auto;
	display: block;
}
.dInstagram_txt02 a{
	color: #000;
}
.dInstagram_txt03{
	margin-bottom: 20px;
	font-size: 125%;
	font-weight: 400;
}




/* DESIGN GALLERY
------------------------------------------------------------------------------- */
.dMain01 {
	margin: 0 auto 120px;
	padding: 0 0 1px;
	background-color: #DFEAEB;
	color: #000;
	font-weight: 400;
	/*
	overflow: hidden;
	*/
}

.dBlock02{
	padding: 0 50px;
}
.dBlock02_in{
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}
.dBlock02_en{
	margin-bottom: 30px;
	font-size: 48px;
	line-height: 1.0;
	color: #003E42;
	font-family: "Playfair Display", serif;
	font-weight: 600;
	letter-spacing: 0.5em;
	position: relative;
	top: -0.65em;
	text-indent: 0.5em;
}
.dBlock02_tit{
	margin-bottom: 20px;
	font-size: 235%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-indent: 0.06em;
}
.dBlock02_txt{
	margin-bottom: 60px;
	font-size: 125%;
}


/* ページアンカー
------------------------------------------------------------------------------- */
.dAnchor01 {
	margin: 0 0 100px;
	padding: 0 50px;
}
.dAnchor01_in {
	max-width: 1120px;
	margin: 0 auto;
}
.dAnchor01_list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 16px;
	line-height: 1.5;
	font-size: 100%;
}
.dAnchor01_list li{
	width: calc((100% - 112px) / 8);
}
.dAnchor01_list li a > div{
	display: flex;
	gap: 0 1em;
}
.dAnchor01_list li a .dAnchor01_list_img {
	max-width: 126px;
	margin-bottom: 5px;
	overflow: hidden;
	display: block;
}
.d_hover .dAnchor01_list li a .dAnchor01_list_img img {
	transition: transform 0.6s;
}
.d_hover .dAnchor01_list li:hover a .dAnchor01_list_img img {
	transform: scale(1.1);
}
.dAnchor01_list li a {
	text-decoration: none;
}
.dAnchor01_list li a .dAnchor01_list_txt{
	margin-top: 6px;
	color: #000;
	font-weight: 500;
	text-decoration: underline;
	display: inline-block;
}
.d_hover .dAnchor01_list li a:hover  .dAnchor01_list_txt{
	text-decoration: none;
}
.dAnchor01_list li a .dAnchor01_list_num{
	font-size: 24px;
	line-height: 1.0;
	color: #003E42;
	font-family: "Playfair Display", serif;
	font-weight: 600;
}

@keyframes anchorIcon {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	41% {
		opacity: 0;
	}
	49.9% {
		opacity: 0;
		transform: translateY(50%);
	}
	50% {
		opacity: 0;
		transform: translateY(-50%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@media only screen and (max-width: 1280px) {
	.dAnchor01_list {
		gap: 20px 20px;
	}
	.dAnchor01_list li{
		width: calc((100% - 100px) / 6);
	}
	.dAnchor01_list li a .dAnchor01_list_img {
		max-width: 196px;
	}
}






/* Design紹介
------------------------------------------------------------------------------- */
.dBlock03 {
	position: relative;
	margin: 0 0 100px;
	padding: 0 50px;
}
.dBlock03::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	background-color: #fff;
	border-top: 2px solid #013e41;
}
.dBlock03-t1::before {
	left: auto;
	right: 0;
}
.dBlock03-t2::before {
	left: 0;
	right: auto;
}
.dBlock03_in {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 0;
	background-color: #fff;
	border-top: 2px solid #013e41;
	box-sizing: border-box;
	z-index: 1;
}
.dDesign01 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0 auto 50px;
	padding: 75px 0 0;
	box-sizing: border-box;
}
.dBlock03-t1 .dDesign01 {
	flex-direction: row-reverse;
}
.dDesign01_img {
	position: relative;
	width: 53.5%;
}
.dBlock03-t1 .dDesign01_img {
	left: -40px;
}
.dBlock03-t2 .dDesign01_img {
	right: -40px;
}
.dDesign01_img img {
	width: 100%;
}


.dDesign01_img > div{
	position: relative;
	z-index: 2;
}
.dDesign01_img::after{
	content: "";
	width: 37.5%;
	height: 66.6666%;
	background: #DBD0AD url(../../images/rn02/bg_03.svg);
	background-size: 110px auto;
	display: block;
	position: absolute;
	right: -30px;
	bottom: -30px;
	z-index: 1;
}
.dBlock03-t2 .dDesign01_img::after{
	left: -30px;
	right: auto;
}



.dDesign01_info {
	width: 38.3333%;
}
.dDesign01_movie {
	display: block;
	position: absolute;
	width: 120px;
	height: 120px;
	background: url(../../images/rn02/arw_ico05.svg) center center no-repeat;
}
.dBlock03 .dDesign01_movie {
	left: 40px;
	bottom: 40px;
}
.dDesign01_movie span {
	display: block;
}
.dDesign01_movie .dDesign01_circle3,
.dDesign01_movie .dDesign01_circle4 {
	display: none;
}
.dDesign01_movie svg {
	position: absolute;
	top: -1px;
	left: -1px;
	width: 122px;
	height: 122px;
}
.dDesign01_circle1 svg,
.dDesign01_circle3 svg {
	z-index: 1;
}
.dDesign01_circle2 svg {
	z-index: 2;
}
.dDesign01_movie .dDesign01_circle1 circle,
.dDesign01_movie .dDesign01_circle3 circle {
	fill: transparent;
	stroke: #fff;
	stroke-width: 1;
	transform-origin: center center;
}
.dDesign01_movie .dDesign01_circle2 circle {
	fill: transparent;
	stroke: #fa0046;
	stroke-width: 2;
	animation: circleOut .3s .2s ease-out forwards;
	transform-origin: center center;
}
.d_hover .fnDsMovie:hover .dDesign01_circle2 circle {
	fill: transparent;
	stroke: #fa0046;
	stroke-width: 2;
	animation: circleIn 1.2s forwards;
}
.d_hover .fnDsMovie img {
	transition: transform 0.6s;
}
.d_hover .fnDsMovie:hover img {
	transform: scale(1.1);
}
@keyframes circleIn {
	0% {
		stroke-dasharray: 0 377;
		transform: rotate(-70deg)
	}
	99.9%, to {
		stroke-dasharray: 377 377;
		transform: rotate(70deg);
	}
}
@keyframes circleOut {
	0% {
		stroke-dasharray: 377 377;
	}
	99.9%, to {
		stroke-dasharray: 0 377; 
	}
}
@media only screen and (max-width: 1280px) {
	.dDesign01_img {
		width: 50%;
	}
	.dDesign01_img::after{
		right: -20px;
		bottom: -20px;
	}
	.dBlock03-t2 .dDesign01_img {
		right: -10px;
	}
	.dBlock03-t2 .dDesign01_img::after{
		left: -20px;
		right: auto;
	}
	
}
.dDesign01_num {
	width: 120px;
	height: 120px;
	background-color: #003E42;
	border-radius: 60px;
	color: #fff;
	font-family: "Playfair Display", serif;
	font-weight: 600;
	position: absolute;
	top: -42px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.dDesign01_num_txt01 {
	font-size: 13px;
	line-height: 1.0;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
}
.dDesign01_num_txt02 {
	font-size: 52px;
	line-height: 1.0;
}

.dDesign01_tit {
	line-height: 1.5;
	color: #8A783F;
	font-size: 200%;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
}
.dDesign01_catch {
	position: relative;
	margin: 27px 0 35px;
	padding: 0 0 35px;
	font-size: 268%;
	line-height: 1.5;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	letter-spacing: 0.06em;
}
.dDesign01_catch::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 56px;
	height: 2px;
	background-color: #C7C7C7;
}

.dDesign01_txt {
	line-height: 1.93;
	font-size: 125%;
}
.dMethod01 {
	margin: 0 auto 50px;
}
.dMethod01 > div {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
}
.dBlock03-t1 .dMethod01 {
	padding: 0 0 0 40px;
}
.dBlock03-t2 .dMethod01 {
	padding: 0 40px 0 0;
}
.dBlock03-t2 .dMethod01 > div {
	flex-direction: row-reverse;
}
.dMethod01_img {
	width: 49.73214%;
}
.dMethod01_img img {
	width: 100%;
}
.dMethod01_img a {
	display: block;
	overflow: hidden;
}
.dMethod01_img a img {
	transition: transform 0.6s;
}
.d_hover .dMethod01_img a:hover img {
	transform: scale(1.1);
}

.dMethod01_info {
	width: 44.64285%;
}
.dMethod01_tit {
	line-height: 28px;
	margin: 0 0 30px;
	padding: 0 0 2px;
	color: #8A783F;
	font-size: 167%;
	line-height: 1.0;
	font-family: "Playfair Display", serif;
	font-weight: 600;
	display: flex;
	align-items: center;
	position: relative;
	letter-spacing: 0.06em;
}
.dMethod01_tit span{
	padding-right: 30px;
	background-color: #fff;
	display: inline-block;
	position: relative;
	z-index: 1;
}
.dMethod01_tit::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #E0E0E0;
	position: absolute;
	top: 50%;
	left: 0;
}

.dMethod01_list {
	margin: 0;
	font-size: 100%;
}
.dMethod01_list dt {
	position: relative;
	line-height: 1.384;
	margin: 26px 0 10px;
	padding: 0;
	font-size: 166%;
	color: #003E42;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}
.dMethod01_list dt:first-child {
	margin-top: 0;
}
.dMethod01_list dd {
	line-height: 1.8;
	font-size: 108%;
}

.dMethod01_info.dMethod01_info-t2 {
	width: auto;
}
.dMethod01_list02 {
	margin: 0;
}
.dMethod01_list02 ul {
	font-size: 100%;
	display: flex;
	gap: 0 32px;
}
.dMethod01_list02 li {
	width: calc((100% - 64px) / 3);
}
.dMethod01_list02 dl{
	font-size: 100%;
}
.dMethod01_list02 dt {
	position: relative;
	line-height: 1.384;
	margin: 26px 0 10px;
	padding: 0;
	font-size: 166%;
	color: #003E42;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}
.dMethod01_list02 dd {
	line-height: 1.8;
	font-size: 108%;
}
.dMethod01_list02 .dMethod01_img{
	width: 100%;
}



.dGallery01 {
	margin: 0 auto;
}
.dBlock03-t1 .dGallery01 {
	padding: 0 0 0 40px;
}
.dBlock03-t2 .dGallery01 {
	padding: 0 40px 0 0;
}

.dGallery01_tit {
	line-height: 28px;
	margin: 0 0 30px;
	padding: 0 0 2px;
	color: #8A783F;
	font-size: 167%;
	font-family: "Playfair Display", serif;
	font-weight: 600;
	display: flex;
	align-items: center;
	position: relative;
	letter-spacing: 0.06em;
}
.dGallery01_tit span{
	padding-right: 30px;
	background-color: #fff;
	display: inline-block;
	position: relative;
	z-index: 1;
}
.dGallery01_tit::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #E0E0E0;
	position: absolute;
	top: 50%;
	left: 0;
}


.dGallery01_in {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	margin: 0 -5px;
}
.dGallery01_block {
	width: -webkit-calc(50% - 10px);
	width: calc(50% - 10px);
	margin: 0 5px;
}
.dGallery01_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -10px -5px 0;
}
.dGallery01_img {
	margin: 10px 5px 0;
}
.dGallery01_img-w1 {
	width: -webkit-calc(100% - 10px);
	width: calc(100% - 10px);
}
.dGallery01_img-w2 {
	width: -webkit-calc(50% - 10px);
	width: calc(50% - 10px);
}
.dGallery01_img img {
	width: 100%;
}
.dGallery01_img a {
	display: block;
	overflow: hidden;
}
.dGallery01_img a img {
	transition: transform 0.6s;
}
.d_hover .dGallery01_img a:hover img {
	transform: scale(1.1);
}


@media only screen and (max-width: 1440px) {
	.dDesign01_catch {
		font-size: 2.36vw;
	}
}
@media only screen and (max-width: 1280px) {
}
@media only screen and (max-width: 980px) {
	.dDesign01_num {
		right: 0;
	}
	.dBlock03-t2 .dDesign01_num {
		right: 40px;
	}
	.dDesign01_catch {
		font-size: 284%;
	}
	.dDesign01 {
		display: block;
		margin: 0 0 80px;
		padding: 30px 0 0;
	}
	.dDesign01_img {
		width: calc(100% - 70px);
	}
	.dBlock03-t1 .dDesign01_img {
		left: 40px;
	}
	.dBlock03-t2 .dDesign01_img {
		left: 30px;
		right: 0;
	}

	.dDesign01_img::after{
		right: -30px;
		bottom: -30px;
	}
	.dBlock03-t2 .dDesign01_img::after{
		left: -30px;
		right: auto;
	}

	.dDesign01_info {
		width: auto;
		padding: 0 0 40px 40px;
	}
	.dBlock03-t2 .dDesign01_info {
		padding: 0 40px 40px 0;
	}
	.dMethod01 > div {
		display: block;
	}
	.dMethod01_info {
		width: auto;
		margin-bottom: 40px;
	}
	.dMethod01_img {
		width: auto;
	}
}




.dMeisters01{
	padding: 0 50px;
	text-align: center;
}
.dMeisters01_lead {
	line-height: 1.8;
	margin: 0 0 40px;
	font-size: 200%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-indent: 0.06em;
}
.dBtns02 {
	max-width: 1120px;
	margin: 0 auto 135px;
	font-size: 100%;
	font-family: 'Noto Serif JP', serif;
}
.dBtns02_btn a {
	width: 100%;
	text-decoration: none;
	display: flex;
}
.dBtns02_btn a > div {
	display: block;
	position: relative;
	width: 50%;
	min-height: 140px;
	padding: 20px 0 0 25px;
	background-color: #003E42;
	color: #fff;
	text-align: left;
	box-sizing: border-box;
	transition: opacity 0.3s ease 0s;
	overflow: hidden;
}
.dBtns02_btn a::before {
	content: "";
	display: block;
	position: absolute;
	top: 19px;
	left: 18px;
	width: 61px;
	height: 61px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.dBtns02_arw {
	position: absolute;
	right: 0;
	bottom: 20px;
	width: 95px;
	height: 13px;
	overflow: hidden;
}
.dBtns02_arw::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 78px;
	height: 13px;
	background: url(../../images/rn02/arw_ico02.svg) center center no-repeat;
	background-size: 100% 100%;
}
.d_hover .dBtns02_btn a:hover .dBtns02_arw::after {
	animation: MoveRight .5s both ease-in;
}
@keyframes MoveRight {
	0% {
		transform: translateX(0);
	}
	29.9% {
		transform: translateX(78px);
	}
	30% {
		transform: translateX(-78px);
	}
	to {
		transform: translateX(0);
	}
}
.dBtns02_tit {
	line-height: 1.3;
	margin: 0 0 6px;
	font-size: 200%;
	letter-spacing: 0.06em;
}
.dBtns02_en {
	line-height: 1.3;
	margin: 0;
	font-size: 117%;
	letter-spacing: 0.03em;
}
@media only screen and (max-width: 1120px) {
}




/* お問い合わせ
------------------------------------------------------------------------------- */
.dContact01 {
	position: relative;
	padding: 0 50px;
}
.dContact01_in {
	position: relative;
	max-width: 1120px;
	margin: 0 auto;
	padding: 70px 0 80px;
	background-color: #F7F4E9;
	z-index: 1;
	text-align: center;
}
.dContact01_en {
	font-size: 52px;
	line-height: 0.6;
	font-family: "Playfair Display", serif;
	color: #8A783F;
	letter-spacing: 0.06em;
	position: relative;
	top: -95px;
	margin: 0 auto;
	text-indent: 0.06em;
}
.dContact01_tit {
	line-height: 1.472;
	margin: 0 0 27px;
	font-size: 232%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-indent: 0.06em;
}
.dContact01_lead {
	line-height: 1.8;
	margin: 0;
	font-size: 134%;
	font-weight: 400;
}

.dBtns01 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	max-width: 1280px;
	margin: 300px auto 37px;
	font-size: 100%;
	font-family: 'Noto Serif JP', serif;
}
.dBtns01_btn {
	width: calc((100% - 62px) / 2);
	position: relative;
}
.dBtns01_btn::after{
	content: "";
	width: calc(100% + 60px);
	height: 400px;
	background-color: #eee;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: block;
	position: absolute;
	bottom: -30px;
	left: -30px;
	z-index: 1;
}
.dBtns01_btn.dBtns01_btn-modelhouse::after{
	background-image: url(../../images/rn02/img_contact01.jpg);
}
.dBtns01_btn.dBtns01_btn-meister::after{
	background-image: url(../../images/rn02/img_contact02.jpg);
}
.dBtns01_btn a {
	display: block;
	position: relative;
	min-height: 120px;
	padding: 15px 0 0 24px;
	background-color: #A0153E;
	color: #fff;
	text-decoration: none;
	text-align: left;
	box-sizing: border-box;
	transition: opacity 0.3s ease 0s;
	overflow: hidden;
	position: relative;
	z-index: 2;
}
.dBtns01_arw {
	position: absolute;
	right: 0;
	bottom: 20px;
	width: 95px;
	height: 13px;
	overflow: hidden;
}
.dBtns01_arw::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 78px;
	height: 13px;
	background: url(../../images/rn02/arw_ico02.svg) center center no-repeat;
	background-size: 100% 100%;
}
.d_hover .dBtns01_btn a:hover .dBtns01_arw::after {
	animation: MoveRight .5s both ease-in;
}
@keyframes MoveRight {
	0% {
		transform: translateX(0);
	}
	29.9% {
		transform: translateX(78px);
	}
	30% {
		transform: translateX(-78px);
	}
	to {
		transform: translateX(0);
	}
}
.dBtns01_tit {
	line-height: 1.3;
	margin: 0 0 10px;
	font-size: 200%;
	letter-spacing: 0.06em;
}
.dBtns01_en {
	line-height: 1.0;
	margin: 0;
	font-size: 117%;
	font-family: "Playfair Display", serif;
	letter-spacing: 0.03em;
}
@media only screen and (max-width: 1120px) {
	.dBtns01_btn a {
		min-height: 9.375vw;
		padding: 1.339vw 0 0 1.875vw;
	}
	.dBtns01_btn a::before {
		top: 1.696vw;
		left: 1.607vw;
		width: 5.446vw;
		height: 5.446vw;
	}
	.dBtns01_arw {
		bottom: 1.785vw;
		width: 8.482vw;
		height: 1.16vw;
	}
	.dBtns01_arw::after {
		width: 6.964vw;
		height: 1.16vw;
	}
	.dBtns01_tit {
		margin: 0 0 0.535vw;
		font-size: 1.875vw;
	}
	.dBtns01_en {
		font-size: 1.09375vw;
	}
}
@media only screen and (max-width: 980px) {
	.dContact01::before {
		left: 10.526%;
		width: -webkit-calc(100% - 10.526%);
		width: calc(100% - 10.526%);
	}
	.dContact01_in {
		padding-bottom: 82px;
	}
	.dBtns01 {
		margin-bottom: 28px;
	}
	.dContact01_txt br {
		display: block;
	}
}
/* 機能
------------------------------------------------------------------------------- */
.dFunc01 {
	position: fixed;
	top: 50%;
	right: -190px;
	width: 100%;
	max-width: 180px;
	margin: -5px 0 0;
	font-size: 12px;
	z-index: 10;
	transition: right .3s;
}
.dFunc01-show {
	right: 0;
}
.dFunc01 ul {
	font-size: 12px;
}
.dFunc01 li {
	margin: 2px 0 0;
}
.dFunc01 li:fisrt-child {
	margin-top: 0;
}
.dFunc01_btn {
	display: block;
	position: relative;
	background-color: #fa0046;
	color: #fff;
	text-decoration: none;
	box-sizing: border-box;
}
.dFunc01_btn::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background-color: #000;
	transition: width 0.3s;
}
.d_hover .dFunc01_btn:hover::after {
	width: 100%;
}
.dFunc01_btn span {
	display: block;
	position: relative;
	line-height: 1.4;
	padding: 8px 20px 8px 36px;
	z-index: 1;
}
.dFunc01_btn-modelhouse span {
	padding: 8px 20px 9px 36px;
}
.dFunc01_btn span::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 7px;
	width: 21px;
	height: 21px;
	margin: -11px 0 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.dFunc01_btn span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 7px;
	width: 13px;
	height: 8px;
	margin: -4px 0 0;
	background-image: url(../../images/rn02/arw_ico06.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.dFunc01_btn-catalogue span::before {
	background-image: url(../../images/rn02/ico_btn04.svg);
}
.dFunc01_btn-modelhouse span::before {
	background-image: url(../../images/rn02/ico_btn05.svg);
}
.dFunc01_btn-planning span::before {
	background-image: url(../../images/rn02/ico_btn06.svg);
}
/* フォトギャラリー＋動画
------------------------------------------------------------------------------- */
.dMethodPhotos.mfp-bg,
.dPhotoGallery.mfp-bg,
.dMovie.mfp-bg {
	opacity: 0.9;
}
.dMethodPhotos .mfp-container,
.dPhotoGallery .mfp-container {
	padding: 0 80px;
}
.dMethodPhotos .mfp-figure:after,
.dPhotoGallery .mfp-figure:after {
	content: none;
}
.dMethodPhotos .mfp-title,
.dPhotoGallery .mfp-title {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0 24px;
	text-align: left;
	line-height: 1;
	padding: 25px 0 20px;
	color: #fff;
	font-size: 100%;
	word-wrap: break-word;
}
.dMethodPhotos .dMethodPhotos_head,
.dPhotoGallery .dPhotoGallery_head {
	min-height: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: calc(30% - 20px);
	padding: 5px 10px;
	background-color: #054F53;
	font-size: 140%;
	line-height: 1.4;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	text-align: center;
	box-sizing: border-box;
}
.dMethodPhotos .dMethodPhotos_body,
.dPhotoGallery .dPhotoGallery_body {
	display: block;
	width: calc(70% - 24px);
	line-height: 1.75;
	font-size: 117%;
	box-sizing: border-box;
}
.dMethodPhotos .mfp-content,
.dPhotoGallery .mfp-content {
	position: static;
	margin: 0;
	padding: 0;
}
.dMethodPhotos .mfp-figure,
.dPhotoGallery .mfp-figure {
	max-width: 1100px;
	position: relative;
}
.dMethodPhotos .mfp-bottom-bar,
.dPhotoGallery .mfp-bottom-bar {
	margin: 0;
}
.dMethodPhotos img.mfp-img,
.dPhotoGallery img.mfp-img {
	padding: 0;
}
.dMethodPhotos .mfp-close,
.dPhotoGallery .mfp-close,
.dMovie .mfp-close {
	position: absolute;
	top: 20px;
	right: 20px;
	padding: 0;
	width: 55px;
	height: 55px;
	background-image: url(../../images/rn02/close_ico01.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	opacity: 1;
	transition: opacity .3s;
	cursor: pointer;
}
.dMovie .mfp-close {
	top: 10px;
	right: 10px;
}
.d_hover .dPhotoGallery .mfp-close:hover {
	opacity: 0.7;
}
.dPhotoGallery .mfp-arrow {
	position: absolute;
	filter: alpha(opacity=100);
	top: 50%;
	margin: -36px 0 0;
	width: 26px;
	height: 72px;
	opacity: 1;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	transition: opacity .3s;
}
.dPhotoGallery .mfp-arrow-left {
	left: 20px;
	background-image: url(../../images/rn02/arw_ico07.svg);
}
.dPhotoGallery .mfp-arrow-right {
	right: 20px;
	background-image: url(../../images/rn02/arw_ico08.svg);
}
.dPhotoGallery .mfp-arrow::before,
.dPhotoGallery .mfp-arrow::after {
	content: none;
}
.d_hover .dPhotoGallery .mfp-arrow:hover {
	opacity: 0.7;
}
.dMovie .mfp-container {
	padding: 0;
}
.dMovie .mfp-iframe-holder .mfp-content {
	max-width: 100%;
	width: 100%;
  height: 100%;
	border: none;
	padding: 0;
	margin: 0;
}
.dPhotoGallery.mfp-bg,
.dMovie.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.dPhotoGallery.mfp-bg.mfp-ready,
.dMovie.mfp-bg.mfp-ready {
	opacity: 0.9;
}
.dPhotoGallery.mfp-bg.mfp-removing,
.dMovie.mfp-bg.mfp-removing {
	opacity: 0;
}
.dPhotoGallery.mfp-wrap .mfp-content,
.dMovie.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.dPhotoGallery.mfp-wrap.mfp-ready .mfp-content,
.dMovie.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.dPhotoGallery.mfp-wrap.mfp-removing .mfp-content,
.dMovie.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
/* バナー設置
------------------------------------------------------------------------------- */
.dBnr01 {
	max-width: 1280px;
	margin: 0 auto 100px;
	padding: 0 80px;
}
.dBnr01 a {
	display: block;
	border: 1px solid #ccc;
}
.dBnr01 img {
-webkit-backface-visibility: hidden;
}
.dBnr01 + .dBnr01 {
	margin-bottom: 280px;
}
@media only screen and (max-width: 980px) {
	.dBnr01 {
		padding: 0 50px;
	}
}
/* ソーシャル
------------------------------------------------------------------------------- */
.fSocial01 {
	min-width: 950px;
	width: 100%;
	margin: 158px 0 50px;
	padding: 0 60px;
	text-align: right;
	letter-spacing: -0.5em;
	box-sizing: border-box;
}
.fSocial01_item {
	display: inline-block;
	margin: 0 0 0 15px;
	vertical-align: top;
	letter-spacing: normal;
}
.fSocial01_item a {
	display: block;
	transition: opacity 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.d_hover .fSocial01_item a:hover {
	opacity: 0.5;
}
/* 幅調整
------------------------------------------------------------------------------- */
.w00 { width: 0 !important; }
.w05p { width: 5% !important; }
.w10p { width: 10% !important; }
.w15p { width: 15% !important; }
.w20p { width: 20% !important; }
.w25p { width: 25% !important; }
.w30p { width: 30% !important; }
.w35p { width: 35% !important; }
.w40p { width: 40% !important; }
.w45p { width: 45% !important; }
.w50p { width: 50% !important; }
.w55p { width: 55% !important; }
.w60p { width: 60% !important; }
.w65p { width: 65% !important; }
.w70p { width: 70% !important; }
.w75p { width: 75% !important; }
.w80p { width: 80% !important; }
.w85p { width: 85% !important; }
.w90p { width: 90% !important; }
.w95p { width: 95% !important; }
.w100p { width: 100% !important; }



/* アニメーション関連
------------------------------------------------------------------------------- */
.dDesign01_img > div,
.dMethod01_img span,
.dGallery01_list .dGallery01_img {
	position: relative;
	overflow: hidden;
}
.dMethod01_img span {
	display: block;
}
.dDesign01_img > div:before,
.dMethod01_img span:before,
.dGallery01_list .dGallery01_img:before {
	content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
	-webkit-transition: -webkit-transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: -webkit-transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	-webkit-transform: translateY(0);
	transform: translateY(0);  
}
.dDesign01_img.inView > div:before,
.dMethod01_img.inView span:before,
.dGallery01_list .dGallery01_img.inView:before {
  -webkit-transform: translateY(101%);
  transform: translateY(101%);
}
.dDesign01_img > div img,
.dMethod01_img span img,
.dGallery01_list .dGallery01_img img {
	-webkit-transition: -webkit-transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: -webkit-transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	transform: scale(1.15,1.15);
}
.dDesign01_img.inView > div img,
.dMethod01_img.inView span img,
.dGallery01_list .dGallery01_img.inView img {
	transform: scale(1,1);
}

/* バナー
------------------------------------------------------------------------------- */
.dBnr02 {
  margin: 0;
  padding: 80px 50px 0;
  position: relative;
  overflow: hidden;
}
.dBnr02::after {
  content: "";
  width: 440px;
  height: 300px;
  background: url(../../images/rn02/bg_02.svg);
  background-size: 110px auto;
  position: absolute;
  top: -5px;
  right: 0;
  display: block;
  z-index: 1;
}
.dBnr02-noBg::after {
	display: none;
}
.dBnr02_in {
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
}
.dBnr02_item {
  max-width: 552px;
  width: 49.29%;
}
.dBnr02_item a,
.dBnr02_item .dBnr02_current {
  position: relative;
  display: flex;
  justify-content:flex-start;
  align-items: center;
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  transition: .3s opacity;
}
.dBnr02_item a:hover {
  opacity: 0.7;;
}
.dBnr02_item a .dBnr02_img,
.dBnr02_item .dBnr02_current .dBnr02_img {
  width: 144px;
}
.dBnr02_item a .dBnr02_txt,
.dBnr02_item .dBnr02_current .dBnr02_txt {
  display: flex;
  align-items: center;
  width: calc(100% - 174px);
  min-height: 80px;
  padding-left: 30px;
  background-color: #003E42;
}
.dBnr02_item a .dBnr02_txt::after,
.dBnr02_item .dBnr02_current .dBnr02_txt::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 30px;
  width: 16px;
  height: 11px;
  margin: -4px 0 0;
  background-image: url(../../images/rn02/arw_ico06.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.dBnr02_item .dBnr02_current .dBnr02_img {
  opacity: 0.3;
}
.dBnr02_item .dBnr02_current .dBnr02_txt {
  background-color: #DFE7E8;
}
@media only screen and (max-width: 1200px) {
	.dBnr02_item a,
	.dBnr02_item .dBnr02_current {
	  font-size: 1.25vw;
	}
}