html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tfoot, thead, th, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #00449a;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}

ol li, ul li {
  list-style: none;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

  .sp_only {
    display: block !important;
  }
}
@media screen and (min-width: 480px) {
  .sp_only {
    display: none !important;
  }

  .pc_only {
    display: block !important;
  }
}
html {
  font-size: 62.5%;
}

body {
  line-height: 1;
  font-size: 14px;
  font-size: 1.4rem;
  /*@include fm();*/
  color: #000;
  -webkit-text-size-adjust: 100%;
  /*min-width: 1000px;*/
  max-width: 1920px;
  width: 100%;
}

section {
  padding: 70px 0;
  background: #fff;
}
section .inner {
  overflow: visible;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 35px;
}
section figure {
  width: 100%;
  margin: 0 auto 30px;
  text-align: center;
}
section figure a {
  transition: all  0.3s ease;
}
section figure a:hover {
  opacity: 0.6;
}
section figure img {
  max-width: 100%;
  margin: 0 auto;
}
section figure:last-child {
  margin-bottom: 0;
}
section p {
  font-size: 25px;
  font-size: 2.5rem;
  margin-bottom: 1.5em;
  line-height: 1.65em;
}
section p:last-child {
  margin-bottom: 0;
}
section p.name {
  text-align: right;
}
section img {
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  section {
    padding: 10% 0;
  }
  section figure {
    margin-bottom: 1rem;
  }
}

.box_video {
  position: relative;
  width: 100%;
  height: 56.25%;
  padding: 56.25% 0 0 0;
  text-align: center;
}
.box_video .video_wrapper {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 100%;
  margin: 0 auto;
}
.box_video .video_wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}

.box_video_1 {
  position: relative;
  width: 100%;
  height: 56.25%;
  padding: 56.25% 0 0 0;
  text-align: center;
  background: url("../img/video_bg_1.png") no-repeat center;
  background-size: 100% auto;
  margin-bottom: 70px;
}
.box_video_1 .video_wrapper {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 90%;
  height: 100%;
  margin: 0 auto;
}
.box_video_1 .video_wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ripple {
  position: relative;
  display: block;
  z-index: 0;
}
.ripple a {
  position: relative;
  z-index: 30;
}
.ripple img {
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
.ripple span {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  animation-name: rippleAnimation;
  animation-duration: 2s;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
  border-radius: 150px;
  background-color: #ffff00;
  box-shadow: 0 0 5px white;
}

@-webkit-keyframes rippleAnimation {
  0% {
    transform: scale(1, 1);
    opacity: .5;
  }
  100% {
    transform: scale(1.1, 1.1);
    opacity: 0;
  }
}
@keyframes rippleAnimation {
  0% {
    transform: scale(1, 1);
    opacity: .5;
  }
  100% {
    transform: scale(1.1, 1.1);
    opacity: 0;
  }
}
.ripple2 {
  position: relative;
  display: block;
}
.ripple2 img {
  max-width: 100%;
  margin: 0 auto;
}
.ripple2 span.clr_1, .ripple2 span.clr_2 {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 70px;
  height: 70px;
  margin: auto;
  -webkit-animation-name: rippleAnimation2;
  animation-name: rippleAnimation2;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 100%;
  box-shadow: 0 0 45px 1px #1dbc6f inset;
}
.ripple2 span.clr_2 {
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}

@-webkit-keyframes rippleAnimation2 {
  0% {
    transform: scale(1, 1);
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  80% {
    transform: scale(4.5, 4.5);
    opacity: 0;
  }
  100% {
    transform: scale(4.5, 4.5);
    opacity: 0;
  }
}
@keyframes rippleAnimation2 {
  0% {
    transform: scale(1, 1);
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  80% {
    transform: scale(4.5, 4.5);
    opacity: 0;
  }
  100% {
    transform: scale(4.5, 4.5);
    opacity: 0;
  }
}
.bounce {
  position: relative;
}
.bounce::after {
  position: absolute;
  right: 0;
  bottom: -100px;
  left: 0;
  display: block;
  width: 540px;
  height: 72px;
  margin: auto auto 0;
  content: '';
  background: url(../img/arw_2.png) no-repeat center top;
  animation-name: bounce;
  animation-duration: 2s;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
}

.t_1 {
  color: #c00;
}

.t_2 {
  color: #bf9000;
}

.t_3 {
  color: #ff6600;
}

.t_4 {
  color: #ffeb3b;
}

.t_5 {
  color: #ff369b;
}

.t_6 {
  color: #07b255;
}

.t_7 {
  color: #002060;
}

.t_8 {
  color: #003F71;
}

.t_1_b {
  padding: .1em;
  color: #b5091a;
  background-color: #ff0;
}

.t_2_b {
  padding: .1em;
  color: #333;
  background-color: #ff0;
}

.t_3_b {
  padding: .1em;
  color: #f60;
  background-color: #ff0;
}

.t_4_b {
  padding: .1em;
  color: #c00;
  background-color: #ff0;
}

.t_5_b {
  padding: .1em;
  color: #c00;
  background-color: #ff0;
}

.bg_ylw {
  padding: .1em;
  background-color: #ff0;
}

.bg_blu {
  padding: .1em;
  background-color: #89BDDE;
}

.bg_red {
  padding: .1em;
  background-color: #f00;
}

.bg_grn {
  padding: .1em;
  background-color: #B4C300;
}

.t_lrg {
  font-size: 150%;
}

.t_lrg2 {
  font-size: 200%;
  line-height: 1.2;
}

.t_lrg3 {
  font-size: 340%;
  line-height: 1.2;
}

.t_stg {
  font-weight: bold;
}

.t_ul {
  text-decoration: underline;
}

.t_c {
  text-align: center !important;
}

.t_r {
  text-align: right !important;
}

.t_l {
  text-align: left !important;
}

.name {
  text-align: right !important;
}
@media screen and (max-width: 767px) {
  .name {
    width: 60%;
  }
}

.dsp_b {
  display: block !important;
}

.mt-2rem {
  margin-top: 2rem !important;
}

.mt-3rem {
  margin-top: 3rem !important;
}

.mt-4rem {
  margin-top: 4rem !important;
}

.mt-6rem {
  margin-top: 6rem !important;
}

.mt-8rem {
  margin-top: 8rem !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb110 {
  margin-bottom: 110px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}

.mb130 {
  margin-bottom: 130px !important;
}

.mb140 {
  margin-bottom: 140px !important;
}

.mb150 {
  margin-bottom: 150px !important;
}

.mb160 {
  margin-bottom: 160px !important;
}

.mb170 {
  margin-bottom: 170px !important;
}

.mb180 {
  margin-bottom: 180px !important;
}

.mb190 {
  margin-bottom: 190px !important;
}

.mb200 {
  margin-bottom: 200px !important;
}

.mb210 {
  margin-bottom: 210px !important;
}

.mb220 {
  margin-bottom: 220px !important;
}

.mb230 {
  margin-bottom: 230px !important;
}

.mb240 {
  margin-bottom: 240px !important;
}

.mb250 {
  margin-bottom: 250px !important;
}

.mb260 {
  margin-bottom: 260px !important;
}

.mb270 {
  margin-bottom: 270px !important;
}

.mb280 {
  margin-bottom: 280px !important;
}

.mb290 {
  margin-bottom: 290px !important;
}

.mb300 {
  margin-bottom: 300px !important;
}

.mb-2em {
  margin-bottom: 2em !important;
}

.mb-3em {
  margin-bottom: 3em !important;
}

.mb-4rem {
  margin-bottom: 4rem !important;
}

.mb-6rem {
  margin-bottom: 6rem !important;
}

.mb-10rem {
  margin-bottom: 10rem !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pb110 {
  padding-bottom: 110px !important;
}

.pb120 {
  padding-bottom: 120px !important;
}

.pb130 {
  padding-bottom: 130px !important;
}

.pb140 {
  padding-bottom: 140px !important;
}

.pb150 {
  padding-bottom: 150px !important;
}

.pb160 {
  padding-bottom: 160px !important;
}

.pb170 {
  padding-bottom: 170px !important;
}

.pb180 {
  padding-bottom: 180px !important;
}

.pb190 {
  padding-bottom: 190px !important;
}

.pb200 {
  padding-bottom: 200px !important;
}

.pb210 {
  padding-bottom: 210px !important;
}

.pb220 {
  padding-bottom: 220px !important;
}

.pb230 {
  padding-bottom: 230px !important;
}

.pb240 {
  padding-bottom: 240px !important;
}

.pb250 {
  padding-bottom: 250px !important;
}

.pb260 {
  padding-bottom: 260px !important;
}

.pb270 {
  padding-bottom: 270px !important;
}

.pb280 {
  padding-bottom: 280px !important;
}

.pb290 {
  padding-bottom: 290px !important;
}

.pb300 {
  padding-bottom: 300px !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.fl {
  float: left;
  width: auto !important;
  margin-right: 30px !important;
}

.fr {
  float: right;
  width: auto !important;
  margin-left: 30px !important;
}

.Fade-In {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s;
}
.Fade-In.Fade-In-2 {
  transition-delay: 0.2s;
}
.Fade-In.Fade-In-3 {
  transition-delay: 0.3s;
}
.Fade-In.Fade-In-4 {
  transition-delay: 0.4s;
}

.Fade-In-Down {
  opacity: 0;
  transform: translateY(-20px);
  transition: all 1s;
}
.Fade-In-Down.Fade-In-Down-2 {
  transition-delay: 0.2s;
}
.Fade-In-Down.Fade-In-Down-3 {
  transition-delay: 0.3s;
}
.Fade-In-Down.Fade-In-Down-4 {
  transition-delay: 0.4s;
}

.Fade-In-Left {
  opacity: 0;
  transform: translateX(-20px);
  transition: all 1s;
}
.Fade-In-Left.Fade-In-Left-2 {
  transition-delay: 0.2s;
}
.Fade-In-Left.Fade-In-Left-3 {
  transition-delay: 0.3s;
}
.Fade-In-Left.Fade-In-Left-4 {
  transition-delay: 0.4s;
}

.Fade-In-Right {
  opacity: 0;
  transform: translateX(20px);
  transition: all 1s;
}
.Fade-In-Right.Fade-In-Right-2 {
  transition-delay: 0.2s;
}
.Fade-In-Right.Fade-In-Right-3 {
  transition-delay: 0.3s;
}
.Fade-In-Right.Fade-In-Right-4 {
  transition-delay: 0.4s;
}

@media screen and (max-width: 1024px) {
  section .inner {
    padding: 0 5%;
  }

  .fr {
    width: 40% !important;
    margin-left: 2% !important;
    margin-bottom: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  section figure {
    /*img{width: 100%;}*/
  }
  section p {
    font-size: 15px;
    font-size: 1.5rem;
  }
  section p.name img {
    width: 50%;
  }
  section p br {
    display: none;
  }

  .fr {
    float: none;
    width: 60% !important;
    margin: 0 auto 30px !important;
  }
}
footer {
  text-align: center;
  background-color: #404040;
  padding: 1em;
  line-height: 1.65em;
  color: #fff;
  font-size: 20px;
  font-size: 2rem;
  font-family: "Sawarabi Mincho", serif;
  	/*.copyright{
      @include fs(18);
      color: #fff;
  	}*/
}
footer .f_link a {
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  footer {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.s_hdr_1, .s_hdr_2, .s_hdr_3, .s_hdr_4 {
  margin-top: 70px;
  margin-bottom: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 30px;
}
.s_hdr_1:first-child, .s_hdr_2:first-child, .s_hdr_3:first-child, .s_hdr_4:first-child {
  margin-top: -70px;
}

.s_hdr_1 {
  background: url(../img/s_hdr_1.png) no-repeat center top;
  height: 292px;
}

.sec_0 {
  background: none;
}

.sec_header {
  padding: 15px 0 20px;
  position: relative;
}
.sec_header::after {
  content: '';
  position: absolute;
  background: linear-gradient(to left, #ce426c 0%, #d8bd50 100%);
  background: -moz-linear-gradient(to left, #ce426c 0%, #d8bd50 100%);
  background: -webkit-linear-gradient(to left, #ce426c 0%, #d8bd50 100%);
  width: 100%;
  height: 7px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto auto 0 auto;
}
.sec_header .inner {
  display: flex;
  align-items: center;
}
.sec_header .inner figure {
  width: auto;
  margin: 0;
}
.sec_header .inner figure:last-child {
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .sec_header {
    padding: 10px 0 10px;
  }
  .sec_header::after {
    height: 3px;
  }
  .sec_header .inner {
    padding-left: 2%;
  }
  .sec_header .inner figure {
    width: 45%;
  }
  .sec_header .inner figure:last-child {
    margin-left: 1em;
  }
}

.sec_mv {
  background: url("../img/bg_mv.jpg") no-repeat center top;
  height: 869px;
  padding: 75px 0 0;
}
.sec_mv .inner {
  padding: 0 5px;
}
.sec_mv .inner figure:first-child {
  text-align: left;
}
@media screen and (max-width: 991px) {
  .sec_mv {
    background-size: 200% auto;
    height: 90.5vw;
    padding-top: 8vw;
  }
  .sec_mv .inner figure:first-child {
    width: 85%;
    margin: 0 auto 1em 0;
  }
  .sec_mv .inner figure:last-child {
    width: 90%;
  }
}

.sec_1 {
  background: url("../img/bg_1.jpg") no-repeat center top;
  height: 924px;
  display: flex;
  align-items: center;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .sec_1 {
    background-size: 200% auto;
    height: 97vw;
  }
}

.sec_2 {
  background: url("../img/bg_2.jpg") no-repeat center top;
  height: 754px;
}
@media screen and (max-width: 767px) {
  .sec_2 {
    background-size: 190% auto;
    height: 75vw;
  }
}

.sec_3 {
  background: url("../img/bg_3.jpg") no-repeat center top;
  height: 752px;
  padding: 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sec_3 {
    background-size: 200% auto;
    height: 79vw;
  }
}

.sec_4 {
  background: url("../img/bg_4.jpg") no-repeat center top;
  position: relative;
  padding-top: 170px;
}
.sec_4 figure.arw {
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .sec_4 {
    background-size: 200% auto;
    padding-top: 17vw;
    padding-bottom: 8%;
  }
  .sec_4 figure.arw {
    width: 110px;
    top: -11px;
  }
}

.sec_5 {
  background: url("../img/bg_5.jpg") no-repeat center top;
  height: 754px;
  padding: 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sec_5 {
    background-size: 200% auto;
    height: 79vw;
  }
}

.sec_6 {
  background: url("../img/bg_6.jpg") no-repeat center top;
  height: 461px;
}
@media screen and (max-width: 767px) {
  .sec_6 {
    background-size: 190% auto;
    height: 46vw;
  }
}

.sec_7 {
  background: url("../img/bg_7.jpg") no-repeat center top;
  height: 356px;
  padding: 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sec_7 {
    background-size: cover;
    height: 35vw;
  }
}

.sec_cta {
  background: url("../img/bg_cta.jpg") no-repeat center top;
}
.sec_cta form {
  text-align: center;
}
.sec_cta form input[type="text"] {
  max-width: 785px;
  width: 100%;
  margin: auto auto 50px;
  border: none;
  border-radius: 5px;
  padding: 1em;
  text-align: center;
  font-size: 26px;
  font-size: 2.6rem;
}
.sec_cta form input[type="text"]::placeholder {
  color: #999;
}
.sec_cta form input[type="image"] {
  max-width: 100%;
  margin: auto;
}
.sec_cta form input[type="image"]:hover {
  opacity: 0.6;
}
.sec_cta .ripple span {
  max-width: 733px;
  background-color: #22ac38;
}
@media screen and (max-width: 767px) {
  .sec_cta {
    background-size: cover;
  }
  .sec_cta form input[type="text"] {
    margin-bottom: 1.5em;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 480px) {
  .sp_only {
    display: none !important;
  }

  .pc_only {
    display: block !important;
  }
}
