@charset "UTF-8";
.costom_container {
  padding-right: 5px;
  padding-left: 5px;
  margin-right: 3px;
  margin-left: 3px;
  width: 111%;
}

.container {
  padding-right: 0;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
}

.container::before {
  display: none;
}

@media (min-width: 767px) {
  #logo-container {
    text-align: center;
    overflow: hidden;
    position: relative;
    height: 100vh;
    padding: 0 0 0 0;
    z-index: 3;
  }

  #logo-top-png {
    display: inline-block;
    position: absolute;
    width: 10vw;
    min-width: 10vw;
    max-width: 100vw;
    left: 22vw;
    top: calc(100vh * 0.4);
  }

  .title-line {
    position: absolute;
    display: block;
    margin: auto;
    font-family: "Candal", "Arial Black", sans-serif;
    letter-spacing: -0.02em;
    font-size: 7vw;
    width: 100%;
    left: 0;
    top: 40vh;
  }
}
@media (max-width: 767px) {
  #logo-container {
    text-align: center;
    overflow: hidden;
    position: relative;
    height: 100vh;
    padding: 0 0 0 0;
  }

  #logo-top-png {
    display: inline-block;
    position: absolute;
    width: 10vw;
    min-width: 10vw;
    max-width: 100vw;
    left: 22vw;
    top: calc(100vh * 0.4);
  }

  .title-line {
    position: absolute;
    display: block;
    margin: auto;
    font-family: "Candal", sans-serif;
    letter-spacing: -0.02em;
    font-size: 7vw;
    width: 100%;
    left: 0;
    top: 40vh;
  }
}
.title-line span {
  position: relative;
  display: inline-block;
}

@media screen and (min-width: 767px) {
  #works {
    padding: 60px 0;
  }
}
@media screen and (max-width: 767px) {
  #works {
    padding: 30px 0;
  }
}
.works_fig {
  position: relative;
  opacity: 1;
  top: 0px;
  left: 0px;
}

.gallery figure {
  float: left;
  display: inline-block;
}

.bg_base1 {
  background-color: #77abde;
}

.bg_base2 {
  background-color: rgba(0, 25, 45, 0.3);
}

.bg_base3 {
  background-color: #5893c8;
}

@media (min-width: 767px) {
  .think-wrap1 {
    display: block;
    background-color: rgba(0, 25, 45, 0.3);
    margin-top: 80px;
  }

  .think-wrap2 {
    display: block;
    background-color: rgba(0, 25, 45, 0.3);
  }

  .think-box-first {
    text-align: center;
  }

  .think-box-second {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .think-wrap1 {
    display: block;
    background-color: rgba(0, 25, 45, 0.3);
    padding-top: 60px;
  }

  .think-wrap2 {
    display: block;
    background-color: rgba(0, 25, 45, 0.3);
  }

  .think-box-first {
    margin-bottom: 60px;
    text-align: center;
    padding: 0;
  }

  .think-box-second {
    margin-bottom: 60px;
    text-align: center;
    padding: 0;
  }
}
@media (min-width: 767px) {
  .think-contents {
    background-color: white;
    padding: 20px;
    height: 100%;
  }
}
@media (max-width: 767px) {
  .think-contents {
    background-color: white;
    padding: 20px;
  }
}
.text-lg {
  font-size: 1.5rem;
}

.text-md {
  font-size: 1.1rem;
}

.text-sm {
  font-size: 0.9rem;
}

.text-xs {
  font-size: 0.8rem;
}

.whats_new li {
  list-style-type: none;
  height: 60px;
  padding-top: 5px;
  line-height: 50px;
}

.whats_new li .bottom-border {
  border-bottom: 1px solid #363846;
}

.whats_new .title {
  font-size: 105%;
  font-weight: bold;
  height: 30px;
  margin-bottom: 5px;
  line-height: 25px;
  margin-top: 5px;
}

.whats_new .contents {
  line-height: 25px;
}

.link-contents a {
  text-decoration: none;
}

.link-contents-red {
  background: rgba(242, 115, 152, 0.3);
}

.link-contents-blue {
  background: rgba(64, 238, 255, 0.3);
}

.link-contents-orange {
  background: rgba(251, 168, 72, 0.3);
}

@media (min-width: 767px) {
  .link-wrap {
    margin-top: 120px;
  }

  .link-conteiner {
    background-image: url("../images/index/bottom.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 10vh;
    margin-bottom: 10vh;
    padding-top: 5vw;
    padding-bottom: 5vw;
    height: calc(100vw / 3);
    max-height: 530px;
    font-size: 1.2rem;
    z-index: -2;
    display: flex;
    align-items: center;
    width: 100%;
  }

  .link-contents a {
    display: block;
    text-align: center;
    color: white;
    border: 1px solid white;
    height: calc((100vw / 3) - 10vw);
    width: calc((100vw / 3) - 10vw);
    max-width: 340px;
    max-height: 340px;
    margin: 0 auto;
    transition: 0.3s;
    transform: scale(1);
    display: block;
    position: relative;
  }

  .link-contents a > div {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  .link-contents-red:hover {
    transform: scale(1.1);
    background: rgba(242, 115, 152, 0.1);
  }

  .link-contents-blue:hover {
    transform: scale(1.1);
    background: rgba(64, 238, 255, 0.1);
  }

  .link-contents-orange:hover {
    transform: scale(1.1);
    background: rgba(251, 168, 72, 0.15);
  }
}
@media (max-width: 767px) {
  .link-wrap {
    margin-top: 80px;
    padding: 0 0 0 0;
  }

  .link-conteiner {
    background-image: url("../images/index/bottom-sp.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 50px;
    padding-bottom: 0;
    height: 420px;
    font-size: 1.2rem;
  }

  .link-conteiner a {
    display: block;
    text-align: center;
    color: #fff;
    border: 1px solid #fff;
    height: 80px;
    width: 100%;
    margin: 0 auto 40px;
  }

  .link-conteiner a > div {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
}
.cl-effect-21 a {
  padding: 3px;
  color: #237546;
  text-shadow: none;
  transition: color 0.3s;
  padding-top: 6px;
}

.cl-effect-21 a::before, .cl-effect-21 a::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  content: "";
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  transform: translateY(-10px);
}

.cl-effect-21 a::before {
  top: 0;
  transform: translateY(-10px);
}

.cl-effect-21 a::after {
  bottom: 0;
  transform: translateY(10px);
}

.cl-effect-21 a:hover, .cl-effect-21 a:focus {
  color: #fff;
}

.cl-effect-21 a:hover::before, .cl-effect-21 a:focus::before, .cl-effect-21 a:hover::after, .cl-effect-21 a:focus::after {
  opacity: 1;
  transform: translateY(0px);
}

.cl-effect-19 a {
  line-height: 2em;
  margin: 15px;
  perspective: 800px;
  width: 200px;
}

.cl-effect-19 a span {
  position: relative;
  display: inline-block;
  transition: transform 0.4s, background 0.4s;
  transform-style: preserve-3d;
  transform-origin: 50% 50% -100px;
}

.csstransforms3d .cl-effect-19 a span::before {
  position: absolute;
  top: 0;
  background: orange;
  content: attr(data-hover);
  transition: background 0.4s;
  transform: rotateY(90deg);
  transform-origin: 0 50%;
  pointer-events: none;
}

.cl-effect-19 a:hover span, .cl-effect-19 a:focus span {
  background: #b53a2d;
  transform: rotateY(-90deg);
}

.csstransforms3d .cl-effect-19 a:hover span::before, .csstransforms3d .cl-effect-19 a:focus span::before {
  background: #ef5e50;
}

.cl-effect-1 a::before, .cl-effect-1 a::after {
  display: inline-block;
  opacity: 0;
  transition: transform 0.3s, opacity 0.2s;
}

.cl-effect-1 a::before {
  margin-right: 10px;
  content: "[";
  transform: translateX(20px);
}

.cl-effect-1 a::after {
  margin-left: 10px;
  content: "]";
  transform: translateX(-20px);
}

.cl-effect-1 a:hover::before, .cl-effect-1 a:hover::after, .cl-effect-1 a:focus::before, .cl-effect-1 a:focus::after {
  opacity: 1;
  transform: translateX(0px);
}

.cl-effect-2 a {
  perspective: 1000px;
  color: white;
}

.cl-effect-2 a span {
  position: relative;
  display: inline-block;
  transition: transform 0.3s;
  transform-origin: 50% 0;
  transform-style: preserve-3d;
}

.csstransforms3d .cl-effect-2 a span::before {
  position: absolute;
  content: attr(data-hover);
  transition: background 0.3s;
  transform: rotateX(-90deg);
  transform-origin: 50% 0;
  color: white;
}

.cl-effect-2 a:hover span, .cl-effect-2 a:focus span {
  transform: rotateX(90deg) translateY(-22px);
  color: white;
}

.csstransforms3d .cl-effect-2 a:hover span::before, .csstransforms3d .cl-effect-2 a:focus span::before {
  color: white;
}

.line {
  background-color: #083388;
  height: 1px;
  min-width: 1100px;
}

img {
  max-width: 100%;
  vertical-align: middle;
  border: 0;
  page-break-inside: avoid;
}

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
}

#top_image {
  background-image: url("../images/index/top_info.jpg");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #fff;
  padding: 0;
}

#top_image p {
  color: white;
  text-align: center;
  font-size: 2rem;
}

@media screen and (min-width: 767px) {
  .top_image_text-back {
    width: 100%;
    margin-top: 120px;
    margin-bottom: 160px;
    top: 20vh;
    position: relative;
  }

  #top_image .first {
    font-size: 3rem;
    font-weight: bold;
  }

  #top_image .scond {
    font-size: 1.5rem;
    text-shadow: 1px 1px 3px #646464;
  }

  #top_image .last {
    font-size: 1rem;
    text-shadow: 1px 1px 3px #646464;
  }
}
@media screen and (max-width: 767px) {
  .top_image_text-back {
    width: 100%;
    margin-top: 50px;
    margin-bottom: 50px;
    font-size: 3.7rem;
    font-family: "Roboto", "Yu Gothic", YuGothic, Helvetica, Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
    position: relative;
    top: 13vh;
    z-index: 1;
  }

  #top_image .first {
    font-size: 1.4rem;
  }

  #top_image .scond {
    font-size: 1rem;
  }

  #top_image .last {
    font-size: 0.8rem;
  }
}
#pc_scroll {
  margin-top: 84vh;
}

#pc_scroll a {
  padding-top: 60px;
}

#pc_scroll a .mouse {
  position: absolute;
  top: 3px;
  left: 50%;
  width: 3vw;
  height: 5vw;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #333333;
  border-radius: 50px;
  box-sizing: border-box;
  margin-top: 87vh;
}

#pc_scroll a .mouse::before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: "";
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #333333;
  border-radius: 100%;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}

#sp_scroll {
  margin-top: 82vh;
}

#sp_scroll a .arrow {
  margin-top: 75vh;
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-right: 1px solid #333333;
  border-top: 1px solid #333333;
  transform: rotateZ(-45deg);
  animation: arrow_sdb 1.5s infinite;
  box-sizing: border-box;
}

#thanks {
  background-color: #fff;
}

#thanks:after {
  content: none;
}

@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes arrow_sdb {
  0% {
    transform: rotateY(0) rotateZ(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotateY(720deg) rotateZ(-45deg) translate(20px, -20px);
    opacity: 0;
  }
}
.sp-mail-btn {
  border: 2px solid #363947;
  color: #363947;
  margin-bottom: 32px;
  height: 53px;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  padding-top: 12px;
}

.whats_new_icon {
  font-size: 0.7rem;
}

.thinkTtl {
  font-size: 0.9rem;
  margin-top: 20px;
  line-height: 1.1;
}

#top_movie_wrap {
  width: 100%;
  height: 100vh;
  padding: 0;
  background-color: black;
  position: relative;
}

#top_image_wrap {
  width: 100%;
  height: 100vh;
  padding: 0;
  background-color: black;
  position: relative;
}

#top_movie {
  width: 100%;
  background-color: black;
}

#top_movie_pat {
  background: url(../images/index/patt.png) 0 0 repeat;
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

#top_movie_pic {
  position: absolute;
  width: 100%;
  height: 200px;
  top: calc(100vh - 200px - 90px);
  left: 0;
  opacity: 0.1;
}

#top_movie_wrap video {
  width: 100%;
}

.top_movie_text_back p {
  color: white;
  text-align: center;
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  #movie_page_scroll {
    height: 81px;
    position: absolute;
    top: calc(95vh - 140px);
    width: 100%;
    z-index: 1;
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  #movie_page_scroll {
    height: 81px;
    position: absolute;
    top: calc(88vh - 140px);
    width: 100%;
    z-index: 1;
    opacity: 0.6;
  }

  #movie_page_scroll_xs {
    height: 81px;
    position: absolute;
    top: calc(88vh - 140px);
    width: 100%;
    z-index: 1;
    opacity: 0.6;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #movie_page_scroll_xs {
    height: 81px;
    position: absolute;
    top: calc(98vh - 140px);
    width: 100%;
    z-index: 1;
    opacity: 0.6;
  }
}
#movie_page_scroll span {
  background-image: url(../images/index/scroll_ico.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  height: 60px;
  width: 60px;
  display: block;
  margin: 0 auto;
}

#movie_page_scroll_xs span {
  background-image: url(../images/index/scroll_ico.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  height: 60px;
  width: 60px;
  display: block;
  margin: 0 auto;
}

#movie_page_scroll span:hover {
  background-image: url(../images/index/scroll_hover.png);
  opacity: 0.6;
  cursor: pointer;
}

.whats_new_in_movie_a a {
  color: white;
}

.whats_new_in_movie_a a:hover {
  text-decoration: underline;
}

.top_movie_text_back p {
  padding-bottom: 5px;
  text-shadow: 1px 1px 3px #646464;
}

.whats_new_in_movie img {
  opacity: 0.6;
}

@media screen and (min-width: 991px) {
  .top_movie_text_back {
    width: 100%;
    position: absolute;
    margin: 2% 0 0 0;
    top: 36vh;
    z-index: 1;
    height: 0;
  }
}
@media screen and (max-width: 991px) {
  .top_movie_text_back {
    width: 100%;
    position: absolute;
    margin: 2% 0 0 0;
    top: 36vh;
    z-index: 2;
  }
}
.whats_new_in_movie_wrap {
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
}

@media screen and (min-width: 767px) {
  .whats_new_in_movie_wrap {
    position: absolute;
    height: 90px;
    padding: 16px 0;
    top: calc(100vh - 90px);
  }
}
@media screen and (max-width: 767px) {
  .whats_new_in_movie_wrap {
    position: absolute;
    width: 100%;
    height: 50px;
    top: calc(88vh - 50px);
    padding: 0;
  }
}
@media screen and (min-width: 992px) {
  .whats_new_in_movie {
    font-size: 1.1rem;
    text-align: center;
    color: white;
  }
}
@media screen and (min-width: 767px) {
  .whats_new_in_movie {
    font-size: 1rem;
    color: white;
  }

  .whats_new_in_movie a:visited {
    color: white;
  }

  .top_movie_text_back .first {
    font-size: 3.7rem;
    font-family: "Roboto", "Yu Gothic", YuGothic, Helvetica, Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
  }

  .top_movie_text_back .scond {
    font-size: 1.5rem;
  }

  .top_movie_text_back .last {
    font-size: 1rem;
  }

  .text-right-sm {
    text-align: right;
  }

  .more_view_red_a {
    height: 50px;
    padding-top: 10px;
    display: block;
  }

  .whats_new_in_movie a {
    color: white;
  }

  .whats_new_in_movie a:visited {
    color: white;
  }

  .news_icon_sp {
    padding: 0;
  }

  .news_icon_sp img {
    max-width: 100px;
  }
}
@media screen and (max-width: 767px) {
  .whats_new_in_movie {
    font-size: 0.9rem;
    color: white;
  }

  .whats_new_in_movie p {
    margin: 0 0 3px;
  }

  .more_view_red_a {
    height: 50px;
    padding-top: 10px;
    display: block;
  }

  .whats_new_in_movie a {
    color: white;
  }

  .whats_new_in_movie a:visited {
    color: white;
  }

  .top_movie_text_back .first {
    font-size: 1.3rem;
  }

  .top_movie_text_back .scond {
    font-size: 1.4rem;
  }

  .top_movie_text_back .last {
    font-size: 1.1rem;
  }

  .text-center-xs {
    text-align: center;
  }

  .news_icon_sp {
    padding: 0;
  }

  .news_icon_sp img {
    max-width: 50px;
  }
}
.whats_new_top_date {
  text-align: center;
  padding-top: 17px;
  font-size: 0.9rem;
  color: white;
}

.bg-violet {
  background-color: #9899b7;
}

@media screen and (min-width: 1120px) {
  #top_image_wrap {
    display: none;
  }

  #top_movie_wrap {
    display: block;
  }
}
@media screen and (min-width: 992px) and (max-width: 1119px) {
  #top_image_wrap {
    display: none;
  }

  #top_movie_wrap {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #top_image_wrap {
    display: block;
  }

  #top_movie_wrap {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #top_image_wrap {
    display: block;
  }

  #top_movie_wrap {
    display: none;
  }
}
.flex-stretch {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
  max-width: 1000px;
}

.flex-middle {
  display: flex;
  align-items: center;
}
/* plus CSS blog Area */
#blogarea .blog_cont_inner ul li a > figure {
  position: relative;
}

.top-moreview-btn {
  width: 100%;
  max-width: 171px;
}

#blogarea {
  width: 100%;
  height: auto;
  background: url("../images/index/top_blog_area_bg.png") no-repeat;
  background-size: cover;
  padding: 5% 0 14%;
}

@media (max-width: 767px) {
  #blogarea {
    background: url("../images/index/top_blog_area_bg_sp.jpg") no-repeat;
    background-size: cover;
    padding: 10% 0 14%;
  }
}
#blogarea > div.blog_cont_inner {
  width: 100%;
  max-width: 1080px;
  margin: 0% auto;
}

#blogarea > div.blog_cont_inner > ul {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
  list-style: none;
}

#blogarea > div.blog_cont_inner > ul > li {
  position: relative;
  list-style: none;
  display: block;
  background-color: #ffffff;
  border: solid 1px #c8c8c8;
  width: 23%;
  box-sizing: border-box;
  margin: 1%;
  text-decoration: none;
  transition: all 1s;
}

#blogarea > div.blog_cont_inner > ul > li a {
  padding: 20px 4.5%;
  display: block;
  height: 100%;
}

#blogarea > div.blog_cont_inner > ul > li a:hover {
  color: #363947;
}

#blogarea > div.blog_cont_inner > ul > li:hover {
  opacity: 0.6;
}

@media (max-width: 1100px) {
  #blogarea > div.blog_cont_inner > ul {
    max-width: 94%;
  }
}
@media screen and (max-width: 920px) {
  #blogarea > div.blog_cont_inner > ul {
    justify-content: center;
    flex-wrap: wrap;
  }

  #blogarea > div.blog_cont_inner > ul > li {
    max-width: none;
    margin: 1%;
    max-width: 100%;
    width: 49%;
  }

  #blogarea > div.blog_cont_inner > ul > li:nth-child(odd) {
    margin-left: 0;
  }

  #blogarea > div.blog_cont_inner > ul > li:nth-child(even) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  #blogarea > div.blog_cont_inner > ul {
    max-width: none;
  }

  #blogarea {
    max-height: none;
  }

  #blogarea > div.blog_cont_inner > ul > li {
    width: 100%;
    margin: 5% 15px;
  }

  #blogarea > div.blog_cont_inner > ul > li:nth-child(odd) {
    margin-left: 15px;
  }

  #blogarea > div.blog_cont_inner > ul > li:nth-child(even) {
    margin-right: 15px;
  }
}
@media screen and (max-width: 560px) {
  #blogarea > div.blog_cont_inner > ul {
    width: 100%;
    margin: 0 auto;
  }
}
img.img01 {
  width: 100%;
  max-width: none;
  height: auto;
  max-height: 149px;
  object-fit: contain;
  filter: grayscale(60%);
}

img.img02 {
  position: absolute;
  top: 0;
  right: 0;
}

#blogarea > div.blog_cont_inner > ul > li.top-blog-cate .substr {
  padding: 6% 2% 4%;
  margin-bottom: 25px;
}

.substr {
  visibility: hidden;
}

.blog_fig > figcaption {
  padding: 6% 2% 0;
  width: 100%;
  max-width: none;
  overflow: hidden;
  text-overflow: ellipsis;
}

.blog_fig > .blogTtl {
  padding: 6% 2% 0;
  width: 100%;
  max-width: none;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14.4px;
  margin: 0;
  font-weight: bold;
  line-height: 1.1;
}

div.button-centor {
  text-align: center;
  margin: 3% 0 4%;
}

div.button-centor a:hover {
  transition: all 1s;
  opacity: 0.7;
}

p.img02 {
  position: absolute;
  color: #333333;
  font-weight: bold;
  bottom: 0;
  right: 0;
  padding: 1px 4%;
  font-size: 12px;
  letter-spacing: 2px;
  clear: both;
}

#cloud_20th {
  position: absolute;
  top: 50px;
  display: none;
  width: 181px;
  height: 160px;
  right: 470px;
}

#btn_20th a {
  position: absolute;
  top: 160px;
  width: 181px;
  height: 157px;
  right: 300px;
}

#btn_20th > a > img {
  width: 100%;
}

@media (min-width: 768px) {
  .blog_fig > figcaption {
    padding: 6% 2% 0;
  }

  .blog_fig > .blogTtl {
    padding: 6% 2% 0;
  }

  #blogarea > div.blog_cont_inner > ul > li.top-blog-cate .substr {
    padding: 6% 0 4%;
  }
}
.btn_20th a {
  animation-name: bounceIn;
  animation-duration: 0.75s;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}

@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
@media screen and (max-width: 767px) {
  #cloud_20th {
    top: 30px;
    width: 80px;
    height: auto;
    left: calc(60vw - 40px);
  }

  #btn_20th a {
    top: 23vh;
    width: 80px;
    height: auto;
    left: calc(75vw - 40px);
  }
}
.turnBoxButton {
  background-color: #3ba8e0;
  color: white;
}

.rotateBox {
  bottom: 165px;
  position: absolute;
  width: 20%;
  height: 200px;
  margin-left: 70%;
}

.back-ground-black {
  position: absolute;
  right: 22%;
  transform: skewX(-15deg);
  bottom: 270px;
  background-color: #333;
  color: #fff;
  padding: 10px 40px;
  height: 47px;
  width: auto;
}

@media (min-width: 992px) and (max-width: 1119px) {
  .back-ground-black {
    padding: 9px 20px;
    height: 37px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .back-ground-black {
    padding: 9px 20px;
    height: 37px;
  }
}
@media (max-width: 767px) {
  .back-ground-black {
    padding: 5px 10px;
    height: 25px;
  }
}
#service {
  background-image: url(../images/index/service_bg.gif);
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 1539px) {
  #service {
    padding-left: 15px;
    padding-right: 15px;
  }
}
#service ul {
  max-width: 1540px;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 100%;
  justify-content: space-between;
}

@media (max-width: 920px) {
  #service ul {
    flex-wrap: wrap;
  }
}
#service ul li {
  flex-basis: 350px;
  background: #ffffff;
  border: 1px solid #484848;
}

@media (max-width: 1539px) {
  #service ul li {
    flex-basis: 22.7272727273vw;
  }
}
@media (max-width: 920px) {
  #service ul li {
    flex-basis: 48.5%;
  }
}
@media (max-width: 767px) {
  #service ul li {
    flex-basis: 100%;
    margin-bottom: 15px;
  }
}
@media (max-width: 920px) {
  #service ul li:nth-child(-n+2) {
    margin-bottom: 3.5%;
  }
}
@media (max-width: 767px) {
  #service ul li:nth-child(-n+2) {
    margin-bottom: 15px;
  }
}
#service ul li:last-child {
  margin-right: 0;
}

@media (max-width: 767px) {
  #service ul li:last-child {
    margin-bottom: 0;
  }
}
#service ul li div {
  border: 14px solid #eee;
  color: #363947;
  text-align: center;
}

@media (max-width: 1539px) {
  #service ul li div {
    border-width: 0.9090909091vw;
  }
}
#service .serviceHead {
  font-size: 26px;
  font-weight: bold;
  position: relative;
  line-height: 1;
  padding-bottom: 10px;
  margin: 17px 0 30px;
}

@media (max-width: 1539px) {
  #service .serviceHead {
    font-size: 1.6883116883vw;
    padding-bottom: 0.6493506494vw;
    margin: 1.1038961039vw 0 1.9480519481vw;
  }
}
@media (max-width: 920px) {
  #service .serviceHead {
    font-size: 18px;
    padding-bottom: 10px;
    margin: 17px 0 30px;
  }
}
#service .serviceHead::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #363947;
  width: 150px;
  height: 4px;
}

@media (max-width: 1539px) {
  #service .serviceHead::after {
    width: 9.7402597403vw;
    height: 0.2597402597vw;
  }
}
@media (max-width: 920px) {
  #service .serviceHead::after {
    height: 4px;
    width: 100px;
  }
}
#service ul li div img {
  padding-bottom: 20px;
  height: 190px;
}

@media (max-width: 1539px) {
  #service ul li div img {
    padding-bottom: 1.2987012987vw;
    height: 12.3376623377vw;
  }
}
@media (max-width: 920px) {
  #service ul li div img {
    padding-bottom: 15px;
    height: 150px;
  }
}
#service ul li div p {
  font-size: 18px;
}

@media (max-width: 1539px) {
  #service ul li div p {
    font-size: 1.1688311688vw;
  }
}
@media (max-width: 920px) {
  #service ul li div p {
    font-size: 15px;
  }
}
#service .box {
  max-width: 1540px;
  margin: 25px auto 0;
  display: flex;
  flex-direction: row-reverse;
}

@media (max-width: 991px) {
  #service .box {
    justify-content: center;
  }
}
#service .box > div {
  max-width: 270px;
  width: 100%;
  padding: 0 15px;
}

@media (max-width: 991px) {
  #service .box > div {
    width: 33.33333333%;
    max-width: none;
  }
}
@media (max-width: 767px) {
  #service .box > div {
    width: 66.66666667%;
    padding: 0;
  }
}
#works {
  visibility: visible;
  animation-name: fadeInDown;
}

/**
 * fnj kobayashi add. 191029
 */
#about_us_area {
  width: 100%;
  height: auto;
  background: url("../images/index/aboutus_bg.jpg") no-repeat;
  background-size: cover;
  padding: 50px 0 100px;
}

#about_us_area h2.section_title {
  color: white;
}

.carousel {
  padding-top: 120px;
}

.carousel_title {
  font-weight: bold;
  font-size: 1.4rem;
  margin-top: 40px;
}

.carousel-control.right {
  right: -150px;
  background-image: unset;
}

.carousel-control > .glyphicon-chevron-right:before {
  position: absolute;
  top: 50px;
  content: "";
  border: 2px solid white;
  height: 50px;
  width: 50px;
  transform: rotateZ(135deg);
  border-bottom: none;
  border-right: none;
  right: 0;
}

.carousel-control.left {
  left: -150px;
  background-image: unset;
}

.carousel-control > .glyphicon-chevron-left:before {
  position: absolute;
  top: 50px;
  content: "";
  border: 2px solid white;
  height: 50px;
  width: 50px;
  transform: rotateZ(-135deg);
  border-bottom: none;
  border-left: none;
}

.carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next, .carousel-control .icon-prev {
  color: white;
}

.carousel-inner > .item > div {
  background-color: white;
  padding: 10px;
  min-height: 420px;
}

#carousel-about-us > div > div > div > p:not(.carousel_title) {
  margin-top: 12px;
  line-height: 23px;
}

#carousel-about-us > div > div > div > div.more_view_wrap {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

.carousel-indicators {
  bottom: -60px;
}

.flexiblebox {
  display: flex;
  /* 縦方向中央揃え（Safari用） */
  align-items: center;
  /* 縦方向中央揃え */
  /* 横方向中央揃え（Safari用） */
  justify-content: center;
  /* 横方向中央揃え */
}

@media (max-width: 1500px) {
  .carousel-control {
    display: none;
  }
}
@media (max-width: 767px) {
  #about_us_area {
    background-image: none;
    padding: 30px 0 30px;
  }

  #about_us_area h2.section_title {
    color: #333;
  }

  .carousel {
    padding-top: 90px;
  }

  .carousel_title {
    font-weight: bold;
    font-size: 1rem;
    margin-top: 20px;
  }

  .carousel-control {
    display: block;
    height: 360px;
  }

  .carousel-control.left {
    display: none;
  }

  .carousel-control.right {
    display: none;
  }

  .carousel-control > .glyphicon-chevron-right:before {
    height: 30px;
    width: 30px;
    top: 0;
  }

  .carousel-control > .glyphicon-chevron-left:before {
    height: 30px;
    width: 30px;
    top: 0;
  }

  .carousel-inner > .item > div:first-of-type {
    text-align: center;
    min-height: 200px;
  }

  .carousel-inner > .item > div:nth-of-type(2) {
    min-height: unset;
    padding-top: 0;
  }

  .carousel-indicators {
    display: none;
  }

  .carousel-inner > .item > div {
    padding-left: 15px;
    padding-right: 15px;
  }

  #carousel-about-us > div > div > div > div.more_view_wrap.about_us_btn {
    position: absolute;
    position: absolute;
    top: -60px;
    width: 60%;
    border: 1px solid white;
    left: 50%;
    transform: translateX(-50%);
  }

  .more_view {
    margin-top: 4px;
  }

  .more_view_wrap .more_view_icon {
    top: 0;
  }
}
@media (max-width: 320px) {
  #carousel-about-us > div > div > div > div.more_view_wrap.about_us_btn {
    width: 80%;
  }
}
.message {
  background-image: url(../images/index/message_pattern1.png);
  padding: 110px 0 60px;
  position: relative;
}

@media (max-width: 1054px) {
  .message {
    padding-top: 10.4364326376%;
  }
}
.message .wrapper {
  max-width: 964px;
  margin: 0 auto;
  padding: 100px 0 40px;
  text-align: center;
  background-color: #ffffff;
  box-shadow: 0 0 7px rgba(5, 0, 0, 0.26);
}

@media (max-width: 1054px) {
  .message .wrapper {
    padding-top: 9.4876660342%;
  }
}
@media (max-width: 1000px) {
  .message .wrapper {
    width: 750px;
  }
}
@media (max-width: 767px) {
  .message .wrapper {
    width: calc(100% - 30px);
    margin: 0 15px;
    padding: 14% 15px 25px;
  }
}
.message .wrapper::before {
  content: "";
  background-image: url(../images/index/message_pen.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
  position: absolute;
  top: 0;
  right: 50%;
  transform: translateX(50%);
  width: 100%;
  max-width: 1054px;
  padding-top: 24.8576850095%;
}

.message .wrapper h2 {
  font-size: 24px;
  margin-top: 0;
}

.message .wrapper .section_title {
  margin-bottom: 90px;
}

@media (max-width: 767px) {
  .message .wrapper .section_title {
    margin-bottom: 40px;
  }
}
.message .wrapper .msgTtl {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 50px;
}

@media (max-width: 767px) {
  .message .wrapper .msgTtl {
    margin-bottom: 30px;
    text-align: center;
  }
}
@media (max-width: 340px) {
  .message .wrapper .msgTtl {
    font-size: 17px;
  }
}
.message .wrapper p {
  font-size: 15px;
  line-height: 2.26;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .message .wrapper p {
    font-size: 14.4px;
    line-height: 23px;
    text-align: left;
  }
}
@media (max-width: 991px) {
  .xs-hidden {
    display: none;
  }
}
svg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.servive_hover_path1, .servive_hover_path2, .servive_hover_path3, .servive_hover_path4 {
  fill: none;
  stroke-width: 8;
  stroke-dasharray: 1726;
  stroke-dashoffset: 1726;
  /*stroke-dasharray: 1376;*/
  /*stroke-dashoffset: 1376;*/
}

.servive_hover_path1 {
  stroke: url(#linearGradient1);
}

.servive_hover_path2 {
  stroke: url(#linearGradient2);
}

.servive_hover_path3 {
  stroke: url(#linearGradient3);
}

.servive_hover_path4 {
  stroke: url(#linearGradient4);
}

.works_title {
  min-height: 54px;
}

@media (max-width: 1199px) {
  #works .works_lead br {
    display: none;
  }
}
/*# sourceMappingURL=index.css.map */