@charset "UTF-8";
/* CSS Document */



/****************************************************************************************************
header
****************************************************************************************************/
#header {
}



/****************************************************************************************************
contents
****************************************************************************************************/
#wrap {
	overflow: hidden;
	padding-top: 280px;
}



/****************************************************************************************************
共通
****************************************************************************************************/
.main-img {
	position: relative;
	width: 100%;
	height:  474px;
	z-index: 10;
}
.main-img figure img {
	object-fit: cover;
	width: 100%;
	height:  474px;
}
.main-img.sub {
	height:  384px;
}
.main-img.sub figure img {
	height:  384px;
}
.main-img.height-auto {
	height:  auto;
}
.main-img.height-auto figure img {
	height:  auto;
}
.main-img figcaption {
	position: absolute;
	right: 1em;
	bottom: -2em;
	line-height: 1.0;
	font-size: 0.733rem;
}
.main-img figcaption.white {
	color: #FFF;
	font-weight: bold;
}
.main-img h1 {
	position: absolute;
	left: 50%;
	top: -76px;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
.inner {
	padding-bottom: 100px;
}
.inner.pdb0 {
	padding-bottom: 0;
}
#midashi {
	padding: 100px 0 90px 0;
	border-bottom: 1px solid rgba(0,0,0,.5);
}
.img-box {
	position: relative;
	display: inline-block;
}
.img-box figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	line-height: 1.0;
	font-size: 0.8rem;
}
.img-box figcaption.white {
	color: #FFF;
	font-weight: bold;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1);
}
.img-box figcaption.cap-out {
	right: 0;
	bottom: -1.6em;
}

.interview-banner-box {
	position: absolute;
	left: 50%;
	top: 60px;
	transform: translate(-50%, 0);
	width: 360px;
	border: 1px solid rgba(255,255,255,.5);
	box-shadow: 3px 3px 5px rgba(0,0,0,.2);
}
.interview-banner-box img {
	width: 100%;
	height: auto;
}



/****************************************************************************************************
ACCESS
****************************************************************************************************/
#access-sec1,
#access-sec2 {
	padding: 100px 0 100px 0;
	background: url(../img/access/bg.jpg) no-repeat center top;
	background-size: cover;
}
#access-sec2-copy {
	position: absolute;
	left: 50%;
	top: 66px;
	-webkit-transform: translate(486px, 0);
	transform: translate(486px, 0);
}



/****************************************************************************************************
LOCATION
****************************************************************************************************/
#location-sec1,
#location-sec2,
#location-sec5 {
	padding: 100px 0 100px 0;
	background: url(../img/access/bg.jpg) no-repeat center top;
	background-size: cover;
}
#location-sec1 {
	margin-bottom: -20px;
	padding-bottom: 0;
}
#location-sec2 {
	padding: 100px 0 0 0;
}
#location-sec3 {
	padding: 100px 0 0 0;
	background: url(../img/location/bg2.jpg) no-repeat center top;
	background-size: contain;
}
#location-sec4 {
	padding: 100px 0 100px 0;
	background: url(../img/location/bg2.jpg) no-repeat center top;
	background-size: contain;
}
#location-sec2-copy {
	position: absolute;
	left: 50%;
	top: -36px;
	-webkit-transform: translate(-580px, 0);
	transform: translate(-580px, 0);
}
#location-sec3-copy {
	position: absolute;
	right: 200px;
	top: 69px;
}
#location-sec4-copy {
	position: absolute;
	right: 120px;
	top: 37px;
}
#location-sec5-copy {
	position: absolute;
	left: 50%;
	top: -41px;
	-webkit-transform: translate(-551px, 0);
	transform: translate(-551px, 0);
}
#location-sec2-column {
	margin-top: 50px;
	padding: 40px 0;
	background: rgba(205,205,205,.4);
}
#location-sec3-column {
	margin-top: 50px;
	padding: 40px 0;
	background: rgba(236,231,222,.4);
}
#location-address {
	position: relative;
	background: #F3F3F3;
}
#address-4 {
	position: absolute;
	left: 0;
	top: -140px;
	z-index: 1000;
}



/****************************************************************************************************
DESIGN
****************************************************************************************************/
#design-sec1 {
	padding: 0 0 100px 0;
	background: url(../img/design/sec1-bg.jpg) no-repeat center top;
	background-size: cover;
}
#design-sec1-img2 {
	position: relative;
	z-index:10;
}
#design-sec1-img3 {
	margin-top: -96px;
	margin-left: 350px;
}
#design-sec2 {
	background: url(../img/design/sec2-bg.jpg) no-repeat center top;
	background-size: cover;
}
#design-sec3-1 {
	background: url(../img/design/sec3-bg1.jpg) no-repeat center top;
	background-size: cover;
}
#design-sec3-2 {
	padding: 80px 0 80px 0;
	background: url(../img/design/sec3-bg2.jpg) no-repeat center top;
	background-size: cover;
}



/****************************************************************************************************
COMMON SPACE
****************************************************************************************************/
#common-space-sec1 {
	padding: 0 0 100px 0;
	background: url(../img/common-space/bg.jpg) no-repeat center top;
	background-size: cover;
}



/****************************************************************************************************
PLAN
****************************************************************************************************/
#plan-sec1 {
	padding: 100px 0 100px 0;
	background: url(../img/plan/bg.jpg) no-repeat center top;
	background-size: cover;
}
#plan-btn {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 30px;
	width: 822px;
	margin: 0 auto 80px auto;
}
#plan-btn li {
	box-shadow: 0px 0px 5px 5px rgba(0,0,0,.10);
}
#plan-btn li a {
	position: relative;
	display: block;
}
.plan-img {
	display: inline-block;
	box-shadow: 0px 0px 5px 5px rgba(0,0,0,.10);
}
.plan-img + .plan-img {
	margin-top: 70px;
}
#plan-sec2 {
	padding: 100px 0 100px 0;
	border-bottom: 20px solid #EEE;
}
.plan-img-wide {
	margin-bottom: 60px;
	width: 100%;
}
.plan-img-wide img {
	object-fit: none;
	width: 100%;
	height: 1240px;
}

.point-menu {
	position: absolute;
	left: 0;
	right: 0;
	top: -50px;
	margin: auto;
	/*pointer-events: none;*/
}
#Ftype-header {
	position: relative;
}
#Ftype-header ul {
	position: absolute;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 12px;
	left: 0;
	right: 0;
	bottom: 38px;
	margin: auto;
}



/****************************************************************************************************
quality
****************************************************************************************************/
#quality {
	padding: 100px 0 100px 0;
	background: url(../img/plan/bg.jpg) no-repeat center top;
	background-size: cover;
}
#anchor ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 20px;
}
#design-title {
	padding-top: 80px;
}
#design-title h2 {
	font-size: 1.866rem;
	font-weight: normal;
	line-height: 1.4;
}
.quality-area {
	width: 1200px;
	margin: auto;
}
.quality-area + .quality-area {
	margin-top: 100px;
}
.quality-block {
	margin-top: 60px;
}
.quality-block + .quality-block {
	margin-top: 100px;
}
.quality-area figure.img-box figcaption.in {
	right: 0.6em;
	bottom: 0.6em;
	line-height: 1.0;
}
.quality-category {
	position: relative;
	padding-bottom: 10px;
	font-family: Baskerville;
	font-size: 1.866rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.quality-category::after {
	content: "";
	display: block;
	position: absolute;
	width: 100px;
	height: 2px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #000;
}
.quality-contents {
	margin-top: 30px;
}
.equipment-flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 30px 30px;
	width: 1200px;
}
.equipment-flex.innerx {
	width: 790px;
}
.equipment-flex-box {
	width: 380px;
	text-align: left;
}
.equipment-flex-box h4 {
	margin-top: 15px;
	padding: 0.15em 0em;
	color: #987E51;
	font-size: 1.466rem;
	line-height: 1.4;
	text-align: center;
}
.equipment-flex-box p {
	margin-top: 6px;
	font-size: 1.066rem;
	line-height: 1.4;
}
.equipment-flex-box figure + p {
	margin-top: 15px;
}
.equipment-flex-box p sup {
	font-size: 70%;
	vertical-align: top;
}
.equipment-flex-box p .small {
	display: inline-block;
	font-size: 0.733rem;
}
#eq3 .equipment-flex-box.double {
	width: 790px;
}
#eq5 .equipment-flex-box {
	width: 585px;
}
#eq5 .equipment-flex-box.column {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 15px;
}
#eq5-img1 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 10px;
}
#eq5-img1-sub {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 10px;
}

.sc-ttl {
	padding: 0.6em;
	background: #EDE8E0;
	color: #987E51;
	font-size: 1.466rem;
	line-height: 1.6;
}
.sc-text {
	margin-top: 30px;
}
.sc-text figure {
	margin-bottom: 30px;
}
.sc-text p {
	font-size: 1.066rem;
	line-height: 1.6;
}
.sc-text p .small {
	font-size: 0.733rem;
}
.sc-more {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
	margin-top: 30px;
}
.sc-txt {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
	text-align: left;
}
.sc-txt + .sc-txt {
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px solid rgba(167,152,115,.5);
}
.sc-txt h5 {
	color: #987E51;
	font-size: 1.466rem;
	line-height: 1.6;
}
.sc-txt p {
	margin-top: 0.2em;
	font-size: 1.066rem;
	line-height: 1.6;
}
.sc-txt p .small {
	display: inline-block;
	font-size: 0.733rem;
}
.img-box2 {
	display: inline-block;
}
.img-box2 figcaption {
	margin-top: 0.8em;
	line-height: 1.4;
	font-size: 0.733rem;
	text-align: right;
}
.service-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
}
.service-box {
	width: 585px;
	text-align: left;
}
.service-box h4 {
	margin-bottom: 0.2em;
	color: #987E51;
	font-size: 1.466rem;
	line-height: 1.6;
}
.service-box p {
	font-size: 1.066rem;
	line-height: 1.6;
}
.service-box p .small {
	display: inline-block;
	font-size: 0.733rem;
}
.service-flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
}
.service-flex.column {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
	gap: 20px;
}



/****************************************************************************************************
photo-gallery
****************************************************************************************************/
#photo-gallery {
	background: url(../img/plan/bg.jpg) no-repeat center top;
    background-size: cover;
}
#photo-gallery-inner {
	width: 1200px;
	margin: auto;
	padding: 100px 0 100px 0;
}
#photo-gallery-ttl h3 {
	color: #987E51;
	font-size: 2.4rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
#photo-gallery-ttl p {
	margin-top: 0.4em;
	font-size: 1.2rem;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.photo-gallery {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 50px;
}
.pg-box,
.pg-box-wrap {
	width: 380px;
}
.pg-box-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 15px;
}
.pg-box.wide {
	width: 790px;
}
.pg-box img + span {
	display: block;
	margin-top: 0.6em;
	font-size: 1.0rem;
	line-height: 1.6;
	text-align: left;
}



@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	contents
	****************************************************************************************************/
	#header {
		position: relative;
	}
	#wrap {
		padding-top: 15vw;
	}
	
	
	
	/****************************************************************************************************
	共通
	****************************************************************************************************/
	.main-img {
		height:  60vw;
	}
	.main-img figure img {
		height:  60vw;
	}
	.main-img.sub {
		height:  40vw;
	}
	.main-img.sub figure img {
		height:  40vw;
	}
	.main-img.height-auto {
		height:  auto;
	}
	.main-img.height-auto figure img {
		height:  auto;
	}
	.main-img figure figcaption {
		font-size: 0.533rem;
	}
	.main-img h1 {
		top: -7.5vw;
	}
	.main-img h1 img {
		width: 60vw;
	}
	.img-box figcaption {
		font-size: 0.533rem;
	}

	.interview-banner-box {
		top: 6vw;
		width: 48vw;
	}
	
	
	
	/****************************************************************************************************
	ACCESS
	****************************************************************************************************/
	#access-sec1,
	#access-sec2 {
		padding: 12vw 4vw 10vw 4vw;
	}
	#access-sec2-copy {
		position: absolute;
		left: auto;
		right: 8vw;
		top: 13vw;
		width: 14vw;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	
	
	
	/****************************************************************************************************
	LOCATION
	****************************************************************************************************/
	#location-sec1,
	#location-sec2,
	#location-sec5 {
		padding: 12vw 4vw 4vw 4vw;
	}
	#location-sec1 {
		margin-bottom: 0;
		padding-bottom: 0;
	}
	#location-sec2 {
		padding: 12vw 4vw 0 4vw;
	}
	#location-sec3 {
		padding: 12vw 4vw 0 4vw;
	}
	#location-sec4 {
		padding: 12vw 4vw 10vw 4vw;
	}
	#location-sec2-copy {
		position: absolute;
		left: 4vw;
		top: -3vw;
		width: 14vw;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#location-sec3-copy {
		position: absolute;
		left: auto;
		right: 4vw;
		top: -3vw;
		width: 14vw;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#location-sec4-copy {
		position: absolute;
		left: auto;
		right: 4vw;
		top: -3vw;
		width: 14vw;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#location-sec5-copy {
		position: absolute;
		left: 4vw;
		top: -3vw;
		width: 14vw;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#location-sec2-column {
		width: 100vw;
		margin: 4vw -4vw 0 -4vw;
		padding: 4vw;
	}
	#location-sec3-column {
		width: 100vw;
		margin: 4vw -4vw 0 -4vw;
		padding: 4vw;
	}
	#address-2 img {
		width: 114vw;
		margin-left: -5vw;
	}
	#address-2 figcaption {
		margin-right: 9vw;
	}
	#address-4 {
		width: 22vw;
		top: -10vw;
	}
	
	
	
	/****************************************************************************************************
	DESIGN
	****************************************************************************************************/
	#design-sec1 {
		padding: 0 4vw 10vw 4vw;
	}
	#design-sec1-img2 {
		width: 82vw;
	}
	#design-sec1-img3 {
		width: 82vw;
		margin-top: -13vw;
		margin-right: 0;
		margin-left: 10vw;
	}
	#design-sec2 {
		padding: 0 4vw 0 4vw;
	}
	#design-sec3-1 {
		padding: 0 4vw 0 4vw;
	}
	#design-sec3-2 {
		padding: 6vw 4vw 6vw 4vw;
	}
	
	
	
	/****************************************************************************************************
	COMMON SPACE
	****************************************************************************************************/
	#common-space-sec1 {
		padding: 0 4vw 10vw 4vw;
		background: url(../img/common-space/bg.jpg) repeat center top;
		background-size: cover;
	}
	
	
	
	/****************************************************************************************************
	PLAN
	****************************************************************************************************/
	#plan-sec1 {
		padding: 10vw 4vw 10vw 4vw;
	}
	#plan-btn {
		gap: 2vw;
		width: 100%;
		margin: 0 0 6vw 0;
	}
	#plan-btn li {
		width: 45vw;
		box-shadow: 0px 0px 2px 2px rgba(0,0,0,.08);
	}
	.plan-img {
		box-shadow: 0px 0px 2px 2px rgba(0,0,0,.08);
	}
	.plan-img + .plan-img {
		margin-top: 5vw;
	}
	#plan-sec2 {
		padding: 10vw 4vw 10vw 4vw;
		border-bottom: 4vw solid #EEE;
	}
	.plan-img-wide {
		margin-left: -4vw;
		margin-right: -4vw;
		margin-bottom: 5vw;
		width: 100vw;
	}
	.plan-img-wide img {
		object-fit: cover;
		width: 100%;
		height: 110vw;
	}
	
	.point-menu {
		width: 26vw;
		top: -5.8vw;
	}
	#Ftype-header {
		position: relative;
	}
	#Ftype-header ul {
		gap: 1vw;
		bottom: 2.8vw;
	}
	#Ftype-header ul li {
		width: 26vw;
	}
	
	
	
	/****************************************************************************************************
	MG
	****************************************************************************************************/
	.inner.mg {
		padding: 0 4vw 0 4vw;
	}
	
	
	
	/****************************************************************************************************
	quality
	****************************************************************************************************/
	#quality {
		padding: 10vw 4vw 10vw 4vw;
	}
	#anchor ul {
		gap: 1vw;
	}
	#design-title {
		padding-top: 10vw;
	}
	#design-title h2 {
		font-size: 1.2rem;
	}
	.quality-area {
		width: 92vw;
	}
	.quality-area + .quality-area {
		margin-top: 10vw;
	}
	.quality-block {
		margin-top: 7vw;
	}
	.quality-block + .quality-block {
		margin-top: 10vw;
	}
	.quality-category {
		padding-bottom: 2vw;
		font-size: 1.2rem;
	}
	.quality-category::after {
		width: 12vw;
		height: 2px;
	}
	.quality-contents {
		position: relative;
		margin-top: 4vw;
	}
	.equipment-flex {
		gap: 3vw 2vw;
		width: 100%;
	}
	.equipment-flex.innerx {
		width: 100%;
	}
	.equipment-flex-box {
		width: 45vw;
	}
	.equipment-flex-box h4 {
		margin-top: 2vw;
		font-size: 0.933rem;
	}
	.equipment-flex-box h4.sp-nallow div {
		white-space: nowrap;
		transform-origin: 22% 50%;
		transform: scale(0.85, 1);
	}
	.equipment-flex-box p {
		margin-top: 1vw;
		font-size: 0.8rem;
		line-height: 1.35;
	}
	.equipment-flex-box figure + p {
		margin-top: 2vw;
	}
	.equipment-flex-box p .small {
		font-size: 0.6rem;
	}
	#eq2-main {
		position: absolute;
		width: 45vw;
	}
	#eq2-main img {
		object-fit: cover;
		width: 45vw;
		height: 82.5vw;
	}
	#eq2 .equipment-flex-box:nth-of-type(1),
	#eq2 .equipment-flex-box:nth-of-type(2) {
		margin-left: 47vw;
	}
	#eq2 .equipment-flex-box:nth-of-type(4) h4 {
		letter-spacing: -0.1em;
	}
	#eq3-main {
		position: absolute;
		width: 45vw;
	}
	#eq3-main img {
		object-fit: cover;
		width: 45vw;
		height: 54vw;
	}
	#eq3 .equipment-flex-box.double {
		-webkit-box-ordinal-group:6;
		-webkit-order:5;
		-ms-flex-order:5;
		order:5;
		width: 100%;
	}
	#eq3 .equipment-flex-box:nth-of-type(3) {
		margin-left: 47vw;
	}
	#eq4-main {
		position: absolute;
		width: 45vw;
	}
	#eq4 .equipment-flex-box:nth-of-type(1),
	#eq4 .equipment-flex-box:nth-of-type(2) {
		margin-left: 47vw;
	}
	#eq4-main .equipment-flex-box:nth-of-type(1) {
		margin-left: 0;
	}
	#eq4-main img {
		object-fit: cover;
		width: 45vw;
		height: 92.8vw;
	}
	#eq5 .equipment-flex-box:nth-of-type(1) {
		width: 100%;
	}
	#eq5-img1 {
		gap: 1vw;
	}
	#eq5-img1 > figure {
		width: 60.45%;
	}
	#eq5-img1-sub {
		width: 39.55%;
		gap: 1vw;
	}
	#eq5 .equipment-flex-box:nth-of-type(3),
	#eq5 .equipment-flex-box:nth-of-type(4) {
		width: 45vw;
		-webkit-align-content:flex-start;
		-ms-flex-line-pack:start;
		align-content:flex-start;
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 0 0;
	}
	
	.sc-ttl {
		font-size: 1.2rem;
		line-height: 1.4;
	}
	.sc-text {
		margin-top: 6vw;
	}
	.sc-text figure {
		margin-bottom: 6vw;
	}
	#oss {
		width: 60vw;
		margin: auto;
		margin-bottom: 6vw;
	}
	#miwa {
		width: 40vw;
		margin: auto;
		margin-bottom: 6vw;
	}
	.sc-text p {
		font-size: 0.8rem;
		text-align: left;
	}
	.sc-text p .small {
		font-size: 0.6rem;
	}
	.sc-more {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
		margin-top: 4vw;
	}
	.sc-comment {
		order: 2;
	}
	.sc-txt {
		text-align: left;
		column-gap: 2vw;
	}
	.sc-txt .magnet {
		width: 70%;
	}
	.sc-txt figure {
		width: 30%;
	}
	.sc-txt + .sc-txt {
		margin-top: 4vw;
		padding-top: 4vw;
	}
	.sc-txt h5 {
		font-size: 1.2rem;
	}
	.sc-txt p {
		font-size: 0.8rem;
	}
	.sc-txt p .small {
		font-size: 0.6rem;
	}
	.img-box2 {
		display: inline-block;
	}
	.img-box2 figcaption {
		font-size: 0.533rem;
	}
	.service-block {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
	}
	.service-box {
		width: 100%;
	}
	.service-box h4 {
		font-size: 1.2rem;
	}
	.service-box p {
		font-size: 0.8rem;
	}
	.service-box p .small {
		font-size: 0.6rem;
	}
	.service-flex {
		gap: 2vw;
	}
	.service-flex.column {
		gap: 2vw;
	}
	.w90 {
		width: 90%;
	}
	.w10 {
		width: 10%;
	}
	.w80 {
		width: 80%;
	}
	.w20 {
		width: 20%;
	}
	.w70 {
		width: 70%;
	}
	.w30 {
		width: 30%;
	}
	
	
	
	/****************************************************************************************************
	photo-gallery
	****************************************************************************************************/
	#photo-gallery-inner {
		width: 92vw;
		padding: 10vw 0 10vw 0;
	}
	#photo-gallery-ttl h3 {
		font-size: 1.8rem;
	}
	#photo-gallery-ttl p {
		font-size: 1.0rem;
	}
	.photo-gallery {
		gap: 2vw;
		margin-top: 8vw;
	}
	.pg-box:nth-of-type(2) img {
		object-fit: cover;
		object-position: 0 0;
		width: 45vw;
		height: 29.3vw;
	}
	.pg-box {
		width: 45vw;
	}
	.pg-box-wrap {
		width: 100%;
		gap: 2vw;
	}
	.pg-box.wide {
		width: 45vw;
	}
	.pg-box img + span {
		font-size: 0.866rem;
	}
	
}

@media screen and (max-width: 960px) and (orientation: landscape) {
	.pagetop {
		right: 1vw;
		bottom: 8vw;
		width: 6vw;
	}
}