/* CSS Document *//*==================================================top-contents=================================================*/.top-contents img {    width: 100%;	max-width: 100%;	height: auto;}.top-image {	width: 99%;    max-height: 1000px;    position: relative;    overflow: hidden;    border-radius: 20px;    margin: 110px auto 0;}.top-image img {    width: 100%;	height: auto;}.swiper-container {    width: 100%;    height: 80vh;    min-height: 680px;}.swiper-slide-active .swiper-img,.swiper-slide-duplicate-active .swiper-img,.swiper-slide-prev .swiper-img {    }.swiper-slide.mv1 {    background-image: url("../../images/mv.jpg");    background-position: center center;    background-repeat: no-repeat;    background-size: cover;}.swiper-slide.mv2 {    background-image: url("../../images/mv2.jpg");    background-position: center center;    background-repeat: no-repeat;    background-size: cover;}.swiper-slide.mv3 {    background-image: url("../../images/mv3.jpg");    background-position: center center;    background-repeat: no-repeat;    background-size: cover;}.swiper-slide.mv4 {    background-image: url("../../images/mv4.jpg");    background-position: center center;    background-repeat: no-repeat;    background-size: cover;}.swiper-slide img {    width: 100%;	height: 100%;    object-fit: cover;}@keyframes zoom {  0% {    transform: scale(1);  }  100% {    transform: scale(1.15);  }}.top-image::before {    content: " ";	display: block;    position: absolute;    width: 50%;    height: 100%;    background-color: #FFF;    top: 0;    left: 0;    transition: all .5s ease-out;    z-index: 2;}.top-image.load::before {    left: -50%;}.top-image::after {    content: " ";	display: block;    position: absolute;    width: 50%;    height: 100%;    background-color: #FFF;    top: 0;    right: 0;    transition: all .5s ease-out;    z-index: 2;}.top-image.load::after {    right: -50%;}@keyframes bg-open {    0% {        clip-path: inset(0 0 0 0);    }    100% {        clip-path: inset(0 0 0 100%);    }}.top-image .inner {}.top-image .photo {    width: 100%;    height: 100%;    position: relative;}.top-image.load .photo {    animation: PhotoEff 1s ease-in-out 0s alternate;}@keyframes PhotoEff {    0% {        filter: brightness(500%) blur(20px);    }    100% {        filter: none;    }}.top-image .txt {    width: 100%;    position: absolute;    left: 0;    bottom: 5%;    z-index: 2;}.top-image .txt h1 {    width: 85%;    position: relative;    margin: 0 auto;}.top-image .txt h1::before {    content: " ";	display: block;    position: absolute;    opacity: 0;    width: 32.44%;    height: 100%;    background-image: url("../../images/mame.png");    background-position: left top;    background-repeat: no-repeat;    background-size: contain;    top: -50px;    left: 0;	transform: translate(-14%, 0);    transition: all 1s 2s cubic-bezier(0.2, 2.5, 0, 0);    z-index: 2;}.top-image.load .txt h1::before {    top: 0;    opacity: 1;}.top-image .txt h1::after {    content: " ";	display: block;    position: absolute;    opacity: 0;    width: 100%;    height: 100%;    background-image: url("../../images/title_i.svg");    background-position: center center;    background-repeat: no-repeat;    background-size: contain;    top: 0;    left: 0;    transition: all .5s 3s;    z-index: 2;}.top-image.load .txt h1::after {    opacity: 1;}.top-image .title {    width: 2.5vh;    min-width: 20px;    text-align: center;    position: absolute;    top: 0;	left: 50%;	transform: translate(-50%, 15%);    z-index: 1;}.prologue {    width: 99%;    position: relative;    background: linear-gradient(70deg, #d2c8b9, #e4ded4);    overflow: hidden;    border-radius: 20px;    margin: 2em auto 0;    padding: 5em 0;}.prologue .inner {    width: 90%;    max-width: 1400px;    margin: 0 auto;    z-index: 2;}.prologue .inner p {    font-size: clamp(1.8rem, 2.8vw, 3.2rem);    line-height: 200%;    font-weight: 800;    text-align: center;}.prologue .eff {    width: 100%;    max-width: 1600px;    height: 100%;    position: absolute;    display: flex;    flex-flow: row wrap;    justify-content: space-between;    mix-blend-mode: multiply;    top: 0;    left: 50%;	transform: translate(-50%, 0);    z-index: 1;}.prologue .eff div {    width: 20%;    max-width: 325px;    height: 110%;    margin-top: -5%;}.prologue .eff .lf {    background-image: url("../../images/top_bg_l.png");    background-position: center center;    background-repeat: no-repeat;    background-size: contain;}.prologue .eff .rf {    background-image: url("../../images/top_bg_r.png");    background-position: center center;    background-repeat: no-repeat;    background-size: contain;}.top-menu {    width: 100%;    position: relative;    background-color: #e9e6e2;    margin: 4em auto 0;    padding: 5em 0 0;}.top-menu section {    width: 98%;    max-width: 1600px;    display: flex;    flex-flow: row wrap;    justify-content: space-between;    margin: 0 auto 2em;}.top-menu section:nth-of-type(even) {    flex-direction: row-reverse;}.top-menu section div {    width: 49%;}.top-menu section .txt {    padding: 1em 3em 1em 1em;}.top-menu section:nth-of-type(even) .txt {    padding: 1em 1em 1em 3em;}.top-menu section .txt h1 {    line-height: 140%;    font-weight: 800;}.top-menu section .txt p {    font-size: clamp(1.6rem, 2vw, 2rem);    line-height: 160%;    margin: 1em 0 1.5em;}.top-menu .button {    max-width: 380px;    font-size: clamp(1.6rem, 2vw, 2rem);    line-height: 160%;}.top-menu .button::after {    width: 35px;    height: 35px;}.top-menu section div img {    width: 100%;	height: 100%;    object-fit: cover;}.top-senior {    width: 100%;    position: relative;	margin-top: 4em;}.top-senior .inner {    width: 90%;    position: absolute;    top: 58%;	left: 50%;	transform: translate(-50%, -50%);    z-index: 1;}.top-senior .inner h2 {    width: 50%;	font-size: clamp(2.4rem, 3.6vw, 5.4rem);	line-height: 140%;	text-align: center;	color: #fed900;    margin: 0 auto;}.top-senior .inner .button {    margin: 2em auto 0;}.top-project {	width: 100%;	position: relative;	margin-top: 4em;}.top-project > h2 {	width: 50%;	position: absolute;	font-size: clamp(2.4rem, 3.6vw, 5.4rem);	line-height: 140%;	text-align: center;	color: #fed900;	top: 40%;	left: 50%;	transform: translate(-50%, -50%);	z-index: 1;}.top-project .pj-inner {	width: 100%;	display: flex;	flex-flow: row wrap;	justify-content: space-between;}.top-project .pj-inner .item {	width: 50%;	position: relative;}.top-project .pj-inner .item .link-item {	width: 95%;	position: absolute;	top: 65%;	left: 50%;	transform: translate(-50%, -50%);	z-index: 1;}.top-project .pj-inner .item .link-item h2 {	display: none;	position: relative;	font-size: clamp(2.4rem, 3.6vw, 5.4rem);	line-height: 140%;	text-align: center;	color: #fed900;}.top-project .pj-inner .item .link-item a {	margin: 1em auto 0;}.top-project img {	width: 100%;	max-width: 100%;	height: auto;}.top-etc {    width: 90%;    max-width: 1400px;    margin: 0 auto;}.top-etc ul {    width: 100%;    display: flex;    flex-flow: row wrap;    justify-content: space-between;}.top-etc ul li {    width: 48%;    overflow: hidden;    border-radius: 20px;    margin-top: 4em;}.top-etc ul li a {    display: block;    position: relative;    width: 100%;    height: 16em;    color: #fed900;    text-decoration: none;    background-color: rgba(255, 255, 255, 0);   }.top-etc ul li a.comming {	pointer-events: none;	color: #CCC;	background-color: rgba(0, 0, 0, .5);   }.top-etc ul li a.comming strong {	display: inline-block;	font-size: 70%;    font-weight: normal;	line-height: 140%;	color: #FFF;	background-color: #666;	border-radius: 40px;	padding: .2em 1em;}.top-etc ul li a::before {    content: " ";	display: block;    position: absolute;    width: 100%;    height: 100%;    background-position: center center;    background-repeat: no-repeat;    background-size: cover;    top: 50%;	left: 50%;	transform: translate(-50%, -50%);    transition: all 0.3s;    z-index: 1;}.top-etc ul li:nth-of-type(1) a::before {    background-image: url("../../images/top_sp3.jpg");}.top-etc ul li:nth-of-type(2) a::before {    background-image: url("../../images/top_sp1.jpg");}.top-etc ul li:nth-of-type(3) a::before {    background-image: url("../../images/top_sp4.jpg");}.top-etc ul li:nth-of-type(4) a::before {    background-image: url("../../images/top_sp2.jpg");}@media (hover: hover) {    .top-etc ul li a:hover {        opacity: 1;        background-color: rgba(255, 255, 255, .5);            }    .top-etc ul li a:hover::before {        width: 102%;        height: 102%;        filter: brightness(80%) blur(5px);    }    }.top-etc ul li a::after {    content: " ";	display: block;    position: absolute;    width: 35px;    height: 35px;    background-color: #231815;    background-image: url("../../images/arrow.svg");    background-position: center center;    background-repeat: no-repeat;    background-size: 28%;    clip-path: circle(48% at 50% 50%);    bottom: 2%;    left: 5%;	transform: translate(0, -50%);    z-index: 2;}.top-etc ul li a.comming::after {	display: none;}.top-etc ul li a span {    display: block;    position: absolute;    font-size: clamp(1.8rem, 2.8vw, 3.2rem);    line-height: 160%;    top: 50%;	left: 5%;	transform: translate(0, -50%);    z-index: 1;}.top-info {    width: 100%;    position: relative;}.top-info.ca {    background-color: #e9e6e2;}.top-info .inner {    width: 90%;    max-width: 1400px;    display: flex;    flex-flow: row wrap;    justify-content: space-between;    align-items: flex-start;    margin: 0 auto;    padding: 4em 0;}.top-info .inner h3 {    width: 25%;    text-align: center;    background-color: #fed900;    border-radius: 20px;    padding: 2.5em .5em;}.top-info .inner .txt {    width: 70%;}.top-info .inner .txt li a,.top-info .inner .txt li p {    width: 100%;    display: block;    position: relative;    color: #231815;    font-size: clamp(1.6rem, 2.4vw, 2.4rem);    line-height: 160%;    text-decoration: none;    border-bottom: 2px solid #CCC;    padding: 1.8em 80px 1.8em 1em;}.top-info .inner .txt li p {	opacity: .5;}.top-info .inner .txt li a span,.top-info .inner .txt li p span {    display: block;    font-size: 80%;}.top-info .inner .txt li p strong {	display: inline-block;	font-size: 80%;    font-weight: normal;	line-height: 140%;	color: #FFF;	background-color: #231815;	border-radius: 40px;	padding: .2em 1em;}.top-info .inner .txt li a::before {    content: " ";	display: block;    position: absolute;    width: 0;    height: 4px;    background-color: #231815;    left: 0;    bottom: -3px;    transition: all 0.3s;    z-index: 0;}@media (hover: hover) {    .top-info .inner .txt li a:hover {        opacity: 1;    }    .top-info .inner .txt li a:hover::before {        width: 100%;    }}.top-info .inner .txt li a::after {    content: " ";	display: block;    position: absolute;    width: 40px;    height: 40px;    background-color: #231815;    background-image: url("../../images/arrow.svg");    background-position: center center;    background-repeat: no-repeat;    background-size: 28%;    clip-path: circle(48% at 50% 50%);    top: 50%;    right: 10px;	transform: translate(0, -50%);    z-index: 1;}@media only screen and (min-width:1px) and (max-width: 768px) {		.top-image {        width: 98%;        max-height: 600px;        border-radius: 10px;        overflow: hidden;        margin: 70px auto 0;	}    .swiper-container {        width: 100%;        height: 80vh;        min-height: 580px;        max-height: 700px;    }    .swiper-slide.mv1 {        background-image: url("../../images/mv_sp.jpg");        background-position: center center;    }    .swiper-slide.mv2 {        background-image: url("../../images/mv2_sp.jpg");        background-position: center center;    }    .swiper-slide.mv3 {        background-image: url("../../images/mv3_sp.jpg");        background-position: center center;    }    .swiper-slide.mv4 {        background-image: url("../../images/mv4_sp.jpg");        background-position: center center;    }    .top-image .txt {        width: 100%;        position: absolute;        left: 0;        bottom: 10%;        z-index: 2;    }    .top-image .title {        width: 2.5vh;        min-width: 20px;        max-width: 25px;    }    .prologue {        width: 100%;        position: relative;        border-radius: 0;        margin: 2em auto 0;        padding: 3em 0;    }    .prologue .inner p {        font-size: clamp(1.6rem, 2.8vw, 3.2rem);        line-height: 200%;        font-weight: 800;        text-align: center;    }    .prologue .eff div {        width: 16%;        height: 105%;        margin-top: -2%;    }    .prologue .eff .lf {        background-position: center top;    }    .prologue .eff .rf {        background-position: center bottom;    }    .top-menu {        width: 100%;        margin: 2em auto 0;        padding: 1em 0 0;    }    .top-menu section {        width: 95%;        flex-direction: column;        margin: 0 auto 2em;    }    .top-menu section:nth-of-type(even) {        flex-direction: column;    }    .top-menu section div {        width: 100%;    }    .top-menu section .txt {        padding: 2em 1em 0;    }    .top-menu section:nth-of-type(even) .txt {        padding: 2em 1em 0;    }    .top-menu section .txt h1 {        text-align: center;    }    .top-menu .button {        max-width: 280px;        font-size: clamp(1.4rem, 2vw, 2rem);        margin: 0 auto;    }    .top-menu .button::after {        width: 30px;        height: 30px;    }    .top-menu section div img {        width: 100%;        height: 100%;        object-fit: contain;    }    .top-senior {        width: 100%;        position: relative;        overflow: hidden;        margin-top: 2em;    }    .top-senior .photo {        width: 160%;        margin-left: -30%;    }	 .top-senior .inner h2 {        width: 60%;        margin: 0 auto;    }		.top-project {		width: 95%;		margin: 4em auto 0;	}	.top-project > h2 {		display: none;	}	.top-project .pj-inner {		width: 100%;		display: block;	}	.top-project .pj-inner .item {		width: 100%;		position: relative;		margin-top: 2em;	}		.top-project .pj-inner .item .link-item {		width: 90%;		position: absolute;		top: 55%;		left: 50%;		transform: translate(-50%, -50%);		z-index: 1;	}	.top-project .pj-inner .item .link-item h2 {		display: block;	}    .top-etc {        width: 90%;        max-width: 1400px;        margin: 0 auto;    }    .top-etc ul {        width: 100%;        flex-direction: column;    }    .top-etc ul li {        width: 100%;        overflow: hidden;        border-radius: 10px;        margin-top: 2em;    }    .top-etc ul li a {        display: block;        position: relative;        width: 100%;        height: 12em;        color: #fed900;        text-decoration: none;        background-color: rgba(255, 255, 255, 0);       }    .top-etc ul li a::after {        width: 30px;        height: 30px;    }    .top-info .inner {        width: 90%;        flex-direction: column;        margin: 0 auto;        padding: 2em 0;    }    .top-info .inner h3 {        width: 100%;        text-align: center;        border-radius: 10px;        padding: 1.5em .5em;    }    .top-info .inner .txt {        width: 100%;    }    .top-info .inner .txt li a,.top-info .inner .txt li p {        width: 100%;        padding: 1.2em 60px 1.2em 0;    }    .top-info .inner .txt li a span,.top-info .inner .txt li p span {        display: block;        font-size: 80%;    }    .top-info .inner .txt li a::after {        width: 30px;        height: 30px;    }}@media only screen and (min-width:1px) and (max-width: 568px) {	}	@media only screen and (min-width:1px) and (max-width: 480px) {	}