.site-header {
  height:70px;
}
.site-header .logo-wrap:before {
  content:"";
    position:fixed;
    top:0;
    left:0;
    z-index:1;
    display:block;
    background:linear-gradient(to top left,rgba(255,255,255,0) 50%,#ffa63c 50.5%) no-repeat 0 0/100% 100%;
}
.site-header .logo-wrap .logo {
  position:fixed;
    top:0;
    z-index:120;
    display:block;
    line-height:0;
}
.site-header .logo-wrap .logo img {
  width:100%;
    height:auto;
}
.site-header .logo-wrap .logo a {
  display:block;
}
.site-header .nav {
  position:fixed;
    width:100%;
    right:0;
    z-index:110;
    transition:all .3s ease;
}
.site-header .side .sns {
  position:fixed;
    right:0;
    z-index:101;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-left:auto;
}
.site-header .side .sns dd img,.site-header .side .sns dt img {
  width:100%;
    height:auto;
}
.site-header .side .sns a {
  display:block;
    line-height:0;
}
.site-header .side .btn-menu {
  position:fixed;
    z-index:102;
    outline:none;
    border:none;
    background:transparent;
    padding:0;
    transition-property:opacity;
    transition-duration:.26s;
    transition-timing-function:cubic-bezier(.25,.46,.45,.94);
}
.site-header .side .btn-menu img {
  width:100%;
    height:auto;
}
.site-header.is-scroll .nav {
  transform:translate3d(0,-100%,0);
}
.site-header.is-show .nav {
  transform:translateZ(0);
    background-color:#ffffffe6;
}
.site-header.is-show .logo {
  -webkit-filter:invert(72%) sepia(26%) saturate(6428%) hue-rotate(-7deg) brightness(305%) contrast(102%);
    filter:invert(72%) sepia(26%) saturate(6428%) hue-rotate(-7deg) brightness(305%) contrast(102%);
}
.site-footer {
  position:relative;
    z-index:12;
    background:#282823 url(../img/common/bg-footer.svg) no-repeat;
}
.site-footer .logo,.site-footer a {
  display:inline-block;
}
.site-footer .logo img {
  width:100%;
    height:auto;
}
.site-footer .wrap {
  display:flex;
    color:#fff;
}
.site-footer .wrap dl dt {
  font-weight:700;
    letter-spacing:.05em;
    border-bottom:1px solid #51524e;
}
.site-footer .wrap dl dd.long a {
  margin-right:-1.5em;
}
.site-footer .wrap dl dd a {
  color:#fff;
    transition-property:color;
    transition-duration:.26s;
    transition-timing-function:cubic-bezier(.25,.46,.45,.94);
}
.site-footer .copyright {
  color:#a0a09b;
    letter-spacing:.02em;
}
.site-menu-bg {
  position:absolute;
    left:0;
    z-index:200;
    width:100%;
    background:rgba(239,130,0,.34);
}
.site-menu,.site-menu-bg {
  visibility:hidden;
    opacity:0;
    transition:all .5s cubic-bezier(.25,.46,.45,.94);
    top:0;
    height:100%;
}
.site-menu {
  position:fixed;
    right:0;
    z-index:201;
    background:#fff;
}
.site-menu .btn-menu-close {
  position:absolute;
    z-index:2;
    outline:none;
    border:none;
    background:transparent;
    padding:0;
    transition-property:opacity;
    transition-duration:.26s;
    transition-timing-function:cubic-bezier(.25,.46,.45,.94);
}
.site-menu .btn-menu-close img {
  width:100%;
    height:auto;
}
.site-menu nav .nav-cta {
  padding:0 5px 20px;
}
.site-menu nav .nav-cta a.elm-btn {
  display:block;
    margin:0 auto 10px;
    line-height:1.2;
    width:100%;
    min-width:200px;
}
.site-menu ul li {
  text-align:right;
}
.site-menu ul a {
  position:relative;
    letter-spacing:.2em;
    font-feature-settings:"palt" 1;
}
.site-menu ul a:after {
  position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);
    content:"";
    font-family:myfont,sans-serif;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    color:#ff8b00;
}
.site-menu .sns {
  display:flex;
    align-items:center;
    justify-content:flex-end;
}
.site-menu .sns dd,.site-menu .sns dt {
  line-height:0;
}
.site-menu .sns dd img,.site-menu .sns dt img {
  width:100%;
    height:auto;
}
.site-menu .sns a {
  display:block;
    line-height:0;
}
body.is-openmenu .site-menu,body.is-openmenu .site-menu-bg {
  visibility:visible;
    opacity:1;
}
.site-main {
  position:relative;
    z-index:10;
}
.site-breadcrumbs {
  position:relative;
    z-index:11;
    color:#696964;
    letter-spacing:.02em;
}
.site-breadcrumbs a {
  color:#696964;
}
.site-breadcrumbs ol {
  display:flex;
}
.site-breadcrumbs ol li+li:before {
  content:"/";
    margin:0 .5em;
}
.side-under-btn span {
  position:relative;
    z-index:2;
    color:#fff;
}
.site-main--padding {
  padding-bottom:unset!important;
}
@media (min-width:769px) {
  .site-header .logo-wrap:before {
    width:15.23438vw;
        height:33.67188vw;
        min-width:190px;
        min-height:420px;
  }
  .site-header .logo-wrap .logo {
    top:15px;
        left:1.17188%;
        width:151px;
  }
  .site-header .nav {
    padding:26px 6.25% 30px 65px;
  }
  .site-header .nav ul {
    display:flex;
        justify-content:flex-end;
        letter-spacing:.02em;
        font-size:.8125rem;
        line-height:1.04692;
        margin-top:-.02346em;
        margin-bottom:-.02346em;
  }
  .site-header .nav ul li {
    margin-left:26px;
  }
  .site-header .side .sns {
    width:24px;
        margin-right:24px;
        bottom:482px;
  }
  .site-header .side .sns dt {
    width:8px;
  }
  .site-header .side .sns dd {
    font-size:24px;
        margin-top:16px;
  }
  .site-header .side .btn-menu {
    bottom:23px;
        right:3.125%;
        width:58px;
  }
  .site-footer {
    margin-top:40px;
        background-size:1005px auto;
        background-position:bottom 6px center;
  }
  .site-footer .inner {
    max-width:1600px;
        margin:0 auto;
        padding:40px 6.25%;
  }
  .site-footer .logo {
    width:178px;
        margin-bottom:49px;
  }
  .site-footer .wrap {
    margin-bottom:32px;
  }
  .site-footer .wrap dl {
    margin-right:42px;
  }
  .site-footer .wrap dl dt {
    padding-bottom:10px;
        margin-bottom:12px;
        font-size:.8125rem;
  }
  .site-footer .wrap dl dd {
    padding-right:.5em;
        margin-bottom:10px;
        font-size:.75rem;
  }
  .site-footer .copyright {
    font-size:.625rem;
  }
  .site-menu nav {
    position:absolute;
        top:50%;
        right:0;
        transform:translateY(-50%);
        z-index:1;
  }
  .site-menu {
    width:377px;
  }
  .site-menu nav {
    right:18px;
        padding-bottom:92px;
  }
  .site-menu nav .nav-cta {
    padding:0 5px 40px;
  }
  .site-menu ul li+li {
    margin-top:44px;
  }
  .site-menu ul a {
    padding-right:29px;
        font-size:1.375rem;
  }
  .site-menu ul a:after {
    font-size:14px;
  }
  .site-menu .sns {
    margin-top:72px;
        margin-right:12px;
  }
  .site-menu .sns dt {
    width:114px;
  }
  .site-menu .sns dd {
    margin-left:18px;
        font-size:24px;
  }
  .site-menu .btn-menu-close {
    bottom:24px;
        right:24px;
        width:68px;
  }
  .site-main {
    padding-bottom:32px;
        min-height:calc(100vh - 430px);
  }
  .site-breadcrumbs {
    max-width:1600px;
        margin:88px auto 0;
        padding:0 6.25%;
  }
  .site-breadcrumbs li {
    font-size:.625rem;
        line-height:2.8;
        margin-top:-.9em;
        margin-bottom:-.9em;
  }
  .side-under-btn {
    bottom:23px;
        right:0;
        letter-spacing:.05em;
        font-feature-settings:"palt" 1;
        line-height:2.5;
        padding:9px 0!important;
        z-index:120;
        -webkit-clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);
        clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);
        overflow:hidden;
        background:#282823;
        color:#fff;
        font-weight:700;
        text-align:center;
        position:fixed;
        font-size:18px!important;
  }
}
@media (min-width:769px) and (max-height:700px) {
  .site-header .side:before {
    width:13.20313vw;
        height:29.29688vw;
        min-width:165px;
        min-height:364px;
  }
  .site-header .side .sns {
    bottom:375px;
  }
}
@media (min-width:769px) and (min-height:950px) {
  .site-header .side .sns {
    bottom:37.65625vw;
  }
}
@media (min-width:769px) and (max-height:580px) {
  .site-header .side .sns dt {
    display:none;
  }
}
@media (min-width:769px) and (max-height:828px) {
  .site-menu nav .nav-cta {
    padding:0 5px 20px;
  }
  .site-menu ul li+li {
    margin-top:24px;
  }
  .site-menu ul a {
    font-size:1.125rem;
  }
  .site-menu .sns {
    margin-top:46px;
  }
  .site-menu .btn-menu-close {
    width:60px;
  }
}
@media (min-width:769px) and (max-height:680px) {
  .site-menu nav .nav-cta {
    padding:0 5px 20px;
  }
  .site-menu ul li+li {
    margin-top:20px;
  }
  .site-menu ul a {
    font-size:1rem;
  }
  .site-menu .sns {
    margin-top:34px;
  }
  .site-menu .btn-menu-close {
    width:50px;
  }
}
@media (min-width:769px) and (max-height:565px) {
  .site-menu {
    min-height:480px;
  }
  .site-menu ul li+li {
    margin-top:16px;
  }
  .site-menu ul a {
    font-size:1rem;
  }
  .site-menu .sns {
    margin-top:28px;
  }
  .site-menu .btn-menu-close {
    width:44px;
  }
}
@media (max-width:768px) {
  .site-header {
    padding-top:10.46875vw;
  }
  .site-header .logo-wrap:before {
    width:30.3125vw;
        height:67.1875vw;
  }
  .site-header .logo-wrap .logo {
    top:2.34375vw;
        left:2.65625vw;
        width:22.96875vw;
  }
  .site-header .nav {
    display:none;
  }
  .site-header .side:before {
    content:"";
        position:fixed;
        top:0;
        right:0;
        z-index:100;
        display:block;
        background:#282823 no-repeat 0 0/100% 100%;
        -webkit-user-select:none;
        -moz-user-select:none;
        -ms-user-select:none;
        user-select:none;
        pointer-events:none;
        width:14.14063vw;
        height:14.14063vw;
  }
  .site-header .side .sns {
    width:5.15625vw;
        margin-right:1.09375vw;
        bottom:77.5vw;
  }
  .site-header .side .sns dt {
    width:1.5625vw;
  }
  .site-header .side .sns dd {
    font-size:5.15625vw;
        margin-top:3.59375vw;
  }
  .site-header .side .btn-menu {
    top:3.125vw;
        right:3.125vw;
        width:7.96875vw;
  }
  .site-footer {
    margin-top:6.25vw;
        background-size:95.15625vw auto;
        background-position:center 15.3125vw;
  }
  .site-footer .inner {
    padding:6.25vw;
  }
  .site-footer .logo {
    width:27.8125vw;
        margin-bottom:9.21875vw;
  }
  .site-footer .wrap {
    flex-wrap:wrap;
        margin:0 -1.875vw 12.5vw;
  }
  .site-footer .wrap dl {
    width:50%;
        padding:0 1.875vw 4.0625vw;
  }
  .site-footer .wrap dl dt {
    padding-bottom:2.8125vw;
        margin-bottom:2.34375vw;
        font-size:2.8125vw;
  }
  .site-footer .wrap dl dd {
    margin-bottom:3.4375vw;
        font-size:2.8125vw;
        letter-spacing:-.02em;
  }
  .site-footer .wrap dl dd span {
    display:inline-block;
        margin-left:-.4em;
  }
  .site-footer .copyright {
    font-size:1.875vw;
  }
  .site-menu nav {
    position:absolute;
        top:60%;
        right:0;
        transform:translateY(-50%);
        z-index:1;
  }
  .site-menu {
    width:58.90625vw;
        min-height:131.25vw;
  }
  .site-menu nav {
    right:2.8125vw;
        padding-bottom:17.5vw;
  }
  .site-menu nav .nav-cta {
    padding:0 5px 20px;
  }
  .site-menu nav .nav-cta a.elm-btn {
    display:block;
        margin:0 auto 10px;
        line-height:1.6;
        width:100%;
        min-width:100px;
  }
  .site-menu ul li+li {
    margin-top:8.125vw;
  }
  .site-menu ul a {
    padding-right:6.25vw;
        font-size:4.375vw;
  }
  .site-menu ul a:after {
    font-size:3.4375vw;
  }
  .site-menu .sns {
    margin-top:11.875vw;
        margin-right:1.5625vw;
  }
  .site-menu .sns dt {
    width:25.46875vw;
  }
  .site-menu .sns dd {
    margin-left:4.375vw;
        font-size:5.3125vw;
  }
  .site-menu .btn-menu-close {
    top:5.46875vw;
        right:2.8125vw;
        width:12.03125vw;
  }
  .site-breadcrumbs {
    margin-top:18.75vw;
        padding:0 6.25vw;
  }
  .site-breadcrumbs li {
    font-size:2.5vw;
        line-height:1.6;
        margin-top:-.75vw;
        margin-bottom:-.75vw;
        white-space:nowrap;
  }
  .site-breadcrumbs li:last-child {
    white-space:normal;
        padding-left:1.7em;
        text-indent:-1.7em;
  }
  .side-under-btn {
    position:absolute;
        top:0;
        right:14.14063vw;
        position:fixed;
        z-index:130;
        letter-spacing:1.2px;
        width:45.39063vw!important;
        height:14.14063vw!important;
        background-color:#fff!important;
        border:2px solid #ef8200!important;
        padding-top:1.6vw!important;
  }
  .side-under-btn span {
    color:#ef8200!important;
        position:relative;
        margin-left:-1em;
  }
  .side-under-btn span:after {
    margin-left:.4em;
        content:"";
        font-family:myfont,sans-serif;
        font-weight:400;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
        position:absolute;
        top:-28%;
  }
}
