body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
  color: #555555;
}

img,
picture {
  max-width: 100%;
  display: block;
}

@font-face {
  font-family: 'NotoSans';
  font-display: swap;
  font-weight: 400;
  src: url('../fonts/noto-sans-v36-latin-regular.woff2') format('woff2'),
  url('../fonts/noto-sans-v36-latin-regular.woff') format('woff');
}
@font-face {
  font-family: 'NotoSans';
  font-display: swap;
  font-weight: 700;
  src: url('../fonts/noto-sans-v36-latin-700.woff2') format('woff2'),
  url('../fonts/noto-sans-v36-latin-700.woff') format('woff');
}




body{
  font-size: 15px;
  font-family: "NotoSans";
  font-weight: 400;
  color: #555555;
  overflow-y: scroll;
  line-height: 2;
}
body.warning_non_scroll{
  position: fixed;
  left: 0;
  width: 100%;
}


.sp_only{
  display: none;
}

.contents_wrapper{
  display: flex;
  align-items: flex-start;
}
.contents_inner{
  width: 1065px;
}
.margin_section{
  max-width: 1295px;
  margin: 0 auto;
}
.common_midashi{
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .05em;
  position: relative;
  display: inline-block;
  margin-bottom: 45px;
}
.common_midashi::after{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #707070;
  position: absolute;
  bottom: -5.5px;
  left: 0;
}

.page_section{
  padding-top: 140px;
}



.header_logo_wrapper{
  position: absolute;
  top: 40px;
  left: 50px;
  z-index: 15;
  width: 112px;
}
.header_logo_wrapper img{
  width: 100%;
}

.header_list_wrapper{
  width: 230px;
  padding-top: 140px;
  position: sticky;
  top: 0;
  left: 0;
  font-weight: 700;
}
.header_cat_list{
  padding-bottom: 75px;
  position: relative;
}
.header_cat_list::after{
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background: #555555;
  position: absolute;
  bottom: 36px;
  left: 0;
}
.header_sns_list{
  margin-top: 50px;
}
.header_sns_list li{
  width: 30px;
}
.header_sns_list li img{
  width: 100%;
}



footer{
  position: relative;
}
.footer_copyright{
  text-align: center;
  font-size: 11px;
  padding-bottom: 30px;
}
.footer_top_button{
  width: 50px;
  height: 50px;
  position: fixed;
  bottom: 35px;
  right: 40px;
  border: 1px solid #231815;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer_top_button img{
  width: 23px;
  height: 13px;
}
.footer_top_button:hover{
  cursor: pointer;
}
.backtopTrigger{
  opacity: 0;
}
.backtopFade{
  animation-name: fadeAnime;
  animation-duration: 1.3s;
  animation-delay: 0.4s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.footer_bottom_logo{
  width: 15%;
  position: absolute;
  bottom: 30px;
  left: 0;
}


@media(max-width: 1800px){

  :root{
    --view-size: 1800;
  }

  .contents_inner{
    width: calc(1065/var(--view-size)*100vw);
  }
  .margin_section{
    margin-left: calc(254/var(--view-size)*100vw);
    margin-right: calc(254/var(--view-size)*100vw);
  }
  .common_midashi{
    margin-bottom: calc(45/var(--view-size)*100vw);
  }
  
  .page_section{
    padding-top: calc(140/var(--view-size)*100vw);
  }
  
  
  
  .header_logo_wrapper{
    top: calc(40/var(--view-size)*100vw);
    left: calc(50/var(--view-size)*100vw);
    width: calc(112/var(--view-size)*100vw);
  }
  
  .header_list_wrapper{
    width: calc(230/var(--view-size)*100vw);
    padding-top: calc(140/var(--view-size)*100vw);
  }
  .header_cat_list{
    padding-bottom: calc(75/var(--view-size)*100vw);
  }
  .header_cat_list::after{
    width: calc(100/var(--view-size)*100vw);
    bottom: calc(36/var(--view-size)*100vw);
  }
  .header_sns_list{
    margin-top: calc(50/var(--view-size)*100vw);
  }
  .header_sns_list li{
    width: calc(30/var(--view-size)*100vw);
  }
  
  
  
  .footer_copyright{
    padding-bottom: calc(30/var(--view-size)*100vw);
  }
  .footer_top_button{
    width: calc(50/var(--view-size)*100vw);
    height: calc(50/var(--view-size)*100vw);
    bottom: calc(35/var(--view-size)*100vw);
    right: calc(40/var(--view-size)*100vw);
  }
  .footer_top_button img{
    width: calc(23/var(--view-size)*100vw);
    height: calc(13/var(--view-size)*100vw);
  }
  .footer_bottom_logo{
    bottom: calc(30/var(--view-size)*100vw);
  }

}



@media(max-width: 1000px){

  :root{
    --view-size: 390;
  }

  body{
    font-size: calc(13/var(--view-size)*100vw);
  }

  .sp_only{
    display: block;
  }
  .pc_only{
    display: none;
  }
  .margin_section{
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
  }
  .contents_wrapper{
    display: block;
  }
  .contents_inner{
    width: 100%;
  }
  .common_midashi{
    margin-bottom: calc(52 / var(--view-size)* 100vw);
    font-size: calc(18 / var(--view-size)* 100vw);
  }
  .page_section{
    margin-left: calc(30 / var(--view-size)* 100vw);
    margin-right: calc(30 / var(--view-size)* 100vw);
    padding-top: calc(80 / var(--view-size)* 100vw);
  }



  .header_logo_wrapper{
    top: calc(23 / var(--view-size)* 100vw);
    left: calc(20 / var(--view-size)* 100vw);
    width: calc(70 / var(--view-size)* 100vw);
  }
  .header_list_wrapper{
    width: 100%;
    height: calc(63 / var(--view-size)* 100vw);
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
    padding-top: 0;
    background: #fff;
  }
  .header_list_inner{
    background: #fff;
    position: fixed;
    top: -100vh;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10000;
    display: inline-block;
    height: 100vh;
    transition: 0.5s;
    font-size: calc(15 / var(--view-size)* 100vw);
    padding-left: calc(80 / var(--view-size)* 100vw);
    padding-right: calc(80 / var(--view-size)* 100vw);
    box-sizing: border-box;
  }
  .header_list_bar_wrapper{
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    position: relative;
    cursor: pointer;
    z-index: 10001;
    width: calc(70 / var(--view-size)* 100vw);
    height: 100%;
    margin: 0 calc(18.5 / var(--view-size)* 100vw)0 auto;
  }
  .header_list_bar_wrapper span{
    width: 100%;
    height: calc(2 / var(--view-size)* 100vw);
    position: absolute;
    background: #707070;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .header_list_bar_wrapper span::before,
  .header_list_bar_wrapper span::after{
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: calc(2 / var(--view-size)* 100vw);
    background: #707070;
    transition: all 0.5s ease-in-out;
  }
  .header_list_bar_wrapper span::before{
    top: calc(-9 / var(--view-size)* 100vw);
  }
  .header_list_bar_wrapper span::after{
    bottom: calc(-9 / var(--view-size)* 100vw);
  }
  .header_list_bar_wrapper.close span{
    background: initial;
  }
  .header_list_bar_wrapper.close span::before,
  .header_list_bar_wrapper.close span::after{
    top: 50%;
    left: 50%;
    transition: all 0.5s ease-in-out;
  }
  .header_list_bar_wrapper.close span::before{
    transform: translate(-50%, -50%) rotate(15deg);
  }
  .header_list_bar_wrapper.close span::after{
    transform: translate(-50%, -50%) rotate(-15deg);
  }


  .header_cat_list{
    padding-bottom: calc(65 / var(--view-size)* 100vw);
  }
  .header_cat_list::after{
    width: calc(88 / var(--view-size)* 100vw);
    bottom: calc(32 / var(--view-size)* 100vw);
  }
  .header_sns_list{
    margin-top: calc(40 / var(--view-size)* 100vw);
  }


  .footer_copyright{
    padding-bottom: calc(20 / var(--view-size)* 100vw);
    font-size: calc(11 / var(--view-size)* 100vw);
  }
  .footer_top_button{
    bottom: calc(12 / var(--view-size)* 100vw);
    right: calc(10 / var(--view-size)* 100vw);
  }
  .footer_bottom_logo{
    width: 50%;
  }

}