@charset "UTF-8";

/*=============================================
 * body
 *=============================================*/
body {
   background-color: #fff;
   color: #333;
   font-family: 'Noto Sans JP', sans-serif;
   font-weight: 400;
   font-size: 16px;
   line-height: 34px;
   letter-spacing: 0.05em;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   min-width: inherit;
   min-height: inherit;
   max-height: 100%;
   box-sizing: border-box;
   position: relative;
}

@media screen and (max-width: 767px) {
   body {
      font-size: 14px;
      line-height: 26px;
   }
}

/*=============================================
 * fonts
 *=============================================*/
.fnt-mincho {
   font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.fnt-meiryo {
   font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシックPro", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.fnt-gothic {
   font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.fnt-roboto,
.en {
   font-family: 'Roboto', sans-serif;
}

/*=============================================
 * <main>
 *=============================================*/
main {
   clear: both;
   margin: 0 auto;
   position: relative;
}

/* -- -- */
.wrap {
   width: 100%;
   max-width: 1100px;
   box-sizing: border-box;
   margin: 0 auto;
   position: relative;
}

@media screen and (max-width: 1200px) {
   .wrap {
      max-width: 960px;
      padding: 0;
   }
}

@media screen and (max-width: 991px) {
   .wrap {
      max-width: 720px;
   }
}

@media screen and (max-width: 767px) {
   .wrap {
      max-width: 100%;
      padding: 0 7%;
   }
}

/* -- -- */
a {
   transition: all 0.3s;
}

a:hover {
   opacity: 0.6;
   text-decoration: none;
}

a[href^="tel:"] {
   pointer-events: none;
   cursor: text;
}

@media screen and (max-width: 767px) {
   a[href^="tel:"] {
      pointer-events: auto;
      cursor: pointer;
   }
}

.pc {
   display: block;
}

.ipd {
   display: none;
}

.sp {
   display: none;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
   .ipd {
      display: block;
   }
}

@media screen and (max-width: 767px) {
   .pc {
      display: none;
   }

   .sp {
      display: block;
   }
}

/* -- -- */
/*=============================================
 * <header>
 *=============================================*/
header {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   width: 100%;
   background-color: #fff;
   box-sizing: border-box;
   padding: 0;
   position: sticky;
   top: 0;
   z-index: 100;
   transition: all 0.3s;
}

header .logo {
   flex: auto;
   padding-left: 30px;
}

header .logo a {
   display: block;
   width: 232px;
}

.header__btn {
   position: relative;
}

.header__btn a {
   display: block;
   width: 195px;
   background-image: linear-gradient(to right, #0082d1 0%, #25b5c8 51%, #0082d1 100%);
   background-size: 200% auto;
   font-weight: 700;
   font-size: 18px;
   line-height: 22px;
   letter-spacing: 0.1em;
   text-align: center;
   color: #fff;
   padding: 37px 0;
   position: relative;
   z-index: 1;
}

.header__btn a:hover {
   opacity: 1;
   background-position: right center;
}

.header__tel {
   font-weight: 700;
   font-size: 13px;
   line-height: 30px;
   letter-spacing: 0;
   padding-right: 30px;
}

.header__tel p {
   display: inline-block;
   vertical-align: middle;
}

.header__tel a {
   display: block;
   font-weight: 700;
   font-size: 20px;
   letter-spacing: 0.04em;
   background: url("../img/common/icon-tel.svg") no-repeat center left/16px 16px;
   padding-left: 20px;
}

.header__tel .time {
   background-color: #e5e4e5;
   border-radius: 5px;
   padding: 0 10px;
   margin-left: 10px;
}

@media screen and (max-width: 991px) {
   .header__tel p {
      display: block;
   }

   .header__tel .time {
      margin-left: 0;
   }
}

@media screen and (max-width: 767px) {
   header {
      padding: 9px 0;
      position: relative;
   }

   header .logo {
      padding-left: 6%;
   }

   header .logo a {
      width: 200px;
   }

   .header__tel {
      display: none;
   }

   .header__btn {
      display: none;
   }
}

/*=============================================
 * <Section>
 *=============================================*/
/* -- -- */
section {
   position: relative;
}

/* -- -- */
/*=============================================
 * <footer>
 *=============================================*/
footer {
   text-align: center;
   background-color: #222222;
   color: #fff;
   font-weight: 700;
   font-size: 15px;
   line-height: 30px;
   letter-spacing: 0.1em;
   padding-top: 40px;
}

footer .footer_btn {
   padding: 30px 0 40px;
}

footer address {
   background-color: #fff;
   font-size: 12px;
   line-height: 14px;
   letter-spacing: 0.1em;
   color: #000;
   padding: 43px 0;
}

.fixed_bnr {
   width: 300px;
   position: fixed;
   top: 50%;
   right: -20px;
   transform: translateY(-50%);
   z-index: 9;
   opacity: 0;
   visibility: hidden;
   transition: all 0.5s ease-in-out;
}

.fixed_bnr.visible {
   opacity: 1;
   visibility: visible;
}

.fixed_bnr .fixed_bnr_close {
   display: block;
   width: 20px;
   height: 20px;
   position: absolute;
   top: 24px;
   right: 27px;
   cursor: pointer;
}

.fixed_bnr.hide {
   right: -100%;
}

@media screen and (max-width: 767px) {
   footer {
      font-size: 14px;
   }

   footer .logo {
      width: 200px;
      margin: 0 auto;
   }

   footer .footer_btn {
      padding: 10px 0 20px;
   }

   footer address {
      font-size: 10px;
      padding: 23px 0;
   }

   .fixed_bnr {
      top: auto;
      bottom: 40px;
      transform: translateY(0);
   }
}

/* -- -- */
/*=============================================
 * <contents>
 *=============================================*/
/* -- -- */
.fadeInUp {
   opacity: 0;
   transition-property: transform, opacity;
   transition-duration: .5s;
   transition-delay: .2s;
   transition-timing-function: ease-in;
   transform: translateY(15%);
}

.fadeInUp[style*="visible"] {
   opacity: 1;
   transform: translateY(0);
}

/* -- -- */
.section_h2 {
   font-weight: 700;
   font-size: 42px;
   line-height: 50px;
   letter-spacing: 0;
   text-align: center;
   color: #0d2c5f;
}

.button a {
   display: block;
   width: 350px;
   border-radius: 50px;
   background-color: #ffcf43;
   color: #000;
   font-weight: 700;
   font-size: 22px;
   line-height: 26px;
   box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
   text-align: center;
   box-sizing: border-box;
   padding: 26px 30px 28px 0;
   position: relative;
}

.button a:after {
   content: '';
   width: 30px;
   height: 30px;
   background: url("../img/common/arrow-circle.svg") no-repeat center top/cover;
   position: absolute;
   top: 50%;
   right: 30px;
   transform: translateY(-50%);
}

.button a:hover {
   background-color: #e5e4e5;
   opacity: 1;
}

@media screen and (max-width: 767px) {
   .section_h2 {
      font-size: 26px;
      line-height: 34px;
      letter-spacing: 0;
   }

   .button a {
      width: 100%;
      font-size: 18px;
      padding: 19px 30px 21px 0;
   }

   .button a:after {
      width: 20px;
      height: 20px;
   }
}

/* -- -- */
#mv {
   background-color: #0082d1;
   color: #fff;
   position: relative;
}

#mv .photo {
   width: 70%;
   background: url("../img/index/mv.png") no-repeat center top/cover;
   border-radius: 0 0 0 50px;
   position: absolute;
   top: 0;
   right: 0;
   bottom: -40px;
}

#mv .desc {
   width: 575px;
   padding: 50px 0;
}

#mv .txt {
   font-weight: 700;
   line-height: 32px;
   padding-top: 30px;
}

#mv .mv-btn {
   padding-top: 30px;
}

@media screen and (max-width: 767px) {
   #mv {
      background: transparent;
   }

   #mv .photo {
      width: 100%;
      background-image: url("../img/index/sp_mv.jpg");
      border-radius: 0;
      bottom: 30px;
   }

   #mv .wrap {
      padding: 0;
   }

   #mv .desc {
      width: 100%;
      padding: 50px 0 0;
   }

   #mv h2 {
      width: 86%;
   }

   #mv .txt {
      display: none;
   }

   #mv .mv-btn {
      width: 72%;
      margin: 0 auto;
      padding-top: 50px;
   }
}

/* -- -- */
#lead {
   text-align: center;
   padding: 95px 0 60px;
}

#lead .txt {
   font-size: 20px;
   line-height: 40px;
   padding-top: 20px;
}

@media screen and (max-width: 767px) {
   #lead {
      padding: 40px 0 60px;
   }

   #lead .txt {
      text-align: justify;
      font-size: 14px;
      line-height: 26px;
      padding-top: 15px;
   }

   #lead .txt br {
      display: none;
   }
}

/* -- -- */
#problems {
   background-color: #edece8;
   padding: 70px 0 80px;
}

#problems ul {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 35px;
}

#problems ul li {
   width: 340px;
   background-color: #fff;
   border-radius: 20px;
   box-shadow: 0 5px 12px rgba(0, 0, 0, 0.08);
}

#problems ul li+li {
   margin-left: 40px;
}

#problems ul li h3 {
   display: flex;
   align-items: center;
   justify-content: center;
   height: 100px;
   background-color: #2766a8;
   color: #fff;
   text-align: center;
   font-weight: 700;
   font-size: 22px;
   line-height: 32px;
   border-radius: 20px 20px 0 0;
}

@media screen and (max-width: 1200px) {
   #problems ul li {
      width: 32%;
   }

   #problems ul li+li {
      margin-left: 2%;
   }
}

@media screen and (max-width: 991px) {
   #problems ul li h3 {
      font-size: 17px;
   }
}

@media screen and (max-width: 767px) {
   #problems {
      padding: 60px 0;
   }

   #problems ul {
      display: block;
      padding-top: 20px;
   }

   #problems ul li {
      width: 75%;
      margin: 0 auto;
   }

   #problems ul li+li {
      margin-top: 20px;
      margin-left: auto;
   }

   #problems ul li h3 {
      height: 80px;
      font-size: 18px;
      line-height: 26px;
   }
}

/* -- -- */
#strengths {
   padding: 60px 0;
}

#strengths .box {
   display: flex;
   flex-wrap: wrap;
   padding-top: 30px;
}

#strengths .box+.box {
   padding-top: 80px;
}

#strengths .box .desc {
   width: 530px;
}

#strengths .box h3 {
   display: flex;
   align-items: center;
   min-height: 77px;
   font-weight: 700;
   font-size: 26px;
   line-height: 30px;
   letter-spacing: 0;
   color: #0d2c5f;
   padding-left: 100px;
   position: relative;
}

#strengths .box h3 img {
   display: block;
   width: 78px;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

#strengths .box .txt {
   padding-top: 20px;
}

#strengths .box .photo {
   width: 530px;
}

#strengths .box:nth-child(even) {
   flex-direction: row-reverse;
}

#strengths .box:nth-child(even) .desc {
   margin-left: 40px;
}

#strengths .box:nth-child(odd) .photo {
   margin-left: 40px;
}

@media screen and (max-width: 1200px) {
   #strengths .box .photo {
      width: 48%;
   }

   #strengths .box .desc {
      width: 48%;
   }

   #strengths .box h3 br {
      display: none;
   }

   #strengths .box:nth-child(even) .desc {
      margin-left: 4%;
   }

   #strengths .box:nth-child(odd) .photo {
      margin-left: 4%;
   }
}

@media screen and (max-width: 991px) {
   #strengths .box {
      display: block;
   }

   #strengths .box .photo {
      width: 100%;
      padding-top: 10px;
   }

   #strengths .box .desc {
      width: 100%;
   }

   #strengths .box:nth-child(even) .desc {
      margin-left: 0;
   }

   #strengths .box:nth-child(odd) .photo {
      margin-left: 0;
   }
}

@media screen and (max-width: 767px) {
   #strengths .box {
      padding-top: 20px;
   }

   #strengths .box+.box {
      padding-top: 50px;
   }

   #strengths .box h3 {
      min-height: 50px;
      font-size: 18px;
      line-height: 28px;
      padding-left: 60px;
   }

   #strengths .box h3 img {
      width: 50px;
   }

   #strengths .box h3 br {
      display: block;
   }

   #strengths .box .txt {
      padding-top: 10px;
   }

   #strengths .box .photo {
      padding-top: 10px;
   }
}

/* -- -- */
#flow {
   background-color: #edece8;
   padding: 60px 0;
}

#flow h2 {
   text-align: center;
   padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
   #flow h2 {
      padding-bottom: 20px;
   }

   #flow p {
      width: 75%;
      margin: 0 auto;
   }
}

/* -- -- */
#case {
   overflow: hidden;
   padding: 70px 0;
}

#case .case-slider {
   padding-top: 40px;
}

#case .case-slider .slide {
   display: flex;
   flex-wrap: wrap;
}

#case .case-slider .slide .photo {
   width: 360px;
}

#case .case-slider .slide .photo dl {
   display: table;
   width: 100%;
   box-sizing: border-box;
   font-size: 14px;
   line-height: 16px;
   letter-spacing: 0;
   margin-top: 10px;
}

#case .case-slider .slide .photo dl+dl {
   margin-top: 1px;
}

#case .case-slider .slide .photo dl>* {
   display: table-cell;
   vertical-align: middle;
   padding: 12px 12px;
}

#case .case-slider .slide .photo dl dt {
   width: 86px;
   background-color: #3174ba;
   color: #fff;
   font-weight: 700;
   text-align: center;
}

#case .case-slider .slide .photo dl dd {
   background-color: #f0f0f0;
}

#case .case-slider .slide .desc {
   width: 700px;
   margin-left: 35px;
}

#case .case-slider .slide .tag {
   font-size: 12px;
   line-height: 16px;
}

#case .case-slider .slide .tag span {
   display: inline-block;
   background-color: #ffd138;
   border-radius: 5px;
   margin: 0 5px 5px 0;
   padding: 7px 10px;
}

#case .case-slider .slide h3 {
   font-weight: 700;
   font-size: 24px;
   line-height: 38px;
   letter-spacing: 0;
   color: #0d2c5f;
   padding-top: 10px;
}

#case .case-slider .slide .txt {
   padding-top: 20px;
}

#case .case-slider .slick-dots {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 40px;
}

#case .case-slider .slick-dots li {
   width: 8px;
   height: 8px;
   background-color: #ccc;
   border-radius: 50%;
   margin: 0 5px;
   position: relative;
   transition: all 0.3s;
}

#case .case-slider .slick-dots li button {
   width: 100%;
   height: 100%;
   opacity: 0;
   cursor: pointer;
   position: absolute;
   top: 0;
   left: 0;
}

#case .case-slider .slick-dots li.slick-active,
#case .case-slider .slick-dots li:hover {
   background-color: #ffd138;
}

#case .case-slider .slick-arrow {
   width: 17px;
   height: 36px;
   border: 0;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   color: transparent;
   cursor: pointer;
   transition: all 0.3s;
}

#case .case-slider .slick-arrow:hover {
   opacity: 0.7;
}

#case .case-slider .slick-prev {
   background: url("../img/index/case-prev.svg") no-repeat center top/cover;
   left: -105px;
}

#case .case-slider .slick-next {
   background: url("../img/index/case-next.svg") no-repeat center top/cover;
   right: -105px;
}

@media screen and (max-width: 1400px) {
   #case .case-slider {
      padding: 40px 40px 0;
   }

   #case .case-slider .slide .desc {
      width: calc(100% - 380px);
      margin-left: 20px;
   }

   #case .case-slider .slick-prev {
      left: 0;
   }

   #case .case-slider .slick-next {
      right: 0;
   }
}

@media screen and (max-width: 991px) {
   #case .case-slider .slide {
      display: block;
   }

   #case .case-slider .slide .photo {
      margin: 0 auto;
   }

   #case .case-slider .slide .desc {
      width: 100%;
      margin-left: 0;
      padding-top: 40px;
   }
}

@media screen and (max-width: 767px) {
   #case {
      padding: 60px 0;
   }

   #case .case-slider {
      padding: 20px 0 0;
   }

   #case .case-slider .slide .photo {
      width: 100%;
   }

   #case .case-slider .slide .photo p {
      text-align: center;
   }

   #case .case-slider .slide .photo dl {
      font-size: 12px;
   }

   #case .case-slider .slide .photo dl>* {
      padding: 10px 10px;
   }

   #case .case-slider .slide .desc {
      padding-top: 20px;
   }

   #case .case-slider .slide .tag {
      font-size: 10px;
   }

   #case .case-slider .slide .tag span {
      margin: 0 2px 2px 0;
      padding: 4px 4px;
   }

   #case .case-slider .slide h3 {
      font-size: 17px;
      line-height: 28px;
   }

   #case .case-slider .slide .txt {
      padding-top: 10px;
   }

   #case .case-slider .slick-dots {
      padding-top: 20px;
   }

   #case .case-slider .slick-arrow {
      width: 12px;
      height: 24px;
   }

   #case .case-slider .slick-prev {
      left: -6%;
   }

   #case .case-slider .slick-next {
      right: -6%;
   }
}

/* -- -- */
#faq {
   background-color: #edece8;
   padding: 70px 0;
}

#faq .box {
   padding-top: 40px;
}

#faq .box dl {
   width: 100%;
   max-width: 960px;
   background-color: #fff;
   border-radius: 10px;
   cursor: pointer;
   box-sizing: border-box;
   margin: 0 auto;
   padding: 40px 40px;
}

#faq .box dl+dl {
   margin-top: 15px;
}

#faq .box dl dt {
   font-weight: 700;
   font-size: 20px;
   line-height: 30px;
   letter-spacing: 0;
   color: #0d2c5f;
   padding: 0 0 0 40px;
   position: relative;
}

#faq .box dl dt:before {
   content: 'Q';
   font-family: 'Roboto', sans-serif;
   font-weight: 700;
   font-size: 30px;
   line-height: 1;
   letter-spacing: 0;
   color: #0d2c5f;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

#faq .box dl dt:after {
   content: '';
   width: 20px;
   height: 20px;
   background: url("../img/index/toggle-icon.svg") no-repeat center top/cover;
   position: absolute;
   top: 50%;
   right: 0;
   transform: translateY(-50%);
   transition: all 0.3s;
}

#faq .box dl dd {
   display: none;
   background-color: #eef5fa;
   line-height: 30px;
   letter-spacing: 0;
   margin-top: 20px;
   padding: 20px 20px;
}

#faq .box dl.active dt:after {
   transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 767px) {
   #faq {
      padding: 60px 0;
   }

   #faq .box {
      padding-top: 20px;
   }

   #faq .box dl {
      padding: 20px 20px;
   }

   #faq .box dl+dl {
      margin-top: 10px;
   }

   #faq .box dl dt {
      font-size: 14px;
      line-height: 20px;
      padding: 0 20px 0 25px;
   }

   #faq .box dl dt:before {
      font-size: 19px;
   }

   #faq .box dl dt:after {
      width: 14px;
      height: 14px;
   }

   #faq .box dl dt br {
      display: none;
   }

   #faq .box dl dd {
      line-height: 26px;
      padding: 10px 15px;
   }

   #faq .box dl dd br {
      display: none;
   }
}

/* -- -- */
#mailform {
   background-image: linear-gradient(45deg, #0082d1, #25b5c8);
   padding: 70px 0 80px;
}

#mailform h2 {
   color: #fff;
   padding-bottom: 40px;
}

#mailform .form_wrap {
   width: 100%;
   max-width: 960px;
   background-color: #fff;
   border-radius: 20px;
   box-sizing: border-box;
   margin: 0 auto;
   padding: 50px 120px;
}

#mailform .note {
   text-align: center;
}

#mailform form dl {
   padding-top: 30px;
}

#mailform form dt {
   font-weight: 700;
   letter-spacing: 0.03em;
   line-height: 30px;
   padding-bottom: 5px;
}
#mailform form dt strong {
   color: #F44336;
   font-size: 12px;
   padding-left: 10px;
}
#mailform input[type="text"],
#mailform input[type="tel"],
#mailform input[type="email"],
#mailform input[type="date"],
#mailform textarea {
   display: block;
   width: 100%;
   background-color: #f8f8f8;
   border: 1px solid #ccc;
   box-sizing: border-box;
   line-height: 30px;
   border-radius: 5px !important;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   box-sizing: border-box;
   padding: 8px 15px;
}

#mailform textarea {
   width: 100% !important;
   height: 290px !important;
   resize: vertical;
}

#mailform .mfp_buttons {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   padding-top: 30px;
}

#mailform .mfp_buttons button {
   width: 220px;
   background-color: #ffcf43;
   border: 1px solid #ffcf43;
   color: #000;
   font-weight: 700;
   font-size: 18px;
   line-height: 30px;
   letter-spacing: 0.1em;
   border-radius: 50px;
   margin: 0 5px;
   padding: 14px 0;
   transition: all 0.3s;
   cursor: pointer;
}

#mailform .mfp_buttons button:hover {
   background-color: #f8f8f8;
}
#mfp_button_cancel {
   background-color: #f8f8f8;
}
#mfp_phase_confirm_inner h4,
#mfp_phase_confirm_inner .note {
   display: none;
}
#mfp_confirm_table td {
   padding-left: 10px;
}
@media screen and (max-width: 991px) {
   #mailform .form_wrap {
      padding: 50px 50px;
   }
}

@media screen and (max-width: 767px) {
   #mailform {
      padding: 60px 0;
   }

   #mailform h2 {
      padding-bottom: 20px;
   }

   #mailform .form_wrap {
      padding: 30px 20px;
   }

   #mailform form dl {
      padding-top: 15px;
   }

   #mailform textarea {
      height: 180px !important;
   }

   #mailform .mfp_buttons button {
      width: 46%;
      font-size: 14px;
      line-height: 24px;
      padding: 11px 0;
      margin: 5px;
   }
}

/* -- -- */
#txt_thanks {
   text-align: center;
   font-size: 16px;
   line-height: 24px;
   padding: 145px 0;
}

#txt_thanks h2 {
   padding-bottom: 40px;
}

#txt_thanks p {
   padding-bottom: 30px;
}

#txt_thanks .button {
   padding-top: 30px;
   padding-bottom: 0;
}

#txt_thanks .button a {
   margin: 0 auto;
}

@media screen and (max-width: 767px) {
   #txt_thanks {
      text-align: left;
      font-size: 13px;
      padding: 60px 0;
   }

   #txt_thanks h2 {
      text-align: center;
      padding-bottom: 30px;
   }

   #txt_thanks p {
      padding-bottom: 20px;
   }

   #txt_thanks p:last-child {
      text-align: center;
      padding-top: 30px;
      padding-bottom: 0px;
   }
}
/* -- -- */
#cta {
   background-image: linear-gradient(45deg, #0082d1, #25b5c8);
   padding-top: 70px;
}
#cta .wrap {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   flex-direction: row-reverse;
}
#cta .photo {
   width: 246px;
}
#cta .col {
   margin-left: 70px;
}
#cta h2 {
   color: #fff;
   padding-top: 20px;
}
#cta .button {
   padding-top: 30px;
}
@media screen and (max-width: 767px) {
   #cta .wrap {
      display: block;
   }
   #cta .photo {
      width: 40%;
      margin: 0 auto;
      padding-top: 30px;
   }
   #cta .col {
      margin-left: 0;
   }
   #cta h2 {
      padding-top: 0;
   }
   #cta .button {
      padding-top: 30px;
   }
}

#mfp_OperationCheck, #mfp_hidden {
   display: none !important;
}

