.scroll_blk {
    position: fixed;
    bottom: 2.667vw;
    right: 2.667vw;
    z-index: 90;
}
.for_pc {
    display: none;
}
header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.667vw;
    z-index: 100;
}
header .site-title {
    background-image: url(../images/phantom_logo_w.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 30vw;
    height: 10vw;
    font-size: 0px;
    text-indent: -1333.2vw;
}
header .gmenu ul {
    display: flex;
    font-family: var(--font-en);
    font-size: 4.6vw;
}
header .gmenu ul li {
    padding: 1.333vw;
    margin-left: 2em;
}
header .gmenu ul li.gmenu_contact {
    padding: 1.333vw 2.667vw;
    border: 1px solid #fae14c;
}
#toggle{
    display:block;
    cursor:pointer;
    position: relative;
    z-index: 1021;
  }
  
  #toggle-box{
    width: 28px;
    height: 20px;
    position: relative;
  }
  
  #toggle-box span{
    position:absolute;
    left:0;
    width:100%;
    height:2px;
    background:#BFBFBF;
    border-radius: 2px;
    transition: transform .25s ease, top .25s ease, opacity .25s ease;
  }
  
  #toggle-box span:nth-child(1){ top:0; }
  #toggle-box span:nth-child(2){ top:9px; }
  #toggle-box span:nth-child(3){ top:18px; }
  
  /* 開いたときの×印 */
  body.is-open #toggle-box span:nth-child(1){
    top:9px;
    transform: rotate(45deg);
  }
  body.is-open #toggle-box span:nth-child(2){
    opacity:0;
  }
  body.is-open #toggle-box span:nth-child(3){
    top:9px;
    transform: rotate(-45deg);
  }
  #nav-content{
    position: fixed;
    top: 0;
    right: 0;
    width: min(86vw, 340px);
    height: 100vh;
    background: #111;
    box-shadow: -12px 0 30px rgba(0,0,0,.12);
    transform: translateX(100%);
    transition: transform .28s ease;
    padding: 72px 20px 20px; /* 上はヘッダー分 */
    overflow-y: auto;
    z-index: 1001;
  }

  body.is-open #nav-content{
    transform: translateX(0);
  }

  /* 背景オーバーレイ */
  body.is-open::before{
    content:"";
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.8);
    z-index: 1000;
    display: none;
  }

  /* メニュー中身 */
  #nav-content ul{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap: 8px;
  }

  #nav-content a{
    display:block;
    padding: 12px 10px;
    border-radius: 10px;
    text-decoration:none;
    color:#fff;
  }

  #nav-content a:hover{
    background:#f3f3f3;
  }

main {
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 4vw;
}
main .container {
    text-align: left;
}
main h1 {
    font-size: 11vw;
    font-weight: 200;
    letter-spacing: 0.533vw;
}
main p {
    font-size: 6vw;
    font-weight: 500;
    letter-spacing: 0.133vw;
    font-family: var(--font-en);
    margin: 0.5em 0 0 0;
}
main hr {
    width: 10vw;
    height: 1.2vw;
    border: 0;
    background-color: #fae14c;
    margin: 1em 0 0 0;
}
section {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 22vw 0;
}
.contents_blk {
    width: 90vw;
    position: relative;
    margin: 0 auto;
}
.contents_blk .title_blk {
    background-color: #464646;
    display: inline-block;
    border-radius: 1.6vw;
    padding: 4vw 5.333vw;
}
.contents_blk .title_blk h2 {
    font-size: 6vw;
    font-weight: 900;
    letter-spacing: 0.133vw;
    font-family: var(--font-en);
    text-align: right;
}
.contents_blk .body_blk {
    width: 90%;
    background-color: #1D1D1D;
    display: inline-block;
    border-radius: 1.6vw;
    padding: 3vw;
    position: relative;
    z-index: 1;
}
.contents_blk .body_blk p {
    font-size: 4vw;
    line-height: 200%;
}
.about .contents_blk .title_blk {
    width: 80%;
    padding: 4vw 5.333vw;
    position: relative;
    z-index: 2;
}
.about .contents_blk .body_blk {
    margin: -6vw 0 0 10%;
}
.about .contents_blk .body_blk .inner {
    padding: 12vw 6vw 6vw 6vw;
    border-right: 6px solid #fae14c;
}
.service .contents_blk .title_blk {
    width: 80%;
    padding: 4vw 5.333vw;
    position: absolute;
    z-index: 2;
    right: 0;
}
.service .contents_blk .body_blk {
    margin: 9.333vw 0 0 0;
}
.service .contents_blk .body_blk .inner {
    padding: 12vw 6vw 6vw 10vw;
    border-left: 6px solid #fae14c;
}
.service .contents_blk .body_blk .inner ul li {
    list-style-type: disc;
    margin: 2.667vw 0;
}
.company .contents_blk .title_blk {
    width: 80%;
    padding: 4vw 5.333vw;
    position: absolute;
    z-index: 2;
    left: 0;
}
.company .contents_blk .body_blk {
    margin: 10vw 0 0 10%;
}
.company .contents_blk .body_blk .inner {
    padding: 14vw 6vw 6vw 6vw;
    border-right: 6px solid #fae14c;
}
.company .contents_blk .body_blk .inner dl {
    margin: 0;
}
.company .contents_blk .body_blk .inner dt{
    margin: 0;
    font-weight: 700;
    line-height: 1.8;
}
.company .contents_blk .body_blk .inner dd{
    margin: 0 0 1.2em 0;
    line-height: 1.8;
}

footer {
    width: 100%;
    position: relative;
}
footer .contact_blk {
    width: 90%;
    background-color: #464646;
    margin: 0 auto;
    border-radius: 1.6vw;
    padding: 4vw 5.333vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
footer .contact_blk h2 {
    font-size: 5.867vw;
    font-weight: 900;
    letter-spacing: 0.133vw;
    font-family: var(--font-en);
}
footer .contact_blk .mailbox {
    width: 50%;
}
footer .container {
    text-align: center;
    letter-spacing: 0.267vw;
    padding: 5.333vw;
}