@charset "UTF-8";


/* ================================================================
 
  ページ遷移時アニメーション（下層のみ）

=================================================================== */

.wrapper {
    opacity: 0;
    pointer-events: none;
}
body.appear .wrapper {
    animation-name: PageAnime-content;
    animation-duration: 0.55s;
    animation-delay: 0.55s;
    animation-fill-mode: forwards;
    opacity: 0;
    pointer-events: auto;
}
.animation .wrapper {
    opacity: 1;
    pointer-events: auto;
}
@keyframes PageAnime-content {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.move .animation-bg {
    background: var(--color-primary);
    display: block;
    content: "";
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}

.btt .animation-bg {
    animation-name: PageAnime-btt;
}
@keyframes PageAnime-btt {
  0% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
  50% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: top;
  }
  100% {
    transform-origin: top;
    transform: scaleY(0);
  }
}

/* ================================================================
  パンくず（p-breadcrumb）
=================================================================== */

.p-breadcrumb__list{
    display: flex;
    flex-wrap: wrap;
    padding: .8rem 1.6rem;
    border-bottom: 1px solid var(--color-border);
}

/******************Media Queries******************/
@media (min-width: 1280px) {
    .p-breadcrumb__list{
        padding: 1.6rem 3.2rem;
    }
}

.p-breadcrumb__item{
    font-size: 1.2rem;
    line-height: 1.8rem;
}
/******************Media Queries******************/
/* --- 768px: Tablet Landscape & PC Base --- */
@media (min-width: 768px) {
    .p-breadcrumb__item{
        font-size: 1.4rem;
    }
}

.p-breadcrumb__item:not(:last-of-type)::after {
    content: "";
    display: inline-block;
    background:url(./../images/icon-arrow-thin.svg) no-repeat;
    width:4px;
    height: 7px;
    margin: 0 .8rem;
}

/******************Media Queries******************/
/* --- 768px: Tablet Landscape & PC Base --- */
@media (min-width: 768px) {
    .p-breadcrumb__item:not(:last-of-type)::after {
        margin: 0 1.6rem;
    }
}

/* ================================================================
 
   pagetitle

=================================================================== */
.pagetitle{
    background-image: url("./../images/kv-bg-cover.webp");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
}

.pagetitle__container{
    padding: 5%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.pagetitle__heading{
    font-size: 2.8rem;
    color: var(--color-text-main);
    font-weight: var(--font-weight-semibold);
	margin-bottom: .6rem;
}

.pagetitle__text{
    color: var(--color-text-main);
    text-align: left;
    font-size: 1.6rem;
	line-height: 2.4rem;
}


/* --- 960px: Standard Desktop --- */
@media (min-width: 960px) {
    
    .pagetitle__heading{
        font-size: 4.2rem;
    }
    
    .pagetitle__text{
        font-size: 1.4rem;
    }
}

/* --- 1280px: Desktop Standard / Max Content Width --- */
@media (min-width: 1280px) {
    .pagetitle__heading{
        font-size: 5.6rem;
    }
    
    .pagetitle__text{
        font-size: 2.0rem;
    }
}

/* --- 1920px: Full HD Wide / Layout Expansion --- */
@media (min-width: 1920px) {
    .pagetitle__container{
        height: 225px;
        max-width: 1792px;
        margin: 0 auto;
        padding: 0;
    }  
}




/* ================================================================
 
   共通layout

=================================================================== */
/*背景色*/
.l-section--alt{
    background:var(--color-bg-alt);
}


/* 共通レイアウト */
.l-container {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 4.8rem 3.3%;
}

/******************Media Queries******************/
/* --- 960px: Standard Desktop --- */
@media (min-width: 960px) {
    .l-container {
        padding: 9.6rem 3.3%;
    }   
}




