@charset "utf-8";

.in-header-frame {
	display: none;
}

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

.cover-right-contents {
    position: relative;
    padding: 60px 5px 15px;
    flex: 1;
}

.cover-title {
    font-family: var(--font-family02);
    writing-mode: vertical-lr;
    text-align: center;
    margin: 10px auto 0;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.scroll-link {
	position: absolute;
  	right: 0;
  	bottom: -20px;
  	left: 0;
	margin: auto;
    max-width: 17px;
    width: 8%;
}


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

.top01:after {
    content: "";
    position: absolute;
    max-width: 1332px;
    width: 100%;
    height: 85%;
    top: 0;
    left: 0;
    background: url(/system_panel/uploads/images/top_bg01.jpg)no-repeat center/cover;
    z-index: -2;
}

.top01-left-img-block {
    max-width: 220px;
    width: 32%;
    margin: 0 30px 0 auto;
}

.top01-right-img-block {
	margin: 40px 10px 0 auto;
}

.top01-img-box03 {
	position: absolute;
	max-width: 370px;
	width: 45.68%;
	z-index: 1;
	left: -20%;
	bottom: -27.5%;
}

.top01-text-block {
	position: relative;
	max-width: 700px;
	margin: 40px auto 0;
	padding: 0 15px;
}

.top01-title {
    font-size: 25px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.05em;
}

.top01-title strong {
    font-size: 36px;
    font-weight: 500;
    color: var(--primary);
    letter-spacing: 0.05em;
}

.top01-text-box p {
	line-height: 2;
}

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

.top02-link-btn-box .banner-link {
    max-width: 960px;
}

.top02-text-box .text01 {
	line-height: 2;
}

.banner-link .btn01-white:hover {
	opacity: 1;
}

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

.top03 {
	width: 100%;
}

.top03-title {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0.05em;
}

.top03-title strong {
    font-size: 36px;
    font-weight: 500;
    color: var(--primary);
    letter-spacing: 0.05em;
}

.top03-text-box .text01 {
    line-height: 1.9em;
}

.top-scene-wrapper {
    position: sticky;
    position: -webkit-sticky;
    min-height: 580px;
    top: -50%;
    overflow: visible;
}

.top-scene-inner {
    position: absolute;
    inset: 0;
    max-width: 1920px;
    width: 100%;
    margin: auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.top-scene-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.top-scene-bg01 {
    content: "";
    position: absolute;
    max-width: 1920px;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url(/system_panel/uploads/images/top_bg04.jpg)no-repeat center/cover;
    z-index: -2;
}

/*.top03-row {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: auto;
	display: block;
}*/


.top04-img-box {
    width: 100% !important;
    height: 311px;
    min-height: 280px;
}

.top04-img-box img {
    height: auto;
    object-fit: cover;
    object-position: center;
}

.top04-row {
    flex-direction: column;
}

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

.top05:after {
    content: "";
    position: absolute;
    max-width: 1236px;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    background: url(/system_panel/uploads/images/top_bg05.png)no-repeat center/cover;
    z-index: -2;
}

.top05-add-text br {
	display: block;
}

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

.top06:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    background: #1A1A1A;
    background: linear-gradient(90deg, rgba(26, 26, 26, 1) 0%, rgba(26, 26, 26, 0.85) 65%, rgba(26, 26, 26, .65) 80%, rgba(26, 26, 26, 0) 100%);
    z-index: 0;
}

.top06-title {
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.top06-title br {
    display: block;
}

.top06-text-box p {
    line-height: 1.95em;
}

.top01-illust01, .top03-illust01, .top03-illust02, .top05-illust01 .top07-illust01 {
	z-index: 3;
}

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

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

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

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

@media screen and (min-width:414px) {
  
    .cover-right-contents {
        padding: 60px 8px 15px;;
    }
  
    .cover-title {
        margin: 23px auto 0;
        font-size: 17px;
    }

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

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

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

  .top04-row {
      flex-direction: row;
  }
  
  .top04-img-box {
      width: 50% !important;
      height: 580px;
      min-height: 580px;
  }

  .top04-img-box img {
      height: 100%;
  }

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

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

@media screen and (min-width: 768px) {
  
/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
    .cover-right-contents {
        position: relative;
        padding: 50px 15px 15px;
        flex: 1;
    }

    .cover-title {
        margin: 20px auto 0;
        font-size: 16px;
    }
  
    .scroll-link {
        max-width: 17px;
        width: 8% !important;
        bottom: -30px;
    }
  
    /*-----------------------------------------------------------
    top01
    -----------------------------------------------------------*/

    .top01:after {
        width: 83%;
        height: 89%;
    }
  
    .top01-row {
        flex-direction: row !important;
        align-items: flex-end !important;
    }
  
     .top01-right-img-block {
        width: 24.5% !important;
        margin: 0;
    }
  
    .top01-text-block {
		width: 56%;
        margin: 0;
        padding: 0;
    }
  
    .top01-left-img-block {
        max-width: 220px;
        width: 10%;
        margin: 0;
    }

    /*-----------------------------------------------------------
    top03
    -----------------------------------------------------------*/
  
    .top-scene-wrapper {
		min-height: 560px !important;
		/*top: -30%;*/
    }
  
    .top-scene-wrapper.top-scene01 {
		min-height: 580px !important;
		/*top: -30%;*/
    }  
  
    .top04-img-box {
        height: 560px;
        min-height: 560px;
    }
  
     .top04-img-box img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    /*-----------------------------------------------------------
    top06
    -----------------------------------------------------------*/
  
    .top06:after {
        background: linear-gradient(90deg, rgba(26, 26, 26, 1) 0%, rgba(26, 26, 26, 0.95) 42%, rgba(26, 26, 26, 0) 55%, rgba(26, 26, 26, 0) 100%);
    }

    .top06-title br {
        display: block;
    }

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

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

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


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


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

@media screen and (min-width: 1024px) {
  
/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
    .cover-right-contents {
        position: relative;
        padding: 100px 15px 15px;
        flex: 1;
    }

    .cover-title {
        margin: 20px auto 0;
        font-size: 16px;
    }
  
    .scroll-link {
        bottom: 0;
    }
  
/*-----------------------------------------------------------
top01
-----------------------------------------------------------*/
  
     .top01-right-img-block {
        width: 28% !important;
        margin: 0;
    }
  
    .top01-text-block {
		width: 50%;
        margin: 0;
    }
  
    .top01-left-img-block {
        max-width: 220px;
        width: 11.76%;
        margin: 0;
    }

    .top01-title {
        font-size: 36px;
    }
  
  	.top01-title strong {
        font-size: 53px;
    }

    .top-scene-wrapper {
        top: -15%;
    }
  
    .top05:after {
        width: 64.38%;
        height: 87%;
    }

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

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

@media screen and (min-width:1200px) {
  
  
/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
    .cover-right-contents {
        padding: 120px 15px 15px;
    }

    .cover-logo {
		width: 100% !important;
    }

    .cover-title {
        margin: 40px auto 0;
        font-size: 18px;
    }

/*-----------------------------------------------------------
top01
-----------------------------------------------------------*/
  
    .top01 {
        padding: 195px 0 250px 0 !important;
    }

    .top01:after {
        width: 73%;
        height: 84.35%;
    }

    .top01-in {
		margin: 0 auto 0 0;
    }
  
     .top01-right-img-block {
        width: 43.32% !important;
        margin: 0 0 16px;
    }
  
    .top01-text-block {
		width: 36.9%;
        margin: 0;
    }
  
    .top01-left-img-block {
        max-width: 220px;
        width: 11.76%;
        margin: 0 0 12px 0;
    }

    .top01-title {
        font-size: 30px;
    }
  
  	.top01-title strong {
        font-size: 50px;
    }

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

	.link-img-box {
        min-height: 528px !important;
    }
  
    .top02-text-box {
        margin: 60px 0 0 0 !important;
    }
  
    .top02-link-btn-box .banner-link-inner {
        margin: auto auto 20px;
    }
  
/*-----------------------------------------------------------
top03
-----------------------------------------------------------*/
  
    .top03-title {
        font-size: 40px;
    }
  
    .top03-title strong {
        font-size: 56px;
    }

    .top-scene-wrapper {
        min-height: 780px !important;
        top: -30%;
    }
  
    .top-scene-wrapper.top-scene01 {
        min-height: 780px !important;
    }
  
    .top04-img-box {
        height: 800px;
    }
  
/*-----------------------------------------------------------
top05
-----------------------------------------------------------*/
  
	.top05-left {
        margin: 0px 100px 0 0 !important;
    }

    .top05-add-text br {
        display: none;
    }
  
/*-----------------------------------------------------------
top06
-----------------------------------------------------------*/
  
    .top06-title {
        font-size: 32px;
    }

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

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

@media screen and (min-width:1300px) {
  
/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
    .scroll-link {
        bottom: 56px;
    }
  
/*-----------------------------------------------------------
top06
-----------------------------------------------------------*/

    .top06-title br {
        display: none;
    }

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

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

@media screen and (min-width:1400px) {
  
/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
    .cover-right-contents {
        position: relative;
        padding: 120px 15px 15px;
        flex: 1;
    }

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

    .top01-in {
		margin: 0 auto 0 0;
    }
  
    .top01-right-img-block {
        width: 43.32% !important;
    }
  
    .top01-text-block {
          width: 38.9%;
    }

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

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

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

/*-----------------------------------------------------------
cover
-----------------------------------------------------------*/
  
    .cover-right-contents {
        position: relative;
        padding: 185px 15px 56px;
        flex: 1;
    }
  
    .cover-title {
        margin: 70px auto 0;
        font-size: 18px;
        padding: 0 10px 0 0;
    }
  

/*-----------------------------------------------------------
top01
-----------------------------------------------------------*/
      
    .top01-title {
        font-size: 42px;
    }
  
    .top01-title strong {
        font-size: 61px;
    }
  
}/* min-width: 1500px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

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

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


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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1850px) {
  
/*-----------------------------------------------------------
top01
-----------------------------------------------------------*/  
  
	.top01-title {
        font-size: 48px;
    }
  
    .top01-title strong {
        font-size: 80px;
    }
  
  
}/* min-width: 1700px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */ 