/*----------
  @ common
 ----------*/
 html {
    font-size:0.624vw;
  }

  @media print,screen and (max-width: 768px) {
    html {
      font-size:1.44444vw;
    }
  }
  
  @media print,screen and (max-width: 521px) {
    html {
      font-size:2.666vw;
    }
  }

:root{
    --grade-bg: linear-gradient(0deg, rgba(255,134,0,.6) 0%, rgba(0,161,255,.6) 100%);

    --main-color-u18:#00a1ff;
    --main-color-u25:#ff6f00;
    --main-color-u18-light:#e5f6ff;
    --gradationD-u18:linear-gradient(45deg, rgba(122,100,226,1) 40%, rgba(0,161,255,1) 100%);
    --gradationD-u18-hover:linear-gradient(45deg, rgba(122,100,226,1) 0%, rgba(0,161,255,1) 40%);
    --gradation-u18:linear-gradient(0deg, rgba(173,130,184,1) 0%, rgba(115,226,254,1) 100%);
    --gradationD-u25:linear-gradient(45deg, rgba(255,0,170,1) 0%, rgba(255,134,0,1) 100%);
    --gradationD-u25-hover:linear-gradient(45deg, rgba(255,0,170,1) 0%, rgba(255,134,0,1) 40%);

    --gradationL-u25:linear-gradient(0deg, rgba(255,128,212,1) 40%, rgba(255,194,128,1) 100%);
    --gradationL-u18:linear-gradient(45deg, rgba(173,130,184,1) 0%, rgba(115,226,254,1) 100%);

    --color-lightGray:#f4f6f8;
    --color-white:#fefefe;
    --color-black:#000;
    --gridSection-margin:min(4rem,8vw);
    --transition:all .5s cubic-bezier(0.43, 0.05, 0.17, 1);
    --border-black05:0.5px solid var(--color-black);

    --font-text1:3.24vw;
    --font-text2: 1.3rem;
    --font-text3: 1.83rem;
    --font-16: 1.83rem;
    --font-14: min(2.24rem, 4.83vw);
    --font-link:1.2rem;
    --font-sectionTitle:2.24rem;
    --font-sectionTitleSub:1.4rem;
}

@media print, screen and (min-width: 521px) {
    :root{
        --font-text1: 1.83vw;
        --font-text2: 1.4rem;
        --font-text3: 4vw;
        --font-sectionTitle: 2.4rem;
        --font-sectionTitleSub: 1.6rem;
        --font-link: 1.4rem;
        --font-16: 2rem;
    }
}

@media print, screen and (min-width: 768px) {
    body {
        font-size: 1.4rem;
      }

    :root{
        --font-14: 2.24rem;
        --font-16: 2.4rem;
        --font-text2: 1.6rem;
        --font-text3: 2.24vw;
        --font-link: 1.4rem;
        --font-text1:.83vw;
        --font-sectionTitle:2.4rem;
        --font-sectionTitleSub: 1.4rem;
    }
}

body{
    font-size: 1.3rem;
    font-family: "Jost", "M PLUS 1p", 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
    line-height: 1.75;
    letter-spacing: 0.01em;
    font-weight: 400;
    color: var(--color-black);
}

*,*::before,*:after{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

a{
	text-decoration:none;
    font-weight: 500;
    color: var(--color-white);
    position: relative;
    transition: var(--transition);
    box-sizing: border-box;
}

li{
    list-style: none;
}

img{
    max-width:100%;
    height: auto;
    box-sizing: border-box;
    vertical-align: bottom;
    transition: ease .5s;
}

table{
    clear: both;
    border-collapse: collapse;
    width: 100%;
}

tr{
    border-bottom: dashed 2px var(--color-blue);
    padding: 16px 8px;
    display: block;
}

tr ul li{
    text-indent: -1.4rem;
    padding-left: 14px;
    padding-bottom: 4px;
}

th{
    width: 100%;
    display: block;
    font-weight: 600;
    text-align: left;
}

td{
    width: 100%;
    display: block;
}

h1,h2,h3,h4,h5{
    font-weight: 500;
}

.contents{
    position: relative;
    z-index: 1;
}

.contents-wrapper {
    margin: 0px 0;
    z-index: 1;
}

.contents-title{
    padding-bottom: 4vw;
    font-size: var(--font-sectionTitle);
    line-height: 1.6;
    font-weight: 500;
}

.contents-title>span.-title-inner{
    position: relative;
}
.contents-title>span.-title-inner::before{
    position: absolute;
    content: "";
    background: var(--color-black);
    width: 100%;
    height: 1px;
    bottom: -10%;
    left: 0;
}

.contents-title span.-title-sub{
    background:linear-gradient(45deg, rgba(255,0,170,1) 0%, rgba(255,134,0,1) 13%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 400;
    font-size: var(--font-sectionTitleSub);
    display: block;
}

.borderSection{
    border-bottom: var(--border-black05);
    padding: calc(var(--gridSection-margin) / 2) 4vw;
}

/*----- swiper -----*/
.swiper-wrapper {
    transition-timing-function: linear;
}

.swiper-slide{
    padding: 0 2px;
}

.swiper-slide img {
    height: auto;
    width: 100%;
}

/*----- svg -----*/
svg{
    height: 100%;
    width: 100%;
}

.svg-icon{
    display: none !important;
}

svg.icon-app,
svg.icon-schedule{
    fill: var(--main-color-u18);
    transition: var(--transition);
}

svg.icon-app{
    aspect-ratio: 1 / 1.4;
}

svg.icon-schedule{
    aspect-ratio: 1 / 1;
}


/*----- link -----*/
.linkBox{
    position: relative;
    font-weight: 500;
    font-size: var(--font-link);
    background: var(--gradationD-u18);
    color: var(--color-white);
    display: block;
    padding: min(2rem, 3vw) min(1rem, 4vw);
    border-radius: 9999px;
    line-height: 1.5;
    width: min(50rem, 66%);
    margin: 0 auto;
    text-align: center;
    transition: var(--transition);
}

.linkBox.linkBox-arrow span::after,
.linkBox.linkBox-mail span::before,
.linkBox.linkBox-tel span::before{
    position: absolute;
    content: "";
    transition: var(--transition);
    background-size: 100%;
}

.linkBox.linkBox-mail span,
.linkBox.linkBox-tel span{
    position: relative;
    padding-left: min(3.24rem, 7vw);
    font-size: min(1.7rem, 3.87vw);
}

.linkBox.linkBox-arrow span{
    padding-right: min(2rem, 3.4vw);
    position: relative;
}

.linkBox.linkBox-arrow span::after{
    color: var(--color-white);
    border: min(0.2vw, .24rem) solid currentColor;
    border-left: 0;
    border-bottom: 0;
    transform: translate(-50%, -50%) rotate(45deg);
    width: min(1rem, 2vw);
    height: min(1rem, 2vw);
    top: 50%;
    right: 0;
}

.linkBox.linkBox-mail span::before{
    background: url(img/icon-mail.svg) no-repeat center;
    width: 2.4rem;
    height: 2.4rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.linkBox.linkBox-tel span::before{
    background: url(img/icon-tel.svg) no-repeat center;
    width: min(3rem, 6vw);
    height: min(3rem, 6vw);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.linkBox-box{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: .4rem;
    aspect-ratio: 1 / 1;
    text-align: center;
    font-weight: 500;
    line-height: 1.5;
    font-size: min(2rem, 4vw);
    position: relative;
    z-index: 1;
}

.linkBox-box.-box--u25{
    background: var(--gradationD-u25);
}

.linkBox-box.-box--u18{
    background: var(--main-color-u18);
}

.linkBox-box.-box--sns{
    background: var(--color-lightGray);
}

.linkBox-box.-box--sns img{
    display: block;
    width: 50%;
    transition: var(--transition);
}

.linkText{
    color: var(--color-black);
    font-size: var(--font-link);
}

.linkText span{
    position: relative;
    padding-right: min(4vw, 2rem);
}
.linkText span::before{
    position: absolute;
    content: "";
    color: var(--color-black);
    border: min(0.2vw, 0.1rem) solid currentColor;
    border-left: 0;
    border-bottom: 0;
    transform: translate(-50%, -50%) rotate(45deg);
    width: min(1rem, 2vw);
    height: min(1rem, 2vw);
    top: 50%;
    right: 0;
}

.noLinks{
	cursor:default;
    background: #a9a9a9;
}

.noLinks-text{
    opacity: .6;
    color: #bebebe;
}

a.-menuList_noLinks{
    cursor:default;
    opacity: 0.5;
}

.breadcrumbs{
    font-size: 1.2rem;
    margin: 20px auto;
    text-align: center;
    width: 90%;
    position: relative;
}

.breadcrumbs span{
padding: 0 2px;
}

.breadcrumbs a{
    color: var(--color-orange);
    text-decoration: underline;
}

.points-list li{
    text-indent: -1.4rem;
    padding-left: 14px;
}

.side-menu{
    display: none;
}

/*---- not found -----*/
.notFound{
    height: 94svh;
    min-height: 450px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.notFound h2{
    color: var(--color-blue);
    font-family: var(--font-roboto);
    font-weight: var(--font-bold);
    font-size: min(3.24rem,10vw);
    line-height: 1;
}

.notFound h2 span{
    display: block;
    font-size: min(12rem, 32vw);
}

.notFound p{
    padding: 24px 0;
}


/*---- page top -----*/
#js-page-top {
    bottom: 16px;
    position: fixed;
    right: 2px;
    z-index: 2;
    opacity: 0;
    width: 60px;
}

#js-page-top img{
    animation: fuwafuwa 4s linear infinite;
}

@keyframes rotate{
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
  }

#js-page-top.UpMove,
#js-sp-entry.UpMove{
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

#js-page-top.DownMove,
#js-sp-entry.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*--- mobile Entry ----*/
#js-linkArea.is-block {
    opacity: 1;
}

#js-linkArea.is-hidden {
    visibility: hidden;
    opacity: 0;
}

/*---- youtube -----*/
.youtube{
    position:relative;
    width:100%;
    padding-top:56.25%;
}

.youtube iframe{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
}

/*----- animation -----*/
.scroll-action{
    opacity: 0;
    transform: rotateX(90deg);
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.4s, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.4s, color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.scroll-action.is-active{
    opacity: 1;
    transform: rotateX(0);
}

.slideFade-in{
    opacity: 0;
    -webkit-clip-path: inset(0 100% 0  0);
    clip-path: inset(0 100% 0 0);
}
.fadeScroll-in{
    opacity: 1;
    -webkit-animation: interviewHeadline .8s ease-in-out 0s normal forwards;
    animation: interviewHeadline .8s ease-in-out 0s normal forwards;
}

.fade-in{
    opacity : 0;
    transform : translate(0, 10px);
    transition : ease .5s;
}
.scroll-in {
    opacity: 1;
    transform: translate(0, 0);
}

.sideSlide{
    -webkit-animation: interviewHeadline .8s cubic-bezier(.785,.135,.15,.86) 0s normal forwards;
    animation: interviewHeadline .8s cubic-bezier(.785,.135,.15,.86) 0s normal forwards;
}

@keyframes interviewHeadline{
    0% {
        opacity: 0;
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0);
    }

    100% {
        opacity: 1;
        -webkit-clip-path: inset(0);
        clip-path: inset(0);
    }
}

.top-fade{
    animation: top-fade 1s 5s backwards;
}

.page .top-fade,
.single .top-fade{
    animation: top-fade 1s 0.8s backwards;
}

@keyframes top-fade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

.leftAnime{
    opacity: 0;
}

@media screen and (min-width: 768px) {
    .borderSection {
        padding: calc(var(--gridSection-margin) / 1.5);
    }

    .noLinks.linkBox::before{
        display: none;
    }

    .modalContents img:hover,.linkText:hover{
        opacity: .6;
    }

    .linkBox::before,
    .mobile-entry::before,
    .mobile-entry.-entry_ws::before{
        background:  var(--gradationD-u18-hover);
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        transition: ease .3s;
        width: 100%;
        border-radius: 9999px;
        opacity: 0;
    }

    .mobile-entry.-entry_ws::before{
        background:  var(--gradationL-u18-hover);
    }

    .linkBox-box.-box--u25::before{
        background:  var(--gradationD-u25-hover);
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        transition: ease .3s;
        width: 100%;
        border-radius: .4rem;
        opacity: 0;
        z-index: -1;
    }

    .linkBox-box.-box--u18::before{
        background:  var(--gradationD-u18-hover);
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        transition: ease .3s;
        width: 100%;
        border-radius: .4rem;
        opacity: 0;
        z-index: -1;
    }

    .linksContents-link a:hover img{
        transform: scale(1.05);
    }

    .linkBox:hover::before,
    .mobile-entry:hover::before,
    .mobile-entry.-entry_ws:hover::before,
    .linkBox-box.-box--u25:hover::before,
    .linkBox-box.-box--u18:hover::before{
        opacity: 1;
    }

    .contents-title{
        padding-bottom: 2rem;
    }
}

@media screen and (min-width: 1025px) {
    .contents-wrapper {
        margin: 0px 3vw;
    }

    .linkBox{
        padding:min(1vw,1.4rem) min(1.24vw,1.4rem);
    }
}

/*----------
/* header
----------*/
header{
    position: fixed;
    width: 100%;
    z-index: 2;
    background: var(--color-white);
    border-bottom: var(--border-black05);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: min(3vw, 3rem);
    gap: min(1.4vw);
}

.home header{
    animation-duration: .4s;
    animation-delay: 1.8s;
    animation-name: topFade;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes topFade{
    0% {
        opacity: 0;
        transform: translateY(-14px);
    }
    100% {
        opacity: 1;
        transform: translateY(-0);
    }
}

header h1 {
    width: min(22vw, 12rem);
    position: relative;
}

.header-contents{
    display: flex;
    align-items: center;
}

.header-left{
    gap: min(2vw, 1.4rem);
    width: min(30vw, 15rem);
}

.header-left h1{
    width: 60%;
}

.header-left .linkBox-box{
    width: 40%;
    letter-spacing: 0;
}

.header-right{
    width: min(18rem, 37vw);
    margin-right: min(12vw, 6rem);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: min(1.4vw);
}

/*--- sns ----*/
.snsList{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(1.4vw);
}
.snsList li{
    width: calc(100% / 3);
}

/*--- page header ----*/
.page-header{
    background: url(img/page-header_bg.jpg) no-repeat center;
    background-size: cover;
    position: relative;
    height: 182px;
    overflow: hidden;
}

.page-header h2{
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%,-60%);
    width: 90%;
    text-align: center;
    padding-bottom: 0;
    color: #fefefe;
}

.page-header .left-fade {
    animation: left-fade 1s 1s backwards;
}

.page-header .right-fade {
    animation: right-fade 1s 1s backwards;
}


@media screen and (min-width:768px){
    header {
        width: calc(100% - 50%);
        padding: 1vw 2vw;
        gap: min(.83vw);
    }

    .snsList,
    .header-right{
        gap: min(.8vw);
    }
}


/*----------*/
/* hamburger
/*----------*/
/*--- hamburger button ----*/
.openbtn{
    cursor: pointer;
    position: absolute;
    z-index: 200;
    width: min(5rem, 11vw);
    right: min(3rem, 3vw);
    background: var(--color-lightGray);
}

.openbtn span{
    transition: ease .4s;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    border-radius: 2px;
    background: var(--color-black);
    width: 60%;
  }

.openbtn span:nth-of-type(1) {
	top:32%;
}

.openbtn span:nth-of-type(2) {
    top: 48%;
}

.openbtn span:nth-of-type(3) {
    top: 64%;
}

.openbtn.active{
    background: none;
}

.openbtn.active span:nth-of-type(1),
.openbtn.active span:nth-of-type(3){
    top: 48%;
}

/*------- hamburger menu --------*/
.mainBlur{
	filter: blur(8px);
}

.g-nav{
    position:fixed;
	z-index: -1;
	opacity: 0;
	top:0;
	width:100%;
    height: 100vh;
    background: var(--color-lightGray);
    transition: var(--transition);
    right: 0;
    visibility: hidden;
}

#g-nav a{
    font-weight: 500;
}

#g-nav.panelactive{
	opacity: 1;
	z-index:100;
    visibility: unset;
}

#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.g-nav_mainList{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: min(2rem, 4vw);
    margin-bottom: min(4rem, 10vw);
}

img.g-nav_shape{
    position: absolute;
    top: 2vw;
    left: -8vw;
    opacity: 0.3;
    width: min(320px,50vw);
    z-index: -1;
}

.g-nav li{
    transition: var(--transition);
    opacity: 0;
    -webkit-transform: translateY(1.4rem);
    transform: translateY(1.4rem);
    text-align: center;
}

#g-nav.panelactive li{
    opacity: 1;
    -webkit-transform: translateY(0rem);
    transform: translateY(0rem);
    transition-delay: .3s;
}

#g-nav.panelactive li:nth-of-type(2){
    transition-delay: .35s;
}
#g-nav.panelactive li:nth-of-type(3){
    transition-delay: .4s;
}
#g-nav.panelactive li:nth-of-type(4){
    transition-delay: .45s;
}
#g-nav.panelactive li:nth-of-type(5){
    transition-delay: .5s;
}
#g-nav.panelactive li:nth-of-type(6){
    transition-delay: .55s;
}
#g-nav.panelactive li:nth-of-type(7){
    transition-delay: .6s;
}
#g-nav.panelactive li:nth-of-type(8){
    transition-delay: .65s;
}

.g-nav .contact-inner_linkArea li a{
    font-size: min(1.6rem,3.6vw);
    line-height: 1.4;
    padding: 12px;
    max-width: 330px;
    width: 100%;
    margin: 0 auto;
}

.g-nav_sns.snsList{
    width: min(52vw, 28rem);
    margin: 0 auto;
}

.g-nav_sns.snsList .linkBox-box.-box--sns{
    background: var(--color-white);
}

.g-nav_wrapper{
    margin: 20vw 8vw;
}

.g-nav_contact{
    margin: 32px auto;
    text-align: center;
    max-width: 520px;
    width: 100%;
    opacity: 0;
    transition-delay: .75s;
    -webkit-transform: translateY(14px);
    transform: translateY(14px);
    transition: 0.4s;
}

#g-nav.panelactive .g-nav_contact{
    opacity: 1;
    transition-delay: .75s;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}

.g-nav_contact .contact-inner{
    background: var(--color-white);
}

.g-nav_contact h4{
    font-weight: var(--font-bold);
}

.g-nav_contact h4 span{
    display: block;
    font-size: 1.4rem;
}

.linksContents-link{
    width: min(50rem, 84vw);
    margin: 0 auto;
}

.linksContents-link a{
    border-radius: .6rem;
    padding: 8px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    aspect-ratio: 2 / 1;
}

.linksContents-link a img{
    width: auto;
    height: min(19rem, 33vw);
    transition: var(--transition);
}

.g-nav_mainList li:nth-of-type(1) .linksContents-link a{
    color: var(--color-white);
    background: var(--gradationL-u18);
}

.g-nav_mainList li:nth-of-type(2) .linksContents-link a{
    color: var(--color-white);
    background: var(--gradationL-u25);
}


@media screen and (min-width:768px){
    .g-nav{
        width: 50%;
    }

    .home .g-nav{
        width: 100%;
    }

    .g-nav_wrapper{
        margin: min(7vw, 8rem) 4vw;
    }

    .g-nav_mainList{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        flex-direction: row;
    }

    .linkBox-box:hover img{
        transform: scale(1.15);
    }
}


/*----------*/
/* site layout
/*----------*/
.site-wrapper{
    position: relative;
}

.site-main {
    box-sizing: border-box;
    background: var(--color-white);
    min-height: 100vh;
    overflow: hidden;
}

.entry-link{
    background: var(--color-blue);
    color: var(--color-orange);
    font-weight: var(--font-black);
    display: block;
    position: relative;
    padding: 18px 0;
    width: 86%;
    margin: 0 auto;
    text-align: center;
    border-radius: 50em;
}

.entry-link span{
    position: relative;
}

/*----------*/
/* side content
/*----------*/
.fixed{
    position: fixed;
}

/*----------
/* footer
----------*/
footer{
    padding: 16px 0;
    position: relative;
    text-align: center;
    z-index: 1;
}

.banner-linkArea{
    padding: 0 0 20vw;
}

.banner-linkArea ul{
    width: min(50rem, 88%);
    margin: 0 auto;
}

.banner-linkArea a:hover{
    opacity: 0.8;
}

footer small.copyright{
    display: block;
    font-size: min(2vw, 1.24rem);
    text-transform: uppercase;
}

/*--------------*/
/*レスポンシブ
/*--------------*/
.pc{
    display:none;
}

@media screen and (min-width:1025px){
    /*----------*/
    /* common
    /*----------*/
    .pc{
        display:block;
    }

    .mobile-linkArea{
        width: calc(100% - 50%);
        display: none;
    }

    footer small.copyright{
        font-size: .746vw;
    }
}


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

    /*--------------*/
    /*common
    /*--------------*/
    .side-menu {
        position: fixed;
        left: 0;
        top: 0;
        width: calc(100% - 50%);
        height: 100svh;
        z-index: 2;
        padding: 3em 2em;
        background: var(--grade-bg);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .side-menu::before{
        position: absolute;
        content: "";
        background: url(img/dotted-white.png) repeat center;
        background-size: 2%;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }

    .side-menu_wrapper{
        width: min(36vw);
    }

    .side-menu_wrapper .snsList{
        gap: min(.7vw);
    }

    .side-menu .linkBox-box.-box--sns{
        background: var(--color-white);
    }

    .side-menu h1{
        width: 27%;
        margin: 0 auto 1.2em;
    }

    .site-main{
        width: calc(100% - 50%);
        z-index: 2;
        position: relative;
        overflow: hidden;
        margin-left: auto;
        border-left: var(--border-black05);
    }


/*----------*/
/* banner footer
/*----------*/
.linkArea-application svg.-item_path{
    max-width: 67px;
}

.banner-linkArea{
    padding: 0 0 72px;
}

footer:after{
    height: 73px;
    top: -37px;
}
}

@media screen and (min-width:1025px){
    /*----------*/
    /* site
    /*----------*/
    .shape-wave{
        position: fixed;
    }

    .shape-wave.-wave1{
        width: 22vw;
        top: -8vw;
        left: -6vw;
        z-index: 1;
    }

    .shape-wave.-wave2{
        width: 16vw;
        top: 5vw;
        left: 4vw;
    }

    .side-menu_wrapper{
        width: min(24vw, 28rem);
    }

    .linkArea li p{
        transition: var(--transition);
    }

    .linkArea li a:hover p{
        color: var(--main-color-u18);
        border-bottom: solid 1px currentColor;
    }

    .linkArea li a:hover svg.icon-app,
    .linkArea li a:hover svg.icon-schedule{
        transform: scale(1.1);
    }

}