body {
    min-width: 100%;
}

/* ローディングアニメーション
   ========================================================================== */
#load-ani {
    width: 100vw;
    height: 100vh;
    position: fixed;
    background-color: #FFFBC4;
    z-index: 9999;
}

#load-ani-box {
    width: 100%;
    height: 100%;
    background-image: url(img/load-ani-dots.png);
    background-size: 80px;
    animation: dots 5s infinite linear;
}

.load-ani-content {
    position: relative;
    width: 100%;
    height: 100%;
}

.load-ani-content img {
    position: absolute;
    width: 250px;
    height: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    padding-bottom: 80px;
}

.load-ani-p {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    padding-top: 400px;
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 800;
    font-style: normal;
    font-size: 40px;
    color: #7F4F21;
}

.load-ani-p div {
    display: inline-block;
}

.load-ani-p div p {
    display: inline-block;
}

@keyframes dots {
    0% {
    background-position: 0 0;
  }
  100% {
    background-position: 80px 80px;
  }
}


@media screen and (max-width: 768px){
    
    .load-ani-content img {
        width: 10em;
        height: auto;
    }
    
    .load-ani-p {
        font-size: 20px;
        padding-top: 9em;
    }
    
    
}


/* グローバルナビ調整
   ========================================================================== */
ul#gnav li a {
    color: #6A3906;
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 800;
    font-style: normal;
    transition: 0.5s all;
    text-decoration: none;
}

ul#gnav li {
    border: 2px solid #6A3906;
    border-radius: 15px;
    display: inline-block;
    padding: 0 10px;
    margin-left: 20px;
    line-height: 2em;
    position: relative;
    overflow: hidden;
    transition: 0.5s all;
}

ul#gnav li:before {
    content: '';
    background-color: #6A3906;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(50%,-50%);
    width: 100%;
    height: 28px;
    border-radius: 15px;
    z-index: -1;
    transition: 0.5s all;
}

ul#gnav li:hover a {
    color: #fff;
}

ul#gnav li:hover::before {
    transform: translate(-50%,-50%);
}

a#sp-lineup-btn {
    display: none;
}


header#head div.head-logo a img {
    width: 90px;
    margin-right: 20px;
}

body div#wrapper header#head div.head-logo img.kpc-logo {
    width: 135px;
}

header#head {
    position: relative;
    width: 800px;
}

div#nav_wrapper {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255,255,255,1);
    width: 100vw;
    transition: 1s all;
    z-index: 999;
    height: 80px;
}

div#nav_wrapper header#head div.head-logo {
    top: 30px;
    display: flex;
    width: 50%;
}

nav#kpc_gnav-wrap {
    padding-top: 25px;
}

#kpc_gnav-wrap {
  padding-bottom: 45px;
  padding-top: 40px;
  text-align: right; }

ul#jam_lineup li.lineup a:before {
    content: url(img/menu_initial.svg);
    display: inline-block;
    width: 6px;
    margin-right: 5px;
}

ul#gnav li.sp-lineup {
        display: none;
}


#gnav li {
        font-size: 1.2rem;
}

div#btn-tregger-wrapper {
    display: none;
}

div#btn-tregger-wrapper {
    position: absolute;
    right: 3%;
    top: 20px;
    padding: 9px 7px;
    background: #6A3906;
}

.btn-trigger {
    position: relative;
    width: 40px;
    height: 34px;
    cursor: pointer;
    display: none;
}

.btn-trigger span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 4px;
      background-color: #fff;
      border-radius: 4px;
}

.btn-trigger, .btn-trigger span {
      display: inline-block;
      transition: all .5s;
      box-sizing: border-box;
}

.btn-trigger span:nth-of-type(1) {
      top: 0;
}

.btn-trigger span:nth-of-type(2) {
      top: 15px;
}

.btn-trigger span:nth-of-type(3) {
      bottom: 0;
}

/*レスポンシブ*/

@media screen and (max-width:768px) {
    
    div#nav_wrapper {
        height: auto;
        background-color: transparent;
    }
    
    ul#gnav {
        overflow: auto;
    }
    
    a#sp-lineup-btn {
        position: absolute;
        display: block;
        right: 1.5em;
        top: 26px;
        width: 2em;
        height: 2em;
    }
    
    a.lineup-active img {
        transform: rotate(90deg);
    }
    
    nav#kpc_gnav-wrap ul#gnav li.lineup {
        padding-right: 3.5em;
    }
    
    a#sp-lineup-btn img {
        width: 0.75em;
        transition: 0.5s all;
    }
    
    div#btn-tregger-wrapper {
        display: block;
    }
    
    ul#gnav li.sp-lineup {
        display: none;
        font-size: 1.2rem;
        background-color: #FFFDE1;
    }
    
    header#head {
        height: auto;
        min-height: 68px;
        width: 100%;
        padding-left: 0;
        overflow-y: scroll;
        overflow-x: hidden;
    }
    
    nav#jam_lineup_wrapper {
        display: none;
    }
    
    header {
        padding-top: 15px;
    }
    
    div#nav_wrapper header#head div.head-logo {
        top: 0;
        width: 50%;
        left: 10px;
    }
    
    nav#kpc_gnav-wrap ul#gnav li {
        padding-right: 10px;
        display: block;
        border: none;
        border-bottom: 2px solid #6A3906;
        border-radius: 0;
        line-height: 4em;
    }
    
    ul#gnav li:before {
        border-radius: 0;
        height: 100%;
    }
    
    nav#kpc_gnav-wrap {
        margin-top: 40px;
        padding-top: 0;
        padding-bottom: 0;
        background-color: #fff;
        transform: translateX(100%);
        transition: 0.5s all;
        position: relative;
        display: none;
    }
    
    ul#gnav li a {
        color: #000;
    }
    
    div.btn-trigger {
    display: block;
    }
    
    #pre_spmenu_trigger span:nth-of-type(1) {
      -webkit-animation: btn07-bar01 .75s forwards;
      animation: btn07-bar01 .75s forwards;
    }
    @-webkit-keyframes btn07-bar01 {
      0% {
        -webkit-transform: translateY(15px) rotate(45deg);
      }
      50% {
        -webkit-transform: translateY(15px) rotate(0);
      }
      100% {
        -webkit-transform: translateY(0) rotate(0);
      }
    }
    @keyframes btn07-bar01 {
      0% {
        transform: translateY(15px) rotate(45deg);
      }
      50% {
        transform: translateY(15px) rotate(0);
      }
      100% {
        transform: translateY(0) rotate(0);
      }
    }
    #pre_spmenu_trigger span:nth-of-type(2) {
      transition: all .25s .25s;
      opacity: 1;
    }
    #pre_spmenu_trigger span:nth-of-type(3) {
      -webkit-animation: btn07-bar03 .75s forwards;
      animation: btn07-bar03 .75s forwards;
    }
    @-webkit-keyframes btn07-bar03 {
      0% {
        -webkit-transform: translateY(-15px) rotate(-45deg);
      }
      50% {
        -webkit-transform: translateY(-15px) rotate(0);
      }
      100% {
        -webkit-transform: translateY(0) rotate(0);
      }
    }
    @keyframes btn07-bar03 {
      0% {
        transform: translateY(-15px) rotate(-45deg);
      }
      50% {
        transform: translateY(-15px) rotate(0);
      }
      100% {
        transform: translateY(0) rotate(0);
      }
    }
    #pre_spmenu_trigger.active span:nth-of-type(1) {
      -webkit-animation: active-btn07-bar01 .75s forwards;
      animation: active-btn07-bar01 .75s forwards;
    }
    @-webkit-keyframes active-btn07-bar01 {
      0% {
        -webkit-transform: translateY(0) rotate(0);
      }
      50% {
        -webkit-transform: translateY(15px) rotate(0);
      }
      100% {
        -webkit-transform: translateY(15px) rotate(45deg);
      }
    }
    @keyframes active-btn07-bar01 {
      0% {
        transform: translateY(0) rotate(0);
      }
      50% {
        transform: translateY(15px) rotate(0);
      }
      100% {
        transform: translateY(15px) rotate(45deg);
      }
    }
    #pre_spmenu_trigger.active span:nth-of-type(2) {
      opacity: 0;
    }
    #pre_spmenu_trigger.active span:nth-of-type(3) {
      -webkit-animation: active-btn07-bar03 .75s forwards;
      animation: active-btn07-bar03 .75s forwards;
    }
    @-webkit-keyframes active-btn07-bar03 {
      0% {
        -webkit-transform: translateY(0) rotate(0);
      }
      50% {
        -webkit-transform: translateY(-15px) rotate(0);
      }
      100% {
        -webkit-transform: translateY(-15px) rotate(-45deg);
      }
    }
    @keyframes active-btn07-bar03 {
      0% {
        transform: translateY(0) rotate(0);
      }
      50% {
        transform: translateY(-15px) rotate(0);
      }
      100% {
        transform: translateY(-15px) rotate(-45deg);
      }
    }
    
    header#head div.head-logo a img {
        width: 55px;
        margin-top: 13px;
        margin-left: 10px;
    }
    
    body div#wrapper header#head div.head-logo img.kpc-logo {
        width: 100px;
    }
    
}


/* ファーストビュー
   ========================================================================== */
#wrapper {
    width: 100vw;
}

section#firstview {
    width: 100%;
    height: 800px;
}

div.fv-wrapper {
    width: 100%;
    height: 100%;
    background-image: url(img/kpc_background.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

div.fv-box {
    width: 800px;
    height: 100%;
    margin: 0 auto;
    position: relative;
}

div.fv-box div.fv-word {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 125%);
}

#fv-word-change {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: 160px;
    width: 560px;
    
}

.fv-word01 {
    background-image: url(img/kpc_word1.svg);
}

.fv-word02 {
    background-image: url(img/kpc_word2.svg);
}

.fv-word03 {
    background-image: url(img/kpc_word3.svg);
}

div.fv-box div.fv-image {
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translate(-50%,102%);
}

#fv-change {
    cursor: pointer;
    width: 320px;
    height: 320px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.fv-image01 {
    background-image: url(img/kanpychan_09.svg);
}

.fv-image02 {
    background-image: url(img/kanpychan_02.svg);
}

.fv-image03 {
    background-image: url(img/kanpychan_03.svg);
}

.kpc-ani01 {
    animation: kpc-ani01 1.2s forwards;
}

.kpc-ani02 {
    animation: kpc-ani02 1.2s forwards;
}

@keyframes kpc-ani01 {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  15%  { transform: scale(0.9, 0.9) translate(0%, 5%); }
  30%  { transform: scale(1.3, 0.8) translate(0%, 10%); }
  50%  { transform: scale(0.8, 1.3) translate(0%, -10%); }
  70%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

@keyframes kpc-ani02 {
    0%  { transform: translate(0%, 0%);}
    15% { transform: translate(0%, -40%);}
    50% { transform: translate(0%, -50%);}
    100%{ transform: translate(0%, 0%);}
}

.fv-image img {
    width: 180px;
    position: absolute;
    left: 50%;
    transform: translate(-50%,50%);
}

.tips {
    width: 100px;
    height: 100px;
    background-image: url(img/tip_click.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(100%,170%);
}

@media screen and (max-width: 768px){
    
    section#firstview {
        height: 620px;
    }
    
    div.fv-wrapper {
        height: 100%;    
    }
    
    div.fv-box {
        width: 100%;
    }
    
    div.fv-box div.fv-word {
        transform: translate(-50%, 165%);
    }
    
    div.fv-box div.fv-image {
        transform: translate(-50%,260px);
    }
    
    #fv-word-change {
        height: 100px;
        width: 25em;
    }
    
    #fv-change {
        width: 230px;
        height: 260px;
    }
    
    .fv-image img {
        width: 150px;
    }
    
    .tips {
        width: 80px;
        height: 80px;
        background-image: url(img/tip_tap.png);
        transform: translate(85%,175%);
    }
    
}


/* プロフィール
   ========================================================================== */
#profile {
    position: relative;
    padding-top: 100px;
    margin-top: -100px;
}

#pf-wrapper {
    width: 800px;
    text-align: center;
    margin: 0 auto;
}

.nami01 {
    width: 100vw;
    height: 20px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,780px);
    background-image: url(img/nami.svg);
    background-size: contain;
    background-repeat: repeat-x;
    animation: namiloop 50s infinite linear;
}

@keyframes namiloop {
    0% {
        background-position:  0vw 0%;
    }
    
    to {
        background-position: -100vw 0%;
    }
}

.nami02 {
    display: flex;
    width: 100vw;
    height: 20px;
    transform: rotate(180deg);
    background-image: url(img/nami.svg);
    background-size: contain;
    background-repeat: repeat-x;
    animation: namiloop 50s infinite linear;
}

.pf-content {
    padding-top: 50px;
}

h1 {
    font-size: 48px;
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 800;
    font-style: normal;
    color: #6A3906;
    line-height: 0.5em;
}

.pf-title-area h1:after {
    background: url(img/pf_line.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    content: '';
    display: inline-block;
    height: 5.5px;
    width: 100%;
}

.pf-title-area p {
    font-size: 16px;
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 600;
    font-style: normal;
    color: #6A3906;
    margin-top: 20px;
    line-height: 1.5em;
}

.pf-content-area {
    display: flex;
    margin: 50px auto 0 auto;
    width: 700px;
    height: 530px;
    align-items: center;
    justify-content: space-between;
}

.pf-chara {
    width: 30%;
}

.pf-content-box {
    width: 60%;
    height: 100%;
    position: relative;
}

.pf-content-box a {
    width: 50%;
    transition: 0.5s all;
}

.pf-content-box a:first-child {
    position: absolute;
    left: -140px;
}

.pf-content-box a:nth-child(2){
    position: absolute;
    top: 62px;
    left: 80px;
}

.pf-content-box a:nth-child(3){
    position: absolute;
    top: 230px;
    left: -80px;
}

.pf-content-box a:nth-child(4){
    position: absolute;
    top: 230px;
    left: 180px;
}

.pf-content-box a div {
    position: relative;
}

.pf-content-box a:hover {
    cursor: pointer;
}

.pf-content-box a div h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -45%);
}

.pf-content-box a div img.float-kpc01 {
    position: absolute;
    width: 90px;
    left: 60%;
    top: -20%;
}

.pf-content-box a div img.float-kpc02 {
    position: absolute;
    width: 90px;
    left: 73%;
    top: 40%;
}


h3 {
    font-size: 30px;
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 800;
    font-style: normal;
    color: #6A3906;
    text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  0-2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
}

h4 {
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 20px;
    color: #fff;
    text-align: center;
    border-radius: 20px;
    width: 80%;
    margin: 0 auto;
}

.pf01 div h4 {
    background-color: #F8B62D;
}

.pf02 div h4 {
    background-color: #F8899F;
}

.pf03 div h4 {
    background-color: #2EA7E0;
}

.pf04 div h4 {
    background-color: #7DC728;
}

.pf-fade div p {
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 600;
    font-style: normal;
    color: #6A3906;
    font-size: 16px;
    margin-top: 20px;
}

div.pf-fade {
    height: 100vh;
    width: 100vw;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: rgba(0,0,0,0.7);
    z-index: 10;
}

div.pf01 {
    display: none;
}

div.pf02 {
    display: none;
}

div.pf03 {
    display: none;
}

div.pf04 {
    display: none;
}



div.pf-fade div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 400px;
    height: 200px;
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
}

div.pf01 div {
    border: 3px solid #FFFBC4;
}

div.pf02 div {
    border: 3px solid #F8CBD9;
}

div.pf03 div {
    border: 3px solid #BCE2EC;
}

div.pf04 div {
    border: 3px solid #BCE290;
}


@media screen and (max-width: 768px){
    
    .nami01 {
        transform: translate(-50%,600px);
        width: 768px;
    }
    
    .nami02 {
        width: 768px;
    }
    
    @keyframes namiloop {
    0% {
        background-position:  0px 0%;
    }
    
    to {
        background-position: -768px 0%;
    }
}
    
    
    #pf-wrapper {
        width: 100vw;
    }
    
    .pf-title-area h1:after {
        height: 5px;
    }
    
    .pf-title-area p {
        font-size: 12px;
    }
    
    .pf-content-area {
        flex-wrap: wrap;
        justify-content: space-around;
        width: 80%;
        height: 100%;
        padding-bottom: 40px;
    }
    
    .pf-chara {
        order: 2;
        width: 100%;
    }
    
    .pf-chara img {
        width: 200px;
    }
    
    .pf-content-box {
        width: 1px;
        height: 500px;
    }
    
    .pf-content-box a {
        width: 195px;
    }
    
    h3 {
        font-size: 25px;
    }
    
    .pf-content-box a:first-child {
        left: -175px;
    }
    
    .pf-content-box a:nth-child(2) {
        top: 112px;
        left: -5px;
    }
    
    .pf-content-box a div img.float-kpc01 {
        width: 70px;
        left: 55%;
        top: -20%;
    }
    
    .pf-content-box a:nth-child(3) {
        top: 217px;
        left: -165px;
    }
    
    .pf-content-box a div img.float-kpc02 {
        width: 70px;
        left: 65%;
        top: 51%;
    }
    
    .pf-content-box a:nth-child(4) {
        top: 340px;
        left: -10px;
    }
    
    div.pf-fade div {
        width: 75%;
    }
    
    h4 {
        font-size: 16px;
    }
    
    .pf-fade div p {
        font-size: 14px;
    }
    
}


/* カンピーちゃんの歩み
   ========================================================================== */

#pastkanpy {
    padding-top: 100px;
    margin-top: -100px;
}

#pk-border {
    background-color: #FFF9B1;
}

#pk-wrapper {
    padding-bottom: 100px;
    background-image: url(img/back_border.svg);
    background-size: 350px;
    background-repeat: repeat;
    animation: border 20s infinite linear;
}

@keyframes border {
    0% {
    background-position: 0 0;
  }
  100% {
    background-position: 350px 350px;
  }
}

#pk-content {
    width: 800px;
    text-align: center;
    margin: 0 auto;
    margin-top: 70px;
    position: relative;
}

#pk-content h1:after {
    background: url(img/pf_line2.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    content: '';
    display: inline-block;
    height: 5.5px;
    width: 100%;
}

#pk-content p {
    font-size: 16px;
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 600;
    font-style: normal;
    color: #6A3906;
    margin-top: 20px;
    line-height: 1.5em;
}

#pk-content img {
    position: absolute;
    width: 80px;
}

#pk-content img:nth-child(3) {
    top: 25%;
    left: 5%;
}

#pk-content img:nth-child(4) {
    top: 41%;
    left: 81%;
}

div.pk-box-area {
    width: 700px;
    height: 310px;
    margin: 50px auto 0 auto;
    background-color: #fff;
    border: 4px solid #F8B62D;
    border-radius: 15px;
}

div.pk-box {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 2;
    flex-wrap: wrap;
}

div.pk-box div {
    width: 25%;
    height: 200px;
    margin: 15px 20px 10px 20px;
    vertical-align: bottom;
}

div.pk-box div {
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
}

div.pk-box div.pk-ani01 {
    background-image: url(img/past-kanpy01.png);
    position: relative;
}

div.pk-box div.pk-ani02 {
    background-image: url(img/past-kanpy02.png);
    position: relative;
}

div.pk-box div.pk-ani03 {
    background-image: url(img/past-kanpy03.png);
    position: relative;
}

div.pk-box div.pk-ani03 img {
    position: absolute;
    width: 120px;
    top: 116%;
    left: 50%;
    transform: translateX(-50%);
}

.pk-circle {
    position: absolute;
    width: 25px;
    left: 50%;
    transform: translate(-100%, 230px);
}

.pk-ani04-box {
    overflow: hidden;
    margin-top: 18px;
    margin-left: 130px;
    width: 340px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 768px){
    
    #pastkanpy {
        width: 100vw;
    }
    
    #pk-content {
        width: 90%;
    }
    
    #pk-wrapper {
        background-size: 130px;
    }
    
    @keyframes border {
        0% {
        background-position: 0 0;
      }
      100% {
        background-position: 130px 130px;
      }
    }
    
    
    h1 {
        font-size: 2em;
    }
    
    #pk-content h1:after {
        height: 4.5px;
    }
    
    #pk-content p {
        font-size: 13px;
    }
    
    #pk-content img {
        width: 70px;
    }
    
    #pk-content img:nth-child(3) {
        top: 85%;
        left: 1%;
    }
    
    #pk-content img:nth-child(4) {
        top: 98%;
        left: 80%;
    }
    
    div.pk-box-area {
        width: 300px;
        height: 630px;
        margin-top: 25px;
    }
    
    div.pk-box div {
        height: 160px;
        margin-top: 20px;
        margin-left: 60px;
        width: 100%;
    }
    
    .pk-circle {
        width: 15px;
        top: 50%;
        transform: translate(-120px, -50%);
    }
    
    div.pk-box div.pk-ani03 img {
        width: 110px;
    }
    
    .pk-ani04-box {
        margin-top: 0;
        margin-left: 0;
        width: 325px;
        transform: rotate(90deg);
        position: relative;
        top: -320px;
        left: -105px;
    }
    
}


/* バナーエリア
   ========================================================================== */
section#banner_area {
    width: 100vw;
    background: #fff;
    padding: 150px 0 50px 0;
}

div#banner_area_container {
    max-width: 800px;
    margin: 0 auto;
}

div#banner_area_wrapper {
    width: 800px;
    margin: 0 auto 80px auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
}

div#banner_area_wrapper a.banner_item {
    width: 30%;
    height: 110px;
    background-color: #fff;
    border: 1px solid #6B4012;
}

a.banner_item {
    transition: 0.5s all;
    text-decoration: none;
}

div.banner_item_box {
    width: 100%;
    height: 100%;
    display: flex;
}

div.banner_item_imgarea,div.banner_item_parea {
    width: 50%;
}

div.banner_item_imgarea {
    position: relative;
}

a.banner01 div.banner_item_imgbox {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding-left: 10px;
}

a.banner01 div.banner_item_imgbox img {
    width: 45px;
}

a.banner01 div.banner_item_imgbox img:last-child {
    margin-left: 2px;
}

div.banner_item_parea {
    background-image: url(img/banner_back.png);
    background-size: cover;
    text-align: center;
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 800;
    color: #6A3906;
}

a.banner01 div.banner_item_parea img:first-child {
    height: 35px;
    padding: 12px 7px 8px 7px;
}

a.banner01 div.banner_item_parea img.os_mark {
    width: 35px;
    padding-top: 5px;
}

a.banner01 div.banner_item_parea p {
    float: right;
    padding-right: 5px;
    text-align: left;
}

a.banner02 div.banner_item_imgbox img {
    height: 110px;
}

a.banner02 div.banner_item_parea {
    padding: 15px 0;
}

a.banner02 div.banner_item_parea img {
    height: 50px;
}

a.banner02 div.banner_item_parea p {
    margin-top: 5px;
}

div#banner_area_wrapper a.banner03 {
    display: none;
}

div.sns_area {
    display: flex;
    justify-content: space-around;
}

div.sns_area a {
    width: 45%;
}



/*レスポンシブ*/

@media screen and (max-width:768px){
    section#banner_area {
        width: 100vw;
        padding-top: 50px;
    }
    
    div#banner_area_wrapper {
        width: 100vw;
        flex-wrap: wrap;
        justify-content: center;
        margin: 10vw auto 0 auto;
    }
    
    div#banner_area_wrapper {
        flex-wrap: wrap;
        justify-content: space-around;
    }
    
    div#banner_area_wrapper a.banner_item {
        width: 240px;
        margin-bottom: 20px;
    }
    
    div.sns_area {
        flex-wrap: wrap;
    }
    
    div.sns_area a {
        width: 240px;
        margin-bottom: 20px;
    }
}

@media screen and (min-width:769px){
    
a.banner_item:hover {
    opacity: 0.5;
    transform: scale(1.1);
}
}



/* フッター
   ========================================================================== */
p.foot-character img {
    height: 110px;
}

p.bt-gotop {
    opacity: 0;
    transition: 1s all;
}

/*レスポンシブ*/
@media screen and (max-width:1279px){
    footer div.foot-inner {
        width: 800px;
    } 
}

@media screen and (max-width:768px){
    footer div.foot-inner {
        width: 100vw;
        padding-top: 0;
    }
    
    .foot-character {
        margin-bottom: 30px;
    }
    
    .foot-logo {
        display: block;
        width: 60px;
        top: 9px;
        right: 0;
        left: 132px;
    }
    
    body p.bt-gotop img {
        height: auto;
        width: 60px;
    }
}
