.pc-only { display: none; }

img { width: 100%; }
h2 {
  text-align: center;
  letter-spacing: .7vw;
}
h2::after {
  content: '';
  border-bottom: solid 1px #333;
  width: 18vw;
  display: block;
  margin: 3vw auto 0 auto;
}
p { font-size: .8rem; }
a {
  text-decoration: none;
  color: #000;
}
a:hover {
  opacity: .7;
  transition: 0.5s;
}
.bg_b { background: #000; }
.bg_g { background: #333; }
.wi_80 {
  width: 80%;
  margin: 0 auto;
}
.border_b {
  border-bottom: 1px solid #333;
  padding-bottom: 4.1vw;
}
.grid_2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.button_yoyaku { background: #ffffff7a; }
.more_button {
  text-align: center;
  border: solid 1px #9b9b9b;
  width: 15rem;
  margin: 0 auto;
  padding: 1vw 0;
  position: relative;
}
.more_button::before {
  content: '';
  background-image: url('../img/yajirushi.png');
  width: 2.6vw;
  height: 1.6vw;
  position: absolute;
  top: 2.6vw;
  left: 6vw;
  background-size: cover;
  background-repeat: no-repeat;
}
.bg {
  background-size: cover;
  position: relative;
  height:100%;
}
.bg::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.8);
  z-index: 3;
}
.fw_b { font-weight: bold; }
.c-p { cursor: pointer; }


.qa {
  .q {
    position: relative;
    cursor: pointer;

    &:before {
      position: absolute;
      content: "";
      display: block;
      width: 10px;
      height: 2px;
      background-color: #fff;
      right: 15px;
      top: 50%;
      transform: translate(0, -50%);
    }
    &:after {
      position: absolute;
      content: "";
      display: block;
      width: 10px;
      height: 2px;
      background-color: #fff;
      right: 15px;
      top: 50%;
      transform: translate(0, -50%) rotate(90deg);
    }
  }
  .q.active {
    &:after { display: none; }
  }
  .a { display: none; }
}

.qa2 {
  .q2 {
    position: relative;
    cursor: pointer;
    color: #000;
    padding: 4vw 0;
    letter-spacing: .7vw;
    font-weight: bold;
    font-size: 3vw;

    &:before {
      position: absolute;
      content: "";
      display: block;
      width: 3vw;
      height: 2px;
      background-color: #fff;
      right: 30vw;
      top: 50%;
      transform: translate(0, -50%);
    }
    &:after {
      position: absolute;
      content: "";
      display: block;
      width: 3vw;
      height: 2px;
      background-color: #fff;
      right: 30vw;
      top: 50%;
      transform: translate(0, -50%) rotate(90deg);
    }
  }
  .q2.active {
    &:after { display: none; }
  }
  .a2 { display: none; }
}

.qaf {
  .qf {
    position: relative;
    cursor: pointer;
    color: #000;
    padding: 4vw 0;
    letter-spacing: .7vw;
    font-weight: bold;
    font-size: 3vw;
 
    &:before {
      position: absolute;
      content: "";
      display: block;
      width: 3vw;
      height: 2px;
      background-color: #fff;
      right: 30vw;
      top: 50%;
      transform: translate(0, -50%);
    }
    &:after {
      position: absolute;
      content: "";
      display: block;
      width: 3vw;
      height: 2px;
      background-color: #fff;
      right: 30vw;
      top: 50%;
      transform: translate(0, -50%) rotate(90deg);
    }
  }
  .qf.active {
    &:after { display: none; }
  }
  .af { display: none; }
}

.hamburger-menu .menu-content .top_menu ul .qa .q {
  color: #000;
  padding: 4vw 0;
  letter-spacing: .7vw;
  font-weight: bold;
  font-size: 3vw;
}

header .header_block .menu {
  display: flex;
  justify-content: flex-start;
  list-style-type: none;
}
header .header_block .menu .menu_li {
  position: relative;
  color: #fff;
  cursor: pointer;
}
header .header_block .menuSub {
  position: absolute;
  margin-left: -6px;
  padding: 0;
  display: none;
  background: #fff;
  color: #000;
  line-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  top: 1.23vw;
  left: -9.6vw;
  z-index: 1;
  width: 23vw;
  text-align: center;
}
header .header_block .igmenuSub { top: 1.73vw; }
header .header_block .menuSub li {
  border-bottom: solid 1px #ccc;
  padding: .3vw 0;
}
header .header_block .menuSub li:last-child {
  border-bottom: none;
}
header .header_block .menuSub a {
  margin-left: -5px;
  margin-right: -5px;
  margin-bottom: -5px;
  display: block;
  text-decoration: none;
  color: #000;
}

.menu {
  display: flex;
  justify-content: flex-start;
  list-style-type: none;
}
.menu .menu_li {
  position: relative;
  color: #fff;
  cursor: pointer;
}
.km_top .top_menu .menuSub {
  position: absolute;
  margin-left: -6px;
  padding: 0;
  display: none;
  background: #fff;
  color: #000;
  line-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  top: -10.37vw;
  left: 0vw;
  z-index: 1;
  width: 23vw;
  text-align: center;
}
.km_top .top_menu .menuSub a .msu_li  {
  margin-left: -5px;
  margin-right: -5px;
  margin-bottom: -5px;
  display: block;
  text-decoration: none;
  color: #000;
  border-bottom: solid 1px #333;
}
.km_top .top_menu .menuSub a {
  color: #000;
}


.menu-content ul .sp_cl_menu {
  display: flex;
  justify-content: space-around;
  padding-top: 0;
}
.menu-parent {
  width: calc(100% /3);
  border-right: 1px solid #ccc;
  position: relative;
}
.menu-parent:last-child {
  border-right: 0;
}
.menu-parent_a {
  display: block;
  padding: 10px;
  text-align: center;
}
.menu-parent_a.blrn{
  border-left: none;
  border-right: none;
}
@media (hover: hover) {
  .menu-parent_a:hover{
    transition: all .1s;
  }
}
.menu-child {
  display: none;
  width: 80vw;
  background: #fff;
  color: #333;
  position: relative;
  left: -24vw;
  top: -2vw;
}
.menu-content ul .menu-child_ul {
  list-style-type: disc;
  padding: 0;
}
.menu-child_li {
  line-height: 2;
  font-size: 14px;
}

.sf_box .sp_cl_menu {
  margin: 0 auto;
  padding: 1vw 0;
  border-right: 1px solid #ccc;
}
.sf_box .menu-parent {
  list-style: none;
  width: 100%;
}
.sf_box .menu-parent_a {
  padding: 0;
}
.sf_box .menu-child {
  display: none;
  width: 84.4vw;
  background: #fff;
  color: #333;
  left: -40px;
  top: -53.6vw;
  position: absolute;
  box-shadow: 1px 0 3px 0;
}
.sf_tel .menu-child {
  width: 90vw;
  left: -70vw;
  top: -19vw;
}
.sf_box .menu-child_ul {
  padding: 0;
} 
.sf_box .menu-child_li {
  list-style: none;
  font-size: 3vw;
  padding: .7vw 0;
  border-bottom: solid 1px #ccc;
}
.sf_box .menu-child_li:last-child {
  border-bottom: none;
}


body {
  margin: 0;
  width: 100%;
  font-family: 'Zen Old Mincho', serif;
  /*font-family: '丸明オールド StdN R';*/
  font-style: normal;
  font-display: swap;
}

header .spheader_gengo {
  font-size: 1rem;
  display: flex;
  position: fixed;
  z-index: 90;
  letter-spacing: 1vw;
  top: 1.8rem;
  left: 2rem;
}
header .spheader_gengo div {
  padding: 0 .7vw 0 0;
}
header .spheader_gengo a {
  color: #fff;
  font-weight: bold;
}
header .spheader_gengo .sl a::after {
  content: "/";
  padding-left: .7vw;
}

.menu-btn {
  position: fixed;
  top: 10px;
  right: 10px;
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  z-index: 90;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
}
.menu-btn span:before { bottom: 8px; }
.menu-btn span:after { top: 8px; }

#menu-btn-check:checked ~ .menu-btn span { background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/ }
#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

#menu-btn-check { display: none; }

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 80;
  background-color: #ccc;
  overflow: scroll;
}
.menu-content .top_menu { margin-top: 5rem; }
.menu-content ul { padding: 70px 10px 0; }
.menu-content ul li {
  border-bottom: solid 1px #ffffff;
  list-style: none;
}
.menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color:#ffffff;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
}
.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;/*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: #ccc;
  transition: all 0.5s;/*アニメーション設定*/
}

#menu-btn-check:checked ~ .menu-content { left: 0;/*メニューを画面内へ*/ }

.hamburger-menu .menu-content .top_menu ul {
  text-align: center;
}
.hamburger-menu .menu-content .top_menu ul li {
  border: none;
}
.hamburger-menu .menu-content .top_menu ul li a {
  color: #000;
  padding: 4vw 0;
  letter-spacing: .7vw;
  font-weight: bold;
  font-size: 3vw;
}
.hamburger-menu .menu-content .top_menu ul li a::before { content: none; }
.hamburger-menu .menu-content .top_menu ul li .grid_2 {
  width: 20vw;
  margin: 3vw auto;
  grid-gap: 8vw;
}
.hamburger-menu .button_yoyaku {
  position: relative;
  top: -8vw;
  width: 60vw;
  margin: 0 auto;
  border-radius: 22px;
  text-align: center;
  padding: .3rem 0;
}
.top_menu .button_yoyaku a { color: #000; }

#fixed-header {
  position: fixed;
  top: -8rem;  
  width: 100%;
  transition: .5s;
  z-index: 88;
}
#fixed-header.is-show {
  top: 0;
}
header .header_block {
  background: #000;
  height: 5.3rem;
}

.youtube {
  width: 80vw;
  margin: 0 auto;
}
#kumahiko_block { width: 100%; }

.topblock .img_box {
  height: 103vw;
  overflow: hidden;
  position: relative;
}
.topblock .img_box img {
  position: absolute;
  top: -15vw;
  width: 200vw;
  left: -57.5vw;
}

#footer {
  background: #000;
  position: relative;
  height: 100vw;
  padding-top: 4vw;
}
#footer .footer_logo {
  width: 35vw;
  display: flex;
  align-items: center;
  margin: 8vw auto 0 auto;
}
#footer ul {
  width: 80%;
  padding: 0;
  margin: 8vw auto 0 auto;
  text-align: center
}
#footer ul li {
  list-style: none;
  font-size: 4vw;
  line-height: 9vw;
}
#footer ul li a {
  color: #fff;
  text-decoration: none;
}
#footer .copy {
  position: absolute;
  right: 0;
  color: #fff;
  bottom: 29vw;
  right: 0;
  text-align: center;
  font-size: 3vw;
  left: 0;
}

#sp_footer {
  position: fixed;
  bottom: 0;
  background: #fff;
  width: 100%;
  z-index: 99;
  box-shadow: 1px 0 3px 0;
}
#sp_footer .grid_2 {
  display: grid;
  grid-template-columns: 2fr .5fr;
}
#sp_footer .sf_box {
  text-align: center;
  padding: 3vw 0;
  letter-spacing: 1vw;
  font-size: 3.7vw;
}
#sp_footer .sf_box .button_co4 {
  border-right: solid 1px #333;
  padding: 2vw 0;
}
.sf_ti {
  width: 5vw;
  margin: 0 auto;
}

.co4 {
  position: absolute;
  bottom: 15vw;
  text-align: center;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  color: #000;
  font-size: 4vw;
  line-height: 4vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
}
.co4 ul {
  margin: 0;
  padding: 0;
}
.co4 ul li {
  margin: 0;
  padding: 3vw 0;
  border-bottom: solid 1px #ccc;
}
.co4 ul li a { color: #000; }
.co4 ul li::last-child { border: none; }

.co5 {
  background: #fff;
  color: #000;
  ine-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
}
.co5 ul {
  margin: 0;
  padding: 0;
}
.hamburger-menu .menu-content .top_menu .co5 ul li {
  margin: 0;
  padding: .2vw 0;
  border-bottom: solid 1px #ccc;
}
.km_top .top_menu .co5 ul {
  padding-left: 0;
  line-height: 2.4vw;
  position: relative;
  top: 0;
}
.km_top .top_menu .co5 ul li a { color: #000; }
.co5 ul li:last-child { border: none; }
.hamburger-menu .menu-content .top_menu ul li  .button_co5 a { padding: .5vw 0; }

.button_co6 {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.co6 {
  position: absolute;
  bottom: 15vw;
  text-align: center;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  color: #000;
  font-size: 4vw;
  line-height: 4vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
}
.co6 ul {
  margin: 0;
  padding: 0;
}
.co6 ul li {
  margin: 0;
  padding: 3vw 0;
  border-bottom: solid 1px #ccc;
}
.co6 ul li a { color: #000; }
.co6 ul li::last-child { border: none; }

.button_co7 {
  width: 10vw;
  position: relative;
  margin: 0 auto;
  left: -10vw;
}
.co7 {
  background: #fff;
  color: #000;
  ine-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
}
.co7 ul {
  margin: 0;
  padding: 0;
}
.hamburger-menu .menu-content .top_menu .co7 ul li {
  margin: 0;
  padding: .2vw 0;
  border-bottom: solid 1px #ccc;
}
.km_top .top_menu .co7 ul {
    padding-left: 0;
    line-height: 2.4vw;
    position: relative;
    top: 0;
}
.km_top .top_menu .co7 ul li a { color: #000; }
.co7 ul li:last-child { border: none; }
.hamburger-menu .menu-content .top_menu ul li  .button_co7 a {
  padding: .5vw 0;
}

.button_co8 {
  width: 10vw;
  position: relative;
  margin: 0 auto;
  left: 10vw;
  top: -12.5vw;
}
.co8 {
  background: #fff;
  color: #000;
  ine-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: relative;
  top: -12.1vw;
}
.co8 ul {
  margin: 0;
  padding: 0;
}
.hamburger-menu .menu-content .top_menu .co8 ul li {
  margin: 0;
  padding: .2vw 0;
  border-bottom: solid 1px #ccc;
}
.km_top .top_menu .co8 ul {
  padding-left: 0;
  line-height: 2.4vw;
  position: relative;
  top: 0;
}
.km_top .top_menu .co8 ul li a { color: #000; }
.co8 ul li:last-child { border: none; }
.hamburger-menu .menu-content .top_menu ul li  .button_co8 a {
  padding: .5vw 0;
}

.co9 {
  position: relative;
  text-align: center;
  width: 100%;
  margin: 0 auto 30vw auto;
  background: #fff;
  color: #000;
  font-size: 3vw;
  line-height: 4vw;
  letter-spacing: .2vw;
  top: -6vw;
  border: solid 1px #ccc;
}
.co9 ul {
  margin: 0;
  padding: 0;
}
.co9 ul li {
  margin: 0;
  padding: .2vw 0;
  border-bottom: solid 1px #ccc;
}
.km_top .top_menu .co9 ul {
  padding-left: 0;
  line-height: 2.4vw;
  position: relative;
  top: 0;
}
.km_top .top_menu .co9 ul li a { color: #000; }
.co9 ul li:last-child { border: none; }

/* fixed header 店舗 */
.co10 {
  background: #fff;
  color: #000;
  line-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: absolute;
  top: 4.3vw;
  left: 23.6vw;
  z-index: 1;
}
.co10 div { cursol: pointer; }
.co10 ul {
  margin: 0;
  padding: 0;
}
.hamburger-menu .menu-content .top_menu .co10 ul li {
  margin: 0;
  padding: .2vw 0;
  border-bottom: solid 1px #ccc;
}
.km_top .top_menu .co10 ul {
  padding-left: 0;
  line-height: 2.4vw;
  position: relative;
  top: 0;
}
.km_top .top_menu .co10 ul li a { color: #000; }
.co10 ul li:last-child { border: none; }
.hamburger-menu .menu-content .top_menu ul li  .button_co10 a { padding: .5vw 0; }

/* header 店舗 */
.co11 {
  background: #fff;
  color: #000;
  line-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: absolute;
  top: 4.3vw;
  left: 23.6vw;
  z-index: 1;
}
.co11 ul {
  margin: 0;
  padding: 0;
}
.hamburger-menu .menu-content .top_menu .co11 ul li {
  margin: 0;
  padding: .2vw 0;
  border-bottom: solid 1px #ccc;
}
.km_top .top_menu .co11 ul {
  padding-left: 0;
  line-height: 2.4vw;
  position: relative;
  top: 0;
}
.km_top .top_menu .co11 ul li a { color: #000; }
.co11 ul li:last-child { border: none; }
.hamburger-menu .menu-content .top_menu ul li  .button_co11 a { padding: .5vw 0; }

/* fixed header FAQ*/
.co12 {
  background: #fff;
  color: #000;
  line-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: absolute;
  top: 4.3vw;
  left: 52.1vw;
  z-index: 1;
}
.co12 ul {
  margin: 0;
  padding: 0;
}
.co12 ul li:last-child { border: none; }

/* header FAQ */
.co13 {
  background: #fff;
  color: #000;
  line-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: absolute;
  top: 4.3vw;
  left: 52vw;
  z-index: 1;
}
.co13 ul {
  margin: 0;
  padding: 0;
}
.co13 ul li:last-child { border: none; }

/* fixed header IG */
.co14 {
  background: #fff;
  color: #000;
  line-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: absolute;
  top: 4.3vw;
  left: 63.4vw;
  z-index: 1;
}
.co14 ul {
  margin: 0;
  padding: 0;
}
.co14 ul li:last-child { border: none; }

/* header IG */
.co15 {
  background: #fff;
  color: #000;
  line-height: 2vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: absolute;
  top: 4.3vw;
  left: 63.4vw;
  z-index: 1;
}
.co15 ul {
  margin: 0;
  padding: 0;
}
.co15 ul li:last-child { border: none; }

/* header ご予約 */
.co16 {
  background: #fff;
  color: #000;
  line-height: 1vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: absolute;
  top: 4.3vw;
  left: 68.2vw;
  z-index: 1;
}
.co16 ul {
  margin: 0;
  padding: 0;
}
header .header_block .co16 ul li { padding: .51vw .7vw; }
.co16 ul li:last-child { border: none; }

/* fixed header ご予約 */
.co17 {
  background: #fff;
  color: #000;
  line-height: 1vw;
  letter-spacing: .2vw;
  border: solid 1px #ccc;
  position: absolute;
  top: 4.3vw;
  left: 68.2vw;
  z-index: 1;
}
.co17 ul {
  margin: 0;
  padding: 0;
}
header .header_block .co17 ul li { padding: .51vw .7vw; }
.co17 ul li:last-child { border: none; }

@media screen and (min-width: 1024px) {
  .pc-only { display: block; }
  .sp-only { display: none; }
  img { width: 100%; }
  h2 {
    text-align: center;
    letter-spacing: .7rem;
  }
  h2::after {
    width: 7rem;
    margin: 1rem auto 0 auto;
  }
  p { font-size: .8rem; }
  .grid_2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .grid_3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }

  .button_yoyaku {
    position: relative;
    top: 20vw;
    width: 80%;
    margin: 0 auto;
    border-radius: 22px;
    text-align: center;
    padding: .3rem 0;
  }
  .top_menu .button_yoyaku a { color: #000; }
  .more_button {
    text-align: center;
    border: solid 1px #9b9b9b;
    width: 15rem;
    margin: 0 auto;
    padding: .3rem 0;
  }
  .more_button::before {
    width: .8rem;
    height: .5rem;
    top: 1rem;
    left: 1.2rem;
  }

  .text_box p .pc-only {
    display: inline-block;
  }

  body {
    margin: 0;
    width: 100%;
  }

  header .header_block {
    background: #000;
    padding: 1vw 0;
    height: auto;
  }
  header .header_block .top_menu {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 81vw;
    margin: 0 auto;
  }
  header .header_logo {
    width: 10vw;
    display: flex;
    align-items: center;
  }
  header .header_block ul {
    display: flex;
    padding: 0;
  }
  header .header_block ul li {
    font-size: .8vw;
    padding: 0 .7vw;
    list-style: none;
  }
  header .header_block a {
    color: #fff;
    text-decoration: none;
  }
  header .header_block .ig_icon {
    width: 1.6vw;
    display: flex;
  }
  header .header_block .header_button_yoyaku {
    font-size: .8vw;
  }
  header .header_block .header_gengo {
    font-size: .8vw;
    display: flex;
  }
  header .header_block .header_gengo div {
    padding: 0 .7vw 0 0;
  }
  header .header_block .header_gengo .sl a::after {
    content: "/";
    padding-left: .7vw;
  }
  header .header_block .co10 ul,
  header .header_block .co11 ul,
  header .header_block .co12 ul,
  header .header_block .co13 ul,
  header .header_block .co14 ul,
  header .header_block .co15 ul,
  header .header_block .co16 ul,
  header .header_block .co17 ul {
    display: block;
    text-align: center;
  }
  header .header_block .co10 a,
  header .header_block .co11 a,
  header .header_block .co12 a,
  header .header_block .co13 a,
  header .header_block .co14 a,
  header .header_block .co15 a,
  header .header_block .co16 a,
  header .header_block .co17 a  {
    color: #000;
  }

  #fixed-header {
    position: fixed;
    top: -8rem;  
    width: 100%;
    transition: .5s;
    z-index: 999;
  }
  #fixed-header.is-show {
    top: 0;
  }

  .topblock .img_box {
    height: 33vw;
  }
  .topblock .img_box img {
    top: -15vw;
    width: 100%;
    left: 0;
  }

  #footer {
    height: 10rem;
    display: flex;
    padding-top: 1rem;
  }
  #footer .footer_logo {
    width: 13.5rem;
    position: relative;
    display: flex;
    left: 3rem;
    margin: 0;
  }
  #footer ul {
    position: absolute;
    right: 3rem;
    top: 3rem;
    display: flex;
    margin: 0 auto;
    justify-content: flex-end;
  }
  #footer ul li {
    padding: 0 1rem;
    border-right: 1px solid #fff;
    font-size: 1rem;
    line-height: 1rem;
  }
  #footer .copy {
    bottom: 3rem;
    right: 3rem;
    text-align: right;
    font-size: 1rem;
  }
}

#khblock_4 { margin: 8vw auto; }
.banner_block {
  width: 80vw;
  margin: 0 auto;
}
.banner_img {
  margin-bottom: 3vw;
  position: relative;
}
.banner_img img { display:block; }

.banner_textbox {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  color: #fff;
  text-align: center;
  height: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.banner_textbox p { font-size: 3.7vw; }
.banner_textbox p span { font-size: 2.5vw; }

.banner_img1 { margin-bottom: 3vw; }
.banner_img1 img {
  position: absolute;
  top: -32vw;
  left: 58%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 110vw;
  height: auto;
  display:block;
}
.banner_img2 {
  overflow: hidden;
  height: 30vw;
  position: relative;
  width: 85vw;
  margin: 0 auto 3vw auto;
}
.banner_img2 img {
  position: absolute;
  top: 18vw;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  display:block;
}
.banner_img3 {
  overflow: hidden;
  height: 30vw;
  position: relative;
  width: 85vw;
  margin: 0 auto 3vw auto;
}
.banner_img3 img {
  position: absolute;
  top: 13vw;
  left: 58%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 103vw;
  height: auto;
  display:block;
}
.banner_img4 {
  overflow: hidden;
  height: 30vw;
  position: relative;
  width: 85vw;
  margin: 0 auto;
}
.banner_img4 img {
  position: absolute;
  top: 8vw;
  left: 58%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100vw;
  height: auto;
  display:block;
}
@media screen and (min-width: 1024px) {
  #khblock_4 { margin: 3rem auto; }
  .banner_block { width: 38rem; }

  .banner_img {
    margin: 0 auto 3rem auto;
  }

  .banner_textbox p { font-size: 1.8rem; }
  .banner_textbox p span { font-size: .8rem; }

  .banner_img1 {
    overflow: hidden;
    height: 15rem;
    position: relative;
    width: 38rem;
    margin: 0 auto 3rem auto;
  }
  .banner_img1 img {
    position: absolute;
    top: -16rem;
    left: 58%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 53rem;
    height: auto;
    display:block;
  }
  .banner_img2 {
    overflow: hidden;
    height: 15rem;
    position: relative;
    width: 38rem;
    margin: 0 auto 3rem auto;
  }
  .banner_img2 img {
    position: absolute;
    top: 9rem;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    display:block;
  }
  .banner_img3 {
    overflow: hidden;
    height: 15rem;
    position: relative;
    width: 38rem;
    margin: 0 auto 3rem auto;
  }
  .banner_img3 img {
    position: absolute;
    top: 7rem;
    left: 58%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 50rem;
    height: auto;
    display:block;
  }
  .banner_img4 {
    overflow: hidden;
    height: 15rem;
    position: relative;
    width: 38rem;
    margin: 0 auto;
  }
  .banner_img4 img {
    position: absolute;
    top: 5rem;
    left: 58%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 45rem;
    height: auto;
    display:block;
  }
}