@charset "utf-8";
/*----------------------------------------------------------
  reset / base
----------------------------------------------------------*/
/* reset */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type="checkbox"]{-webkit-appearance:checkbox;appearance:checkbox}[type="radio"]{-webkit-appearance:radio;appearance:radio}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}
/* base */
html{overflow-x: hidden}body{position:relative;width:100%;margin:0 auto;padding:0;font-style:normal;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.wrapper{position:relative;width:100%;margin:0 auto;z-index:1}.inner{position:relative;margin:0 auto}section{position:relative}a{cursor:pointer}.clear{clear:both}.center{text-align:center;display:block}
.pc_only,.pc_none,.sp_none,.sp_only{display:none!important}@media screen and (min-width:1025px){.pc_only{display:block!important}}@media screen and (max-width:1024px){.pc_none{display:block!important}}@media screen and (min-width:600px){.sp_none{display:block!important}}@media screen and (max-width:599px){.sp_only{display:block!important}}
/*----------------------------------------------------------
  base setting
----------------------------------------------------------*/
body {
  background: #fff;
  color: #202020;
  font-family: "Hiragino Sans","ヒラギノ角ゴシック",sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0;
}
body p {
  color: #4e4e4e;
  font-size: 14px;
  line-height: 2.14em;
  letter-spacing: 0.05em;
}
body img {
  height: auto;
}
.inner {
	max-width: 1080px;
  width: 90%;
}
.inner_in {
  position: relative;
	max-width: 960px;
  width: 80%;
  margin: 0 auto;
}
a {
  transition: all 0.6s;
}
@media screen and (max-width: 599px){
  .inner {
    width: 92%;
  }
  .inner_in {
    width: 84%;
  }
  body p {
    font-size: 3.733vw;
    font-weight: 300;
  }
}
/*-----------------------------------------------
  font
-----------------------------------------------*/
.jost {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

/*-----------------------------------------------
  splash
-----------------------------------------------*/
/* .loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}
.loading.is-active {
  opacity: 0;
  visibility: hidden;
}
.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background: #fff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}
.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
} */
/*-----------------------------------------------
  header
-----------------------------------------------*/
header {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.035em;
  position: fixed;
  width: 100%;
  z-index: 2;
  left: 0;
  top: 0;
  transition: 1s;
  background: none;
  padding-top: 60px;
}
header .inner_in {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  height: 100px
}
header.hide {
  transform: translateY(-100px)
}
header.pre {
  background:rgba(255,255,255,1);
  padding:0!important
}
header.pre .inner_in {
  align-items: center;
  height: min(13.333vw,80px)
}
header.pre .header__logo img {
  width: 175px;
}
header .header__logo {
  padding-left: min(2vw,15px);
}
.nav_open header.hide {
  transform:translateY(0)
}
header .menulist nav ul {
  display: flex;
  gap: 0 18px;
}
@media screen and (max-width: 1024px){
  header {
    padding-top: min(4.8vw,36px);
  }
  header.hide {
    transform: translateY(max(-13.333vw,-80px))
  }
  header.back {
    transform: translateY(0)
  }
  header .inner_in {
    width: 92%;
  }
  /* header menu */
  header .menu {
    display: flex;
    text-align: center
  }
  header .menulist {
    position: fixed;
    width: 400px;
    height: 100vh;
    top: 0;
    right: -400px;
    transition: all 0.6s;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    text-align: left
  }
  header .menulist nav ul {
    display: block;
  }
  header .menulist nav ul li {
    padding: 16px 0
  }
  .hamburger {
    position: relative;
    width: min(9.6vw,72px);
    height: min(9.6vw,72px);
    z-index: 3;
    cursor: pointer;
    margin-right: min(1.2vw,9px);
  }
  .hamburger span {
    background: #000;
    height: 2px;
    width: min(6.933vw,52px);
    left: min(1.333vw,10px);
    position: absolute;
    transition: all 0.6s
  }
  .hamburger_linetop {
    top: min(2.266vw,17px)
  }
  .hamburger_linemiddle {
    top: min(4.666vw,35px)
  }
  .hamburger_linebottom {
    top: min(7.066vw,53px)
  }
  /* .nav_open */
  .nav_open header .menulist {
    right: 0
  }
  .nav_open .hamburger_linetop {
    top: min(4.533vw,34px);
    transform: rotate(45deg)
  }
  .nav_open .hamburger_linemiddle {
    opacity: 0;
  }
  .nav_open .hamburger_linebottom {
    top: min(4.533vw,34px);
    transform: rotate(-45deg)
  }
  .nav_open .overlay {
    opacity: .8;
    visibility: visible
  }
  .overlay {
    background-color: #141414;
    cursor: pointer;
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all 0.6s;
    visibility: hidden;
    width: 100vw;
    z-index: 1
  }
}
@media screen and (max-width: 599px){
  header {
    font-size: 4.267vw;
  }  
  header .header__logo img {
    width: 34.333vw;
  }
  header .menulist {
    width: 100%;
    right: -100%;
  }
}
/*-----------------------------------------------
  footer
-----------------------------------------------*/
footer {
  background: #3d3d3d;
  width: 100%;
  padding: 28px 0 28px;
  text-align: center;
}
footer .copy {
  color: #fff;
  font-size: 10px;
  font-weight: 600;
}
/*-----------------------------------------------
  common
-----------------------------------------------*/
/* fadein */
.fadein,.fadein-2,.fadein-3{opacity:0;transition-duration:500ms;transition-delay:500ms;transition-property:opacity,transform;transform:translate(0,50px);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.scrollin{opacity:1;transform:translate(0,0)}
