@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: bottom;
}

.parallax-window {
  min-height: 400px;
  background: transparent;
}

body {
  padding: 0;
  margin: 0;
  overflow-x: hidden;
}

#header {
  margin-bottom: 0;
}

#footer {
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
}
a:hover {
  opacity: .8;
}

strong {
  font-weight: bold;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

img {
  -webkit-backface-visibility: hidden;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.pd10 {
  padding-top: 10px;
}

.pd20 {
  padding-top: 20px;
}

.pd30 {
  padding-top: 30px;
}

.pd40 {
  padding-top: 40px;
}

.pd50 {
  padding-top: 50px;
}

.pd60 {
  padding-top: 60px;
}

.pd70 {
  padding-top: 70px;
}

.pd80 {
  padding-top: 80px;
}

/* ローディング画面の背景 */
.loading {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: url(../img/bg_line_gray.png) #fff;
  z-index: 9999;
}

/* アニメーション */
.animation {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  -webkit-animation: loadinganimation 1500ms ease-out forwards infinite;
  animation: loadinganimation 1500ms ease-out forwards infinite;
}
@media screen and (max-width: 768px) {
  .animation {
    top: 46%;
  }
}
@media screen and (max-width: 768px) {
  .animation img {
    width: 85vw;
  }
}

@keyframes loadinganimation {
  from,to {
    opacity: .5;
    transform: translate(-50%, -50%) scale(0.95);
  }
  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
div.wrap {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.6;
  color: #000;
}
@media screen and (max-width: 768px) {
  div.wrap {
    font-size: 3.4vw;
  }
}
div.wrap .inner {
  width: 1040px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  div.wrap .inner {
    width: 100%;
    padding: 0 4vw;
  }
}
div.wrap * {
  box-sizing: border-box;
}

.btn_top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  bottom: 40px;
  right: 40px;
  z-index: 1000;
  transition: all .3s;
}
@media screen and (max-width: 768px) {
  .btn_top {
    bottom: 4vw;
    right: 4vw;
  }
  .btn_top img {
    width: 12vw;
    height: 12vw;
  }
}
.btn_top.active {
  opacity: 1;
  visibility: visible;
}

.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

.kv {
  position: relative;
  width: 100%;
  height: 80vw;
  overflow: hidden;
  background: url(../img/kv_bg1.png) center top;
  background-size: 100% auto;
}
@media screen and (max-width: 768px) {
  .kv {
    background-size: 150% auto;
    height: 160vw;
  }
}
.kv .logowrap {
  position: absolute;
  width: 100%;
  height: 80vw;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .kv .logowrap {
    height: 160vw;
  }
}
.kv .logowrap .logo {
  position: absolute;
  top: 31vw;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 12;
  width: 62vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .kv .logowrap .logo {
    top: 48vw;
    width: 94vw;
  }
}
.kv .logowrap .logo .kv_logo_1 {
  width: 24vw;
  opacity: 0;
  visibility: hidden;
}
.kv .logowrap .logo .kv_logo_1.active {
  animation: kv_logo_1 0.7s ease-in-out 1s forwards;
}
@media screen and (max-width: 768px) {
  .kv .logowrap .logo .kv_logo_1 {
    width: 36vw;
  }
}
@keyframes kv_logo_1 {
  0% {
    visibility: visible;
    opacity: 0;
    transform: scale(0);
    top: 900px;
  }
  70% {
    visibility: visible;
    opacity: 1;
    transform: scale(1.5);
    top: 420px;
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    top: 440px;
  }
}
.kv .logowrap .logo .kv_logo_2 {
  width: 8vw;
  opacity: 0;
  visibility: hidden;
  margin-left: -2vw;
}
.kv .logowrap .logo .kv_logo_2.active {
  animation: kv_logo_1 0.7s ease-in-out 1.1s forwards;
}
@media screen and (max-width: 768px) {
  .kv .logowrap .logo .kv_logo_2 {
    width: 12vw;
  }
}
@keyframes kv_logo_1 {
  0% {
    visibility: visible;
    opacity: 0;
    transform: scale(0);
    top: 900px;
  }
  70% {
    visibility: visible;
    opacity: 1;
    transform: scale(1.5);
    top: 420px;
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    top: 440px;
  }
}
.kv .logowrap .logo .kv_logo_3 {
  width: 28vw;
  opacity: 0;
  visibility: hidden;
}
.kv .logowrap .logo .kv_logo_3.active {
  animation: kv_logo_1 0.7s ease-in-out 1.2s forwards;
}
@media screen and (max-width: 768px) {
  .kv .logowrap .logo .kv_logo_3 {
    width: 46vw;
  }
}
@keyframes kv_logo_1 {
  0% {
    visibility: visible;
    opacity: 0;
    transform: scale(0);
    top: 900px;
  }
  70% {
    visibility: visible;
    opacity: 1;
    transform: scale(1.5);
    top: 420px;
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    top: 440px;
  }
}
.kv .logowrap .copy {
  position: absolute;
  top: 58vw;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 12;
  width: 90vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .kv .logowrap .copy {
    top: 88vw;
  }
}
.kv .logowrap .copy .kv_copy_1 {
  width: 64vw;
  opacity: 0;
  visibility: hidden;
}
.kv .logowrap .copy .kv_copy_1.active {
  animation: kv_logo_1 0.7s ease-in-out 2s forwards;
}
@media screen and (max-width: 768px) {
  .kv .logowrap .copy .kv_copy_1 {
    width: 86vw;
  }
}
@keyframes kv_logo_1 {
  0% {
    visibility: visible;
    opacity: 0;
    transform: scale(0);
    top: 900px;
  }
  70% {
    visibility: visible;
    opacity: 1;
    transform: scale(1.5);
    top: 420px;
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    top: 440px;
  }
}
.kv .logowrap .copy .kv_copy_2 {
  width: 70vw;
  opacity: 0;
  visibility: hidden;
  margin-top: 2vw;
}
.kv .logowrap .copy .kv_copy_2.active {
  animation: kv_logo_1 0.7s ease-in-out 2.1s forwards;
}
@media screen and (max-width: 768px) {
  .kv .logowrap .copy .kv_copy_2 {
    width: 78vw;
    margin-top: 3vw;
  }
}
@keyframes kv_logo_1 {
  0% {
    visibility: visible;
    opacity: 0;
    transform: scale(0);
    top: 900px;
  }
  70% {
    visibility: visible;
    opacity: 1;
    transform: scale(1.5);
    top: 420px;
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    top: 440px;
  }
}
.kv .logowrap .copy .kv_copy_3 {
  width: 70vw;
  opacity: 0;
  visibility: hidden;
  margin-top: 2vw;
}
.kv .logowrap .copy .kv_copy_3.active {
  animation: kv_logo_1 0.7s ease-in-out 2.2s forwards;
}
@media screen and (max-width: 768px) {
  .kv .logowrap .copy .kv_copy_3 {
    width: 90vw;
    margin-top: 3vw;
  }
}
@keyframes kv_logo_1 {
  0% {
    visibility: visible;
    opacity: 0;
    transform: scale(0);
    top: 900px;
  }
  70% {
    visibility: visible;
    opacity: 1;
    transform: scale(1.5);
    top: 420px;
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    top: 440px;
  }
}
.kv .bg {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 52vw;
  overflow: hidden;
  background: url(../img/kv_bg2.png) center top no-repeat;
  background-size: cover;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .kv .bg {
    background: url(../img/kv_bg2_sp.png) center top no-repeat cover;
    height: 116vw;
  }
}
.kv .chara {
  position: relative;
  width: 100%;
  height: 80vw;
  z-index: 1;
}
.kv .chara .kv_1 {
  position: absolute;
  top: 9vw;
  left: 0vw;
  z-index: 4;
  opacity: 0;
  width: 38vw;
}
.kv .chara .kv_1.active {
  animation: kv_up1 0.8s ease-in-out .3s 1 normal forwards;
}
@media screen and (max-width: 768px) {
  .kv .chara .kv_1.active {
    animation: kv_up1_sp 0.8s ease-in-out .3s 1 normal forwards;
  }
}
@media screen and (max-width: 768px) {
  .kv .chara .kv_1 {
    left: -22vw;
    width: 54vw;
  }
}
@keyframes kv_up1 {
  0% {
    opacity: 0;
    top: 60vw;
  }
  70% {
    opacity: 1;
    top: 5vw;
  }
  100% {
    opacity: 1;
    top: 10vw;
  }
}
@keyframes kv_up1_sp {
  0% {
    opacity: 0;
    top: 60vw;
  }
  70% {
    opacity: 1;
    top: 14vw;
  }
  100% {
    opacity: 1;
    top: 18vw;
  }
}
.kv .chara .kv_2 {
  position: absolute;
  top: 9vw;
  left: 27vw;
  z-index: 1;
  opacity: 0;
  width: 23vw;
}
.kv .chara .kv_2.active {
  animation: kv_up2 0.8s ease-in-out .5s 1 normal forwards;
}
@media screen and (max-width: 768px) {
  .kv .chara .kv_2 {
    left: 17vw;
    width: 34vw;
  }
}
@keyframes kv_up2 {
  0% {
    opacity: 0;
    top: 60vw;
  }
  70% {
    opacity: 1;
    top: -2vw;
  }
  100% {
    opacity: 1;
    top: 2vw;
  }
}
.kv .chara .kv_3 {
  position: absolute;
  top: 9vw;
  left: 30vw;
  z-index: 3;
  opacity: 0;
  width: 54vw;
}
.kv .chara .kv_3.active {
  animation: kv_up3 0.8s ease-in-out .6s 1 normal forwards;
}
@media screen and (max-width: 768px) {
  .kv .chara .kv_3.active {
    animation: kv_up3_sp 0.8s ease-in-out .6s 1 normal forwards;
  }
}
@media screen and (max-width: 768px) {
  .kv .chara .kv_3 {
    left: 21vw;
    width: 75vw;
  }
}
@keyframes kv_up3 {
  0% {
    opacity: 0;
    top: 60vw;
  }
  70% {
    opacity: 1;
    top: 5vw;
  }
  100% {
    opacity: 1;
    top: 10vw;
  }
}
@keyframes kv_up3_sp {
  0% {
    opacity: 0;
    top: 60vw;
  }
  70% {
    opacity: 1;
    top: 14vw;
  }
  100% {
    opacity: 1;
    top: 18vw;
  }
}
.kv .chara .kv_4 {
  position: absolute;
  top: 9vw;
  left: 38vw;
  z-index: 2;
  opacity: 0;
  width: 64vw;
}
.kv .chara .kv_4.active {
  animation: kv_up4 0.8s ease-in-out .4s 1 normal forwards;
}
@media screen and (max-width: 768px) {
  .kv .chara .kv_4.active {
    animation: kv_up4_sp 0.8s ease-in-out .4s 1 normal forwards;
  }
}
@media screen and (max-width: 768px) {
  .kv .chara .kv_4 {
    left: 29vw;
    width: 94vw;
  }
}
@keyframes kv_up4 {
  0% {
    opacity: 0;
    top: 60vw;
  }
  70% {
    opacity: 1;
    top: 0vw;
  }
  100% {
    opacity: 1;
    top: 4vw;
  }
}
@keyframes kv_up4_sp {
  0% {
    opacity: 0;
    top: 60vw;
  }
  70% {
    opacity: 1;
    top: 0vw;
  }
  100% {
    opacity: 1;
    top: 6vw;
  }
}
nav {
  width: 100%;
  height: 250px;
  background: url(../img/nav_bg.png);
  padding-top: 20px;
}
@media screen and (max-width: 768px) {
  nav {
    height: auto;
    padding: 4vw 0;
  }
}
nav ul {
  display: flex;
  justify-content: space-between;
  width: 920px;
  margin: 0 auto;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  nav ul {
    width: 100%;
    padding: 0 4vw;
  }
}
nav ul li {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  nav ul li:nth-child(1) {
    margin: 0;
  }
  nav ul li:nth-child(2) {
    margin: 0;
  }
}
nav ul li a {
  background-color: #000;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  width: 294px;
  height: 80px;
  display: block;
  text-align: center;
  padding-top: 28px;
}
@media screen and (max-width: 768px) {
  nav ul li a {
    width: 44vw;
    height: 16vw;
    font-size: 3.6vw;
    line-height: 1.4;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.sec1 {
  background: url(../img/cam_bg.png) repeat-y;
  background-size: 100% auto;
  width: 100%;
  padding: 50px 0 400px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .sec1 {
    padding: 6vw 0 46vw;
  }
}
.sec1 .inner {
  position: relative;
  width: 1040px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec1 .inner {
    width: 100%;
    padding: 0 4vw;
  }
}
@media screen and (max-width: 768px) {
  .sec1 .inner h2 img {
    height: 26vw;
  }
}
.sec1 .inner .box {
  width: 920px;
  margin: 0 auto;
  background-color: #fff;
  padding: 50px;
  margin-top: 80px;
  position: relative;
  border: 4px  solid #fedc01;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box {
    width: 100%;
    padding: 8vw 6vw 6vw;
    margin-top: 16vw;
  }
}
.sec1 .inner .box h3 {
  position: absolute;
  top: -64px;
  left: -35px;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box h3 {
    top: -12vw;
    left: -3vw;
  }
  .sec1 .inner .box h3 img {
    height: 19vw;
  }
}
.sec1 .inner .box p {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box p {
    margin-top: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box p.sp_l {
    text-align: left;
  }
}
.sec1 .inner .box p.l {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box p.l {
    font-size: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box p img {
    width: 100%;
  }
}
.sec1 .inner .box h4 {
  background-color: #000;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  margin: 40px 0 20px;
  padding: 6px 0 6px 16px;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box h4 {
    text-align: center;
    padding: 2vw 0;
    margin: 6vw 0 0;
    font-size: 4vw;
  }
}
.sec1 .inner .box .stepwrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap {
    display: block;
  }
}
.sec1 .inner .box .stepwrap .step {
  width: 262px;
  height: 292px;
  border: 2px solid #30394e;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap .step {
    width: 100%;
    height: auto;
    padding-bottom: 4vw;
    margin-top: 4vw;
  }
}
.sec1 .inner .box .stepwrap .step h5 {
  background-color: #30394e;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 4px 0;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap .step h5 {
    font-size: 3.6vw;
    padding: 2vw 0;
  }
}
.sec1 .inner .box .stepwrap .step .txtwrap {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap .step .txtwrap {
    width: 100%;
    height: 28vw;
  }
}
.sec1 .inner .box .stepwrap .step .txtwrap p {
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap .step .txtwrap p {
    margin-top: 1vw;
  }
}
.sec1 .inner .box .stepwrap .step .txtwrap p .s {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap .step .txtwrap p .s {
    font-size: 3.8vw;
  }
}
.sec1 .inner .box .stepwrap .step .txtwrap p .m {
  font-size: 17px;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap .step .txtwrap p .m {
    font-size: 4.2vw;
  }
}
.sec1 .inner .box .stepwrap .step .txtwrap p .l {
  font-size: 28px;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap .step .txtwrap p .l {
    font-size: 5.4vw;
  }
}
.sec1 .inner .box .stepwrap .step .txtwrap p .y_bg {
  position: relative;
}
.sec1 .inner .box .stepwrap .step .txtwrap p .y_bg::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fedc01;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.sec1 .inner .box .stepwrap .step .txtwrap p .y_bg > span {
  position: relative;
  z-index: 2;
}
.sec1 .inner .box .stepwrap .step .btn {
  display: block;
  background-color: #0078c3;
  color: #fff;
  width: 220px;
  height: 60px;
  padding-top: 20px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec1 .inner .box .stepwrap .step .btn {
    width: 80%;
    font-size: 4vw;
    padding: 4vw 0;
    height: auto;
    margin-top: 2vw;
  }
}

.item {
  width: 100%;
  padding: 60px 0;
  text-align: center;
  position: relative;
  z-index: 2;
}
.item.item1 {
  background: url(../img/bg_line_b.png);
  position: relative;
  padding-top: 400px;
  padding-bottom: 400px;
}
@media screen and (max-width: 768px) {
  .item.item1 {
    padding-top: 42vw;
    padding-bottom: 42vw;
  }
}
.item.item1::after {
  content: "";
  display: block;
  width: 100%;
  height: 700px;
  background-color: #5dbddc;
  transform: skew(0, -11deg);
  position: absolute;
  bottom: 300px;
  z-index: -1;
}
.item.item1 .data, .item.item1 .item {
  border: 3px solid #5dbddc;
}
.item.item2 {
  background: url(../img/bg_ico_gr.png) repeat-y;
  background-size: 100% auto;
  padding-top: 400px;
}
@media screen and (max-width: 768px) {
  .item.item2 {
    padding-top: 42vw;
  }
}
.item.item2 .data, .item.item2 .item {
  border: 3px solid #c3e0b9;
}
.item.item3 {
  background: url(../img/bg_line_gr.png);
  position: relative;
  padding-bottom: 400px;
}
@media screen and (max-width: 768px) {
  .item.item3 {
    padding-bottom: 42vw;
  }
}
.item.item3::after {
  content: "";
  display: block;
  width: 100%;
  height: 700px;
  background-color: #87c174;
  transform: skew(0, -11deg);
  position: absolute;
  bottom: 300px;
  z-index: -1;
}
.item.item3 .data, .item.item3 .item {
  border: 3px solid #87c174;
}
.item.item4 {
  background: url(../img/bg_ico_or.png) repeat-y;
  background-size: 100% auto;
  padding-top: 400px;
  padding-bottom: 400px;
}
@media screen and (max-width: 768px) {
  .item.item4 {
    padding-top: 42vw;
    padding-bottom: 42vw;
  }
}
.item.item4 .data, .item.item4 .item {
  border: 3px solid #f5d0b3;
}
.item.item5 {
  background: url(../img/bg_line_pu.png);
  position: relative;
  padding-top: 400px;
}
@media screen and (max-width: 768px) {
  .item.item5 {
    padding-top: 42vw;
  }
}
.item.item5::after {
  content: "";
  display: block;
  width: 100%;
  height: 700px;
  background-color: #8ea3cc;
  transform: skew(0, -11deg);
  position: absolute;
  bottom: 300px;
  z-index: -1;
}
.item.item5 .data, .item.item5 .item {
  border: 3px solid #8ea3cc;
}
.item.item6 {
  background: url(../img/bg_ico_pu.png) repeat-y;
  background-size: 100% auto;
}
.item.item6 .data, .item.item6 .item {
  border: 3px solid #cad4e8;
}
@media screen and (max-width: 768px) {
  .item.item6 h3 {
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .item h2 img {
    height: 9vw;
  }
  .item h2 img.twoline {
    height: 20vw;
  }
}
.item h3 {
  margin-top: 20px;
  font-size: 21px;
  font-weight: bold;
  color: #000;
  line-height: 1.8;
  text-shadow: #fff 2px 0px,  #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px , #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px,  #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px,  #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}
@media screen and (max-width: 768px) {
  .item h3 {
    font-size: 4vw;
  }
  .item h3 small {
    font-size: 3.6vw;
  }
}
.item .display {
  position: absolute;
  top: -320px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 922px;
}
@media screen and (max-width: 768px) {
  .item .display {
    top: -34vw;
    width: 92vw;
  }
}
.item .display .display_frame {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 922px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .item .display .display_frame {
    width: 100%;
  }
}
.item .display .charawrap {
  position: absolute;
  top: 60px;
  left: 50.4%;
  transform: translate(-50%, 0);
  width: 728px;
  height: 512px;
  z-index: 2;
  overflow: hidden;
  background: transparent;
}
.item .display .charawrap.anim1 {
  transition: all 2s 1s;
}
.item .display .charawrap.anim2 {
  transition: all 2s 0.2s;
}
@media screen and (max-width: 768px) {
  .item .display .charawrap {
    width: 73vw;
    height: 51.2vw;
    top: 6vw;
  }
  .item .display .charawrap img {
    width: 100%;
  }
}
.item .display .charawrap.gintoki {
  background: url(../img/gintoki_display.jpg) no-repeat;
  background-size: 100% auto;
}
.item .display .charawrap.gintoki.active {
  background-position-y: -390px;
}
@media screen and (max-width: 768px) {
  .item .display .charawrap.gintoki.active {
    background-position-y: -40vw;
  }
}
.item .display .charawrap.hijikata {
  background: url(../img/hijikata_display.jpg) no-repeat;
  background-size: 100% auto;
}
.item .display .charawrap.hijikata.active {
  background-position-y: -390px;
}
@media screen and (max-width: 768px) {
  .item .display .charawrap.hijikata.active {
    background-position-y: -40vw;
  }
}
.item .display .charawrap.okita {
  background: url(../img/okita_display.jpg) no-repeat;
  background-size: 100% auto;
}
.item .display .charawrap.okita.active {
  background-position-y: -390px;
}
@media screen and (max-width: 768px) {
  .item .display .charawrap.okita.active {
    background-position-y: -40vw;
  }
}
.item .display .charawrap.katsura {
  background: url(../img/katsura_display.jpg) no-repeat;
  background-size: 100% auto;
}
.item .display .charawrap.katsura.active {
  background-position-y: -390px;
}
@media screen and (max-width: 768px) {
  .item .display .charawrap.katsura.active {
    background-position-y: -40vw;
  }
}
.item .inner {
  position: relative;
}
.item .data {
  background-color: #fff;
  padding: 20px;
  width: 800px;
  margin: 30px auto 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .item .data {
    width: 100%;
  }
}
.item .data dl {
  display: flex;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .item .data dl {
    display: block;
  }
}
.item .data dl:first-child {
  margin-top: 0;
}
.item .data dl dt {
  width: 110px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .item .data dl dt {
    width: auto;
    margin-top: 4vw;
  }
  .item .data dl dt:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .item .data dl dd {
    margin-top: 1vw;
  }
}
.item .boxwrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
}
.item .boxwrap.box_center {
  justify-content: center;
}
.item .boxwrap.box_center .item {
  margin-right: 14px;
}
@media screen and (max-width: 768px) {
  .item .boxwrap.box_center .item {
    margin-right: 0;
  }
  .item .boxwrap.box_center .item:nth-child(odd) {
    margin-right: 4vw;
  }
}
.item .boxwrap.box_center .item:last-child {
  margin-right: 0;
}
.item .boxwrap .item {
  margin-top: 40px;
  text-align: center;
  width: 249px;
  position: relative;
  background-color: #fff;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .item .boxwrap .item {
    margin-top: 4vw;
    width: 44vw;
    padding: 4vw;
  }
}
.item .boxwrap .item:nth-child(4n +1) {
  margin-left: 0;
}
.item .boxwrap .item.mt80 {
  margin-top: 80px;
}
.item1 .item .boxwrap .item {
  border: 2px solid;
}
.item .boxwrap .item .tagwrap {
  position: absolute;
  top: -30px;
  left: 0;
  display: flex;
}
.item .boxwrap .item .tagwrap .tag {
  color: #fff;
  padding: 2px 10px;
  font-size: 13px;
  margin-right: 4px;
}
.item .boxwrap .item .tagwrap .tag.red {
  background-color: #ff828d;
}
.item .boxwrap .item .tagwrap .tag.orange {
  background-color: #ffab67;
}
.item .boxwrap .item .tagwrap .tag.blue {
  background-color: #70b1ff;
}
.item .boxwrap .item .tagwrap .tag.purple {
  background-color: #c07afd;
}
.item .boxwrap .item .pic {
  height: 210px;
  width: 210px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .item .boxwrap .item .pic {
    width: 34vw;
    height: 34vw;
  }
}
.item .boxwrap .item .pic a {
  display: block;
  opacity: 1;
  position: relative;
  transition: all .2s;
  background-color: #fff;
  width: 100%;
  height: 100%;
}
.item .boxwrap .item .pic a:hover {
  opacity: 0.8;
  transform: scale(1.05);
}
.item .boxwrap .item .pic a img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  vertical-align: bottom;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .item .boxwrap .item .pic a img {
    width: 100%;
  }
}
.item .boxwrap .item .name {
  color: #000;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .item .boxwrap .item .name {
    margin-top: 4vw;
  }
}
.item .boxwrap .item .price {
  color: #000;
  line-height: 1;
  margin-top: 10px;
  font-weight: bold;
}
.item .boxwrap .item .price strong {
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  .item .boxwrap .item .price strong {
    font-size: 5vw;
  }
}
.item .boxwrap .item .btnwrap {
  text-align: center;
  margin-top: 20px;
  width: 100%;
}
.item .boxwrap .item .btnwrap .btn {
  width: 100%;
  display: block;
  color: #fff;
  font-weight: bold;
  padding: 14px 22px;
  position: relative;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .item .boxwrap .item .btnwrap .btn {
    padding: 2vw 0;
    line-height: 1.4;
  }
}
.item .boxwrap .item .btnwrap .btn.cart {
  background-color: #000;
}
.item .boxwrap .item .btnwrap .btn.more {
  width: 180px;
  padding: 10px 0 14px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .item .boxwrap .item .btnwrap .btn.more {
    width: 30vw;
  }
}
.item .boxwrap .item .btnwrap .btn.more::after {
  top: 19px;
  width: 8px;
  height: 8px;
}

.guide {
  padding-bottom: 60px;
}
.guide.bg1 {
  background: url(../img/bg_line_gray.png);
}
.guide h2 {
  padding: 60px 0  40px;
}
@media screen and (max-width: 768px) {
  .guide h2 {
    padding: 8vw 0 4vw;
  }
  .guide h2 img {
    height: 9vw;
  }
}
.guide a {
  text-decoration: underline;
}
.guide .guidebox {
  width: 850px;
  margin: 20px auto 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .guide .guidebox {
    width: 100%;
    margin: 2vw auto 0;
  }
}
.guide .guidebox h3 {
  background-color: #000;
  font-size: 18px;
  color: #fff;
  text-align: center;
  padding: 6px 0;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .guide .guidebox h3 {
    font-size: 3.6vw;
    padding: 3vw 0;
  }
}
.guide .guidebox h3::after {
  content: "";
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: #ffffff transparent transparent transparent;
}
.guide .guidebox h3:hover {
  opacity: 0.8;
}
.guide .guidebox .togglebox {
  padding: 40px 60px;
  display: none;
}
@media screen and (max-width: 768px) {
  .guide .guidebox .togglebox {
    padding: 4vw 6vw;
  }
}
.guide .guidebox .togglebox h4 {
  margin-top: 30px;
  color: #96781c;
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .guide .guidebox .togglebox h4 {
    font-size: 3.8vw;
  }
}
.guide .guidebox .togglebox h4:first-child {
  margin-top: 0;
}
.guide .guidebox .togglebox p {
  margin-top: 10px;
}

.guide .guidebox .togglebox p .note {
	display: inline-block;
	color: #FF0000;
	margin-top: 15px;
}

footer {
  width: 100%;
  padding: 40px 0 0;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 6vw 0 0;
  }
}
footer .logo {
  text-align: center;
}
footer .logo img {
  width: 206px;
}
@media screen and (max-width: 768px) {
  footer .logo img {
    width: 40vw;
  }
}
footer .share {
  margin-top: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  footer .share {
    margin-top: 4vw;
  }
}
footer .share a {
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  footer .share a img.tw {
    height: 5vw;
  }
  footer .share a img.fb {
    height: 5.4vw;
  }
}
footer .copyright {
  text-align: center;
  padding: 60px 0 20px;
  font-size: 12px;
  color: #555;
}
@media screen and (max-width: 768px) {
  footer .copyright {
    font-size: 3vw;
    padding: 10vw 0 4vw;
  }
}

/*# sourceMappingURL=gintama.css.map */
