@charset "utf-8";
/* =======================
common
======================= */
:root {
    --primary-black: #333;
    --primary-beige: #F4F3EF;
    --secondary-beige: #F4EDDF;
    --primary-white: #FFF;
    --contentWith: 87.2%;
    --contentPadding: 6.4%
}

html {
    font-size: 62.5%;
}

body {
    font-family:
        'Noto Sans JP',
        sans-serif;
    font-style: normal;
    font-size: 1.6rem;
    font-weight: 300;
    color: var(--primary-black, #333);
    background-color: var(--primary-white, #FFF);
    line-height: 1.5;
}

img {
    max-width: 100%;
    height: auto;
}

.section__topic {
    font-family: "Urbanist";
    text-align: center;
    font-size: 2.4rem;
    line-height: 1;
}/* common */

/* container */
@media screen and (min-width:769px) {
    .container{
        padding: 0px 8.33%;
        margin: 0 auto;
    }
}/* container */

/*==========================
header
==========================*/
.header {
    padding: 24px 9.73% 0px;
    display: flex;
    justify-content: flex-end; 
    align-items: center;
    position: relative;
}

/* header */
.header {
    position: relative;
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    background: #fff;
    z-index: 1000;
  }
  
  /* nav */
  .nav {
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-beige, #F4F3EF);
    z-index: 100;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
  
  .nav__list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    gap: 48px;
  }
  
  .nav__item {
    margin: 20px 0;
    font-family: "Urbanist";
    text-decoration: none;
    color: #333;
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
  }

  .nav__item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    background: #333;
    transition: width 0.3s ease;
  }
  
  /* ホバー時 */
  .nav__item:hover::after {
    width: 100%;
  }
  
  /* クリック後（active状態） */
  .nav__item.active::after {
    width: 100%;
  }

  .header__btn {
    position: absolute; 
    top: 20px;
    right: 20px;
    width: 30px;
    height: 20px;
    border: none;
    background: none;
    cursor: pointer;
    z-index: 999; 
  }
  
  .header__btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #333;
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  
  .header__btn span:nth-child(1) { top: 0; }
  .header__btn span:nth-child(2) { top: 8px; }
  .header__btn span:nth-child(3) { top: 16px; }
  
  .header__btn.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 8px;
  }
  .header__btn.active span:nth-child(2) {
    opacity: 0;
  }
  .header__btn.active span:nth-child(3) {
    transform: rotate(-45deg);
    top: 8px;
  }
  
  .header__btn:active {
    transform: scale(0.9);
  }

/* .nav.active表示 */
.nav.active {
    transform: translateX(0);
}/* header */

/* .header pc */
@media screen and (min-width:769px) {
    .header {
        max-width: 1200px;
        padding: 32px 0px 0px;
        margin: 0 auto;
    }

    .nav {
        background: transparent;
        width: auto;
        height: auto;
        padding: 0;
        position: static;
        transform: translate(0);
    }

    .nav__btn {
        display: none;
    }

    .nav__list {
        flex-direction: row;
        margin-top: 0px;
        gap: 24px;
        justify-content: flex-end;
    }

    /* .nav__item--first {
        display: none;
    } */

    .header__btn {
        display: none;
    }
}/* .header pc */

/*==========================
footer
==========================*/
.footer {
    padding: 60px 6.4%;
}

.underCirxle_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none; 
    position: relative;
}

.btn__text {
    font-family: "Urbanist";
    font-size: 1.4rem;
    margin-right: -16px;
    position: relative;
}

.underCirxle_btn .btn__text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px; /* 下線の位置調整 */
    width: 0;
    height: 1px;
    background: #333; /* 下線色 */
    transition: width 0.3s ease;
}

/* 下線：ホバー時 */
.underCirxle_btn:hover .btn__text::after {
    width: 100%;
}

/* 下線：クリック後（active） */
.underCirxle_btn.active .btn__text::after {
    width: 100%;
}

.footerNav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 64px;
}

.footerNav__item {
    font-family: "Urbanist";
    position: relative;
    text-decoration: none;
}

.footerNav__item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px; /* 下線の位置 */
    width: 0;
    height: 1px;
    background: #333; /* 下線色 */
    transition: width 0.3s ease;
}

/* ホバー時 */
.footerNav__item:hover::after {
    width: 100%;
}

/* クリック後（active） */
.footerNav__item.active::after {
    width: 100%;
}

.copy {
    margin-top: 128px;
    text-align: center;
}/* footer */

/* footer pc */
@media screen and (min-width:769px) {
    .footer {
        padding: 100px 0px ;
    }

    .copy {
        margin-top: 64px;
        text-align: end;
    }
}/* footer pc */


