@charset "utf-8";

.header-frame {
  	justify-content: flex-end;
  	padding: 20px 0 0;
}

.header-logo-link {
	display: none;
}

.is-scroll .header-frame {
  	justify-content: space-between;
}

.is-scroll .header-logo-link {
	display: block;
}

/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/

.cover-frame {
    position: relative;
    margin: -2% 0 0;
}

.mv-wrapper {
    max-width: 1920px;
    width: 90%;
    margin: 0 0 0 auto;
    position: relative;
    /*height: 215px;*/
	aspect-ratio: 1724.5 / 960;
}

.cover-logo {
    position: relative;
    /* top: -7%; */
    margin: 0 0 0 4.2%;
    max-width: 700px;
    width: 52%;
    z-index: 5;
}

.cover-text-box {
    max-width: 837px;
    width: 75%;
    position: absolute;
    left: -12px;
    bottom: 10%;
    padding: 4px 5px 9px 20px;
    background: var(--secondary);
    border: 1px solid;
    transform: rotate(-5deg);
    text-align: right;
    z-index: 5;
}

.cover-text-box h1 {
    position: relative;
    z-index: 8;
}

.cover-text-deco {
    position: absolute;
    max-width: 350px;
    width: 42%;
    bottom: -50%;
    right: 6%;
    transform: rotate(6deg);
    z-index: 6;
}

.cover-navi-box {
    max-width: 50px;
    width: 100%;
    height: 390px;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 9;
    padding: 10px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
}

.cover-navi {
    display: block;
    font-family: var(--font-family02);
    color: var(--white);
    font-size: 13px;
    /* transform: rotate(90deg); */
    font-weight: 400;
    width: 100%;
}

.cover-navi:hover {
    color: var(--white);
	opacity: .5;
}

.cover-navi-main {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cover-navi-main p {
    margin: 0;
}

.cover-navi-line {
    color: var(--white);
    /* transform: rotate(90deg); */
    font-size: 16px;
    display: inline-block;
	padding: 8px 0;
    font-family: var(--font-family02);
}

/*-----------------------------------------------------------
Parallax
-----------------------------------------------------------*/

.top-parallax {
	position: relative; 
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    height: 100lvh;
}  

.top-parallax::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 85lvh;
    background-image: url(/system_panel/uploads/images/top01.jpg);
    background-repeat: no-repeat;
    background-position: 30% , 0;
    background-size: cover;
    z-index: -1;
    transform: translateZ(0);
}

/*-----------------------------------------------------------
top02
-----------------------------------------------------------*/

.top02-btn-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 30px;
}

.top-text-deco01 {
    position: absolute;
    display: block;
    left: 0;
    bottom: -10px;
    transform: rotate(-6deg);
    z-index: -1;
}


/*-----------------------------------------------------------
top03
-----------------------------------------------------------*/

.top03-main {
	position: relative;
	width: 95%;
	height: 60.4%;
	top: 15%;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 0;
}

.top03-main:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 5px;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border: 1px solid var(--white);
    z-index: 5;
    transition: all .3s;
}

.top03-img-box {
	will-change: transform;
	overflow: hidden;
}

.top03-logo-box {
  	height: 15.57%;
	top: 0;
  	right: 0;
  	left: 0;
  	bottom: 0;
  	margin: auto;
}

.top03-img-box01 { aspect-ratio: 480/340; }
.top03-img-box02 { aspect-ratio: 780/560; }
.top03-img-box03 { aspect-ratio: 360/360; }
.top03-img-box04 { aspect-ratio: 580/440; }
.top03-img-box05 { aspect-ratio: 380/480; }
.top03-img-box06 { aspect-ratio: 280/360; }

.top03-img-box01,.top03-img-box05 {
	z-index: 1;
}

.top03-btn {
    position: static;
    right: 0;
    bottom: 15%;
    left: 0;
    z-index: 1;
}

/*画像の出現*/
.img-mask {
  -webkit-mask-image: linear-gradient(to right, black 0%, black 100%);
  mask-image: linear-gradient(to right, black 0%, black 100%);
  clip-path: inset(0 100% 0 0);  /* ★ 初期から非表示 */
}

.img-mask.from-right {
  clip-path: inset(0 0 0 100%);  /* ★ 右側は逆方向で非表示 */
}

/* revealedがない間は非表示を維持 */
.img-mask:not(.revealed) {
  clip-path: inset(0 100% 0 0) !important;
}

.img-mask.from-right:not(.revealed) {
  clip-path: inset(0 0 0 100%) !important;
}

/* アニメーション */
.img-mask.revealed {
  animation: maskFromLeft 1.2s cubic-bezier(0.76, 0, 0.24, 1) var(--delay, 0s) forwards;
}

.img-mask.from-right.revealed {
  animation: maskFromRight 1.2s cubic-bezier(0.76, 0, 0.24, 1) var(--delay, 0s) forwards;
}

@keyframes maskFromLeft {
  0%   { clip-path: inset(0 100% 0 0); }
  100% { clip-path: inset(0 0%   0 0); }
}

@keyframes maskFromRight {
  0%   { clip-path: inset(0 0 0 100%); }
  100% { clip-path: inset(0 0 0 0%);   }
}
/*-----------------------------------------------------------
top06
-----------------------------------------------------------*/

.top06-row {
	gap: 15px;
}

.news-item {
    border-bottom: 1px solid var(--gray02);
}

.news-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 10px 20px;
    transition: all .3s;
    width: 100%;
}

.news-item:first-child .news-flex {
    padding-top: 0;
}

.news-cate-flex {
    display: flex;
    align-items: center;
}

.news-text-box {
    /* flex: 1; */
    /* margin: 0 15px 0 0; */
    width: 90%;
    min-width: 0;
}

.news-date {
    width: 85px;
    margin: 0 20px 0 0;
    color: var(--gray02);
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    font-weight: 500;
    max-width: max-content;
    flex-shrink: 0;
}

.news-cate-box {
    max-width: calc(100% - 125px);
    min-width: 106px;
    display: inline-block;
    /* width: 100%; */
    padding: 0 11px 0 10px;
    background: #E2E2E2;
    border-radius: 100vmax;
    /* flex: 1; */
    flex: 0 1 auto;
}

.news-cate {
	font-size: clamp(13px, 12.272px + 0.194vw, 16px);
	color: var(--base-body-color);
	line-height: 1.5;
	text-align: center;
	word-break: keep-all;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}

.news-title {
    color: var(--base-body-color);
    margin: 20px 0 0;
 	transition: all .3s;
}

.news-arrow-box {
	/* max-width: 31px; */
	width: 35px;
	height: 25px;
	position: relative;
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 13px;
	margin: 0 0 0 15px;
	flex-shrink: 0;
	transition: all .3s;
}

.news-arrow-box:before {
	content: "";
    position: absolute;
    top: 50%;
    left: 0;
	right: 0;
	margin: auto;
    width: 7px;
    height: 11px;
    transform: translateY(-50%);
    background: url(/system_panel/uploads/images/arrow-gray.svg) no-repeat center center / contain;
    z-index: 1;
 	transition: all .3s;
}

.news-item:hover .news-title {
    opacity: .5;
 	transition: all .3s;
}

.news-item:hover .news-arrow-box{
	background: var(--white);
 	transition: all .3s;
}

.news-item:hover .news-arrow-box:before{
    background: url(/system_panel/uploads/images/arrow-green.svg) no-repeat center center / contain;
 	transition: all .3s;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:375px) {

}/* min-width: 375px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:414px) {
  
.cover-logo {
    /* top: -9%; */
}
  
.mv-wrapper {
    /*height: 250px;*/
}
  
.cover-text-box {
    width: 75%;
}

/*-----------------------------------------------------------
top06
-----------------------------------------------------------*/  

.news-date {
	margin: 0 10px 0 0;
}



}/* min-width: 414px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:576px) {

/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/

.cover-text-box {
    width: 65%;
    padding: 0 16.6px 9px 30px;
}

.mv-wrapper {
    /*height: 310px;*/
  	width: 92.5%;
}
  
/*-----------------------------------------------------------
top02
-----------------------------------------------------------*/
  

  
}/* min-width: 576px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width: 768px) {
  
.header-frame {
  	padding: 45px 0 0;
}
  
/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
.mv-wrapper {
    height: 404px;
    width: 91.5%;
}

.cover-text-box {
    width: 62%;
    padding: 0 16.6px 9px 58px;
}
  
.cover-logo {
    /* top: -8%; */
    width: 37%;
}

  
.top-parallax::before {
    height: 100lvh;
    background-position: 30%, 0;
}

  
.top03-main:before {
    top: 60px;
    left: 30px;
}

/*-----------------------------------------------------------
top06
-----------------------------------------------------------*/
  
.news-flex {
	padding: 20px 0;
}
  
.news-date {
	width: 110px;
}


}/* min-width: 768px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:992px) {

/*-----------------------------------------------------------
top05
-----------------------------------------------------------*/



}/* min-width: 992px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width: 1024px) {



/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
.cover-text-box {
    width: 56%;
    padding: 5px 16.6px 11px 98px;
}

.mv-wrapper {
    height: auto;
    width: 90.5%;
}

/*-----------------------------------------------------------
top03
-----------------------------------------------------------*/
.top03-btn {
    position: absolute;
    bottom: 10%;
}  

/*-----------------------------------------------------------
top05
-----------------------------------------------------------*/


/*-----------------------------------------------------------
top06
-----------------------------------------------------------*/
  
.news-flex {
    padding: 30px 10px;
}

.news-date {
    margin: 0 40px 0 0;
}

.news-text-box {
    width: 92%;
}



}/* min-width: 1024px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1200px) {
  
.header-frame {
    padding: 57px 0 0;
}
  
/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
.cover-navi-box {
    height: 496px;
    bottom: 5%;
    padding: 20px 10px;
}
  
.cover-navi {
    font-size: 16px;
}

/*-----------------------------------------------------------
top01
-----------------------------------------------------------*/

.top01 {
	padding: 160px 0 !important;
}
  
/*-----------------------------------------------------------
top02
-----------------------------------------------------------*/

.top02 {
	padding: 180px 0 150px !important;  
}

/*-----------------------------------------------------------
top04
-----------------------------------------------------------*/

.top04 {
	padding: 150px 0 0 !important; 
}
  
/*-----------------------------------------------------------
top05
-----------------------------------------------------------*/

.top05 {
	padding: 180px 0 !important;  
}
  
.top05-row {
	align-items: center !important; 
}

/*-----------------------------------------------------------
top06
-----------------------------------------------------------*/  
  
.top06 {
	padding: 0 0 150px !important; 
}

.news-text-box {
    width: 93%;
}

  
}/* min-width: 1200px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1400px) {

 .cover-text-box {
    width: 50%;
}

/*-----------------------------------------------------------
top02
-----------------------------------------------------------*/
  
.top02-left {
	width: 33.72% !important;
  	padding: 0 !important;
}
  
.top02-right {
	width: 55.81% !important;  
}

/*-----------------------------------------------------------
top03
-----------------------------------------------------------*/
  
.top03-btn {
	bottom: 15%;
}
  
/*-----------------------------------------------------------
top05
-----------------------------------------------------------*/
  
.top05-left {
	width: 55.81% !important;
}
  
.top05-right {
	width: 40% !important;  
  	padding: 0 !important;
}
   
/*-----------------------------------------------------------
top06
-----------------------------------------------------------*/ 
.top06-right {
    width: 73% !important;
}


}/* min-width: 1400px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1500px) {

/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/

.cover-navi-box.bg-primary {
    bottom: 120px;
}

}/* min-width: 1500px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1600px) {

.top05-right {
	width: 33.72% !important;  
}
   
  
  
}/* min-width: 1600px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1700px) {
  

  
}/* min-width: 1700px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */ 