@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Pacifico&display=swap');
:root{
    --base-white-color:#ffffff;
    --base-black-color:#333;

    --base-bg-color:#FFF7E6;
    --secondary-bg-color:#eff3f9;
  
    --primary-color:#79bdc0;
    --secondary-color:#eceba3;
    --tertiary-color:#c0ff00;
    --quaternary-color:#00b5ad;
    
    --dark-gray-color:#4C4C4C;
    --gray-color:#ccc;
    --light-gray-color:#e5e9ef;
    --super-light-gray-color:#fbfbfb;

    --container-size:1650px;
    --container-small-size:864px;
    --container-medium-size:1280px;
    --container-medium-small-size:1024px;
    --container-large-size:1366px;
    --container-full-size:100%;

    --container-padding-left-right:clamp(20px,5vw, 50px);

    --layout-aside-area-width:clamp(70px,8vw,90px);
  }

  html{
    scroll-behavior: smooth;
    height: auto;
  }

  body{
    background-color: var(--base-white-color);
    color: var(--base-black-color);
    height: auto;
    font-family: "Noto Sans JP", serif;
    font-weight: 700;
    font-feature-settings: "palt";
  }

  a{
    color: var(--base-black-color);
  }

  ul{
    padding-inline-start: 1em;
  }
  li{
    margin-bottom: 0.5em;
  }

  h1,h2,h3,h4,h5,h6{
    font-weight: 700;
  }
  h1{
      font-size: 32px;
      font-size: clamp(32px, 5.625vw, 45px);
      min-height: 0vw;
      font-weight: 700;
  }
  h2{
      font-size: 20px;
      font-size: clamp(20px, 3vw, 24px);
      min-height: 0vw;
      font-weight: 700;
      line-height: 1.1;
  }
  h3{
      font-size: 18px;
      font-size: clamp(16px, 2.5vw, 18px);
      min-height: 0vw;
  }
  h4{
      font-size: 16px;
      font-size: clamp(16px, 2.5vw, 20px);
      min-height: 0vw;
  }
  p{
    font-size: 14px;
    font-size: clamp(14px, 1.6vw, 16px);
    min-height: 0vw;
  }
  address{
    font-style: normal;
  }
  hr{
    border: 1px solid var(--gray-color);
  }
  dt{
    font-size: 18px;
    font-size: clamp(16px, 2.5vw, 18px);
    min-height: 0vw;
    margin-bottom: 0.5em;
  }
  dd{
    margin-bottom: 1.5em;
  }
  summary {
    display: block;
    list-style: none;
  }
  
  summary::-webkit-details-marker {
    display:none;
  }
  .container-full{
    width: 100%;
    margin: 0 auto;
    padding: 3vh 5vw;
  }
  .break-word{
    display: block;
  }
  @media screen and (min-width:769px) { 
    .break-word-pc{
      display: block;
    }
  }
  @media screen and (max-width:768px) { 
    .break-word-sp{
      display: block;
    }
  }
  
  .line-height-double{
    line-height: 3;
  }
  .marker{
    background: var(--primary-color);
    color: var(--base-white-color);
    padding-left: 0.25em;
    padding-right: 0.25em;
  }
  .marker-yellow-grad{
    background: linear-gradient(transparent 70%, #ffff00 70%);
  }
  .marker-brown-grad{
    background: linear-gradient(transparent 70%, #c7b299 70%);
  }

  @media screen and (min-width:769px) { 
    .pc{
      display: block;
    }
    .sp{
      display: none;
    }
  }
  @media screen and (max-width:768px) { 
    .pc{
      display: none;
    }
    .sp{
      display: block;
    }
  }


  .aside-area{
    position: sticky;
    top: clamp(20px,4vw,40px);
    height: auto;
    padding: clamp(20px,4vw,40px) clamp(5px,2vw,10px) clamp(10px,2vw,20px);
    background-color: #acdadc;
    border-radius: clamp(10px,2vw,20px) 0 0 clamp(10px,2vw,20px);
    .aside-contents-area{
        a{
          text-decoration: none;
        }
        a:hover{
          opacity: 0.8;
        }
        .top-area{
            display: flex;
            justify-content: center;
            .contents{
                writing-mode: vertical-rl;
                font-size: clamp(16px,2.2vw,22px);
                letter-spacing: clamp(2px,0.3vw,3px);
                line-height: 1.2;
                strong{
                    background-color: var(--primary-color);
                    color: white;
                    display: inline-block;
                    padding: clamp(2px,0.5vw,5px) clamp(1px,0.25vw,2.5px);
                    margin-top: 5px;
                    margin-bottom: 5px;
                }
            }
        }
       
    }
}
@media screen and (max-width: 768px) {
    .aside-area{
        position: static;
        top: auto;
        border-radius: clamp(10px,2vw,20px);
        height: auto;
        padding-top: clamp(10px,2vw,20px);
        padding-left: clamp(10px,2vw,20px);
        padding-bottom: clamp(10px,2vw,20px);
        padding-right: clamp(10px,2vw,20px);
        width: 90%;
        max-width: 400px;
        background-color: #acdadce8;
        .aside-contents-area{
          .top-area{
              display: flex;
              justify-content: center;
              .contents{
                  writing-mode: horizontal-tb;
                  font-size: clamp(14px,1.6vw,16px);
                  letter-spacing: clamp(2px,0.3vw,3px);
                  line-height: 1.2;
                  strong{
                      background-color: var(--primary-color);
                      color: white;
                      display: inline-block;
                      padding: clamp(2px,0.5vw,5px) clamp(1px,0.25vw,2.5px);
                      margin-top: 5px;
                      margin-bottom: 5px;
                  }
              }
          }
         
      }
    }
}