@charset 'utf-8';

#site-navigation ul,
#site-navigation ol {
  font-size: 1.0em;
}

.site-content {
  min-height: 65vh;
}


body {
  font-family: "Oswald", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, sans-serif;
  font-weight: 400;
}

/*
body:after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  -ms-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}

body.fadeout:after,
body.fadein:after {
  opacity: 1;
}

body.fadeout .boxIndex01 {
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}
*/

.boxContainer {
  overflow: hidden;
  position: relative;
  min-height: 100%;
}


/*##### Company #####*/
.boxCompany {
  padding-top: 50px;
  padding-bottom: 150px;
}
@media all and (max-width: 750px){
  .boxCompany {
    padding-top: 2vw;
    padding-bottom: 10vw;
  }
}

.boxCompany .ttl01 {
  margin-bottom: 1.3em;
  letter-spacing: 0.1em;
  font-size: 3.2rem;
  font-weight: 700;
}
@media all and (max-width: 750px){
  .boxCompany .ttl01 {
    margin-bottom: 0.7em;
    font-size: 6.5vw;
  }
}

.boxCompany01 .dl01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  padding: 1.1em 1.0em 1.1em 2.0em;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-size: 1.1rem;
}
@media all and (max-width: 750px){
  .boxCompany01 .dl01 {
    display: block;
    padding: 1.1em 1.0em 1.1em 1.0em;
  }
}

.boxCompany01 .dl01:nth-child(2n) {
  background-color: #eee;
}

.boxCompany01 .dl01 > dt {
  width: 16%;
  font-weight: 700;
}
@media all and (max-width: 750px){
  .boxCompany01 .dl01 > dt {
    width: 100%;
    margin-bottom: 0.5em;
  }
}

.boxCompany01 .dl01 > dt .str2 {
  letter-spacing: 1.2em;
}

.boxCompany01 .dl01 > dd {
  width: 84%;
}
@media all and (max-width: 750px){
  .boxCompany01 .dl01 > dd {
    width: 100%;
  }
}

.boxCompany01 .dl01 > dd .txtTelFax,
.boxCompany01 .dl01 > dd .txtTelno,
.boxCompany01 .dl01 > dd .txtFaxno {
  display: inline-block;
}

.boxCompany01 .dl01 > dd .txtZipcode,
.boxCompany01 .dl01 > dd .txtMap {
  display: inline-block;
  margin-right: 0.7em;
}

.boxCompany01 .dl01 > dd .txtAddress {
  display: inline-block;
  margin-right: 0.3em;
}

.boxCompany01 .dl01 > dd .txtMap a {
  text-decoration: underline;
}

.boxCompany01 .dl01 > dd .boxDl01 .boxLink {
  margin-bottom: 0.5em;
}

.boxCompany01 .dl01 > dd .boxDl01 .boxLink a {
  text-decoration: underline;
}

.boxCompany01 .dl01 > dd .dl0101 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: 0.2em;
  letter-spacing: 0.19em;
  font-size: 1.1rem;
}
@media all and (max-width: 750px){
  .boxCompany01 .dl01 > dd .dl0101 {
    margin-bottom: 0.5em;
    letter-spacing: 0.12em;
  }
}

.boxCompany01 .dl01 > dd .boxDl01:not(:last-child) {
  margin-bottom: 1.0em;
}

.boxCompany01 .dl01 > dd .boxDl01 .boxName {
  font-weight: 700;
}

.boxCompany01 .dl01 > dd .dl0102 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.boxCompany01 .dl01 > dd .ul01 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.boxCompany01 .dl01 > dd .ul01 > li:not(:last-child):after {
  content: '/';
  margin: 0 0.4em;
}



/*##### Index #####*/
.boxIndexMenu {
  position: fixed;
  z-index: 2;
  bottom: 2em;
  left: 3em;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}
@media all and (max-width: 750px){
  .boxIndexMenu {
    top: 1em;
    bottom: auto;
    left: 1em;
    display: block;
  }
}

.boxIndexMenu .boxLogo01 {
  margin-right: 1.0em;
}
@media all and (max-width: 750px){
  .boxIndexMenu .boxLogo01 {
    margin-right: 0;
    margin-bottom: 0.8em;
  }
}

.boxIndexMenu .boxLogo01 img {
  /*padding: 0.3em 0.5em;
  background-color: rgba(0,0,0,0.3);*/
}

.boxIndexMenu .ulLink01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}

@media all and (max-width: 750px){
  .boxIndexMenu .boxLink01 {
    padding-left: 1.2em;
  }
}

.boxIndexMenu .ulLink01 li {
  letter-spacing: 0.15em;
  font-size: 1.13rem;
  /*text-shadow: 1px 1px 1px #000, -1px -1px 1px #000, -1px 1px 1px #000, 1px -1px 1px #000;*/
}
@media all and (max-width: 750px){
  .boxIndexMenu .ulLink01 li {
    letter-spacing: 0.12em;
    font-size: 1.0rem;
  }
}

.boxIndexMenu .ulLink01 li:not(:last-child):after {
  content: '/';
  margin: 0 0.7em;
  color: #aaa;
}

.boxIndexMenu .ulLink01 li a {
  color: #aaa;
}



.boxIndex01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*background-color: #0000ff;*/
}

.boxIndex01 video {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  /*width: 100%;*/
  min-width: 100%;
  min-height: 100%;
}



/*##### Movie #####*/
.boxMovie {
  padding-top: 50px;
  padding-bottom: 150px;
}
@media all and (max-width: 750px){
  .boxMovie {
    padding-top: 2vw;
    padding-bottom: 10vw;
  }
}

.boxMovie .ttl01 {
  margin-bottom: 1.3em;
  letter-spacing: 0.1em;
  font-size: 3.2rem;
  font-weight: 700;
}
@media all and (max-width: 750px){
  .boxMovie .ttl01 {
    margin-bottom: 0.7em;
    font-size: 6.5vw;
  }
}

.boxMovie01 .boxList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
.boxMovie01 .boxList.typeCenter {
  -webkit-justify-content: center;
  justify-content: center;
}
@media all and (max-width: 750px){
  .boxMovie01 .boxList {
    display: block;
  }
}

.boxMovie01 .boxListOne {
  width: 47.5%;
  margin-right: calc(100% - 47.5% * 2);
  margin-bottom: 2.8em;
}
.boxMovie01 .boxList.typeCenter .boxListOne {
  margin-right: 0;
}
@media all and (max-width: 750px){
  .boxMovie01 .boxListOne {
    width: 100%;
    margin-right: 0;
    margin-bottom: 6vw;
  }
}

.boxMovie01 .boxListOne:nth-child(2n) {
  margin-right: 0;
}

.boxMovie01 .boxListOne .ttlList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding: 0.5em 0 0 0;
  line-height: 1.4;
  letter-spacing: 0.07em;
  font-size: 1.65rem;
  font-weight: 700;
}
@media all and (max-width: 1085px){
  .boxMovie01 .boxListOne .ttlList {
    font-size: 2.1vw;
  }
}
@media all and (max-width: 750px){
  .boxMovie01 .boxListOne .ttlList {
    font-size: 4.3vw;
  }
}

.boxMovie01 .boxListOne .ttlList .ttlSub:after {
  content: '/';
  margin: 0 1.0em;
}

.boxMovie01 .boxLink {
  margin-top: 5em;
}

.boxMovie01 .boxLink a {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 380px;
  height: 50px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 1.0em;
  background-color: #000;
  letter-spacing: 0.1em;
  font-size: 1.13rem;
  color: #fff;
}

.boxMovie01 .boxLink a:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
  width: 0.5em;
  height: 0.5em;
  margin-top: auto;
  margin-bottom: auto;
  border-top: 1px #fff solid;
  border-right: 1px #fff solid;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}


.privacy_check > p {
  margin: 0;
}

.boxPrivacyLink {
  margin: 1.0em 0 1.0em 0;
}

@media all and (max-width: 750px){
  #form_area .btn_area {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
}

@media all and (max-width: 750px){
  #form_area .btn_area > span.confirm {
    width: 100%;
  }
  #form_area .btn_area > span.back,
  #form_area .btn_area > span.submit {
    width: 48%;
  }
}

@media all and (max-width: 750px){
  #form_area .btn_area > span input[type="submit"],
  #form_area .btn_area > span button[type="submit"] {
    width: 100%;
  }
}




/*##### Footer #####*/
.boxFooter {
  padding: 0 0 3.0em 0;
}

.boxFooterMenu {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}
@media all and (max-width: 750px){
  .boxFooterMenu {
    display: block;
  }
}

.boxFooterMenu .boxLogo01 {
  margin-right: 1.5em;
}
@media all and (max-width: 750px){
  .boxFooterMenu .boxLogo01 {
    margin-right: 0;
    margin-bottom: 0.8em;
  }
}

.boxFooterMenu .ulLink01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}

@media all and (max-width: 750px){
  .boxFooterMenu .boxLink01 {
    padding-left: 1.2em;
  }
}

.boxFooterMenu .ulLink01 li {
  letter-spacing: 0.15em;
  font-size: 1.13rem;
}
/*
:not(.pageIndex).pageContact .boxFooterMenu .ulLink01 li,
.pageBlog .boxFooterMenu .ulLink01 li {
  font-size: 0.9rem;
}*/
body:not(.pageNotWp) .boxFooterMenu .ulLink01 li {
  font-size: 0.9rem;
}
@media all and (max-width: 750px){
  .boxFooterMenu .ulLink01 li {
    letter-spacing: 0.12em;
    font-size: 1.0rem;
  }
}

.boxFooterMenu .ulLink01 li:not(:last-child):after {
  content: '/';
  margin: 0 0.7em;
}
