@charset "UTF-8";
a {
  color: #111;
  text-decoration: none;
  -webkit-transition: .5s ease-out;
  transition: .5s ease-out
}
a.imgLink {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}
a.blocklink {
  display: block
}
a.blocklink:hover {
  opacity: .6
}
.text_link {
  position: relative
}
.text_link::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -.1em;
  width: 100%;
  height: 1px;
  background: #232323;
  -webkit-transition: all .3s;
  transition: all .3s
}
.text_link:hover::before {
  width: 0
}
.text_link_white {
  color: #fff
}
.text_link_white::before {
  background: #fff
}
.btn {
  text-align: center
}
.btn a {
  position: relative;
  display: inline-block;
  padding: 2.1rem;
  color: #fff;
  font-size: 1.1em;
  z-index: 0
}
.btn a::after, .btn a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #232323;
  z-index: -2
}
.btn a::after {
  width: 0;
  background: #4f4f4f;
  z-index: -1;
  -webkit-transition: all .3s;
  transition: all .3s
}
.btn a:hover::after {
  width: 100%
}
.hover:hover {
  -webkit-filter: brightness(115%) saturate(110%);
  -moz-filter: brightness(115%) saturate(110%);
  -o-filter: brightness(115%) saturate(110%);
  -ms-filter: brightness(115%) saturate(110%);
  filter: brightness(115%) saturate(110%);
  -webkit-transition: all .3s;
  transition: all .3s
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}
ul {
  list-style-type: none
}
.pc_only {
  display: inherit
}
.sp_only {
  display: none
}
.big {
  font-size: 1.3em
}
.small {
  font-size: .9em
}
.primary {
  color: #f4c306
}
.red {
  color: #b11a1a
}
.white {
  color: #fff
}
.txt_vertical {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl
}
.underline {
  position: relative
}
.underline::before {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: .15em;
  height: 1px;
  background: #fff;
  -webkit-transition: all .8s;
  transition: all .8s;
  -webkit-transition-delay: .3s;
  transition-delay: .3s
}
.underline.bk::before {
  background: #232323
}
.underline.is-animated::before {
  right: .15em
}
.wrap_bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1
}
.BgChange {
  color: #232323;
  -webkit-transition: all 2s;
  transition: all 2s
}
.BgChange .wrap_bg {
  background: #fff;
  -webkit-transition: all 3s;
  transition: all 3s
}
.BgChange.is-animated {
  color: #fff
}
.BgChange.is-animated .wrap_bg {
  background: #232323
}
.BgOnlyChange {
  background: #fff;
  -webkit-transition: all 3s;
  transition: all 3s
}
.BgOnlyChange.is-animated {
  background: #232323
}
.l-footer {
  position: relative
}
.l-footer .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 7rem;
  font-size: 1.7rem
}
.l-footer .box .address {
  padding-right: 7rem;
  line-height: 2
}
.l-footer .box .info {
  text-align: right
}
.l-footer .box .info .tel {
  line-height: 1.2
}
.l-footer .box .info .tel a {
  margin-left: .1em;
  font-size: 2em;
  letter-spacing: .1em;
  vertical-align: -.15em
}
.l-footer .box .info .btn {
  margin-top: 1rem
}
.l-footer .box .info .btn a {
  width: 100%;
  max-width: 50rem
}
.l-footer small {
  display: block;
  margin-bottom: 9rem;
  text-align: center;
  font-size: 1.2rem;
  color: #aaa
}
.l-footer .bg {
  position: relative;
  height: 45rem;
  margin-top: -.2rem;
  background: url(../img/common/footer_bg.jpg) no-repeat center center;
  background-size: cover
}
.l-footer .bg::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 6rem;
  background: url(../img/common/footer_bg01.png) no-repeat top center;
  background-size: cover
}
.l-footer #pagetop {
  position: absolute;
  right: 3rem;
  top: 10rem;
  padding-top: 12rem;
  cursor: pointer
}
.l-footer #pagetop:hover::before {
  top: 1rem
}
.l-footer #pagetop::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  height: 8.5rem;
  width: 2px;
  background: #373737;
  -webkit-transition: all .3s;
  transition: all .3s
}
.flex_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}
.mult {
  display: inline-block;
  position: relative;
  width: 5rem;
  height: 5rem;
  margin: 0 2rem;
  vertical-align: middle
}
.mult::after, .mult::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 5rem;
  height: 2px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
  background: #fff
}
.mult::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg)
}
.mult.bk::after, .mult.bk::before {
  background: #232323
}
.tit_style01 {
  position: relative;
  margin-bottom: 12rem;
  font-weight: 700;
  text-align: center;
  z-index: 0
}
.tit_style01 .tit {
  font-size: 6.4rem
}
.tit_style01 .en {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  color: #f9f9f9;
  font-size: 22.5rem;
  z-index: -1;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  letter-spacing: .1em
}
@media screen and (max-width:1200px) {
  .l-footer .box {
    display: block;
    margin-bottom: 7rem;
    text-align: center
  }
  .l-footer .box .logo {
    margin-bottom: 4.5rem
  }
  .l-footer .box .logo img {
    width: 25rem
  }
  .l-footer .box .address {
    margin-bottom: 3rem;
    padding-right: 0
  }
  .l-footer .box .info {
    text-align: center
  }
  .l-footer .box .info .tel {
    margin-bottom: 5rem
  }
  .l-footer .bg {
    height: 28rem
  }
  .l-footer .bg::before {
    height: 4rem
  }
}
@media screen and (max-width:1023px) {
  .pc_only {
    display: none
  }
  .sp_only {
    display: inherit
  }
  .mult {
    display: block;
    width: 5rem;
    height: 5rem;
    margin: 0 auto
  }
  .tit_style01 {
    margin-bottom: 5rem
  }
  .tit_style01 .tit {
    font-size: 4.4rem
  }
  .tit_style01 .en {
    font-size: 11rem
  }
}