html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style: none;
}

button,
input,
select,
textarea {
  margin: 0;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

img,
embed,
iframe,
object,
video {
  height: auto;
  max-width: 100%;
}

audio {
  max-width: 100%;
}

iframe {
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
  text-align: left;
}

textarea,
input[type="email"],
input[type="password"],
input[type="text"],
input[type="button"],
input[type="submit"] {
  -webkit-appearance: none;
}

textarea {
  resize: vertical;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 1000px white inset;
  outline: none;
}

input,
button {
  outline: none;
}

s area {
  border: none;
  outline: none;
}

img {
  -ms-interpolation-mode: bicubic;
}

* {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.25);
  max-height: 999999px;
}

*::before,
*::after {
  will-change: all;
  box-sizing: border-box;
}

em,
i,
b {
  font-weight: normal;
  font-style: normal;
}

body {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

input,
textarea,
select {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

a {
  cursor: pointer;
  text-decoration: none;
}

a:link {
  color: #000;
}

a:visited {
  color: #000;
}

a:hover {
  color: #000;
  text-decoration: none;
}

a:active {
  color: #000;
}

.clr {
  clear: both;
}

.hide {
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
}

section {
  clear: both;
  zoom: 1;
}

article:after,
section:after,
.clrFx:after {
  content: '';
  clear: both;
  display: block;
}

/*
html{overflow:hidden;}
html.windowloaded {overflow: visible;}
*/
@media screen and (min-width: 781px) {
  .sp-item {
    display: none !important;
  }

  h2.line {
    position: relative;
    width: 654px;
    height: auto;
    line-height: 1.7;
    margin: 0 auto;
    padding: 14px 0;
    font-size: 48px;
    letter-spacing: 0.12em;
    font-weight: 600;
  }

  h2.line:before {
    content: "";
    width: 100%;
    height: 5px;
    background: url("/images/h3-line-top.png") repeat-x left top;
    background-size: 1px 5px;
    position: absolute;
    left: 0;
    top: 0;
  }

  h2.line:after {
    content: "";
    width: 100%;
    height: 5px;
    background: url("/images/h3-line-bottom.png") repeat-x left top;
    background-size: 1px 5px;
    position: absolute;
    left: 0;
    bottom: 0;
  }

  h3.line {
    position: relative;
    width: 497px;
    line-height: 1.7;
    padding: 13px 0;
    margin: 0 auto;
    text-align: center;
  }

  h3.line:before {
    content: "";
    width: 100%;
    height: 5px;
    background: url("/images/h3-line-top.png") repeat-x left top;
    background-size: 1px 5px;
    position: absolute;
    left: 0;
    top: 0;
  }

  h3.line:after {
    content: "";
    width: 100%;
    height: 5px;
    background: url("/images/h3-line-bottom.png") repeat-x left top;
    background-size: 1px 5px;
    position: absolute;
    left: 0;
    bottom: 0;
  }
}

body {
  position: static;
  overflow: auto;
  width: auto;
  *overflow-y: hidden;
  color: #000;
  font-size: 20px;
  line-height: 1.5;
  z-index: 0;
  background: #fff;
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.over-section {
  margin: 0 -800px;
  zoom: 1;
  position: relative;
  *overflow-y: hidden;
  clear: both;
  padding: 0;
}

.over-section:after {
  content: '';
  clear: both;
  display: block;
}

main {
  padding: 0;
  position: relative;
}

section {
  width: 100%;
  margin: 0 auto;
  clear: both;
  zoom: 1;
  position: relative;
  z-index: 100;
  padding: 0;
}

.wrap {
  margin: 0 auto;
  clear: both;
  zoom: 1;
  position: relative;
  z-index: 100;
  padding: 0;
}

article {
  margin: 0 auto;
  clear: both;
  zoom: 1;
  position: relative;
  z-index: 10;
  padding: 0;
}

article:after,
section:after,
.wrap:after {
  content: '';
  clear: both;
  display: block;
}

/*#wrapper{width: 100%; position: relative; margin: 0 auto; overflow: hidden; min-height: 100vh;background: url("/images/bg.png"); min-width: 1200px; background-attachment: fixed;}*/
#wrapper {
  background: #fff;
}

main {
  width: 100%;
  text-align: center;
  z-index: 10;
  display: block;
}

#loading {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 20000;
}

.siteheader {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000;
}

.gnav {
  width: 640px;
  background: url("/images/bg_nav.jpg") center top no-repeat #f6f5f8;
  position: fixed;
  right: 0;
  top: 0;
  height: 100vh;
  text-align: center;
  font-size: 0;
  line-height: 1;
}

.gnav ul a {
  display: block;
  font-size: 21px;
  line-height: 74px;
  transition: 0.3s;
}

.gnav ul a:hover {
  color: #bc3344;
}

.gnav a {
  letter-spacing: 0.1em;
}

.gnav p.lab {
  margin: 25px 0 0;
}

.gnav p.lab a {
  display: block;
  border: 1px solid #000;
  font-size: 21px;
  line-height: 52px;
  border: 1px solid #000;
  width: 274px;
  margin: 0 auto;
  transition: 0.3s;
}

.gnav p.lab a:hover {
  color: #fff;
  background: #bc3344;
  border-color: #bc3344;
}

.gnav p.lab i {
  width: 29px;
  height: 19px;
  position: relative;
  display: inline-block;
  margin: 2px 16px 0 0;
  top: 4px;
}

.gnav p.lab i::before {
  content: '';
  width: 20px;
  height: 12px;
  border: 1px solid #000;
  position: absolute;
  left: 0;
  bottom: 0;
}

.gnav p.lab i:after {
  content: '';
  width: 20px;
  height: 12px;
  border: 1px solid #000;
  position: absolute;
  right: 0;
  top: 0;
}

.gnav p.lab a:hover i::before,
.gnav p.lab a:hover i::after {
  border-color: #fff;
}

.gnav small {
  font-size: 16px;
  position: relative;
  top: 0.38em;
}

.gnav .sitelogo {
  display: none;
}

.gnav .scroll {
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
  padding: 54px 0;
}

.gnav {
  transform: translate(101%, 0);
  transition: 0.6s 0.05s cubic-bezier(0.23, 1, 0.32, 1);
}

.gnav a,
.gnav p {
  opacity: 0;
  transform: translate(0, 0);
  transition: 0.65s cubic-bezier(0.23, 1, 0.32, 1);
}

.menuopen .gnav {
  transform: translate(0, 0);
  transition: 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.menuopen .gnav a,
.menuopen .gnav p {
  opacity: 1;
  transform: translate(0, 0);
  transition: 1.2s 0s cubic-bezier(0.23, 1, 0.32, 1);
}

.control {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 15000;
  font-size: 0;
  line-height: 1;
}

.control .menu {
  width: 63px;
  height: 63px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 100;
}

.control .menu b {
  display: block;
  height: 63px;
  background-color: rgba(255, 255, 255, 0.9);
  position: relative;
  cursor: pointer;
  z-index: 100;
  transition: 0.3s;
}

.control .menu b::after,
.control .menu b::before {
  content: '';
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  transition: 0.3s;
}

.control .menu b::before {
  opacity: 1;
  background-image: url("/images/menu.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  z-index: 100;
}

.control .menu b::after {
  opacity: 0;
  background-image: url("/images/menu_white.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  z-index: 100;
}

.control .menu b:hover {
  background-color: #b43746;
}

.control .menu b:hover::after {
  opacity: 1;
}

.control .menu b:hover::before {
  opacity: 0;
}

.control .menu i {
  background: url("/images/btn_close.png") no-repeat center center #373838;
  background-size: cover;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 200;
  height: 100%;
  width: 100%;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s;
  left: 100%;
}

.control .sns_ec {
  display: flex;
  flex-direction: column;
  padding: 86px 8px;
  position: relative;
  z-index: 10;
}

.control .sns_ec a {
  display: block;
  width: 46px;
  height: 46px;
  position: relative;
  background: #080604;
  border-radius: 100%;
  margin: 0 0 10px;
  transition: 0.3s;
}

.control .sns_ec a i {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}

.control .sns_ec a[href*='insta'] i {
  background: url("/images/icn_insta.png") no-repeat center center/cover;
}

.control .sns_ec a[href*='x'] i {
  background: url("/images/icn_twitter.png") no-repeat center center/cover;
}

.control .sns_ec a[href*='faceb'] i {
  background: url("/images/icn_facebook.png") no-repeat center center/cover;
}

.control .sns_ec a[href*='note'] i {
  background: url("/images/icn_note.png") no-repeat center center/cover;
  background-size: 110%;
}

.control .sns_ec a.ec i {
  background: url("/images/icn_shop.png") no-repeat center center/cover;
}

.control .sns_ec a:hover {
  opacity: 0.5;
}

.control .sns_ec a.ec {
  margin-top: 24px;
  background: #b93242;
}

.menuopen .control .menu i {
  opacity: 1;
  left: 0;
}

.menuopen .control .menu i:hover {
  filter: brightness(1.2);
}

.sitefooter {
  padding: 45px 0 0;
  font-size: 0;
  line-height: 1;
  background: #e8e8e8;
  margin-top: 100px;
  min-width: 1200px;
}

.sitefooter .link {
  display: flex;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
  min-width: 1200px;
}

.sitefooter .link img {
  width: 100%;
  height: auto;
}

.sitefooter .link li {
  position: relative;
  padding: 0 14px;
}

.sitefooter .link li:nth-child(1) {
  padding: 0 14px 0 0;
}

.sitefooter .link li:nth-child(3) {
  padding: 0 0 0 14px;
}

.sitefooter .link b {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.sitefooter .link b img {
  width: 72px;
  position: relative;
  z-index: 10;
  height: auto;
}

.sitefooter .link i {
  display: inline-block;
  position: relative;
  transition: 0.9s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.sitefooter .link i::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border: 2px solid rgba(255, 255, 255, 0.75);
  transition: 0.3s;
}

.sitefooter .link i::after {
  content: '';
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  background: rgba(255, 255, 255, 0.75);
  position: absolute;
  left: 4px;
  top: 4px;
  transition: 0.3s;
}

.sitefooter .textlink {
  font-size: 15px;
  color: #000;
  max-width: 1400px;
  min-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.sitefooter .textlink li {
  padding: 0 28px;
  margin-bottom: 14px;
}

.sitefooter .textlink li+li {
  border-left: 1px solid #616062;
  letter-spacing: 0.15em;
}

.sitefooter .textlink a:hover {
  text-decoration: underline;
}

.sitefooter .textlink+.textlink {
  margin-top: 8px;
}

.sitefooter .textlink+.textlink li:nth-child(2) {
  border-left: none;
}

.sitefooter .textlink+.textlink+.textlink li:nth-child(2) {
  border-left: 1px solid #616062;
}


.sitefooter .bottom {
  margin: 16px auto 0;
  border-top: 1px solid #000;
  min-width: 1200px;
  max-width: 1400px;
  padding: 30px 0;
}

.sitefooter .copyrights {
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  font-family: "Neuton", sans-serif;
  letter-spacing: 0.15em;
}

.sitefooter .tel {
  font-size: 16px;
  line-height: 30px;
  text-align: center;
  font-family: "Neuton", sans-serif;
  letter-spacing: 0.15em;
}

.sitefooter .tel a {
  animation: alpha-change 2s linear infinite;
  padding: 10px 0;
  border: 1px solid #000000;
  display: block;
  width: 300px;
  margin: 0 auto 20px auto;
}

@keyframes alpha-change {

  0%,
  100% {
    color: #000;
    border: 1px solid #000000;
  }

  50% {
    color: #cf1030;
    border: 1px solid #cf1030;
  }
}

.sitefooter .tel span {
  font-size: 24px;
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.sitefooter .sns {
  position: absolute;
  left: 0;
  top: -4px;
}

.sitefooter .sns a {
  display: inline-block;
  width: 26px;
  height: 26px;
  position: relative;
  margin-right: 28px;
  transition: 0.3s;
}

.sitefooter .sns a i {
  display: block;
  width: 100%;
  height: 100%;
  background: url("/images/icn_insta_black.png") center center no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
}

.sitefooter .sns a[href*='x'] i {
  background-image: url("/images/icn_twitter_black.png");
}

.sitefooter .sns a[href*='facebook'] i {
  background-image: url("/images/icn_facebook_black.png");
}

.sitefooter .sns a[href*='note'] i {
  background-image: url("/images/icn_note_black.png");
  background-size: 110%;
}

.sitefooter .sns a:hover {
  opacity: 0.7;
}

.sitefooter .recruit {
  position: absolute;
  right: 0;
  top: -8px;
}

.sitefooter .recruit a {
  display: block;
  width: 218px;
  height: 36px;
  border: 1px solid #000;
  font-size: 17px;
  letter-spacing: 0.15em;
  text-align: center;
  transition: 0.3s;
  line-height: 34px;
}

.sitefooter .recruit a:hover {
  border-color: #bc3344;
  background: rgba(188, 51, 68, 0.9);
  color: #fff;
}

nav.language-select{
  background-color: rgba(255,255,255,0.5); position: fixed; top:5px; right: 68px; z-index: 1000; padding: 5px 15px 5px 35px;
}

nav.language-select dl{position: relative;}
nav.language-select dl dt{font-size: 16px;}
nav.language-select dl dt:before{
content: '';/*何も入れない*/
display: inline-block;
width: 17px;/*画像の幅*/
height: 17px;/*画像の高さ*/
background-image: url(/images/top/icon-globe.png);
background-size: contain;
vertical-align: middle;
position: absolute;
top:5px;
left:-20px;
z-index: 1100;
}
nav.language-select dl dd{font-size: 14px; display: none;}
nav.language-select dl dd ul li a{text-decoration: underline; display: block; line-height: 2;}





@media screen and (min-width: 781px) and (max-width: 1400px) {
  .sitefooter .textlink li {
    padding: 0 14px;
  }
}

@media screen and (min-width: 781px) and (max-width: 1360px) {
  #contents .pagetitle {
    min-width: 1200px;
  }
}

@media screen and (min-width: 781px) {

  /*    	PC STYLE  *************************************************************/


  
  #contents section.pagetitle {
    width: 100%;
    height: 490px;
    margin-bottom: 20px;
    position: relative;
    color: #000;
    overflow: hidden;
    background-color: none !important;
  }

  #contents section.pagetitle .logo {
    position: absolute;
    left: 43px;
    top: 23px;
    width: 73px;
    z-index: 20;
  }

  #contents section.pagetitle .logo a {
    transition: opacity 0.3s;
  }

  #contents section.pagetitle .logo a:hover {
    opacity: 0.5;
  }

  #contents section.pagetitle .copy {
    width: 808px;
    height: 197px;
    position: absolute;
    top: 125px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
  }

  #contents section.pagetitle .copy h1,
  #contents section.pagetitle .copy h2 {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #contents section.pagetitle .copy .line.out:after {
    content: '';
    width: 100%;
    height: 100%;
    border: 2px solid #000;
    position: absolute;
    right: 0;
    bottom: 0;
    border-right: none;
    border-top: none;
  }

  #contents section.pagetitle .copy .line.out:before {
    content: '';
    width: 100%;
    height: 100%;
    border: 2px solid #000;
    position: absolute;
    left: 0;
    top: 0;
    border-left: none;
    border-bottom: none;
  }

  #contents section.pagetitle .copy .line.in {
    width: 800px;
    height: 189px;
    position: absolute;
    left: 4px;
    top: 4px;
  }

  #contents section.pagetitle .copy .line.in:after {
    width: 100%;
    height: 100%;
    border: 1px solid #000;
    position: absolute;
    right: 0;
    bottom: 0;
    content: '';
    border-right: none;
    border-top: none;
  }

  #contents section.pagetitle .copy .line.in:before {
    width: 100%;
    height: 100%;
    border: 1px solid #000;
    position: absolute;
    left: 0;
    top: 0;
    content: '';
    border-left: none;
    border-bottom: none;
  }

  #contents section.pagetitle .bg {
    width: 100%;
    height: 450px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
  }

  #contents section.pagetitle .local_nav {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
  }

  .local_nav {
    width: 1200px;
    margin: 0 auto;
    z-index: 999;
    display: flex;
    justify-content: center;
  }

  .local_nav li {
    width: 372px;
    height: 66px;
    line-height: 66px;
    padding: 0 21px;
  }

  .local_nav li a {
    display: block;
    width: 100%;
    background: #252525;
    color: #fff;
    border: 1px solid #000;
    position: relative;
    transition: 0.2s;
    padding-left: 10px;
  }

  .local_nav li a:after {
    content: "";
    width: 19px;
    height: 25px;
    background: url("/images/arrow_nav.png") no-repeat left top;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 36px;
  }

  .local_nav li a:before {
    content: "";
    width: 25px;
    height: 19px;
    background: url("/images/arrow_nav_active.png") no-repeat left top;
    background-size: 100% auto;
    transform: rotate(-90deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 33px;
    opacity: 0;
    transition: 0.2s;
  }

  .local_nav li a:hover {
    background: #fff;
    color: #252525;
  }

  .local_nav li a:hover:before {
    opacity: 1;
  }

  .local_nav li a:hover:after {
    opacity: 0;
  }

  .local_nav li.active a {
    background: #fff;
    color: #252525;
  }

  .local_nav li.active a:before {
    content: none;
  }

  .local_nav li.active a:after {
    content: "";
    width: 25px;
    height: 19px;
    background: url("/images/arrow_nav_active.png") no-repeat left top;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 30px;
  }

  .local_nav li.active a:hover:after {
    opacity: 1;
  }

  section+.local_nav li.active a:after {
    transform: rotate(180deg);
  }

  .btn {
    padding-left: 55px;
    width: 432px;
    height: 72px;
    line-height: 72px;
    background: rgba(0, 0, 0, 0.8);
    position: relative;
    z-index: 10;
    transition: 0.3s;
    margin: 40px auto 0;
    display: block;
  }

  .btn:hover {
    background-color: rgba(207, 16, 48, 0.8);
  }

  .btn span {
    position: relative;
    color: #fff;
    font-size: 21px;
  }

  .btn span:before {
    content: "";
    width: 25px;
    height: 26px;
    background: url("/images/arrow_btn.png") no-repeat left top;
    background-size: 100% auto;
    position: absolute;
    left: -55px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}

.footer-btn-recruit li {
  margin: 0 auto 0;
}

.footer-btn-recruit a {
  font-size: 23px;
  color: #fff;
  justify-content: center;
  border: 1px solid #3e3e3e;
  background-color: #3e3e3e;
  position: relative;
  display: block;
  width: 600px;
  transition: 0.2s;
  padding: 28px 0;
  margin: 0 auto 20px auto;
  text-align: center;
}

.footer-btn-recruit a:hover {
  background: #b93242;
  color: #fff;
  border: 1px solid #b93242;
}


.footer-btn-top li {
  margin: 0 auto 0;
}

.footer-btn-top a {
  font-size: 15px;
  color: #000;
  justify-content: center;
  border: 1px solid #616062;
  position: relative;
  display: block;
  width: 600px;
  transition: 0.2s;
  padding: 15px 0;
  margin: 0 auto 20px auto;
  text-align: center;
}

.footer-btn-top a:hover {
  background: #252525;
  color: #fff;
  border: 1px solid #616062;
}


.footer-btn {
  font-size: 15px;
  color: #252525;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.footer-btn li.left {
  margin: 0 0 20px 20px;
}

.footer-btn li.left {
  margin: 0 20px 20px 0;
}

.footer-btn a {
  border: 1px solid #616062;
  display: block;
  width: 290px;
  transition: 0.2s;
  padding: 15px 0;
  margin: 0 auto 20px auto;
  text-align: center;
}

.footer-btn a:hover {
  background: #252525;
  color: #fff;
  border: 1px solid #616062;
}

.footer-btn a {
  margin: 0 auto 0;
}

.footer-btn+.footer-btn {
  margin-top: 8px;
}

.footer-btn+.footer-btn li:nth-child(2) {
  border-left: none;
}


.footer-btn-online li {
  margin: 0 auto 0;
}

.footer-btn-online a {
  font-size: 15px;
  color: #000;
  justify-content: center;
  border: 1px solid #616062;
  position: relative;
  display: block;
  width: 600px;
  transition: 0.2s;
  padding: 15px 0;
  margin: 0 auto 20px auto;
  text-align: center;
}

.footer-btn-online a:hover {
  background: #252525;
  color: #fff;
  border: 1px solid #616062;
}


@media screen and (min-width: 781px) and (max-width: 1200px) {
  /*  	TB/SP STYLE  *************************************************************/
}

@media screen and (max-width: 780px) {

  /*  	SP STYLE  *************************************************************/
  .pc-item {
    display: none !important;
  }

  .ie11 #contents {
    overflow: hidden;
  }

  nav.language-select{
    background-color: rgba(255,255,255,0.5); position: absolute; top:0.64vw; right: 14.64vw; z-index: 1000; padding: 0.64vw 2vw 0.64vw 6vw;
  }
nav.language-select dl{position: relative;}
nav.language-select dl dt{font-size: 3vw;}
nav.language-select dl dt:before{
  content: '';/*何も入れない*/
  display: inline-block;
  width: 3vw;/*画像の幅*/
  height: 3vw;/*画像の高さ*/
  background-image: url(/images/top/icon-globe.png);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top:1.0vw;
  left:-3.5vw;
  z-index: 1100;
}
nav.language-select dl dd{font-size:2.5vw; display: none;}
nav.language-select dl dd ul li a{text-decoration: underline; display: block; line-height: 2;}


  #contents section h2.line {
    position: relative;
    width: 100%;
    height: auto;
    line-height: 1.7;
    margin: 0 auto;
    padding: 1.9230769231vw 0;
    font-size: 6.1538461538vw;
    letter-spacing: 0.12em;
    font-weight: 600;
  }

  #contents section h2.line:before {
    content: "";
    width: 100%;
    height: 0.641025641vw;
    background: url("/images/h3-line-top.png") repeat-x left top;
    background-size: 1px 0.641025641vw;
    position: absolute;
    left: 0;
    top: 0;
  }

  #contents section h2.line:after {
    content: "";
    width: 100%;
    height: 0.641025641vw;
    background: url("/images/h3-line-bottom.png") repeat-x left top;
    background-size: 1px 0.641025641vw;
    position: absolute;
    left: 0;
    bottom: 0;
  }

  #contents section h3.line {
    position: relative;
    width: 77.717949vw;
    height: auto;
    line-height: 1.7;
    padding: 1.9230769231vw 0 2.0512820513vw;
    margin: 0 auto;
    text-align: center;
    text-align: center;
  }

  #contents section h3.line:before {
    content: "";
    width: 100%;
    height: 0.641025641vw;
    background: url("/images/h3-line-top.png") repeat-x left top;
    background-size: 1px 0.641025641vw;
    position: absolute;
    left: 0;
    top: 0;
  }

  #contents section h3.line:after {
    content: "";
    width: 100%;
    height: 0.641025641vw;
    background: url("/images/h3-line-bottom.png") repeat-x left top;
    background-size: 1px 0.641025641vw;
    position: absolute;
    left: 0;
    bottom: 0;
  }

  .local_nav {
    width: 100%;
    z-index: 999;
    display: flex;
    justify-content: center;
  }

  .local_nav li {
    width: auto;
    height: 7.6923076923vw;
    line-height: 7.6923076923vw;
    padding: 0 0.8974358974vw;
  }

  .local_nav li a {
    display: block;
    width: 28.7179487179vw;
    background: #252525;
    color: #fff;
    border: 1px solid #000;
    position: relative;
    transition: 0.2s;
    padding-left: 3.8461538462vw;
    font-size: 3vw;
    letter-spacing: 0.02em;
  }

  .local_nav li a:after {
    content: "";
    width: 2.4358974359vw;
    height: 3.0769230769vw;
    background: url("/images/arrow_nav.png") no-repeat left top;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 2.1794871795vw;
  }

  .local_nav li a:before {
    content: "";
    width: 3.0769230769vw;
    height: 2.4358974359vw;
    background: url("/images/arrow_nav_active.png") no-repeat left top;
    background-size: 100% auto;
    transform: rotate(-90deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 2.1794871795vw;
    opacity: 0;
    transition: 0.2s;
  }

  .local_nav li a:hover {
    background: #fff;
    color: #252525;
  }

  .local_nav li a:hover:before {
    opacity: 1;
  }

  .local_nav li a:hover:after {
    opacity: 0;
  }

  .local_nav li.active a {
    background: #fff;
    color: #252525;
  }

  .local_nav li.active a:after {
    content: "";
    width: 3.2051282051vw;
    height: 2.4358974359vw;
    background: url("/images/arrow_nav_active.png") no-repeat left top;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 1.9230769231vw;
  }

  .local_nav li.active a:hover:before {
    content: none;
  }

  .local_nav li.active a:hover:after {
    opacity: 1;
  }

  section+.local_nav li.active a:after {
    transform: rotate(180deg);
  }

  .btn {
    width: 61.0256410256vw;
    height: 9.2307692308vw;
    line-height: 8.230769vw;
    background: rgba(0, 0, 0, 0.8);
    position: relative;
    z-index: 10;
    transition: 0.3s;
    margin: 5.1282051282vw auto 0;
    display: block;
    padding-left: 7.1794871795vw;
    text-align: center;
  }

  .btn:hover {
    background-color: rgba(207, 16, 48, 0.8);
  }

  .btn span {
    position: relative;
    color: #fff;
    font-size: 2.9487179487vw;
  }

  .btn span:before {
    content: "";
    width: 3.2051282051vw;
    height: 3.3333333333vw;
    background: url("/images/arrow_btn.png") no-repeat left top;
    background-size: 100% auto;
    position: absolute;
    left: -7.1794871795vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  body {
    font-size: 3.8vw;
    min-width: 100%;
  }

  .over-section {
    margin: 0;
  }

  #wrapper {
    width: 100%;
    min-width: inherit;
    background-attachment: inherit;
  }

  main {
    width: 100%;
  }

  .gnav {
    width: 100%;
    background: none;
    transform: translate(101%, 0);
    transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  .gnav::after {
    content: '';
    background: url("/images/bg_nav.jpg") center top no-repeat #f6f5f8;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    background-size: 100% auto;
  }

  .gnav .sitename {
    margin-bottom: 6.4102564103vw;
  }

  .gnav .sitename a {
    display: block;
    background: url("/images/logo_black.png") left top no-repeat;
    width: 16.4102564103vw;
    height: 20.8974358974vw;
    background-size: cover;
    margin: 0 auto;
  }

  .gnav ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-top: 12.8205128205vw;
  }

  .gnav ul li {
    width: 50%;
  }

  .gnav ul a {
    font-size: 3.5897435897vw;
    line-height: 14.1025641026vw;
  }

  .gnav ul a:hover {
    color: inherit;
  }

  .gnav p.lab {
    margin: 12.8205128205vw 0 0;
  }

  .gnav p.lab a {
    font-size: 3.3333333333vw;
    line-height: 8.2051282051vw;
    border: 1px solid #000;
    width: 43.3333333333vw;
  }

  .gnav p.lab i {
    width: 4.6153846154vw;
    height: 3.0769230769vw;
    margin: 0.2564102564vw 2.5641025641vw 0 0;
    top: 0.5128205128vw;
  }

  .gnav p.lab i::before {
    content: '';
    width: 3.4615384615vw;
    height: 2.0512820513vw;
  }

  .gnav p.lab i:after {
    content: '';
    width: 3.4615384615vw;
    height: 2.0512820513vw;
  }

  .gnav small {
    font-size: 2.5641025641vw;
  }

  .gnav .scroll {
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
    padding: 8.9743589744vw 0;
  }

  .control .menu {
    width: 14.1025641026vw;
    height: 14.1025641026vw;
  }

  .control .menu b {
    height: 14.1025641026vw;
    background-color: white;
  }

  .control .sns_ec {
    display: none;
  }

  .menuopen .control .menu i {
    opacity: 1;
    left: 0;
  }

  .menuopen .control .menu i:hover {
    filter: brightness(1.2);
  }

  .sitefooter {
    padding: 5.8974358974vw 0 0;
    min-width: inherit;
    margin-top: 12.8205128205vw;
  }

  .sitefooter .link {
    min-width: inherit;
    width: 89.7435897436vw;
  }

  .sitefooter .link li {
    position: relative;
    padding: 0;
  }

  .sitefooter .link li:nth-child(1) {
    padding: 0;
  }

  .sitefooter .link li:nth-child(2) {
    padding: 0 2.1794871795vw;
  }

  .sitefooter .link li:nth-child(3) {
    padding: 0;
  }

  .sitefooter .link b img {
    width: 9.2307692308vw;
  }

  .sitefooter .link i {
    display: inline-block;
    position: relative;
  }

  .sitefooter .link i::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border: 2px solid rgba(255, 255, 255, 0.75);
  }

  .sitefooter .link i::after {
    content: '';
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    background: rgba(255, 255, 255, 0.75);
    position: absolute;
    left: 4px;
    top: 4px;
  }

  .sitefooter .link a {
    display: inline-block;
    overflow: hidden;
  }

  .sitefooter .link a picture img {
    transition: 0.6s;
  }

  .sitefooter .link a:hover picture img {
    transition: 0.3s;
    filter: brightness(0.8);
  }

  .sitefooter .link a:hover i::before {
    border-color: #fff;
  }

  .sitefooter .link a:hover i::after {
    background-color: #fff;
  }

  .sitefooter .shoplink {
    display: block;
    min-width: inherit;
    margin: 6.4102564103vw auto 0;
    width: 89.7435897436vw;
    padding-bottom: 3.8461538462vw;
  }

  .sitefooter .shoplink li {
    margin: 0 0 2.5641025641vw 0;
  }

  .sitefooter .shoplink li:nth-child(even) {
    margin: 0 0 2.5641025641vw 0;
  }

  .sitefooter .ec {
    display: block;
    min-width: inherit;
    margin: 3.8461538462vw auto 0;
    width: 89.7435897436vw;
    padding-bottom: 3.8461538462vw;
  }

  .sitefooter .ec li {
    margin: 0 0 2.5641025641vw;
  }

  .sitefooter .ec li:nth-child(2) {
    margin: 0 0 2.5641025641vw;
  }

  .sitefooter .ec li:nth-child(3) {
    margin: 0 0 2.5641025641vw;
  }

  .sitefooter .ec img {
    width: 100%;
    height: auto;
  }

  .sitefooter .ec a {
    display: block;
    background: #252525;
    position: relative;
    transition: 0.3s;
    overflow: hidden;
    z-index: 10;
  }

  .sitefooter .ec a::after {
    content: '';
    width: 100%;
    height: 100%;
    border: 1px solid #252525;
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.3s;
  }

  .sitefooter .ec a:hover {
    background: #ad3241;
  }

  .sitefooter .ec a:hover::after {
    border-color: #ad3241;
  }

  .sitefooter .spbg {
    background: #e8e8e8;
    color: #000;
  }

  .sitefooter .textlink {
    font-size: 3.5vw;
    color: #fff;
    min-width: inherit;
    flex-wrap: wrap;
    width: 93.5897435897vw;
  }

  .sitefooter .textlink li {
    padding: 0 4.8717948718vw;
    margin-bottom: 3.0769230769vw;
  }

  .sitefooter .textlink li+li {
    border-left: 1px solid #000a;
  }

  .sitefooter .textlink a {
    color: #000;
    letter-spacing: 0.15em;
  }

  .sitefooter .textlink a:hover {
    text-decoration: underline;
  }

  .sitefooter .textlink li:nth-child(3) {
    border-left: none !important;
  }

  .sitefooter .textlink li:nth-child(5) {
    border-left: none !important;
  }

  .sitefooter .textlink+.textlink li:nth-child(6) {
    border-left: none !important;
  }

  .sitefooter .textlink+.textlink li:nth-child(10) {
    border-left: none !important;
  }

  .sitefooter .textlink+.textlink li:nth-child(13) {
    border-left: none !important;
  }

  .sitefooter .textlink+.textlink {
    margin-top: 0;
  }

  .sitefooter .textlink+.textlink li:nth-child(2) {
    border-left: 1px solid #000a;
  }

  .sitefooter .textlink+.textlink li:nth-child(10) {
    border-left: none !important;
  }

  .sitefooter .textlink+.textlink li:nth-child(5) {
    border-left: 1px solid #000a !important;
  }

  .sitefooter .textlink+.textlink li:nth-child(13) {
    border-left: none !important;
  }
  
  .sitefooter .textlink+.textlink+.textlink li:nth-child(2) {
    border-left: none !important;
  }

  .sitefooter .bottom {
    margin: 1.2820512821vw auto 0;
    border-top: #000 1px solid;
    padding: 4.6153846154vw 0;
    width: 89.7435897436vw;
    min-width: inherit;
  }

  .sitefooter .copyrights {
    font-size: 2.1794871795vw;
  }

  .sitefooter .tel {
    font-size: 3vw;
    line-height: 5.3125vw;
    color: #000;
  }

  .sitefooter .tel a {
    animation: alpha-change 2s linear infinite;
    padding: 1.5625vw 0;
    border: 0.15625vw solid #000;
    display: block;
    width: 53.125vw;
    margin: 0 auto 3.125vw auto;
    color: #000;
  }

  @keyframes alpha-change {

    0%,
    100% {
      color: #000;
      border: 1px solid #000000;
    }

    50% {
      color: #cf1030;
      border: 1px solid #cf1030;
    }
  }

  .sitefooter .tel span {
    font-size: 6vw;
  }

  .sitefooter .sns {
    position: static;
    left: 0;
    top: 0;
    text-align: center;
    padding-bottom: 4.358974359vw;
  }

  .sitefooter .sns a {
    display: inline-block;
    width: 4.6153846154vw;
    height: 4.6153846154vw;
    position: relative;
    margin-right: 0;
    margin: 0 2.5641025641vw;
  }

  .sitefooter .sns a i {
    display: block;
    width: 100%;
    height: 100%;
    background: url("/images/icn_insta_black.png") center center no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
  }

  .sitefooter .sns a[href*='x'] i {
    background-image: url("/images/icn_twitter_black.png");
  }

  .sitefooter .sns a[href*='facebook'] i {
    background-image: url("/images/icn_facebook_black.png");
  }

  .sitefooter .recruit {
    position: static;
    margin-bottom: 4.6153846154vw;
  }

  .sitefooter .recruit a {
    display: block;
    width: 40.5128205128vw;
    height: 7.1794871795vw;
    border: 1px solid #000;
    font-size: 3.2051282051vw;
    letter-spacing: 0.15em;
    text-align: center;
    transition: 0.3s;
    line-height: 6.9230769231vw;
    margin: 0 auto;
    color: #000;
  }

  .sitefooter .recruit a:hover {
    border-color: #bc3344;
    background: rgba(188, 51, 68, 0.9);
    color: #000;
  }
	
	  .footer-btn-recruit li {
    margin: 0 auto 0;
  }

  .footer-btn-recruit a {
    font-size: 3.5vw;
    color: #252525;
    justify-content: center;
    border: 0.16vw solid #fff;
	 background-color: #fff;
    position: relative;
    display: block;
    width: 78.13vw;
    transition: 0.2s;
    padding: 4.69vw 0;
    margin: 0 auto 3.13vw auto;
    text-align: center;
  }

  .footer-btn-recruit a:hover {
    background: #b93242;
    color: #fff;
    border: 0.16vw solid #b93242;
  }
	

  .footer-btn-top li {
    margin: 0 auto 0;
  }

  .footer-btn-top a {
    font-size: 3.5vw;
    color: #000;
    justify-content: center;
    border: 0.16vw solid #616062;
    position: relative;
    display: block;
    width: 78.13vw;
    transition: 0.2s;
    padding: 4.69vw 0;
    margin: 0 auto 3.13vw auto;
    text-align: center;
  }

  .footer-btn-top a:hover {
    background: #252525;
    color: #fff;
    border: 0.16vw solid #616062;
  }


  .footer-btn {
    font-size: 15px;
    color: #000;
    margin: 0 auto;
    display: flex;
    justify-content: center;
  }

  .footer-btn li.left {
    margin: 0 3.13vw 3.13vw 0;
  }


  .footer-btn a {
    font-size: 3.5vw;
    border: 0.16vw solid #616062;
    color: #000;
    display: block;
    width: 37.5vw;
    transition: 0.2s;
    padding: 4.69vw 0;
    margin: 0 auto 0 3.13vw auto;
    text-align: center;
  }


  .footer-btn a:hover {
    background: #252525;
    color: #fff;
    border: 0.16vw solid #616062;
  }

  .footer-btn a {
    margin: 0 auto 0;
  }

  .footer-btn+.footer-btn {
    margin-top: 8px;
  }

  .footer-btn+.footer-btn li:nth-child(2) {
    border-left: none;
  }



  .footer-btn-online li {
    margin: 0 auto 0;
  }

  .footer-btn-online a {
    font-size: 3.5vw;
    color: #000;
    justify-content: center;
    border: 0.16vw solid #616062;
    position: relative;
    display: block;
    width: 78.13vw;
    transition: 0.2s;
    padding: 4.69vw 0;
    margin: 0 auto 3.13vw auto;
    text-align: center;
  }

  .footer-btn-online a:hover {
    background: #252525;
    color: #fff;
    border: 0.16vw solid #616062;
  }

  /*pagetitle*/
  #contents section.pagetitle {
    width: 100%;
    height: 65.3846153846vw;
    margin-bottom: 10.2564102564vw;
    position: relative;
    color: #000;
  }

  #contents section.pagetitle .logo {
    opacity: 0;
  }

  #contents section.pagetitle .copy {
    width: 78.2051282051vw;
    height: 28.9743589744vw;
    position: absolute;
    top: 17.8205128205vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
  }

  #contents section.pagetitle .copy h1,
  #contents section.pagetitle .copy h2 {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #contents section.pagetitle .copy .line.out:after {
    content: '';
    width: 100%;
    height: 100%;
    border: 2px solid #000;
    position: absolute;
    right: 0;
    bottom: 0;
    border-right: none;
    border-top: none;
  }

  #contents section.pagetitle .copy .line.out:before {
    content: '';
    width: 100%;
    height: 100%;
    border: 2px solid #000;
    position: absolute;
    left: 0;
    top: 0;
    border-left: none;
    border-bottom: none;
  }

  #contents section.pagetitle .copy .line.in {
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    position: absolute;
    left: 4px;
    top: 4px;
  }

  #contents section.pagetitle .copy .line.in:after {
    width: 100%;
    height: 100%;
    border: 1px solid #000;
    position: absolute;
    right: 0;
    bottom: 0;
    content: '';
    border-right: none;
    border-top: none;
  }

  #contents section.pagetitle .copy .line.in:before {
    width: 100%;
    height: 100%;
    border: 1px solid #000;
    position: absolute;
    left: 0;
    top: 0;
    content: '';
    border-left: none;
    border-bottom: none;
  }

  #contents section.pagetitle .bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
  }

  #contents section.pagetitle .bg img {
    width: 100%;
  }

  #contents section.pagetitle .local_nav {
    position: absolute;
    bottom: -3.8461538462vw;
    left: 0;
    right: 0;
    margin: auto;
  }
}

/* 
	loader
*********************/
#loader {
  background: rgba(255, 255, 255, 0.5);
  width: 100vw;
  height: 100vh;
  z-index: 100000;
  position: fixed;
  left: 0;
  top: 0;
}

#loader .loader {
  width: 48px;
  height: 48px;
  position: fixed;
  left: 50%;
  top: 50%;
  margin: -24px 0 0 -24px;
}

.imgloaded #loader .loader {
  transform: scale(0.5);
  opacity: 0;
  transition: transform 1s, opacity 0.4s;
}

.la-ball-clip-rotate,
.la-ball-clip-rotate>div {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.la-ball-clip-rotate {
  display: block;
  font-size: 0;
  color: #fff;
}

.la-ball-clip-rotate.la-dark {
  color: #333;
}

.la-ball-clip-rotate>div {
  display: inline-block;
  float: none;
  background-color: currentColor;
  border: 0 solid currentColor;
}

.la-ball-clip-rotate {
  width: 32px;
  height: 32px;
}

.la-ball-clip-rotate>div {
  width: 32px;
  height: 32px;
  background: transparent;
  border-width: 2px;
  border-bottom-color: transparent;
  border-radius: 100%;
  -webkit-animation: ball-clip-rotate .75s linear infinite;
  -moz-animation: ball-clip-rotate .75s linear infinite;
  -o-animation: ball-clip-rotate .75s linear infinite;
  animation: ball-clip-rotate .75s linear infinite;
}

.la-ball-clip-rotate.la-sm {
  width: 16px;
  height: 16px;
}

.la-ball-clip-rotate.la-sm>div {
  width: 16px;
  height: 16px;
  border-width: 2px;
}

.la-ball-clip-rotate.la-2x {
  width: 48px;
  height: 48px;
}

.la-ball-clip-rotate.la-2x>div {
  width: 48px;
  height: 48px;
  border-width: 2px;
}

.la-ball-clip-rotate.la-3x {
  width: 96px;
  height: 96px;
}

.la-ball-clip-rotate.la-3x>div {
  width: 96px;
  height: 96px;
  border-width: 2px;
}

/* Animation */
@-webkit-keyframes ball-clip-rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-moz-keyframes ball-clip-rotate {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-o-keyframes ball-clip-rotate {
  0% {
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  100% {
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes ball-clip-rotate {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*
	js styles
******************************/
#baseVW {
  width: 100vw;
  position: fixed;
  left: -9999px;
  opacity: 0;
}

#imageloaded {
  position: fixed;
  left: -9999px;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

/*sp - fixbnrs*/
#fixbtns {
  display: none
}

@media screen and (max-width: 780px) {
  #fixbtns {
    display: block;
    position: fixed;
    bottom: -0.5vw;
    left: 0;
    width: 100%;
    height: 11.15384vw;
    z-index: 999;
    overflow: hidden;
  }

  #fixbtns a {
    display: block;
    width: 50%;
    height: 100%;
    background-size: 100% auto;
    background-position: left top;
    background-repeat: no-repeat;
    float: left
  }

  #fixbtns a:nth-of-type(1) {
    background-image: url("/images/shop_btn_sp01.jpg");
  }

  #fixbtns a:nth-of-type(2) {
    background-image: url("/images/shop_btn_sp02.jpg")
  }

  .sitefooter {
    padding-bottom: 10.5vw
  }

}