@charset "UTF-8";
/*=============================================================
 02_base
=============================================================*/
/*! font family
================================================ */
@font-face {
 font-family: "Noto Serif Japanese";
 font-style: normal;
 font-weight: 400;
 src: url(../fonts/noto-serif/regular.woff2) format("woff2"),
  url(../fonts/noto-serif/regular.woff) format("woff"),
  url(../fonts/noto-serif/regular.otf) format("opentype");
}

@font-face {
 font-family: "Noto Serif Japanese";
 font-style: normal;
 font-weight: 500;
 src: url(../fonts/noto-serif/medium.woff2) format("woff2"),
  url(../fonts/noto-serif/medium.woff) format("woff"),
  url(../fonts/noto-serif/medium.otf) format("opentype");
}

.fontSerif {
 font-family: "Noto Serif Japanese";
 font-weight: 400;
}

.fontSerif.weightMedium {
 font-weight: 500;
}

.fontLibre {
 font-family: "Libre Baskerville", serif;
 font-weight: normal;
 color: #323232;
}

/*! clearfix
================================================ */
.cf:after {
 content: "";
 display: block;
 clear: both;
}

html {
 overflow: auto;
 -webkit-font-smoothing: antialiased;
}
html.active {
 overflow: hidden;
}

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

body {
 overflow: hidden;
 min-width: 320px;
 color: #323232;
 font-family: "Noto Sans JP", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
  "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
 font-size: 20.8px;
 font-size: 1.3rem;
 font-weight: 400;
 line-height: 1;
 letter-spacing: 0.05em;
 -webkit-font-smoothing: antialiased;
 text-align: justify;
 text-justify: inter-ideograph;
 background: #edeef0;
}

@media screen and (min-width: 600px) {
 body {
  min-width: 1070px;
 }
}

table {
 table-layout: fixed;
 width: 100%;
}

img {
 max-width: 100%;
 height: auto;
}

@media screen and (max-width: 600px) {
 img {
  width: 100%;
  height: auto;
 }
}

a {
 color: #323232;
 text-decoration: none;
 outline: none;
}

@media screen and (max-width: 600px) {
 .viewPc {
  display: none !important;
 }
}

@media screen and (min-width: 600px) {
 .viewSp {
  display: none !important;
 }
 .viewPc {
  display: inline-block;
 }
}

@media screen and (min-width: 600px) {
 .innerPc {
  width: 1070px;
  margin-right: auto;
  margin-left: auto;
 }
}

@media screen and (max-width: 600px) {
 .innerSp {
  padding-right: 15px;
  padding-left: 15px;
 }
}

#contents {
 max-width: 1920px;
 margin: 0 auto;
}

#frontnote {
 overflow: inherit;
}

/*=============================================================
 03_layout
=============================================================*/
/*!  #gHeader
================================================ */
.headerInfo {
 z-index: 9980;
 position: absolute;
 width: 100%;
}

.headerInfo .btnHamburger {
 position: absolute;
 top: 0;
 left: 0;
}

.headerLogo {
 width: 52px;
 margin: 15px auto 0;
}

.headerLogo a {
 pointer-events: auto;
}

.headerCatalog {
 position: absolute;
 top: 0;
 right: 0;
 width: 75px;
}
#home .headerCatalog,
#home .mainSns {
 opacity: 0;
}
#home.is-hide .headerCatalog,
#home.is-hide .mainSns {
 opacity: 1;
 animation: AppearText 1s;
}

@media screen and (min-width: 600px) {
 .header {
  z-index: 9980;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1070px;
 }
 .headerIn {
  overflow: hidden;
 }
 .headerInfo {
  z-index: 9980;
  position: relative;
  width: 100%;
  float: left;
  padding: 0;
  background: none;
  pointer-events: none;
 }
 .headerLogo {
  width: 104px;
  margin: 26px 0 0 2.6%;
 }
 .headerCatalog {
  position: fixed;
  top: 0;
  right: 0;
  width: 294px;
 }
 .headerCatalog a {
  display: block;
  pointer-events: auto;
  -webkit-transition: 0.2s;
  transition: 0.2s;
 }
 .headerCatalog a:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
 }
}

/*!  #gNav
================================================ */
@media screen and (max-width: 599px) {
 .headerInfo {
  position: fixed;
  top: 0;
  left: 0;
 }
 .headerLogo {
  margin-top: 7px;
 }
 .nav {
  z-index: 9980;
  display: none;
  position: fixed;
  top: 41px;
  left: 10px;
  width: calc(100% - 20px);
  overflow: auto !important;
  height: calc(100% - 130px);
  background: #eceef0;
 }
 .nav::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 5px;
 }

 .nav::-webkit-scrollbar-thumb {
  border-radius: 0;
  background-color: #c6c6c6;
  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
 }
 .nav .primary {
  padding: 20px 12px;
 }
 .nav .primary a {
  display: block;
  padding: 16px 0;
  font-size: 1.2rem;
 }
 .nav .primaryItem {
  position: relative;
  margin-bottom: 4px;
 }
 .nav .primaryItem .ico {
  position: absolute;
  top: 7px;
  left: 5px;
  display: block;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-image: url(../img/common/header/ico_gnav01.png);
  /*background-size: 315px auto;*/
  background-size: 385px auto;
 }
 .nav .primaryItem:nth-child(1) .ico {
  background: none;
 }
 .nav .primaryItem:nth-child(2) .ico {
  background-position: -3px -3px;
 }
 .nav .primaryItem:nth-child(3) .ico {
  background-position: -38px -3px;
 }
 .nav .primaryItem:nth-child(4) .ico {
  background-position: -72px -3px;
 }
 .nav .primaryItem:nth-child(5) .ico {
  background-position: -108px -3px;
 }
 .nav .primaryItem:nth-child(6) .ico {
  background-position: -141px -3px;
 }
 .nav .primaryItem:nth-child(7) .ico {
  background-position: -178px -3px;
 }
 .nav .primaryItem:nth-child(8) .ico {
  background-position: -212px -3px;
 }
 .nav .primaryItem:nth-child(9) .ico {
  background-position: -246px -3px;
 }
 .nav .primaryItem:nth-child(10) .ico {
  background-position: -283px -3px;
 }
 .nav .primaryLink {
  text-align: center;
  background: #fff;
 }
 .nav .secondary {
  overflow: hidden;
  margin: 10px 0;
 }
 .nav .secondaryItem {
  position: relative;
  float: left;
  /*width: 49%;*/
  width: 32%;
  /*margin-left: 2%;*/
  margin-right: 2%;
  border: 1px solid #3b3b3b;
 }
 /*  .nav .secondaryItem:nth-child(odd) {
    margin-left: 0;
  }*/
 .nav .secondaryItem:nth-child(n + 3) {
  /*margin-top: 5px;*/
  margin-right: 0;
 }
 .nav .secondaryLink {
  display: block;
  line-height: 1.5;
  text-align: center;
 }
 .nav .navClose {
  padding: 25px 0;
 }
 .nav .navClose button {
  position: relative;
  display: block;
  width: calc(100% - 30px);
  margin: 0 auto;
  padding: 11px 0 12px 10px;
  font-size: 1.2rem;
  font-weight: 300;
  text-align: center;
  border: 1px solid #3b3b3b;
 }
 .nav .navClose button:before {
  content: "";
  display: block;
  position: absolute;
  top: 14px;
  left: 40px;
  width: 10px;
  height: 10px;
  background: url(../img/common/header/ico_close01.png) no-repeat;
  background-size: contain;
 }
 .is-open .nav {
  display: block;
 }
 .nav .headerSns {
  overflow: hidden;
  width: 187px;
  margin: 0 auto;
 }
 .nav .headerSns li {
  float: left;
  margin-left: 30px;
  text-indent: -9999px;
  background-image: url(../img/common/footer/ico_sprite01.png);
  background-repeat: no-repeat;
  display: block;
 }
 .nav .headerSns li:nth-child(1) {
  margin-left: 0;
  width: 23px;
  height: 23px;
  background-position: -4px -5px;
 }
 .nav .headerSns li:nth-child(2) {
  width: 23px;
  height: 23px;
  background-position: -31px -5px;
 }
 .nav .headerSns li:nth-child(3) {
  width: 24px;
  height: 24px;
  background-position: -58px -5px;
 }
 .nav .headerSns li:nth-child(4) {
  width: 27px;
  height: 25px;
  margin-top: 5px;
  background-position: -86px -4px;
  position: relative;
  top: -4px;
 }
 .nav .headerSns li:nth-child(4) a {
  padding: 4px 0;
 }
 .nav .headerSns li a {
  text-indent: -9999px;
  display: block;
 }
}

@media screen and (min-width: 600px) {
 .nav {
  position: absolute;
  float: right;
  margin: 34px 0;
  width: 100%;
  text-align: center;
 }
 .nav .primaryItem {
  position: relative;
  float: left;
  margin-right: 30px;
 }
 .nav .primaryItem:after {
  position: absolute;
  top: 9px;
  right: -17px;
  content: "";
  display: block;
  width: 1px;
  height: 14px;
  background: #fff;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
 }
 .nav .primaryItem:last-child:after {
  content: none;
 }
 .nav .primaryItem:nth-child(2) .secondary {
  width: 205px;
 }
 .nav .primaryLink {
  display: block;
  padding: 10px 8px;
  color: #fff;
  letter-spacing: 0.08em;
 }
 .nav .primaryLink:hover + .secondary {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
 }
 .nav .secondary {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  position: absolute;
  top: 40px;
  left: 0;
  padding: 20px;
  background: rgba(98, 82, 72, 0.9);
 }
 .nav .secondary:hover {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
 }
 .nav .secondaryItem {
  margin-bottom: 15px;
 }
 .nav .secondaryItem:last-child {
  margin-bottom: 0;
 }
 .nav .secondaryLink {
  display: block;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.7;
 }
 .navClose {
  display: none;
 }
 .header.is-singular .nav .primaryLink {
  color: #323232;
 }
 .header.is-singular .nav .primaryItem:after {
  background: #323232;
 }
 .header.is-singular .nav .anime-underLine:after {
  background-color: #323232;
 }
}

@media screen and (max-width: 1240px) {
 .nav {
  position: absolute;
  float: right;
  margin: 24px auto 0;
 }
 .nav .primaryItem.break {
  clear: left !important;
 }
}
@media screen and (max-width: 599px) {
 .nav {
  position: fixed;
 }
}

@media screen and (max-width: 1190px) and (min-width: 600px) {
 .nav .primaryItem {
  margin-right: 5px;
 }
 .nav .primaryItem:after {
  right: -3px;
 }
}

/*!  .btnHamburger
================================================ */
@media screen and (max-width: 599px) {
 .btnHamburger,
 .btnHamburger span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  box-sizing: border-box;
 }
 .btnHamburger {
  position: relative;
  width: 57px;
  height: 57px;
 }
 .btnHamburger span {
  position: absolute;
  left: 12px;
  width: 23px;
  height: 3px;
  background-color: #fff;
 }
 .btnHamburger span:nth-of-type(1) {
  top: 17px;
 }
 .btnHamburger span:nth-of-type(2) {
  top: 23px;
 }
 .btnHamburger span:nth-of-type(3) {
  top: 29px;
 }
 .btnHamburger.active span:nth-of-type(1) {
  top: 14px;
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
 }
 .btnHamburger.active span:nth-of-type(2) {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
 }
 .btnHamburger.active span:nth-of-type(3) {
  top: 32px;
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-9px) rotate(45deg);
 }
}

@media screen and (min-width: 600px) {
 .btnHamburger {
  display: none;
 }
}

/*!  .overlay
================================================ */
.overlay {
 display: none;
 z-index: 9960;
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: rgba(0, 0, 0, 0.6);
}

.overlay.active {
 display: block;
}

/*!  #mainImg 下層ページ
================================================ */
/*!  #mainimg
================================================ */
#mainimg {
 position: relative;
 text-align: center;
 width: 100%;
 height: 100vh;
 background-size: cover;
 background-position: top center;
}

#mainimg .en {
 position: absolute;
 top: 50%;
 left: 50%;
 width: 100%;
 height: auto;
 color: #fff;
 text-align: center;
 -webkit-transform: translate(-50%, 0);
 transform: translate(-50%, 0);
 font-size: 52.8px;
 font-size: 3.3rem;
}

#mainimg .ja {
 position: absolute;
 top: calc(50% + 48px);
 left: 50%;
 width: 100%;
 height: auto;
 color: #fff;
 font-size: 25.6px;
 font-size: 1.6rem;
 text-align: center;
 letter-spacing: 0.075em;
 -webkit-transform: translate(-50%, 0);
 transform: translate(-50%, 0);
}

@media screen and (min-width: 600px) {
 #mainimg {
  height: 800px;
 }
 #mainimg .en {
  font-size: 8rem;
 }
 #mainimg .ja {
  top: calc(50% + 115px);
  font-size: 2.5rem;
 }
}

/*  20180608追加(円形バナー)*/
#mainimg .bnrBazy {
 position: absolute;
 bottom: 60px;
 right: 20px;
 width: 100px;
 height: 100px;
}

@media screen and (min-width: 600px) {
 #mainimg .bnrBazy {
  bottom: 30px;
  right: 100px;
  width: 161px;
  height: 160px;
 }
 #mainimg .bnrBazy a {
  display: block;
  pointer-events: auto;
  -webkit-transition: 0.2s;
  transition: 0.2s;
 }
 #mainimg .bnrBazy a:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
 }
}

/*!  #breadcrumb
================================================ */
@media screen and (max-width: 599px) {
 #breadcrumb {
  display: none;
 }
}
@media screen and (min-width: 600px) {
 #breadcrumb {
  background: #f4f5f7;
 }
 #breadcrumb ol {
  width: 1070px;
  margin: 0 auto;
  padding: 26px 0;
 }
 #breadcrumb li {
  position: relative;
  display: inline-block;
  font-size: 1.3rem;
  margin-left: 32px;
 }
 #breadcrumb li:before {
  content: ">";
  position: absolute;
  left: -20px;
 }
 #breadcrumb li.home {
  padding-left: 0;
 }
 #breadcrumb li.home:before {
  content: none;
 }
 #breadcrumb li a {
 }
 #breadcrumb li a span:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: "";
  width: 0;
  height: 1px;
  background-color: #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
 }
 #breadcrumb li a:hover span:after {
  width: 100%;
 }
}

/*!  .pagetop
================================================ */
.pagetop {
 display: block;
 padding: 12px 0;
 text-align: center;
}

.pagetop img {
 width: 33px;
 height: 17px;
 vertical-align: middle;
}

@media screen and (min-width: 600px) {
 .pagetop {
  right: 40px;
  padding: 0;
  background: none;
 }
 .pagetop img {
  width: 51px;
  height: 51px;
 }
}

/*!  #gFooter
================================================ */
.footer {
 background-color: #eceef0;
}

@media screen and (max-width: 600px) {
 .footerSitemap {
  padding: 0 10px;
 }
 .footerSitemap .sitemapList {
  overflow: hidden;
 }
 .footerSitemap .sitemapListItem {
  float: left;
  width: 50%;
  padding-bottom: 4px;
 }
 .footerSitemap .sitemapListItem:nth-child(odd) {
  padding-right: 2px;
 }
 .footerSitemap .sitemapListItem:nth-child(even) {
  padding-left: 2px;
 }
 .footerSitemap .sitemapListLink {
  display: block;
  padding: 15px 10px;
  font-size: 1.2rem;
  background: #fff;
 }
 .footerInfo {
  position: relative;
  padding: 70px 0 10px;
 }
 .footerLogo {
  width: 53px;
  margin: 0 auto 10px;
 }
 .footerSns {
  overflow: hidden;
  position: absolute;
  top: 25px;
  left: 50%;
  width: 187px;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
 }
 .footerSns li {
  float: left;
  margin-left: 30px;
  text-indent: -9999px;
  background-image: url(../img/common/footer/ico_sprite01.png);
  background-repeat: no-repeat;
  display: block;
 }
 .footerSns li:nth-child(1) {
  margin-left: 0;
  width: 23px;
  height: 23px;
  background-position: -4px -5px;
 }
 .footerSns li:nth-child(2) {
  width: 23px;
  height: 23px;
  background-position: -31px -5px;
 }
 .footerSns li:nth-child(3) {
  width: 24px;
  height: 24px;
  background-position: -58px -5px;
 }
 .footerSns li:nth-child(4) {
  width: 27px;
  height: 25px;
  margin-top: 5px;
  background-position: -86px -4px;
  position: relative;
  top: -4px;
 }
 .footerSns li a {
  text-indent: -9999px;
  display: block;
 }
 .footerBottomNavi {
  padding: 0 20px;
 }
 .footerBottomNavi .item a {
  padding: 6px 0;
  font-size: 1.2rem;
 }
 .footerBottomNavi .item a:before {
  content: ">";
  margin-right: 5px;
 }
 .footer .copyright {
  margin: 20px 0 22px;
  padding: 15px 0 30px;
  font-size: 1.2rem;
  text-align: center;
  border-top: 1px solid #c6c4c3;
  border-bottom: 1px solid #c6c4c3;
 }
 .footer .footerFixed {
  width: 100%;
  position: fixed;
  bottom: -35px;
  left: 0;
  transition: 0.2s;
 }
 .footer .footerFixed.active {
  bottom: 0;
 }
 .footer .footerFixed .fixedList {
  line-height: 35px;
  font-size: 1.4rem;
  text-align: center;
 }
 .footer .footerFixed .fixedList img {
  vertical-align: middle;
  margin-right: 8px;
  width: auto;
 }
 .footer .footerFixed .fixedList img.icoAccess01 {
  width: 13px;
 }
 .footer .footerFixed .fixedList img.icoEvent01 {
  width: 19px;
 }
 .footer .footerFixed .fixedList img.icoFaq01 {
  width: 10px;
 }
 .footer .footerFixed .fixedList li {
  width: 33.3%;
  float: left;
 }
 .footer .footerFixed .fixedList li a {
  display: block;
  background: #3b3b3b;
  color: #fff;
 }
 .footer .footerFixed .fixedList li:nth-of-type(even) a {
  background: #d6d5d5;
  color: #3b3b3b;
 }
}

@media screen and (min-width: 600px) {
 .footer {
  padding-top: 50px;
 }
 .footerInfo {
  float: left;
  width: 222px;
  padding: 0;
 }
 .footerLogo {
  margin: -20px 0 32px 5px;
 }
 .footerLogo img {
  width: 110px;
 }
 .footerSns {
  overflow: hidden;
 }
 .footerSns li {
  float: left;
  margin-left: 30px;
  text-indent: -9999px;
  background-image: url(../img/common/footer/ico_sprite01.png);
  background-repeat: no-repeat;
  display: block;
 }
 .footerSns li:nth-child(1) {
  margin-left: 0;
  width: 23px;
  height: 23px;
  background-position: -4px -5px;
 }
 .footerSns li:nth-child(2) {
  width: 23px;
  height: 23px;
  background-position: -31px -5px;
 }
 .footerSns li:nth-child(3) {
  width: 24px;
  height: 24px;
  background-position: -58px -5px;
 }
 .footerSns li:nth-child(4) {
  width: 27px;
  height: 25px;
  margin-top: 5px;
  background-position: -86px -4px;
  position: relative;
  top: -4px;
 }
 .footerSns li a {
  display: block;
  width: 23px;
  height: 23px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
 }
 .footerSns li a:hover {
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
 }
 .footerSitemap {
  overflow: hidden;
  float: left;
  width: 848px;
  border-left: 1px solid #ccc9c8;
 }
 .footerSitemap .sitemapList {
  overflow: hidden;
  float: left;
  min-height: 134px;
  padding-left: 30px;
  border-right: 1px solid #ccc9c8;
 }
 .footerSitemap .sitemapList:nth-child(1) {
  width: 260px;
 }
 .footerSitemap .sitemapList:nth-child(2) {
  width: 295px;
 }
 .footerSitemap .sitemapList:nth-child(3) {
  width: 290px;
 }
 .footerSitemap .sitemapListItem {
  margin-top: 10px;
 }
 .footerSitemap .sitemapListItem:first-child {
  margin-top: 0;
 }
 .footerSitemap .sitemapListLink {
  display: block;
  font-size: 1.3rem;
 }
 .footerSitemap .sitemapListLink span {
  padding-bottom: 6px;
 }
 .footerSitemap .sitemapListLink span:after {
  background-color: #000;
 }
 .sitemapSubListItem {
  margin-top: 10px;
  font-size: 1.1rem;
  position: relative;
  padding-left: 20px;
 }
 .sitemapSubListItem:before {
  content: "";
  width: 5px;
  height: 5px;
  border-left: 1px solid #323232;
  border-bottom: 1px solid #323232;
  display: block;
  position: absolute;
  top: 2px;
  left: 6px;
 }
 .sitemapSubListItem span {
  font-size: 1.2rem;
 }
 .footerBottom {
  margin-top: 60px;
  padding: 30px 0 50px;
  border-top: 1px solid #e1dedd;
 }
 .footerBottomNavi {
  overflow: hidden;
  float: left;
  width: 620px;
 }
 .footerBottomNavi li {
  float: left;
  margin-left: 18px;
 }
 .footerBottomNavi li:first-child {
  margin-left: 0;
 }
 .footerBottomNavi li a {
  padding: 6px 0;
 }
 .footerBottomNavi li a:before {
  content: ">";
  margin-right: 5px;
 }
 .footerBottomNavi li a:after {
  background-color: #000;
 }
 .footerCopyWrap {
  width: 1070px;
  margin: 0 auto;
 }
 .footerCopyWrap .copyright {
  float: right;
  width: 180px;
  text-align: right;
  border-top: none;
 }
 .footerCopyWrap .copyright small {
  font-size: 1.3rem;
 }
}

/*=============================================================
 06_lib
=============================================================*/
/*!  .pace pattern02
================================================ */
body:not(#home) .pace {
 -webkit-pointer-events: none;
 pointer-events: none;
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
}

body:not(#home) .pace .pace-progress:after {
 z-index: 9999;
 display: block;
 position: fixed;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 width: 110px;
 padding-top: 87px;
 content: attr(data-progress-text);
 font-family: "Noto Sans JP", sans-serif;
 font-size: 20.8px;
 font-size: 1.3rem;
 line-height: 1;
 text-align: center;
 background: url(../img/common/logo_loader01.png) no-repeat center top;
 -webkit-transition: 0.5s cubic-bezier(0.42, 0, 0.58, 1);
 transition: 0.5s cubic-bezier(0.42, 0, 0.58, 1);
}

/* body:not(#home) .pace-inactive .pace-progress {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
  opacity: 0;
  -ms-filter: "progid:DXImageTrans form.Microsoft.Alpha(Opacity=0)";
  z-index: 9990;
} */

body:not(#home) .pace-inactive .pace-progress:after {
 -webkit-transition-delay: 0.3s;
 transition-delay: 0.3s;
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
 -webkit-transform: translate(-50%, calc(-50% + -20px));
 transform: translate(-50%, calc(-50% + -20px));
}

body:not(#home) .pace .pace-progress {
 position: fixed;
 z-index: 9999;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 -webkit-transition: 0.5s cubic-bezier(0.42, 0, 0.58, 1);
 transition: 0.5s cubic-bezier(0.42, 0, 0.58, 1);
 background-color: #edeef0;
 -webkit-transform: translate3d(0px, 0px, 0px) !important;
 transform: translate3d(0px, 0px, 0px) !important;
}
@keyframes AppearBg {
 0% {
  opacity: 1;
 }
 100% {
  opacity: 0;
  pointer-events: none;
 }
}
@keyframes AppearText {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
@keyframes Line1 {
 0% {
  height: 15px;
  width: 0;
  opacity: 1;
 }
 100% {
  height: 15px;
  width: 100%;
  opacity: 1;
 }
}
@keyframes Line2 {
 0% {
  height: 15px;
  opacity: 1;
  width: 100%;
 }
 100% {
  width: 100%;
  height: 100%;
  opacity: 0;
 }
}
/* #home .pace2:after {
  background:#fff;
  width:100%;
  height: 100%;
  top: 0;
  left: 0;
  content:'';
  position: absolute;
  opacity:0;
  z-index: 999;
  -webkit-transition: 0.5s cubic-bezier(0.420, 0.000, 0.580, 1.000);
  transition: 0.5s cubic-bezier(0.420, 0.000, 0.580, 1.000);
  animation: AppearBg 0s 2s;
} */
#home .pace2 {
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 position: fixed;
 opacity: 1;
 z-index: 999;
 background: #fff;
 /* -webkit-transition: 0.5s cubic-bezier(0.420, 0.000, 0.580, 1.000);
  transition: 0.5s cubic-bezier(0.420, 0.000, 0.580, 1.000);
  animation: Appear 2s; */
}
#home.is-hide .pace2 {
 pointer-events: none;
 opacity: 0;
 animation: AppearBg 1s;
 z-index: 999999;
}
/* #home .pace2.pace-inactive {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
} */

#home .pace2:before {
 z-index: 9998;
 display: block;
 position: fixed;
 top: 50%;
 margin: auto 0;
 opacity: 1;
 left: 0;
 width: 0;
 height: 15px;
 transform: translateY(-50%);
 background-color: #edeef0;
 z-index: 999999;
 content: "";
 -webkit-transition: 0.5s cubic-bezier(0.42, 0, 0.58, 1);
 transition: 0.5s cubic-bezier(0.42, 0, 0.58, 1);
 -webkit-transition-delay: 0.3s;
 transition-delay: 0.3s;
 animation: Line1 var(--time-line);
}
#home.is-hide .pace2:before {
 width: 100%;
 height: 100%;
 opacity: 0;
 animation: Line2 1s;
}
/* #home .pace2.pace-inactive:before {
  height:100%;
} */
/* #home .pace2 .pace-progress {
  z-index: 9999;
  position: fixed;
  top: 0;
  bottom:0;
  margin:auto 0;
  left: 0;
  width: 100%;
  height: 15px;
  -webkit-transition: 0.5s cubic-bezier(0.420, 0.000, 0.580, 1.000);
  transition: 0.5s cubic-bezier(0.420, 0.000, 0.580, 1.000);
  background-color: #fff;
} */
/*
#home .pace2-inactive .pace-progress {
  visibility: hidden;
  pointer-events: none;
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}
*/

#home {
 /* mainCopy animation
  ------------------------------------- */
}

#home .mainCatch,
#home .mainCompanyName {
 color: #fff;
 opacity: 0;
 z-index: -9960;
 /* animation: AppearText 1s 2s; */
 /* -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; */
 /* -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-filter: blur(20px); */
 /* filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="20" /></filter></svg>#filter'); */
 /* filter: blur(20px);
  -webkit-transform: scale(0.9);
  transform: scale(0.9); */
}
#home .mainCatch.is-load,
#home .mainCompanyName.is-load {
 color: #fff;
 opacity: 1;
 z-index: 9960;
 animation: AppearText 1s;
 /* animation: AppearText 1s 2s; */
 /* -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; */
 /* -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-filter: blur(20px); */
 /* filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="20" /></filter></svg>#filter'); */
 /* filter: blur(20px);
  -webkit-transform: scale(0.9);
  transform: scale(0.9); */
}

/* #home .mainCatch.is-running,
#home .mainCompanyName.is-running {
  z-index: 9999;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-filter: blur(0);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
  filter: blur(0);
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-property: opacity,-webkit-filter,-webkit-transform;
  transition-property: opacity,-webkit-filter,-webkit-transform;
  transition-property: opacity,filter,transform;
  transition-property: opacity,filter,transform,-webkit-filter,-webkit-transform;
}

#home .mainCatch.is-done,
#home .mainCompanyName.is-done {
  z-index: 9960;
  color: #fff;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-filter: blur(0);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
  filter: blur(0);
  -webkit-transition: .2s color;
  transition: .2s color;
} */

#home .mainBtns {
 z-index: 1;
 opacity: 0;
}
#home .mainBtns.is-load {
 opacity: 1;
 z-index: 9960;
 animation: AppearText 1s;
}

#home .mainBtns .btn {
 z-index: 9999;
 opacity: 1;
 /* -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1), transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1), transform 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1); */
}

/* #home .mainBtns .btn.is-done {
  z-index: 9999;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

#home .mainBtns .btn.is-done:nth-child(1) {
  -webkit-transition-delay: .3s;
          transition-delay: .3s;
}

#home .mainBtns .btn.is-done:nth-child(2) {
  -webkit-transition-delay: .4s;
          transition-delay: .4s;
}

#home .mainBtns .btn.is-done:nth-child(3) {
  -webkit-transition-delay: .5s;
          transition-delay: .5s;
} */

/*! loading animation pattern01
================================================ */
.vegas-animation-mykenburns {
 -webkit-animation: mykenburns cubic-bezier(0, 0, 0.58, 1) 1s;
 animation: mykenburns cubic-bezier(0, 0, 0.58, 1) 1s;
}

@-webkit-keyframes mykenburns {
 0% {
  -webkit-transform: scale(1.2) translate(0, -5%);
  transform: scale(1.2) translate(0, -5%);
 }
 100% {
  -webkit-transform: scale(1) translate(0, 0);
  transform: scale(1) translate(0, 0);
 }
}

@keyframes mykenburns {
 0% {
  -webkit-transform: scale(1.2) translate(0, -5%);
  transform: scale(1.2) translate(0, -5%);
 }
 100% {
  -webkit-transform: scale(1) translate(0, 0);
  transform: scale(1) translate(0, 0);
 }
}

/*=============================================================
 07_anime
=============================================================*/
.anime-btnFill {
 z-index: 1;
 box-sizing: border-box;
 position: relative;
 display: block;
 overflow: hidden;
 width: 100%;
 -webkit-transition: 0.5s ease-in-out;
 transition: 0.5s ease-in-out;
}

.anime-btnFill:hover {
 color: #cec8c4;
}

.anime-btnFill:before {
 z-index: -1;
 box-sizing: border-box;
 content: "";
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 background-color: #24140c;
 -webkit-transform: translateX(-100%);
 transform: translateX(-100%);
 -webkit-transition: 0.5s ease-in-out;
 transition: 0.5s ease-in-out;
}

.anime-btnFill:hover:before {
 -webkit-transform: translateX(0);
 transform: translateX(0);
}

.fadeUp {
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
 -webkit-transform: translateY(50px);
 transform: translateY(50px);
 -webkit-transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1),
  -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
 transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1),
  -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
 transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1),
  transform 2s cubic-bezier(0.19, 1, 0.22, 1);
 transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1),
  transform 2s cubic-bezier(0.19, 1, 0.22, 1),
  -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
 -webkit-transition-delay: 0.2s;
 transition-delay: 0.2s;
}

.fadeUp.delay01 {
 -webkit-transition-delay: 0.5s;
 transition-delay: 0.5s;
}

.fadeUp.delay02 {
 -webkit-transition-delay: 0.7s;
 transition-delay: 0.7s;
}

.fadeUp.delay03 {
 -webkit-transition-delay: 0.9s;
 transition-delay: 0.9s;
}

.fadeUp.delay04 {
 -webkit-transition-delay: 1.1s;
 transition-delay: 1.1s;
}

.fadeUp.delay05 {
 -webkit-transition-delay: 1.3s;
 transition-delay: 1.3s;
}

.fadeUp.is-show {
 opacity: 1;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
 -webkit-transform: translateY(0);
 transform: translateY(0);
}

.fadeInRight {
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
 -webkit-transform: translateX(-50px);
 transform: translateX(-50px);
 -webkit-transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1),
  -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
 transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1),
  -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
 transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1),
  transform 2s cubic-bezier(0.19, 1, 0.22, 1);
 transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1),
  transform 2s cubic-bezier(0.19, 1, 0.22, 1),
  -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
 -webkit-transition-delay: 0.8s;
 transition-delay: 0.8s;
}

.fadeInRight.is-show {
 opacity: 1;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
 -webkit-transform: translateY(0);
 transform: translateY(0);
}

/* .anime-underLine テキストホバー、中央から下線が伸びる
-------------------------------------- */
.anime-underLine {
 position: relative;
 display: inline-block;
 -webkit-transition: 0.3s;
 transition: 0.3s;
}

.anime-underLine:after {
 position: absolute;
 bottom: 0;
 left: 50%;
 content: "";
 width: 0;
 height: 1px;
 background-color: #fff;
 -webkit-transition: 0.3s;
 transition: 0.3s;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}

.anime-underLine:hover:after {
 width: 100%;
}

/* .mainScroll スクロールアイコン
-------------------------------------- */
.mainScroll {
 z-index: 102;
 overflow: hidden;
 position: absolute;
 left: 50%;
 bottom: 0;
 width: 50px;
 height: 60px;
 margin-left: -20px;
 -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
 transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
 -webkit-touch-callout: none;
 -webkit-user-select: none;
 -webkit-tap-highlight-color: transparent;
}

.mainScroll a {
 display: block;
}

.mainScrollTxt {
 margin-bottom: 8px;
 color: #fff;
 font-size: 17.6px;
 font-size: 1.1rem;
 text-align: center;
}

.mainScrollLine {
 margin-left: auto;
 margin-right: auto;
 width: 1px;
 height: 25px;
 background-color: #fff;
 -webkit-transition: background-color 0.3s ease-out;
 transition: background-color 0.3s ease-out;
 -webkit-animation-name: scroll-icon;
 animation-name: scroll-icon;
 -webkit-animation-duration: 2.5s;
 animation-duration: 2.5s;
 -webkit-animation-timing-function: cubic-bezier(0.37, 0.16, 0.12, 1);
 animation-timing-function: cubic-bezier(0.37, 0.16, 0.12, 1);
 -webkit-animation-iteration-count: infinite;
 animation-iteration-count: infinite;
}

.mainScroll:hoverline {
 background-color: #d4b079;
}

@media screen and (min-width: 600px) {
 .mainScrollTxt {
  font-size: 1.4rem;
 }
 .mainScrollLine {
  height: 35px;
 }
}

@-webkit-keyframes scroll-icon {
 0% {
  height: 0%;
  top: 100%;
 }
 50% {
  height: 100%;
  top: 0;
 }
 100% {
  height: 0%;
  top: 0;
 }
}

@keyframes scroll-icon {
 0% {
  height: 0%;
  top: 100%;
 }
 50% {
  height: 100%;
  top: 0;
 }
 100% {
  height: 0%;
  top: 0;
 }
}

/* .js-blur シャドウ
-------------------------------------- */
.anime-blur {
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
 -webkit-filter: blur(20px);
 filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="20" /></filter></svg>#filter');
 filter: blur(20px);
 -webkit-transform: scale(0.9);
 transform: scale(0.9);
}

.anime-blur.is-show {
 opacity: 1;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
 -webkit-filter: blur(0);
 filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
 filter: blur(0);
 -webkit-transform: scale(1);
 transform: scale(1);
 -webkit-transition-duration: 1s;
 transition-duration: 1s;
 -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
 transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
 -webkit-transition-property: opacity, -webkit-filter, -webkit-transform;
 transition-property: opacity, -webkit-filter, -webkit-transform;
 transition-property: opacity, filter, transform;
 transition-property: opacity, filter, transform, -webkit-filter,
  -webkit-transform;
}

/*! #page404
================================================ */
#page404 #mainimg {
 background-image: url("../img/404error/bg_mainimg01_sp.jpg");
}
/* forPC */
@media screen and (min-width: 600px) {
 #page404 #mainimg {
  background-image: url("../img/404error/bg_mainimg01_pc.jpg");
 }
}
#page404 #error {
 margin: 60px 0;
 padding: 0 15px;
 text-align: center;
}
#page404 #error h1 {
 margin-bottom: 20px;
}
#page404 #error p {
 margin-bottom: 20px;
}
#page404 #error .btn {
 margin-top: 40px;
}
@media screen and (min-width: 600px) {
 #page404 #error {
  margin: 100px 0;
 }
 #page404 #error .btn {
  width: 330px;
  margin: 0 auto;
 }
 #page404 #error .btn a {
  padding: 19px 30px;
 }
}

.fixbtns {
 position: fixed;
 transition: 0.5s;
 z-index: 9999;
}

@media screen and (min-width: 601px) {
 .fixbtns {
  top: 50%;
  transform: translateY(-50%);
  right: 0;
 }
 .nav .fixbtns {
  display: none;
 }
}
.fixbtns a {
 width: 68px;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: 0.5s;
}
.fixbtns a:hover {
 opacity: 0.75;
}
.fixbtns a span {
 font-weight: 500;
 font-size: 15px;
 line-height: 18px;
 color: #fff;
}
@media screen and (min-width: 601px) {
 .fixbtns a span {
  writing-mode: vertical-rl;
  text-orientation: upright;
 }
}
.fixbtns .fixbtns__01 {
 background: #06c755;
}
.fixbtns .fixbtns__01 span {
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.956' height='12.153' viewBox='0 0 15.956 12.153'%3E%3Cg id='Group_9' data-name='Group 9' transform='translate(-988.216 -728.549)'%3E%3Cpath id='Path_1' data-name='Path 1' d='M996.019,729.336a8.542,8.542,0,0,0-3.658-.787,8.63,8.63,0,0,0-3.494.707.771.771,0,0,0-.451.707V740.14a.445.445,0,0,0,.617.411,8.7,8.7,0,0,1,3.327-.636,8.54,8.54,0,0,1,3.658.787Z' transform='translate(-0.201 0)' fill='%23fff'/%3E%3Cpath id='Path_2' data-name='Path 2' d='M1034.809,728.549a8.542,8.542,0,0,0-3.657.787V740.7a8.543,8.543,0,0,1,3.657-.786,8.7,8.7,0,0,1,3.327.636.445.445,0,0,0,.617-.411V729.963a.771.771,0,0,0-.45-.707A8.631,8.631,0,0,0,1034.809,728.549Z' transform='translate(-34.581 0)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A");
}
.fixbtns .fixbtns__02 {
 background: #b58d5e;
}
@media screen and (min-width: 601px) {
 .fixbtns .fixbtns__02 {
  border-top: #edeef0 solid 1px;
  border-bottom: #edeef0 solid 1px;
 }
}
.fixbtns .fixbtns__02 span {
 background-image: url(../img/common/header/lt.png);
 background-size: 17px auto;
}
.fixbtns .fixbtns__03 {
 background: #3b3b3b;
}
.fixbtns .fixbtns__03 span {
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.033' height='15.299' viewBox='0 0 14.033 15.299'%3E%3Cpath id='Path_12' data-name='Path 12' d='M1041.645,272.179v-1.53a1.247,1.247,0,0,0-2.494,0v1.53h-5.3v-1.53a1.247,1.247,0,0,0-2.494,0v1.53h-1.873V284.7h14.033V272.179Zm-7.792,9.99h-3.1v-3.1h3.1Zm0-4.126h-3.1v-3.1h3.1Zm4.2,4.126h-3.1v-3.1h3.1Zm0-4.126h-3.1v-3.1h3.1Zm4.2,4.126h-3.1v-3.1h3.1Zm0-4.126h-3.1v-3.1h3.1Z' transform='translate(-1029.486 -269.402)' fill='%23fff'/%3E%3C/svg%3E%0A");
}
.fixbtns a span {
 background-repeat: no-repeat;
 background-position: center 20px;
 padding-top: 41px;
 padding-bottom: 26px;
}
@media screen and (max-width: 600px) {
 .fixbtns {
  bottom: 0;
  display: flex;
  width: 100%;
  justify-content: space-between;
  background: #edeef0;
 }
 .fixbtns a {
  width: calc(33.33333% - 0.5px);
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
 }
 .fixbtns a span {
  height: 100%;
  background-position: center 9px;
  padding-top: 25px;
  font-size: 14px;
  line-height: 16px;
 }
 .fixbtns a:last-child span {
  background-position: center 11px;
  padding-top: 32px;
 }
}

@media screen and (min-width: 601px) {
 .fixbtns {
  right: -68px;
 }
 .fixbtns.active {
  right: 0;
 }
 .primary.viewPc {
  display: inline-flex;
 }
}
@media screen and (max-width: 600px) {
 .fixbtns {
  bottom: -64px;
 }
 .fixbtns.active {
  bottom: 0;
 }
 .nav .fixbtns {
  position: static;
  width: calc(100% - 24px);
  margin: 20px auto 0;
 }
 .menuopen {
  overflow: hidden;
 }
 .menuopen .fixbtns {
  bottom: -64px;
 }
}
