@charset "utf-8";

/* RESET */
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}ins,mark{background-color:#ff9;color:#000}body{line-height:1}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}

.A1GothicL {
font-family: 'A1 Gothic L', sans-serif;
}
.YuGothicM {
font-family: "Yu Gothic Pr6N M", sans-serif;
}
.YuGothicB {
font-family: "Yu Gothic Pr6N B", sans-serif;
}
.YuMinchoM {
font-family: "Yu Mincho Pr6N M", serif;
font-size: 30px;
}
.montserrat {
font-family: "Montserrat", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}


br.sp {
display: inherit;
}
br.pc {
display: none;
}
@media (min-width: 750px) {
	br.sp {
	display: none;
	}
	br.pc {
	display: inherit;
	}
}

.fadeElm {
position:relative;
transform:translate(0px,30px);
opacity:0
}

#contents .activeView {
transition:all .7s ease;
transform:translate(0px,0px);
filter:alpha(opacity=100);
opacity:1
}

/* COMMON */
html {
font-size: 62.5%;
scroll-behavior: smooth;
}

@media (min-width: 750px) and (max-width: 1024px) {
html {
font-size: 0.9765625vw;
}
}
@media (max-width: 750px) {
html {
font-size: 1.3333333333vw;
}
}
body {
position: relative;
margin: 0;
padding: 0;
font-family: "Yu Gothic Pr6N M", sans-serif;
font-style: normal;
font-weight: 700;
font-size: 1.6rem;
line-height: 1.5;
color: #000;
-webkit-font-smoothing: antialiased;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
}
@media (max-width: 750px) {
  body {
    font-size: 2.8rem;
  }
}

a:link,
a:active,
a:visited { 
color: #000;
text-decoration: none;
}
a:hover { 
color: #000;
text-decoration: underline;
}
ul,ol {
list-style: none;
}
img {
display: block;
margin: 0 auto;
max-width: 100%;
}

/* Clear Float */
.section:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.section {
zoom: 1;
}
.pc {
display: none;
}
.sp {
display: inherit;
}
@media (min-width: 750px) {
	.pc {
	display: inherit;
	}
	.sp {
	display: none;
	}
}

/* HEADER */
.header {
position: absolute;
left: 0;
top: 0;
width: 100%;
background-color: #fff;
z-index: 1;
}
.header_inner {
display: flex;
align-items: center;
justify-content: center;
min-height: 4.5rem;
}
.header_logo {
display: inline-flex;
align-items: center;
justify-content: center;
}
.header_logo img {
max-width: 10rem;
}
@media (max-width: 750px) {
	.header {
	position: relative;
	}
	.header_inner {
	min-height: 8rem;
	}
	.header_logo img {
	max-width: 20rem;
	}
}

/* footer */
.footer {
background-color: #7c7c7c;
padding: 2.5rem 0;
text-align: center;
font-size: 1.2rem;
}
.script {
position: absolute;
left: 0;
bottom: 0;
}

/* PAGEBODY */
#pageBody {
position: relative;
margin: 0 auto;
overflow: hidden;
}

/* CONTENTS */
#contents {}

.visualSCT,
.visualSCT.fadeElm {
transform:translate(0px,0px);
opacity:0
}
.visualSCT .cont {
position: relative;
}
.visualSCT .mainPhoto {
position: relative;
}
.visualSCT .mainPhoto img {
display: block;
width: 100%;
height: auto;
}
.visualSCT .pack {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
text-align: center;
}
.visualSCT .pack::before {
content: '';
display: flex;
position: absolute;
left: 0;
bottom: 0;
top: 0;
right: 0;
background-color: rgba(112,112,112,0.8);
mix-blend-mode: multiply;
}
.visualSCT .pack .inner {
position: relative;
padding: 3rem 0;
z-index: 1;
}
.visualSCT .pack h1 {
margin-bottom: 3rem;
padding-left: 0.5em;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: normal;
font-size: 4rem;
line-height: 1.75;
letter-spacing: 0.25em;
text-align: center;
color: #fff;
}
.visualSCT .pack .logo img {
display: block;
margin: 0 auto;
width: auto;
height: 3.4rem;
}
@media (min-width: 750px) {
	.visualSCT .mainPhoto img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: auto;
	}
	.visualSCT .pack {
	left: 50%;
	top: 50%;
	bottom: inherit;
	margin: -10.3rem 0 0 -26.27rem;
	width: 52.54rem;
	height: 20.6rem;
	text-align: center;
	}
	.visualSCT .pack .inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0;
	width: 52.54rem;
	height: 20.6rem;
	}
	.visualSCT .pack h1 {
	margin-bottom: 3rem;
	font-size: 3rem;
	}
	.visualSCT .pack .logo img {
	height: 2.5rem;
	}
}

.conceptSCT .cont {
text-align: center;
padding: 7.5rem 0 0 0;
}
.conceptSCT .catch {
margin-bottom: 10rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: normal;
font-size: 2.5rem;
line-height: 2.2;
letter-spacing: 0.25em;
}
.conceptSCT .photo {
display: grid;
grid-template-columns: 1fr 1fr;
}
.conceptSCT .photo img {
width: 100%;
}
@media (min-width: 750px) {
	.conceptSCT .cont {
	padding: 7.7rem 0 0 0;
	}
	.conceptSCT .catch {
	margin-bottom: 7.7rem;
	font-size: 1.5rem;
	line-height: 3.2;
	}
	.conceptSCT .photo {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	}
}

.catalogSCT .cont {
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-items: center;
background: url("../img/sp/ctg_bg.jpg") center center;
background-size: cover;
padding: 10rem 0;
text-align: center;
}
.catalogSCT p {
margin-bottom: 3rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 2.2rem;
line-height: 2.18;
letter-spacing: 0.25em;
color: #fff;
}
.catalogSCT h3 {
margin-bottom: 6rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 3rem;
line-height: 2;
letter-spacing: 0.08em;
color: #fff;
}
.catalogSCT .image {
position: relative;
margin-bottom: 6rem;
width: 28.4rem;
}
.catalogSCT .image img {
position: relative;
display: block;
width: 100%;
height: auto;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.catalogSCT .button {
margin-bottom: 0;
font-family: "A1 Gothic R", sans-serif;
font-weight: 400;
font-size: 3rem;
letter-spacing: 0.25em;
line-height: 1;
}
.catalogSCT .button a {
box-sizing: border-box;
padding-top: 0.1em;
transition: all .7s ease;
display: flex;
justify-content: center;
align-items: center;
border: solid 1px #fff;
width: 61rem;
height: 7rem;
text-decoration: none;
color: #fff;
}
@media (min-width: 750px) {
	.catalogSCT .cont {
	background: url("../img/ctg_bg.jpg") center center;
	background-size: cover;
	padding: 10rem 0;
	}
	.catalogSCT p {
	margin-bottom: 1rem;
	font-size: 1.7rem;
	}
	.catalogSCT h3 {
	margin-bottom: 4rem;
	font-size: 2.3rem;
	}
	.catalogSCT .image {
	margin-bottom: 4.8rem;
	}
	.catalogSCT .button {
	font-size: 2.6rem;
	}
	.catalogSCT .button a:hover {
	background-color: #fff;
	color: #000;
	}
}

.designSCT {
background-color: #e6e6dc;
}
.designSCT .cont {
padding: 12.8rem 0 17.6rem 0;
}
.designSCT h2 {
margin-bottom: 9.3rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 4rem;
line-height: 1.75;
letter-spacing: 0.25em;
text-align: center;
}
.designSCT .list {
display: flex;
flex-direction: column;
margin: 0 auto;
width: 61rem;
gap: 12.8rem;
}
.designSCT .block p.ctg {
margin-top: 4rem;
}
.designSCT .block p.ctg img {
margin: 0 0 0 0;
width: auto;
height: 4.2rem;
}
.designSCT .block h3 {
margin-top: 1.6rem;
}
.designSCT .block h3 img {
margin: 0 0 0 0;
width: auto;
height: 3.5rem;
}
.designSCT .block p {
margin-top: 4.8rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 2.5rem;
line-height: 1.92;
letter-spacing: 0.15em;
}
@media (min-width: 750px) {
	.designSCT .cont {
	padding: 13rem 0 13rem 0;
	}
	.designSCT h2 {
	margin-bottom: 8.4rem;
	font-size: 3rem;
	}
	.designSCT .list {
	width: 89.2rem;
	gap: 8.8rem;
	}
	.designSCT .block {
	display: flex;
	word-wrap: normal;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8rem;
	}
	.designSCT .image {
	width: 38.8rem;
	}
	.designSCT .pack {
	width: 42.4rem;
	}
	.designSCT .block p.ctg {
	margin-top: 0;
	}
	.designSCT .block p.ctg img {
	height: 2.6rem;
	}
	.designSCT .block h3 {
	margin-top: 1.6rem;
	}
	.designSCT .block h3 img {
	height: 2rem;
	}
	.designSCT .block p {
	margin-top: 5.6rem;
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 2.54;
	}
}

.sceneSCT {
background-color: #fff;
}
.sceneSCT .cont {
padding: 12.8rem 0 13.2rem 0;
}
.sceneSCT h2 {
margin-bottom: 9.3rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 4rem;
line-height: 1.75;
letter-spacing: 0.25em;
text-align: center;
}
.sceneSCT .list {
}
.sceneSCT .block {
display: flex;
flex-direction: column;
margin: 0 2.4rem;
width: 58rem;
}
.sceneSCT .block .pack {
box-sizing: border-box;
border: solid 1px #000;
border-top: none;
padding: 4rem;
flex: 1;
}
.sceneSCT .block h3 img {
margin: 0 0 0 0;
width: auto;
height: 7.2rem;
}
.sceneSCT .block p {
margin-top: 4.8rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 2.5rem;
line-height: 1.92;
letter-spacing: 0.15em;
}
.sceneSCT .slick-track {
display: flex;
}
.sceneSCT .slick-slide {
height: auto !important;
}
.sceneSCT .scene-navigation {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8vw;
padding: 3.5rem;
font-size: 2.5rem;
}
.sceneSCT .scene-next,
.sceneSCT .scene-prev {
font-family: "Yu Gothic Pr6N M", sans-serif;
font-weight: 400;
position: relative;
}
.sceneSCT .scene-next {
padding-right: 7.467vw;
}
.sceneSCT .scene-prev {
padding-left: 7.467vw;
}
.sceneSCT .scene-next::before,
.sceneSCT .scene-prev::before {
transform: translateY(-1px);
content: '';
display: block;
position: absolute;
top: 50%;
width: 5.867vw;
border-top: solid 1px #000;
}
.sceneSCT .scene-next::before {
right: 0;
}
.sceneSCT .scene-prev::before {
left: 0;
}
.sceneSCT .scene-next::after,
.sceneSCT .scene-prev::after {
content: '';
display: block;
position: absolute;
top: 50%;
width: 2.133vw;
border-top: solid 1px #000;
}
.sceneSCT .scene-next::after {
transform: rotate(-45deg) translateY(2px);
right: 1.333vw;
}
.sceneSCT .scene-prev::after {
transform: rotate(45deg) translateY(2px);
left: 1.333vw;
}
.sceneSCT .slick-disabled {
opacity: 0.5;
}
@media (min-width: 750px) {
	.sceneSCT .cont {
	padding: 13rem 0 12rem 0;
	}
	.sceneSCT h2 {
	margin-bottom: 8.4rem;
	font-size: 3rem;
	}
	.sceneSCT .block {
	display: flex;
	flex-direction: row;
	margin: 0 4.4rem;
	width: 85.8rem;
	height: 45rem;
	}
	.sceneSCT .block .image img {
	display: block;
	width: auto;
	height: 45rem;
	}
	.sceneSCT .block .pack {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: solid 1px #000;
	border-left: none;
	padding: 0 6.5rem 0 7rem;
	height: 45rem;
	}
	.sceneSCT .block h3 img {
	margin: 0 0 0 0;
	width: auto;
	height: 4.8rem;
	}
	.sceneSCT .block p {
	margin-top: 12rem;
	font-size: 1.5rem;
	line-height: 2.54;
	}
	.sceneSCT .slick-track {
	display: flex;
	}
	.sceneSCT .slick-slide {
	height: auto !important;
	}
	.sceneSCT .scene-navigation {
	gap: 50px;
	margin: 0;
	padding: 4rem 0 0 0;
	width: auto;
	font-size: 12px;
	}
	.sceneSCT .scene-next {
	padding-right: 40px;
	cursor: pointer;
	}
	.sceneSCT .scene-prev {
	padding-left: 40px;
	cursor: pointer;
	}
	.sceneSCT .scene-next:hover,
	.sceneSCT .scene-prev:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
	}
	.sceneSCT .scene-next::before,
	.sceneSCT .scene-prev::before {
	width: 30px;
	}
	.sceneSCT .scene-next::after,
	.sceneSCT .scene-prev::after {
	width: 8px;
	}
	.sceneSCT .scene-next::after {
	transform: rotate(-45deg) translateY(2px);
	right: 5px;
	}
	.sceneSCT .scene-prev::after {
	transform: rotate(45deg) translateY(2px);
	left: 5px;
	}
}

.proSCT {
background-color: #667755;
}
.proSCT .cont {
padding: 9.6rem 0 0 0;
color: #fff;
}
.proSCT h2 {
margin-bottom: 9.6rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 4rem;
line-height: 1.75;
letter-spacing: 0.25em;
text-align: center;
}
.proSCT .catch {
margin-bottom: 8rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 2.5rem;
line-height: 1.82;
letter-spacing: 0.15em;
text-align: center;
}
.proSCT .block {
margin: 0 auto;
width: 61rem;
}
.proSCT .block::before {
content: '';
display: block;
background-color: #fff;
margin: 0 auto 8.8rem auto;
width: 8.0rem;
height: 1px;
}
.proSCT .block h3 {
margin-top: 5.7rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 3.5rem;
letter-spacing: 0.25em;
}
.proSCT .block h4 {
margin-top: 4rem;
font-size: 3rem;
font-weight: 400;
letter-spacing: 0.15em;
}
.proSCT .block dt {
margin-top: 10rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 2.5rem;
line-height: 1.92;
letter-spacing: 0.15em;
color: #BDC9B2;
}
.proSCT .block dd {
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 2.5rem;
line-height: 1.92;
letter-spacing: 0.15em;
height: 30rem;
overflow: hidden;
color: #fff;
}
.proSCT .catalog {
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-items: center;
background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 85%, rgba(255, 255, 255, 0) 100%);
background-size: cover;
margin-top: -20rem;
padding: 20rem 0 10rem 0;
text-align: center;
color: #000;
}
.proSCT .catalog p {
margin-bottom: 3rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 2.2rem;
line-height: 2.18;
letter-spacing: 0.25em;
}
.proSCT .catalog h3 {
margin-bottom: 6rem;
font-family: "Yu Mincho Pr6N M", serif;
font-weight: 400;
font-size: 3rem;
line-height: 2;
letter-spacing: 0.08em;
}
.proSCT .catalog .image {
position: relative;
margin-bottom: 6rem;
width: 28.4rem;
}
.proSCT .catalog .image img {
position: relative;
display: block;
width: 100%;
height: auto;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.proSCT .catalog .button {
margin: 0;
font-family: 'A1 Gothic L', sans-serif;
font-weight: 400;
font-size: 3rem;
letter-spacing: 0.25em;
line-height: 1;
}
.proSCT .catalog .button a {
transition: all .7s ease;
display: flex;
justify-content: center;
align-items: center;
border: solid 1px #000;
width: 61rem;
height: 7rem;
text-decoration: none;
}
@media (min-width: 750px) {
	.proSCT .cont {
	padding: 12.4rem 0 0 0;
	color: #fff;
	}
	.proSCT h2 {
	margin-bottom: 6rem;
	font-size: 3rem;
	}
	.proSCT .catch {
	margin-bottom: 6rem;
	font-size: 1.5rem;
	line-height: 2.54;
	}
	.proSCT .block {
	margin: 0 auto;
	width: 89rem;
	}
	.proSCT .block::before {
	margin: 0 auto 10rem auto;
	width: 8.0rem;
	}
	.proSCT .inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6.4rem;
	margin: 0 auto;
	width: 89rem;
	}
	.proSCT .block .image {
	width: 47.2rem;
	}
	.proSCT .block .pack {
	width: 35.4rem;
	}
	.proSCT .block h3 {
	margin-top: 0;
	font-size: 2.3rem;
	letter-spacing: 0.2em;
	}
	.proSCT .block h4 {
	margin-top: 4.5rem;
	font-size: 1.7rem;
	}
	.proSCT .block dl {
	margin: 0 auto;
	width: 67rem;
	}
	.proSCT .block dt {
	margin-top: 6.4rem;
	font-size: 1.5rem;
	line-height: 2.54;
	}
	.proSCT .block dd {
	height: 26rem;
	font-size: 1.5rem;
	line-height: 2.54;
	}}
	.proSCT .catalog {
	background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 100%);
	}
	.proSCT .catalog p {
	margin-bottom: 1rem;
	font-size: 1.7rem;
	}
	.proSCT .catalog h3 {
	margin-bottom: 4rem;
	font-size: 2.3rem;
	}
	.proSCT .catalog .image {
	margin-bottom: 4.8rem;
	}
	.proSCT .catalog .button {
	font-size: 2.6rem;
	}
	.proSCT .catalog .button a:hover {
	background-color: #000;
	color: #fff;
	}
}