@charset "UTF-8";

@font-face {
  font-family: 'utage001';
  src: url("../font/CP_Revenge.eot");
  src: url("../font/CP_Revenge.eot?") format("embedded-opentype"), url("../font/CP_Revenge.ttf") format("truetype");
}

@font-face {
  font-family: 'utage002';
  src: url("../font/UDDigiKyokashoN-R-01.eot");
  src: url("../font/UDDigiKyokashoN-R-01.eot?") format("embedded-opentype"), url("../font/UDDigiKyokashoN-R-01.ttf") format("truetype");
}

@font-face {
  font-family: 'utage003';
  src: url("../font/Kankin.eot");
  src: url("../font/Kankin.eot?") format("embedded-opentype"), url("../font/Kankin.ttf") format("truetype");
}

html {
  width: 100%;
  margin: 0;
  padding: 0;
}

body {
  font-size: 18px;
  width: 101%;
  margin: 0;
  padding: 0;
  color: #fff;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-wrap: break-word;
}

a {
  text-decoration: none;
  color: #fff;
}

img {
  width: 100%;
}

.sp {
  display: block;
}

.pc {
  display: none;
}

.f001 {
  font-family: 'utage001';
  line-height: 3rem;
}

.f002 {
  font-family: 'utage002';
  line-height: 2rem;
}

.f003 {
  font-family: 'utage003';
  line-height: 2rem;
}

.fadein {
  -webkit-transition: all .5s;
  transition: all .5s;
  -webkit-transform: translate(0, 50px);
      -ms-transform: translate(0, 50px);
          transform: translate(0, 50px);
  opacity: 0;
}

.fadein.scrollin {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

@-webkit-keyframes circles-loader {
  0% {
    -webkit-transform: rotate(-720deg);
    -ms-transform: rotate(-720deg);
    transform: rotate(-720deg);
  }

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

@keyframes circles-loader {
  0% {
    -webkit-transform: rotate(-720deg);
    -ms-transform: rotate(-720deg);
    transform: rotate(-720deg);
  }

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

.circles-loader:not(:required) {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 25px;
  -webkit-transform-origin: 50% 100%;
      -ms-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  -webkit-animation: circles-loader 3s infinite ease-in-out;
          animation: circles-loader 3s infinite ease-in-out;
  text-indent: -9999px;
  border-radius: 100%;
  background: rgba(255, 204, 51, 0.9);
}

.circles-loader:not(:required)::before {
  position: absolute;
  top: 18.75px;
  left: -10.82532px;
  width: 25px;
  height: 25px;
  content: '';
  border-radius: 100%;
  background: rgba(255, 102, 0, 0.6);
}

.circles-loader:not(:required)::after {
  position: absolute;
  top: 18.75px;
  left: 10.82532px;
  width: 25px;
  height: 25px;
  content: '';
  border-radius: 100%;
  background: rgba(255, 51, 0, 0.4);
}

.loader-bg {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}

.loader-bg div {
  position: fixed;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #fff;
}

.video-container {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  width: auto;
  min-width: 100%;
  min-width: 100vw;
  height: auto;
  min-height: 100%;
  min-height: 100vh;
}

.video-container video {
  position: absolute;
}

.sp video {
  width: 100%;
}

main {
  display: block;
  overflow: hidden;
}

.mw1000 {
  max-width: 1000px;
  margin: 0 auto;
}

.bg-key-grad {
  margin-top: 1rem;
  background: #e4007f;
  background: -webkit-linear-gradient(-45deg, #e4007f 14%, #00a0e9 100%);
  background: -webkit-linear-gradient(315deg, #e4007f 14%, #00a0e9 100%);
  background: linear-gradient(135deg, #e4007f 14%, #00a0e9 100%);
}

.bg-key-grad .InfoCanvas {
  width: calc(100% + 2rem);
  height: 10rem;
  background: -webkit-linear-gradient(top, white, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 0, 0));
  background: -webkit-gradient(linear, left bottom, left top, from(white), color-stop(40%, rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 0, 0)));
  background: -webkit-linear-gradient(bottom, white, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 0, 0));
  background: linear-gradient(to top, white, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 0, 0));
}

.bg-key-grad .key-disp {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 6rem 1rem 0 1rem;
  -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;
}

.bg-key-grad .key-title {
  font-size: 1.5rem;
  line-height: 2.3rem;
  text-align: center;
}

.bg-key-grad .key-visual {
  margin: 5rem 0 3rem 0;
  text-align: center;
}

.bg-key-grad .key-visual img {
  max-width: 200px;
}

.bg-key-grad .key-txt {
  font-size: 1rem;
  width: 80%;
  margin: 0 auto 1.5rem auto;
  text-align: center;
}

.bg-key-grad .key-movie {
  padding: 1rem 0;
  background-image: url(../images/bg-cloud-01.png), url(../images/bg-cloud-02.png);
  background-repeat: no-repeat, no-repeat;
  background-position: left bottom, right top;
  background-size: 40%, 40%;
}

.bg-key-grad .key-movie > div {
  display: block;
  width: 80%;
  margin: 0 auto;
}

.pattern-a {
  margin-top: -8rem;
  text-align: center;
  color: #333;
}

.pattern-a .p-title {
  font-size: 2rem;
}

.pattern-a .p-stitle {
  font-size: 1.5rem;
  margin: 1rem 0 0 0;
}

.pattern-b {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.pattern-b .box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(100% - 1rem);
  padding: 2rem;
}

.pattern-b .box-title {
  font-size: 2.5rem;
  z-index: 99;
  margin: 1rem 0;
  -webkit-animation: blink linear infinite 2s;
          animation: blink linear infinite 2s;
  letter-spacing: 2px;
  text-shadow: 0 -40px 100px, 0 0 2px, 0 0 1em #f44, 0 0 .5em #f44, 0 0 .1em #f44, 0 10px 3px #000;
}

.pattern-b .box-title img {
  display: block;
}

.pattern-b .box-txt,
.pattern-b .box-video {
  position: relative;
  width: 100%;
  margin-top: auto;
}

.pattern-b .box-txt.f002,
.pattern-b .box-video.f002 {
  line-height: 1.3rem;
  margin-bottom: 2rem;
}

.parts-bg-01 {
  background-image: url(../images/bg-chakai-g.png), url(../images/bg-chakai-g.png);
  background-repeat: no-repeat, no-repeat;
  background-size: cover;
}

.parts-bg-02 {
  padding-bottom: 2rem;
  background: url(../images/bg-ennichi-g.png) no-repeat;
  background-size: cover;
}

.parts-bg-02 .box-txt,
.parts-bg-02 .box-video {
  margin-left: auto;
}

.parts-bg-03 {
  padding-bottom: 2rem;
  background: url(../images/bg-shinbutsu-g.png) no-repeat;
  background-size: cover;
}

.parts-bg-03 .box-txt,
.parts-bg-03 .box-video {
  margin-left: auto;
}

.chakai {
  padding-top: 8rem;
}

.chakai .box {
  position: relative;
  max-width: 600px;
  margin-left: 1rem;
  background: #8cc66d;
  background: -webkit-linear-gradient(-45deg, #8cc66d 0%, #00a73c 100%);
  background: -webkit-linear-gradient(315deg, #8cc66d 0%, #00a73c 100%);
  background: linear-gradient(135deg, #8cc66d 0%, #00a73c 100%);
  -webkit-box-shadow: 6px 6px 8px 0 #666;
          box-shadow: 6px 6px 8px 0 #666;
}

.chakai .box > img {
  position: relative;
  overflow: hidden;
}

.chakai .box > img:first-of-type {
  position: absolute;
  top: 0;
  left: 0;
  width: 110%;
}

.chakai .box > img:nth-of-type(2) {
  position: absolute;
}

.chakai .box > img:nth-of-type(3) {
  width: 100px;
}

.chakai .box > img:nth-of-type(4) {
  position: absolute;
  top: -15%;
  right: -25%;
  width: 80%;
}

.chakai .box > img:nth-of-type(5) {
  position: absolute;
  top: 3%;
  right: -10%;
  width: 70%;
}

.chakai .box > img:nth-of-type(5) {
  position: absolute;
  top: -16%;
  left: -1rem;
  width: 20%;
}

.chakai .box > img:last-of-type {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 400px;
}

.chakai .box-title {
  text-shadow: 0 0 7px #18a231;
}

.ennichi .box {
  position: relative;
  max-width: 600px;
  margin: 3rem 1rem 1rem auto;
  background: #f8b856;
  background: -webkit-linear-gradient(-45deg, #f8b856 0%, #ed6d46 100%);
  background: -webkit-linear-gradient(315deg, #f8b856 0%, #ed6d46 100%);
  background: linear-gradient(135deg, #f8b856 0%, #ed6d46 100%);
  -webkit-box-shadow: 6px 6px 8px 0 #666;
          box-shadow: 6px 6px 8px 0 #666;
}

.ennichi .box .box-title {
  margin: 7rem 0 1rem auto;
  text-shadow: 0 0 7px #e91d0d;
}

.ennichi .box > img {
  position: absolute;
  overflow: hidden;
}

.ennichi .box > img:first-of-type {
  right: 0;
  bottom: 0;
}

.ennichi .box > img:nth-of-type(2) {
  right: 8%;
  width: 100px;
}

.ennichi .box > img:nth-of-type(3) {
  top: 3%;
  left: -15%;
  width: 80%;
}

.ennichi .box > img:nth-of-type(4) {
  top: -20%;
  right: -8%;
  width: 20%;
}

.ennichi .box > img:nth-of-type(5) {
  bottom: -10%;
  left: 0;
  width: 40%;
}

.ennichi .box > img:last-of-type {
  display: none;
}

.shinbutsu {
  padding-bottom: 3rem;
}

.shinbutsu .box {
  position: relative;
  max-width: 600px;
  margin-left: 1rem;
  background: #ffa2cb;
  background: -webkit-linear-gradient(-45deg, #ffa2cb 0%, #915da3 100%);
  background: -webkit-linear-gradient(315deg, #ffa2cb 0%, #915da3 100%);
  background: linear-gradient(135deg, #ffa2cb 0%, #915da3 100%);
  -webkit-box-shadow: 6px 6px 8px 0 #666;
          box-shadow: 6px 6px 8px 0 #666;
}

.shinbutsu .box > img {
  position: absolute;
  overflow: hidden;
}

.shinbutsu .box > img:first-of-type {
  top: 0;
  right: 0;
  width: 85%;
}

.shinbutsu .box > img:nth-of-type(2) {
  top: -5%;
  right: -20%;
  width: 70%;
}

.shinbutsu .box > img:nth-of-type(3) {
  position: static;
  width: 150px;
}

.shinbutsu .box > img:nth-of-type(4) {
  bottom: -5%;
  left: -10%;
  width: 65%;
}

.shinbutsu .box > img:last-of-type {
  right: 0;
  bottom: 5%;
  width: 13%;
}

.shinbutsu .box-title {
  line-height: 2.4rem;
  text-shadow: 0 0 7px #af2fd9;
}

.shinbutsu + .f002 {
  font-size: 1rem;
  line-height: 1.5rem;
  margin: 5rem 1rem;
  text-align: center;
  letter-spacing: -1px;
  color: #333;
  text-shadow: 0 0 5px #fff;
}

.parts-bg-01 + .pattern-a {
  margin-top: -2rem;
}

.creater {
  padding: 14rem 0 0 0;
  background-image: url(../images/parts-pattern-07-1.png), url(../images/parts-pattern-07-2.png), url(../images/parts-pattern-08.png), url(../images/parts-pattern-09.png);
  background-repeat: no-repeat,no-repeat, no-repeat, no-repeat;
  background-position: 50% 8%, 0 70%, 0 50%, 110% 60%;
  background-size: 100%, 20%, 35%, 35%;
}

.creater .name {
  font-weight: bold;
  margin: 1.5rem 0;
}

.creater .name .jp {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.creater .slider {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 2rem;
  padding: 0 3rem;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.creater .slider .slider-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 30%;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.creater .slider .slider-cont .disp {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: auto;
  text-align: left;
}

.creater .slider .slick-prev {
  top: 20%;
  left: .5rem;
  width: 35px;
  height: 40px;
  border: none;
}

.creater .slider .slick-prev::before {
  z-index: 10;
  display: inline-block;
  width: 25px;
  height: 25px;
  content: '';
  background: url(../images/arrow-l.png) no-repeat;
  background-size: cover;
}

.creater .slider .slick-next {
  top: 20%;
  right: .3rem;
  width: 35px;
  height: 40px;
  border: none;
}

.creater .slider .slick-next::before {
  display: inline-block;
  width: 25px;
  height: 25px;
  content: '';
  background: url(../images/arrow-r.png) no-repeat;
  background-size: cover;
}

.img {
  width: 250px;
  margin: 6rem auto 12rem auto;
}

.contact {
  padding: 4rem 2rem;
  color: #333;
}

.contact .element_wrap {
  padding: 1rem 0;
  background: url(../images/contact-line.png) no-repeat 100% 100%;
  background-size: 100%;
}

.contact .element_wrap:last-of-type {
  padding-bottom: 4rem;
  background: url(../images/contact-box.png) no-repeat;
  background-position: 100% 4rem;
  background-size: 100%;
}

.contact .element_wrap label {
  font-weight: bold;
  display: block;
  margin-bottom: 10px;
}

.contact #MyMailForm_button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
}

.contact #MyMailForm_button button {
  font-size: 24px;
  font-weight: bold;
  display: block;
  max-width: 200px;
  margin: 0 auto;
  padding: 2.5rem;
  cursor: pointer;
  cursor: pointer;
  text-align: center;
  color: #fff;
  border: none;
  background: url(../images/contact-button.png) no-repeat center center;
  background-size: 100%;
}

.contact .back {
  font-weight: bold;
  padding: 2rem;
  cursor: pointer;
  color: #333;
  border: none;
  background: #ccc;
}

.contact .p-stitle {
  margin-bottom: 3rem;
}

.contact .p-stitle span {
  font-size: 16px;
  text-align: center;
}

.contact input {
  font-size: 18px;
  width: 100%;
  margin-bottom: 1rem;
  padding: 10px 10px 10px 20px;
  border: none;
  border-radius: 0;
  outline: 0;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.contact input:focus {
  background: transparent;
}

.contact input::-webkit-input-placeholder {
  color: #ddd;
}

.contact input:-ms-input-placeholder {
  color: #ddd;
}

.contact input::-ms-input-placeholder {
  color: #ddd;
}

.contact input::placeholder {
  color: #ddd;
}

.contact input:-ms-input-placeholder {
  color: #ddd;
}

.contact input::-ms-input-placeholder {
  color: #ddd;
}

.contact textarea {
  font-size: 18px;
  display: block;
  width: 80%;
  margin: 4rem auto 0 auto;
  resize: none;
  border: none;
  border-radius: 0;
  background: transparent;
}

.contact textarea:focus {
  background: transparent;
}

.contact textarea + span {
  display: block;
  height: 200px;
}

.contact span {
  display: block;
  min-height: 3.5rem;
  margin-left: 1rem;
}

.contact form {
  margin: 0 auto;
  text-align: left;
}

.contact .text-success {
  font-size: 1.5rem;
  text-align: center;
}

.logo {
  padding: 3rem 0;
  text-align: center;
}

.logo img {
  width: 100px;
}

.copyright {
  font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  padding: 1rem 0;
  text-align: center;
  background: #000;
}

.box .boxe {
  position: absolute;
  right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 2rem;
  -webkit-animation: wavemover 10s infinite alternate linear;
          animation: wavemover 10s infinite alternate linear;
  -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;
  -webkit-filter: url("#wreckit01");
          filter: url("#wreckit01");
}

.box .boxe img {
  position: static;
  display: block;
  width: 100%;
  max-width: 400px;
}

.ennichi .boxe {
  -webkit-filter: url("#wreckit02");
          filter: url("#wreckit02");
}

.shinbutsu .boxe {
  right: -14%;
  -webkit-filter: url("#wreckit03");
          filter: url("#wreckit03");
}

@-webkit-keyframes wavemover {
  100% {
    padding-left: 200px;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
}

@keyframes wavemover {
  100% {
    padding-left: 200px;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
}

@-webkit-keyframes blink {
  78% {
    color: inherit;
    text-shadow: inherit;
  }

  79% {
    color: #333;
  }

  80% {
    text-shadow: none;
  }

  81% {
    color: inherit;
    text-shadow: inherit;
  }

  82% {
    color: #333;
    text-shadow: none;
  }

  83% {
    color: inherit;
    text-shadow: inherit;
  }

  92% {
    color: #333;
    text-shadow: none;
  }

  92.5% {
    color: inherit;
    text-shadow: inherit;
  }
}

@keyframes blink {
  78% {
    color: inherit;
    text-shadow: inherit;
  }

  79% {
    color: #333;
  }

  80% {
    text-shadow: none;
  }

  81% {
    color: inherit;
    text-shadow: inherit;
  }

  82% {
    color: #333;
    text-shadow: none;
  }

  83% {
    color: inherit;
    text-shadow: inherit;
  }

  92% {
    color: #333;
    text-shadow: none;
  }

  92.5% {
    color: inherit;
    text-shadow: inherit;
  }
}

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

  .pc {
    display: block;
  }

  .bg-key-grad {
    margin-top: 1.5rem;
  }

  .bg-key-grad .InfoCanvas {
    width: calc(100% + 4rem);
    height: 20rem;
  }

  .bg-key-grad .key-disp {
    padding: 10rem 2rem 0 2rem;
  }

  .bg-key-grad .key-title {
    font-size: 2rem;
  }

  .bg-key-grad .key-visual img {
    max-width: 400px;
  }

  .bg-key-grad .key-txt {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }

  .bg-key-grad .key-movie {
    width: 100vw;
    padding: 2rem 0;
    background-position: 0 90%, 100% 10%;
  }

  .bg-key-grad .key-movie > div {
    max-width: 800px;
  }

  .bg-key-grad .key-movie video {
    width: 60%;
  }

  .pattern-a .p-title {
    font-size: 3rem;
  }

  .pattern-b .box {
    max-width: 475px;
    padding: 1.5rem 3rem 1.5rem 1.5rem;
  }

  .pattern-b .box-txt,
  .pattern-b .box-video {
    font-size: 1.5rem;
  }

  .pattern-b .box-txt span,
  .pattern-b .box-video span {
    font-size: 1.3rem;
    line-height: 1.5rem;
  }

  .parts-bg-01 {
    position: relative;
    z-index: 99;
    padding: 8rem 0 10rem 0;
    background-position: 0 -200px;
  }

  .parts-bg-02 {
    position: relative;
    z-index: 98;
    margin-top: -24rem;
    padding: 8rem 0 10rem 0;
    background-position: 0 -180px;
  }

  .parts-bg-03 {
    margin-top: -18rem;
    background-position: 100%;
  }

  .chakai .box {
    margin: 0 auto 0 0;
  }

  .chakai .box > img:first-of-type {
    width: 100%;
  }

  .chakai .box > img:nth-of-type(2) {
    top: -80%;
    width: 200%;
  }

  .chakai .box > img:nth-of-type(4) {
    right: -60%;
    width: 80%;
  }

  .chakai .box > img:nth-of-type(5) {
    left: -12%;
  }

  .chakai .box > img:last-of-type {
    width: 100%;
  }

  .ennichi .box {
    margin: 0 0 0 auto;
    padding: 1.5rem 1.5rem 1.5rem 3rem;
  }

  .ennichi .box > img:first-of-type {
    width: 100%;
  }

  .ennichi .box > img:nth-of-type(3) {
    top: 25%;
    left: -90%;
    width: 100%;
  }

  .ennichi .box > img:nth-of-type(3) {
    left: -125%;
    width: 130%;
  }

  .ennichi .box > img:nth-of-type(4) {
    top: -28%;
    right: -25%;
    width: 20%;
  }

  .ennichi .box > img:nth-of-type(5) {
    left: -12%;
    width: 35%;
  }

  .shinbutsu .box {
    margin: 0 auto 0 0;
  }

  .shinbutsu .box > img:first-of-type {
    width: 65%;
  }

  .shinbutsu .box > img:nth-of-type(2) {
    top: 25%;
    right: -140%;
    width: 150%;
  }

  .shinbutsu .box > img:nth-of-type(4) {
    left: -12%;
    width: 45%;
  }

  .shinbutsu .box > img:last-of-type {
    right: -100%;
    bottom: 5%;
    width: 40%;
  }

  .shinbutsu + .f002 {
    font-size: 2rem;
    line-height: 3rem;
  }

  .creater {
    padding-top: 20rem;
    background-position: 50% 8%, 90% 85%, 0 100%, 100% 100%;
    background-size: 90%, 10%, 18%, 18%;
  }

  .creater .slider {
    width: 99%;
    margin: 2rem 0 0 0;
    padding: 0;
  }

  .creater .slider .slider-cont {
    margin: 0 1rem;
  }

  .img {
    width: 500px;
    margin-top: 8rem;
  }

  .contact .element_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background-size: calc(100% - 10rem);
  }

  .contact .element_wrap:last-of-type {
    display: block;
    padding-bottom: 9rem;
  }

  .contact .element_wrap label {
    width: 15rem;
  }

  .contact #MyMailForm_button button {
    margin: 2rem auto;
  }

  .contact textarea {
    margin: 4rem auto 0 auto;
    outline: 0;
  }

  .contact textarea + span {
    width: 90%;
    height: 240px;
    margin: 3rem 0 0 3rem;
  }

  .contact form {
    width: 60%;
  }
}

@media screen and (min-width: 1200px) {
  .bg-key-grad .key-movie {
    background-position: 15% 85%, 85% 15%;
  }

  .parts-bg-01 {
    background-position: 0 -230px;
  }

  .parts-bg-02 {
    background-position: 0 60%;
  }

  .parts-bg-03 {
    position: relative;
    z-index: 100;
    background-position: 0 60%;
  }

  .chakai .box > img:nth-of-type(2) {
    top: -90%;
    left: -10%;
    width: 240%;
  }

  .chakai .box > img:nth-of-type(4) {
    right: -90%;
    width: 100%;
  }

  .chakai .box > img:nth-of-type(5) {
    left: -25%;
    width: 30%;
  }

  .ennichi .box > img:nth-of-type(4) {
    right: -45%;
    width: 25%;
  }

  .ennichi .box > img:nth-of-type(5) {
    left: -25%;
  }

  .shinbutsu .box > img:first-of-type {
    width: 70%;
  }

  .shinbutsu .box > img:nth-of-type(2) {
    right: -180%;
    width: 170%;
  }

  .shinbutsu .box > img:nth-of-type(4) {
    left: -25%;
  }

  .shinbutsu .box > img:last-of-type {
    right: -25%;
  }

  .creater {
    padding-top: 35rem;
    background-position: 50% 30%, 90% 85%, 0 100%, 100% 100%;
  }

  .contact .element_wrap:last-of-type {
    padding-bottom: 10rem;
  }

  .contact textarea + span {
    height: 300px;
    margin: 0 0 0 2rem;
    padding: 1rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 900px) {
  .wrapper .pattern-b .box {
    max-width: 380px;
  }
}

@media screen and (min-width: 650px) and (max-width: 768px) {
  .contact .element_wrap:last-of-type {
    padding-bottom: 15rem;
  }
}

@media screen and (min-width: 500px) and (max-width: 650px) {
  .contact .element_wrap:last-of-type {
    padding-bottom: 13rem;
  }
}

@media (aspect-ratio: 16 / 9), (min-aspect-ratio: 16 / 9) {
  .video-container video {
    top: 50%;
    width: 100%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media (max-aspect-ratio: 16 / 9) {
  .video-container video {
    left: 50%;
    height: 100%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}