@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

table {
  border-collapse: collapse;
  border-spacing: 0; }

b {
  font-weight: bold; }

.d_flex, #section05 .bus_type, #section05 .bus_type_block .bus_type_child ul, #section03 .flow dl dd figure, #section03 .flow dl, #section02 .reason, #section01 .point_block li {
  display: flex; }

@font-face {
  font-family: 'icomoon';
  src: url("/css/fonts/icomoon.eot?4fi61s");
  src: url("/css/fonts/icomoon.eot?4fi61s#iefix") format("embedded-opentype"), url("/css/fonts/icomoon.ttf?4fi61s") format("truetype"), url("/css/fonts/icomoon.woff?4fi61s") format("woff"), url("/css/fonts/icomoon.svg?4fi61s#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-zoom-in:before {
  content: "\e904"; }

.icon-issue-opened:before {
  content: "\f026"; }

.icon-arrow_down:before {
  content: "\e900"; }

.icon-bus:before {
  content: "\e901"; }

.icon-dot:before {
  content: "\e902"; }

.icon-mail:before {
  content: "\e903"; }

/*--------------------------
common
---------------------------*/
body {
  overflow-x: hidden;
  color: #333;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  word-break: break-word;
  word-wrap: break-word;
  line-height: 1.3; }
  @media only screen and (max-width: 768px) {
    body {
      min-width: inherit;
      overflow-x: hidden; } }
body * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

a:link,
a:visited,
a:active {
  color: #333;
  text-decoration: none; }

img {
  width: auto;
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }
  @media only screen and (max-width: 768px) {
    img {
      width: 100%; } }
.wrapper, header h1 .inner, .narrow_wrapper {
  max-width: 1000px;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .wrapper, header h1 .inner, .narrow_wrapper {
      width: 100%;
      padding: 0 10px; } }
.narrow_wrapper {
  width: 800px; }
  @media only screen and (max-width: 768px) {
    .narrow_wrapper {
      width: 100%; } }
.dot_title {
  text-align: center;
  position: relative;
  padding-bottom: 40px; }
  .dot_title::after {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-size: 10px;
    content: "\e902";
    color: #fff115; }

header #main_view .wrapper figcaption, header #main_view .narrow_wrapper figcaption, header #main_view h1 .inner figcaption, header h1 #main_view .inner figcaption {
  max-width: 960px;
  margin: 15px auto 0;
  padding: 15px;
  background: rgba(46, 60, 116, 0.8);
  color: #fff;
  border-radius: 4px;
  text-align: center;
  line-height: 1.8;
  font-size: 16px; }

@media only screen and (max-width: 768px) {
  header #main_view .wrapper figcaption, header #main_view .narrow_wrapper figcaption, header #main_view h1 .inner figcaption, header h1 #main_view .inner figcaption {
    font-size: 14px; } }

header #main_view .wrapper figcaption span, header #main_view .narrow_wrapper figcaption span, header #main_view h1 .inner figcaption span, header h1 #main_view .inner figcaption span {
  font-size: 22px;
  color: #fff115;
  margin-left: 3px; }

@media only screen and (max-width: 768px) {
  header #main_view .wrapper figcaption span, header #main_view .narrow_wrapper figcaption span, header #main_view h1 .inner figcaption span, header h1 #main_view .inner figcaption span {
    font-size: 18px; } }

/*--------------------------
header
---------------------------*/
header {
  position: relative; }
  header h1 {
    background: #dff7fa;
    color: #5e6a6c;
    font-size: 12px;
    font-weight: bold;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      header h1 {
        position: fixed;
        width: 100%;
        z-index: 999; } }
    header h1 .inner {
      padding: 5px 0; }
  header .header_top {
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -ms-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%;
    padding: 10px 0 0; }
    @media only screen and (max-width: 768px) {
      header .header_top {
        padding: 0;
        position: fixed;
        top: 25px;
        z-index: 999; } }
    header .header_top .wrapper::after, header .header_top .narrow_wrapper::after, header .header_top h1 .inner::after, header h1 .header_top .inner::after {
      content: "";
      display: block;
      clear: both; }
    @media only screen and (max-width: 768px) {
      header .header_top .wrapper, header .header_top .narrow_wrapper, header .header_top h1 .inner, header h1 .header_top .inner {
        padding: 0; } }
    header .header_top .wrapper .l_block, header .header_top .narrow_wrapper .l_block, header .header_top h1 .inner .l_block, header h1 .header_top .inner .l_block {
      float: left; }
      @media only screen and (max-width: 768px) {
        header .header_top .wrapper .l_block, header .header_top .narrow_wrapper .l_block, header .header_top h1 .inner .l_block, header h1 .header_top .inner .l_block {
          display: none; } }
      header .header_top .wrapper .l_block .logo, header .header_top .narrow_wrapper .l_block .logo, header .header_top h1 .inner .l_block .logo, header h1 .header_top .inner .l_block .logo {
        display: none; }
        @media only screen and (max-width: 768px) {
          header .header_top .wrapper .l_block .logo, header .header_top .narrow_wrapper .l_block .logo, header .header_top h1 .inner .l_block .logo, header h1 .header_top .inner .l_block .logo {
            display: block;
            text-align: center;
            background: #59ecff;
            padding: 5px 0;
            color: #333;
            letter-spacing: .1em;
            font-weight: bold; } }
      @media only screen and (max-width: 768px) {
        header .header_top .wrapper .l_block .lead_text, header .header_top .narrow_wrapper .l_block .lead_text, header .header_top h1 .inner .l_block .lead_text, header h1 .header_top .inner .l_block .lead_text {
          display: none; } }
    header .header_top .wrapper .r_block, header .header_top .narrow_wrapper .r_block, header .header_top h1 .inner .r_block, header h1 .header_top .inner .r_block {
      float: right; }
      header .header_top .wrapper .r_block::after, header .header_top .narrow_wrapper .r_block::after, header .header_top h1 .inner .r_block::after, header h1 .header_top .inner .r_block::after {
        content: "";
        display: block;
        clear: both; }
      @media only screen and (max-width: 768px) {
        header .header_top .wrapper .r_block, header .header_top .narrow_wrapper .r_block, header .header_top h1 .inner .r_block, header h1 .header_top .inner .r_block {
          float: none; } }
      header .header_top .wrapper .r_block > div, header .header_top .narrow_wrapper .r_block > div, header .header_top h1 .inner .r_block > div, header h1 .header_top .inner .r_block > div {
        float: left; }
        @media only screen and (max-width: 768px) {
          header .header_top .wrapper .r_block > div, header .header_top .narrow_wrapper .r_block > div, header .header_top h1 .inner .r_block > div, header h1 .header_top .inner .r_block > div {
            width: 50%; } }
      header .header_top .wrapper .r_block .mail, header .header_top .narrow_wrapper .r_block .mail, header .header_top h1 .inner .r_block .mail, header h1 .header_top .inner .r_block .mail {
        margin-right: 10px; }
        @media only screen and (max-width: 768px) {
          header .header_top .wrapper .r_block .mail, header .header_top .narrow_wrapper .r_block .mail, header .header_top h1 .inner .r_block .mail, header h1 .header_top .inner .r_block .mail {
            margin-right: 0; } }
        header .header_top .wrapper .r_block .mail a, header .header_top .narrow_wrapper .r_block .mail a, header .header_top h1 .inner .r_block .mail a, header h1 .header_top .inner .r_block .mail a {
          display: block;
          width: 52px;
          height: 52px;
          padding: 16px 13px 14px;
          background: rgba(255, 241, 21, 0.95);
          border-radius: 100px;
          color: #333;
          font-size: 18px; }
          @media only screen and (max-width: 768px) {
            header .header_top .wrapper .r_block .mail a, header .header_top .narrow_wrapper .r_block .mail a, header .header_top h1 .inner .r_block .mail a, header h1 .header_top .inner .r_block .mail a {
              width: 100%;
              height: auto;
              border-radius: 0;
              padding: 10px;
              font-size: 16px;
              border-right: 1px #ead90f solid;
              text-align: center; } }
          header .header_top .wrapper .r_block .mail a span, header .header_top .narrow_wrapper .r_block .mail a span, header .header_top h1 .inner .r_block .mail a span, header h1 .header_top .inner .r_block .mail a span {
            display: none; }
            @media only screen and (max-width: 768px) {
              header .header_top .wrapper .r_block .mail a span, header .header_top .narrow_wrapper .r_block .mail a span, header .header_top h1 .inner .r_block .mail a span, header h1 .header_top .inner .r_block .mail a span {
                display: inline-block;
                font-size: 13px;
                margin-left: 4px; } }
      header .header_top .wrapper .r_block .tel a, header .header_top .narrow_wrapper .r_block .tel a, header .header_top h1 .inner .r_block .tel a, header h1 .header_top .inner .r_block .tel a {
        display: block;
        padding: 13px;
        background: rgba(255, 241, 21, 0.95);
        border-radius: 5px; }
        @media only screen and (max-width: 768px) {
          header .header_top .wrapper .r_block .tel a, header .header_top .narrow_wrapper .r_block .tel a, header .header_top h1 .inner .r_block .tel a, header h1 .header_top .inner .r_block .tel a {
            padding: 10px;
            text-align: center;
            border-radius: 0; }
            header .header_top .wrapper .r_block .tel a img, header .header_top .narrow_wrapper .r_block .tel a img, header .header_top h1 .inner .r_block .tel a img, header h1 .header_top .inner .r_block .tel a img {
              max-width: 180px; } }
    @media only screen and (min-width: 769px) {
      header .header_top.fixed {
        position: fixed;
        top: 0;
        left: 0;
        background: rgba(89, 236, 255, 0.97);
        padding: 10px 0;
        z-index: 99; }
        header .header_top.fixed .lead_text {
          display: none; }
        header .header_top.fixed .logo {
          display: block !important;
          text-indent: -9999px;
          background: url(../images/txt_logo.png) no-repeat center center;
          width: 191px;
          height: 29px;
          margin-top: 13px; } }
    @media only screen and (max-width: 768px) {
      header .header_top.fixed {
        background: none;
        padding: 0; } }
  header #main_view {
    display: table;
    width: 100%;
    height: calc(100vh - 25px);
    background: url(../images/bg_main_view.jpg) no-repeat center center/cover; }
    @media only screen and (max-width: 768px) {
      header #main_view {
        height: 568px; } }
    header #main_view .wrapper, header #main_view .narrow_wrapper, header #main_view h1 .inner, header h1 #main_view .inner {
      display: table-cell;
      vertical-align: middle;
      text-align: center; }
      header #main_view .wrapper .name, header #main_view .narrow_wrapper .name, header #main_view h1 .inner .name, header h1 #main_view .inner .name {
        margin-top: 20px; }
        header #main_view .wrapper .name img, header #main_view .narrow_wrapper .name img, header #main_view h1 .inner .name img, header h1 #main_view .inner .name img {
          max-width: 294px; }
  header .header_bottom {
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center; }
    header .header_bottom a {
      color: #fff;
      font-size: 20px; }
      header .header_bottom a figure {
        margin-bottom: 10px; }
        header .header_bottom a figure img {
          max-width: 70px; }
      header .header_bottom a i {
        position: relative;
        display: inline-block;
        width: 20px;
        height: 20px; }
        header .header_bottom a i::before {
          left: 0;
          top: 0;
          position: absolute;
          animation-name: turnY;
          animation-duration: 2s;
          animation-iteration-count: infinite; }

@keyframes turnY {
  0% {
    transform: rotateY(0deg); }
  100% {
    transform: rotateY(360deg); } }

/*--------------------------
recruit
---------------------------*/
#recruit {
  background: url(../images/ptn_recruit_bg.png);
  background-size: 200px 200px;
  text-align: center;
  position: relative; }
  @media only screen and (max-width: 768px) {
    #recruit {
      padding: 60px 0; } }
  @media only screen and (max-width: 768px) {
    #recruit::before {
      position: absolute;
      content: "";
      background: url(../images/img_recruit_line_sp.png);
      background-size: contain;
      background-repeat: repeat-x;
      display: inline-block;
      width: 100%;
      height: 37px;
      top: 10px;
      left: 0; } }
  @media only screen and (max-width: 768px) {
    #recruit::after {
      position: absolute;
      content: "";
      background: url(../images/img_recruit_line_sp.png);
      background-size: contain;
      background-repeat: repeat-x;
      display: inline-block;
      width: 100%;
      height: 37px;
      top: auto;
      bottom: 10px;
      left: 0;
      right: auto; } }
  #recruit .recruit_inner {
    display: flex;
    margin: 0 auto;
    padding: 0 20px 0;
    max-width: 1400px;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_inner {
        padding: 0 20px;
        max-width: 400px; } }
  #recruit .recruit_box {
    padding: 0 20px 0; }
  #recruit .recruit_line {
    width: 100%;
    max-width: 179px;
    height: 100%; }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_line {
        display: none; } }
  #recruit .recruit_title_01 {
    margin: 0 auto 37px;
    width: 100%;
    max-width: 518px; }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_title_01 {
        margin: 0 auto 10px; } }
  #recruit .recruit_title_02 {
    margin: 0 auto 27px;
    max-width: 670px; }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_title_02 {
        margin: 0 auto 20px; } }
  #recruit .recruit_txt {
    font-size: clamp(16px, 2.9vw, 20px);
    font-weight: 600;
    padding-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_txt {
        font-size: 16px;
        padding-bottom: 20px; } }
  #recruit .recruit_message {
    margin: 0 auto;
    max-width: 800px;
    padding-bottom: 50px; }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_message {
        padding-bottom: 20px; } }
  #recruit .recruit_contact_box {
    margin: 0 auto;
    background-color: #FFF;
    padding: 36px 10px;
    max-width: 760px;
    box-shadow: 6px 6px 20px rgba(152, 152, 152, 0.54); }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_contact_box {
        padding: 20px; } }
  #recruit .recruit_form_area {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_form_area {
        display: block; } }
  #recruit .recruit_form_area_tel {
    width: 100%;
    max-width: 218px; }
    @media only screen and (max-width: 768px) {
      #recruit .recruit_form_area_tel {
        margin: 0 auto;
        padding-bottom: 10px; } }
  #recruit .recruit_contact_box_txt {
    font-size: clamp(16px, 2.9vw, 20px);
    font-weight: 600;
    letter-spacing: 0.05em;
    padding-bottom: 23px; }
  #recruit .btn {
    width: 100%;
    max-width: 274px;
    height: 54px;
    line-height: 54px; }
    @media only screen and (max-width: 768px) {
      #recruit .btn {
        margin: 0 auto; } }
  #recruit .btn a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    background: #0B1C65;
    text-align: center;
    color: #FFFFFF;
    font-size: clamp(16px, 1.5vw, 18px);
    font-weight: bold;
    padding-left: 2rem;
    cursor: pointer;
    transition: all 0.2s ease-in 0s; }
    #recruit .btn a::before {
      /* use !important to prevent issues with browser extensions that change fonts */
      font-family: 'icomoon' !important;
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 33%;
      left: 2rem;
      margin: 0 auto;
      font-size: 18px;
      content: "\e903";
      color: #fff;
      transition: all 0.2s ease-in 0s; }
  @media only screen and (min-width: 769px) {
    #recruit .btn a:hover {
      background: #FFF115;
      color: #0B1C65;
      margin-left: 0px;
      margin-top: 0px;
      box-shadow: none; }
      #recruit .btn a:hover::before {
        color: #0B1C65; } }
  @media only screen and (min-width: 769px) {
    #recruit .sp_hidden {
      display: none; } }
/*--------------------------
section01
---------------------------*/
#section01 {
  min-width: 1000px; }
  @media only screen and (max-width: 768px) {
    #section01 {
      min-width: 100%; } }
  #section01 .heading {
    background: url(../images/ptn_sec_01.jpg);
    text-align: center;
    padding: 60px 0; }
    #section01 .heading img {
      max-width: 444px; }
  #section01 .point_block li {
    align-items: center;
    flex-wrap: wrap; }
    @media only screen and (max-width: 768px) {
      #section01 .point_block li {
        display: block; } }
    #section01 .point_block li .pic_block {
      position: relative;
      overflow: hidden;
      height: 400px;
      width: 50%;
      box-shadow: 0px 3px 9px -2px rgba(145, 145, 145, 0.6);
      z-index: 1;
      text-align: center; }
      @media only screen and (max-width: 768px) {
        #section01 .point_block li .pic_block {
          width: 100%;
          height: auto; } }
      #section01 .point_block li .pic_block img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        height: auto;
        width: 100%; }
        @media only screen and (max-width: 768px) {
          #section01 .point_block li .pic_block img {
            position: relative;
            min-height: auto !important;
            min-width: auto !important;
            margin: 0 auto; } }
    #section01 .point_block li .text_block {
      width: 50%;
      padding: 0 35px; }
      @media only screen and (max-width: 768px) {
        #section01 .point_block li .text_block {
          width: 100%;
          padding: 30px 10px; } }
      #section01 .point_block li .text_block .half_wrap {
        max-width: 500px;
        margin-right: auto; }
        @media only screen and (max-width: 768px) {
          #section01 .point_block li .text_block .half_wrap {
            max-width: 100%;
            margin: 0 auto; } }
        #section01 .point_block li .text_block .half_wrap figure {
          margin-bottom: 15px; }
        #section01 .point_block li .text_block .half_wrap h3 {
          position: relative;
          margin-bottom: 25px;
          padding-bottom: 25px; }
          #section01 .point_block li .text_block .half_wrap h3::after {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 24px;
            height: 2px;
            background: #fff115;
            content: ""; }
  #section01 .point_block li:nth-of-type(1) .text_block figure img {
    max-width: 263px; }
  #section01 .point_block li:nth-of-type(1) .text_block h3 img {
    max-width: 330px; }
  #section01 .point_block li:nth-of-type(2) .pic_block {
    order: 2; }
  #section01 .point_block li:nth-of-type(2) .text_block {
    order: 1; }
    #section01 .point_block li:nth-of-type(2) .text_block .half_wrap {
      margin-left: auto; }
      @media only screen and (min-width: 769px) {
        #section01 .point_block li:nth-of-type(2) .text_block .half_wrap {
          margin: 0 auto; } }
    #section01 .point_block li:nth-of-type(2) .text_block figure img {
      max-width: 284px; }
    #section01 .point_block li:nth-of-type(2) .text_block h3 img {
      max-width: 447px; }
  #section01 .point_block li:nth-of-type(3) .text_block figure img {
    max-width: 204px; }
  #section01 .point_block li:nth-of-type(3) .text_block h3 img {
    max-width: 287px; }

/*--------------------------
section02
---------------------------*/
#section02 {
  background: url(../images/bg_sec_02.jpg) no-repeat center center/cover;
  padding: 60px 0 0; }
  @media only screen and (max-width: 768px) {
    #section02 {
      padding: 60px 0; } }
  #section02 .heading {
    text-align: center; }
    #section02 .heading img {
      max-width: 517px; }
  #section02 .reason {
    margin-top: 130px; }
    @media only screen and (max-width: 768px) {
      #section02 .reason {
        display: block;
        margin-top: 50px; } }
    #section02 .reason .reason_block {
      position: relative;
      z-index: 2;
      width: 50%;
      background: #fff;
      box-shadow: 0px 3px 3px -2px rgba(145, 145, 145, 0.6); }
      @media only screen and (max-width: 768px) {
        #section02 .reason .reason_block {
          width: 100%;
          margin-top: 30px; } }
      #section02 .reason .reason_block .inner {
        padding: 20px; }
        @media only screen and (max-width: 768px) {
          #section02 .reason .reason_block .inner {
            padding: 10px; } }
        #section02 .reason .reason_block .inner .head {
          position: absolute;
          top: -90px;
          left: 0;
          right: 0;
          margin: 0 auto;
          text-align: center; }
          #section02 .reason .reason_block .inner .head img {
            max-width: 230px; }
          @media only screen and (max-width: 768px) {
            #section02 .reason .reason_block .inner .head {
              position: relative;
              top: 0;
              padding: 10px 0 20px; } }
        #section02 .reason .reason_block .inner .text figure figcaption {
          margin: 10px 0;
          padding: 10px 0 10px 10px;
          border-left: 4px #0b1c65 solid;
          line-height: 1.4; }

/*--------------------------
section03
---------------------------*/
#section03 {
  margin-top: -80px;
  background: #fffabe;
  padding: 0 0 80px; }
  @media only screen and (max-width: 768px) {
    #section03 {
      margin-top: 0; } }
  #section03 .heading {
    position: relative;
    text-align: center;
    padding: 140px 0 60px;
    margin-bottom: 27px;
    background: url(../images/ptn_orange_check.jpg); }
    @media only screen and (max-width: 768px) {
      #section03 .heading {
        padding: 20px 0; } }
    #section03 .heading::after {
      position: absolute;
      bottom: -27px;
      left: 0;
      right: 0;
      margin: 0 auto;
      width: 72px;
      height: 28px;
      background: url(../images/bg_balloon.png) no-repeat center center;
      content: ""; }
  #section03 .flow {
    padding-top: 50px; }
    #section03 .flow dl {
      position: relative;
      padding: 0 0 50px;
      margin: 0 0 50px;
      border-bottom: 5px #697196 dotted;
      align-items: center; }
      @media only screen and (max-width: 768px) {
        #section03 .flow dl {
          display: block; }
          #section03 .flow dl dt {
            margin-bottom: 30px; }
            #section03 .flow dl dt img {
              width: auto;
              height: 187px; } }
      #section03 .flow dl::after {
        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        position: absolute;
        bottom: -27px;
        left: 0;
        right: 0;
        margin: 0 auto;
        border-radius: 100px;
        width: 54px;
        height: 54px;
        background: #0b1c65;
        color: #fff;
        line-height: 54px;
        text-align: center;
        font-size: 18px;
        content: "\e900"; }
      #section03 .flow dl dt {
        margin-right: 30px; }
        @media only screen and (max-width: 768px) {
          #section03 .flow dl dt {
            text-align: center;
            margin-right: 0; } }
      #section03 .flow dl dd figure {
        align-items: center; }
        @media only screen and (max-width: 768px) {
          #section03 .flow dl dd figure {
            display: block; } }
        #section03 .flow dl dd figure img {
          vertical-align: middle; }
        #section03 .flow dl dd figure figcaption {
          margin-left: 20px; }
          @media only screen and (max-width: 768px) {
            #section03 .flow dl dd figure figcaption {
              margin-left: 0;
              margin-top: 15px; } }
          #section03 .flow dl dd figure figcaption p {
            margin-bottom: 15px;
            font-weight: bold; }
          #section03 .flow dl dd figure figcaption ul li {
            font-size: 14px;
            border-bottom: 1px #59ecff solid;
            padding: 5px; }
    #section03 .flow .finish {
      margin: 60px 0 0;
      padding: 50px 30px;
      text-align: center;
      background: #fff115 url(../images/img_sec_03_step_04.png) no-repeat 30px center; }
      @media only screen and (max-width: 768px) {
        #section03 .flow .finish {
          padding: 150px 30px 40px;
          background: #fff115 url(../images/img_sec_03_step_04.png) no-repeat center 30px; } }
      #section03 .flow .finish img {
        max-width: 178px; }

/*--------------------------
section04
---------------------------*/
#section04 {
  background: url(../images/ptn_sec_04.jpg);
  padding: 60px 0; }
  #section04 .heading {
    text-align: center;
    margin-bottom: 20px; }
    #section04 .heading img {
      max-width: 187px; }
  #section04 .price {
    text-align: center; }
    #section04 .price img {
      vertical-align: middle; }
      @media only screen and (max-width: 768px) {
        #section04 .price img {
          max-width: 113px; } }
    #section04 .price span {
      margin-left: 15px;
      font-size: 24px;
      font-weight: bold; }
      @media only screen and (max-width: 768px) {
        #section04 .price span {
          display: block;
          margin: 15px 0 0; } }
/*--------------------------
section05
---------------------------*/
#section05 {
  padding: 60px 0; }
  #section05 .heading {
    margin-bottom: 30px; }
    #section05 .heading .dot_title {
      margin-bottom: 30px; }
      #section05 .heading .dot_title img {
        max-width: 150px; }
    #section05 .heading .text {
      display: table;
      width: 100%;
      border: 3px #fff115 solid; }
      @media only screen and (max-width: 768px) {
        #section05 .heading .text {
          display: block;
          position: relative;
          padding: 15px; } }
      #section05 .heading .text dt, #section05 .heading .text dd {
        display: table-cell;
        vertical-align: middle; }
        @media only screen and (max-width: 768px) {
          #section05 .heading .text dt, #section05 .heading .text dd {
            display: block; } }
      #section05 .heading .text dt {
        font-size: 28px;
        padding: 25px 20px;
        background: #fff115;
        width: 78px;
        color: #777; }
        @media only screen and (max-width: 768px) {
          #section05 .heading .text dt {
            font-size: 20px;
            width: 46px;
            padding: 0;
            background: none;
            margin: 0 auto 10px; } }
      #section05 .heading .text dd {
        text-align: center;
        font-size: 24px;
        font-weight: bold; }
        @media only screen and (max-width: 768px) {
          #section05 .heading .text dd {
            font-size: 16px; } }
  #section05 .bus_type_block .bus_type_child {
    margin-bottom: 25px; }
    #section05 .bus_type_block .bus_type_child h3 {
      position: relative;
      font-weight: bold;
      font-size: 18px;
      color: #0b1c65;
      margin-bottom: 10px; }
      @media only screen and (max-width: 768px) {
        #section05 .bus_type_block .bus_type_child h3 {
          text-align: center; } }
      #section05 .bus_type_block .bus_type_child h3 i {
        font-size: 15px; }
      #section05 .bus_type_block .bus_type_child h3 span {
        display: inline-block;
        position: relative;
        padding: 3px 15px;
        border-radius: 100px;
        border: 2px #0b1c65 solid;
        background: #fff; }
    #section05 .bus_type_block .bus_type_child ul {
      margin-bottom: 0;
      flex-wrap: wrap; }
      @media only screen and (max-width: 768px) {
        #section05 .bus_type_block .bus_type_child ul {
          display: block; } }
      #section05 .bus_type_block .bus_type_child ul li {
        width: calc(33.3333333% - 20px / 3); }
        @media only screen and (max-width: 768px) {
          #section05 .bus_type_block .bus_type_child ul li {
            width: 100%;
            margin: 0 0 10px; } }
    #section05 .bus_type_block .bus_type_child:first-child {
      margin-right: 10px; }
  #section05 .bus_type {
    margin-bottom: 30px;
    flex-wrap: wrap; }
    #section05 .bus_type li {
      width: calc(25% - 30px / 4);
      margin-bottom: 10px;
      margin-left: 10px; }
      @media only screen and (min-width: 769px) {
        #section05 .bus_type li:nth-child(4n+1) {
          margin-left: 0; } }
      @media only screen and (max-width: 768px) {
        #section05 .bus_type li {
          width: calc(50% - 10px / 2);
          margin-bottom: 10px;
          text-align: center;
          margin-left: 0; }
          #section05 .bus_type li:nth-child(2n+1) {
            margin-right: 10px; } }
      #section05 .bus_type li a {
        position: relative;
        -webkit-transition: all 0.5s ease 0s;
        -moz-transition: all 0.5s ease 0s;
        -ms-transition: all 0.5s ease 0s;
        -o-transition: all 0.5s ease 0s;
        transition: all 0.5s ease 0s;
        display: block; }
        #section05 .bus_type li a figure {
          position: relative;
          overflow: hidden;
          padding-bottom: 65%; }
          @media only screen and (max-width: 768px) {
            #section05 .bus_type li a figure {
              padding-bottom: 50%; } }
          #section05 .bus_type li a figure img {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
            height: auto;
            width: 100%; }
          #section05 .bus_type li a figure::after {
            -webkit-transition: all 0.5s ease 0s;
            -moz-transition: all 0.5s ease 0s;
            -ms-transition: all 0.5s ease 0s;
            -o-transition: all 0.5s ease 0s;
            transition: all 0.5s ease 0s;
            opacity: 0;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            margin: 0 auto;
            width: 100%;
            height: 100%;
            max-width: 385px;
            background: rgba(0, 0, 0, 0.4);
            content: ""; }
            @media only screen and (max-width: 768px) {
              #section05 .bus_type li a figure::after {
                max-width: 100%; } }
          #section05 .bus_type li a figure::before {
            z-index: 2;
            opacity: 0;
            -webkit-transition: all 0.5s ease 0s;
            -moz-transition: all 0.5s ease 0s;
            -ms-transition: all 0.5s ease 0s;
            -o-transition: all 0.5s ease 0s;
            transition: all 0.5s ease 0s;
            /* use !important to prevent issues with browser extensions that change fonts */
            font-family: 'icomoon' !important;
            speak: none;
            font-style: normal;
            font-weight: normal;
            font-variant: normal;
            text-transform: none;
            line-height: 1;
            /* Better Font Rendering =========== */
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            position: absolute;
            top: calc(50% - 18px);
            left: 0;
            right: 0;
            margin: 0 auto;
            color: #fff;
            text-align: center;
            font-size: 36px;
            content: "\e904"; }
        #section05 .bus_type li a:hover figure::before, #section05 .bus_type li a:hover figure::after {
          opacity: 1; }
  #section05 table {
    width: 800px;
    font-size: 16px;
    height: 797px; }
    #section05 table .t_head {
      text-align: center;
      background: #333; }
      #section05 table .t_head tr {
        width: 100%; }
      #section05 table .t_head th {
        width: 130px;
        vertical-align: middle;
        color: #fff;
        padding: 18px 10px;
        border-left: 1px #ddd solid; }
      #section05 table .t_head td {
        color: #fff;
        padding: 18px 10px;
        border-left: 1px #ddd solid; }
    #section05 table .t_row {
      border-bottom: 1px #ddd solid; }
      #section05 table .t_row th {
        width: 130px;
        padding: 18px 8px;
        background: #eee;
        font-weight: bold;
        border-left: 1px #ddd solid; }
      #section05 table .t_row td {
        text-align: center;
        border-right: 1px #ddd solid;
        padding: 18px 5px; }
  @media only screen and (max-width: 768px) {
    #section05 .scroll_div {
      overflow: auto; } }
/*--------------------------
section06
---------------------------*/
#section06 {
  padding: 60px 0;
  background: url(../images/ptn_orange_check.jpg); }
  #section06 .form_default {
    background: #fff;
    border-radius: 5px;
    box-shadow: 0px 3px 9px -2px rgba(145, 145, 145, 0.6); }
    #section06 .form_default.confirm dl {
      padding: 20px 0; }
      #section06 .form_default.confirm dl:not(:last-child) {
        border-bottom: 1px solid; }
    #section06 .form_default .heading {
      background: #c9f9ff;
      text-align: center;
      padding: 25px; }
      #section06 .form_default .heading h2 {
        margin-bottom: 10px; }
        #section06 .form_default .heading h2 img {
          max-width: 146px; }
      #section06 .form_default .heading p {
        font-size: 14px; }
    #section06 .form_default .inner {
      padding: 30px; }
      @media only screen and (max-width: 768px) {
        #section06 .form_default .inner {
          padding: 15px; } }
    #section06 .form_default dl {
      width: 100%;
      display: table;
      color: #111; }
      #section06 .form_default dl:not(:last-child) {
        margin-bottom: 30px; }
      #section06 .form_default dl dt,
      #section06 .form_default dl dd {
        display: table-cell;
        position: relative;
        vertical-align: middle; }
        @media only screen and (max-width: 768px) {
          #section06 .form_default dl dt,
          #section06 .form_default dl dd {
            display: block; } }
      #section06 .form_default dl dt {
        width: 28%;
        font-weight: bold;
        padding: 10px; }
        @media only screen and (max-width: 768px) {
          #section06 .form_default dl dt {
            padding: 10px;
            width: 100%; } }
        #section06 .form_default dl dt::before {
          display: inline-block;
          vertical-align: 4px;
          width: 15px;
          height: 2px;
          margin-right: 7px;
          background: #fff115;
          content: ""; }
      #section06 .form_default dl:first-of-type dt {
        margin-top: 0; }
      #section06 .form_default dl dd {
        width: 72%; }
        @media only screen and (max-width: 768px) {
          #section06 .form_default dl dd {
            width: 100%; } }
        #section06 .form_default dl dd p {
          font-size: 13px;
          margin: 8px 0; }
        #section06 .form_default dl dd .input_default,
        #section06 .form_default dl dd textarea {
          border: 1px #59ecff solid;
          border-radius: 4px;
          font-size: 15px; }
        #section06 .form_default dl dd .input_default {
          width: 100%;
          padding: 12px; }
        #section06 .form_default dl dd textarea {
          width: 100%;
          padding: 15px;
          resize: vertical;
          height: 200px;
          line-height: 1.7;
          display: block; }
          @media only screen and (max-width: 768px) {
            #section06 .form_default dl dd textarea {
              height: 160px; } }
        #section06 .form_default dl dd .size_xs {
          width: 30%; }
        #section06 .form_default dl dd .size_s {
          width: 40%; }
          @media only screen and (max-width: 768px) {
            #section06 .form_default dl dd .size_s {
              width: 100%; } }
        #section06 .form_default dl dd .size_m {
          width: 70%; }
          @media only screen and (max-width: 768px) {
            #section06 .form_default dl dd .size_m {
              width: 100%; } }
      #section06 .form_default dl.align_t dt, #section06 .form_default dl.align_t dd {
        vertical-align: top; }
    #section06 .form_default .required dt::after {
      display: inline-block;
      padding: 2px 5px;
      margin-left: 5px;
      vertical-align: 2px;
      font-size: 10px;
      background: #555;
      color: #fff;
      font-weight: normal;
      content: "必須"; }
    #section06 .form_default .error {
      margin-top: 10px;
      font-size: 13px;
      font-weight: bold;
      color: #d91111; }
      #section06 .form_default .error::before {
        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: inline-block;
        content: "\f026";
        font-size: 16px;
        margin-right: 2px;
        vertical-align: middle; }
    #section06 .form_default .btn {
      text-align: center; }
      #section06 .form_default .btn input[type="submit"] {
        appearance: none;
        -webkit-appearance: none;
        display: inline-block;
        font-weight: bold;
        margin: 0 auto;
        padding: 15px;
        border-radius: 5px;
        font-size: 16px;
        cursor: pointer;
        transition: all .2s ease-in; }
        #section06 .form_default .btn input[type="submit"].next {
          color: #333;
          width: 300px;
          background: #fff115;
          border: 2px #e1d400 solid; }
          #section06 .form_default .btn input[type="submit"].next:hover {
            background: #e1d400; }
          @media only screen and (max-width: 768px) {
            #section06 .form_default .btn input[type="submit"].next {
              padding: 15px;
              width: 100%; }
              #section06 .form_default .btn input[type="submit"].next.small {
                width: 68%; } }
        #section06 .form_default .btn input[type="submit"].prev {
          width: 180px;
          background: #c9f9ff;
          border: 2px #96f3ff solid; }
          #section06 .form_default .btn input[type="submit"].prev:hover {
            background: #96f3ff; }
          @media only screen and (max-width: 768px) {
            #section06 .form_default .btn input[type="submit"].prev {
              padding: 15px;
              width: 30%; } }
    #section06 .form_default .complete {
      width: 100%;
      display: table;
      height: 200px;
      text-align: center;
      font-size: 18px;
      font-weight: bold; }
      #section06 .form_default .complete p {
        display: table-cell;
        vertical-align: middle; }
        #section06 .form_default .complete p span {
          display: block;
          margin-bottom: 20px; }
        #section06 .form_default .complete p a {
          font-size: 13px;
          color: #59ecff; }

/*--------------------------
section07
---------------------------*/
#section07 {
  padding: 60px 0 0; }
  #section07 .heading {
    text-align: center;
    margin-bottom: 30px; }
    #section07 .heading img {
      max-width: 153px; }
  @media only screen and (max-width: 768px) {
    #section07 .narrow_wrapper {
      padding: 0; } }
  #section07 .company_table {
    margin-bottom: 70px; }
    #section07 .company_table dl {
      display: table;
      width: 100%;
      padding: 8px 0;
      border-top: 1px #ccc solid; }
      #section07 .company_table dl:last-child {
        border-bottom: 1px #ccc solid; }
      #section07 .company_table dl dt, #section07 .company_table dl dd {
        display: table-cell;
        padding: 7px;
        vertical-align: middle; }
        @media only screen and (max-width: 768px) {
          #section07 .company_table dl dt, #section07 .company_table dl dd {
            display: block; } }
      #section07 .company_table dl dt {
        text-align: center;
        font-weight: bold;
        width: 18%;
        border-right: 1px #ccc solid; }
        @media only screen and (max-width: 768px) {
          #section07 .company_table dl dt {
            width: 100%;
            text-align: left;
            border-right: none; } }
      #section07 .company_table dl dd {
        width: 82%;
        padding: 7px 7px 7px 20px; }
        @media only screen and (max-width: 768px) {
          #section07 .company_table dl dd {
            width: 100%;
            padding: 7px; } }
  #section07 #map {
    width: 100%;
    height: 400px; }

/*--------------------------
#footer
---------------------------*/
footer {
  position: relative;
  background: #333333;
  text-align: center;
  padding: 20px; }
  @media only screen and (max-width: 768px) {
    footer {
      text-align: left;
      padding: 20px 10px; } }
  footer .copyright {
    color: #aaa;
    font-size: 11px; }
  footer #page-top {
    position: absolute;
    right: 30px;
    bottom: 0;
    z-index: 99; }
    @media only screen and (max-width: 768px) {
      footer #page-top {
        right: 0; } }
    footer #page-top a {
      display: block;
      text-align: center;
      background: #fff115 url(../images/bg_arrow_top.png) no-repeat center 15px;
      background-size: 21px 12px;
      width: 54px;
      height: 54px;
      font-size: 11px;
      line-height: 74px;
      color: #333; }

/*--------------------------
covid
---------------------------*/
#covid {
  background: #fffabe;
  padding: 70px 0 80px; }

@media only screen and (max-width: 768px) {
  #covid {
    padding: 50px 0 60px; } }

@media only screen and (max-width: 768px) {
  #covid .dot_title {
    max-width: 400px;
    margin: auto; } }

#covid .dot_title::after {
  color: #59ecff; }

#covid .counterplan {
  display: flex;
  justify-content: center;
  margin: 64px 0 0; }

@media only screen and (max-width: 768px) {
  #covid .counterplan {
    display: block; } }

#covid .counterplan_item {
  flex: 0 0 300px;
  max-width: 300px; }

@media only screen and (max-width: 768px) {
  #covid .counterplan_item {
    max-width: 100%; } }

#covid .counterplan_item .heading {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  background: url(../images/ptn_orange_check.jpg) repeat;
  margin: 0 0 20px;
  padding: 20px 15px;
  position: relative; }

@media only screen and (max-width: 768px) {
  #covid .counterplan_item .heading {
    font-size: 16px; } }

#covid .counterplan_item .heading_in {
  padding-left: 68px;
  position: relative; }

@media only screen and (max-width: 768px) {
  #covid .counterplan_item .heading_in {
    padding-left: 52px; } }

#covid .counterplan_item .heading_in::before {
  content: "";
  width: 50px;
  height: 50px;
  margin: auto 0;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0; }

@media only screen and (max-width: 768px) {
  #covid .counterplan_item .heading_in::before {
    width: 40px;
    height: 40px; } }

#covid .counterplan_item .heading::before {
  content: "";
  width: 77px;
  height: 34px;
  margin: auto;
  position: absolute;
  top: -34px;
  right: 0;
  left: 0; }

#covid .counterplan_item .heading.disinfection::before {
  background: url(../images/img_covid_no1.png) no-repeat center/cover; }

#covid .counterplan_item .heading.disinfection .heading_in::before {
  background: url(../images/ico_covid_01.png) no-repeat center/cover; }

#covid .counterplan_item .heading.measurement::before {
  background: url(../images/img_covid_no2.png) no-repeat center/cover; }

#covid .counterplan_item .heading.measurement .heading_in::before {
  background: url(../images/ico_covid_02.png) no-repeat center/cover; }

#covid .counterplan_item .heading.ventilation::before {
  background: url(../images/img_covid_no3.png) no-repeat center/cover; }

#covid .counterplan_item .heading.ventilation .heading_in::before {
  background: url(../images/ico_covid_03.png) no-repeat center/cover; }

#covid .counterplan_item .img {
  margin-bottom: 20px; }

@media only screen and (max-width: 768px) {
  #covid .counterplan_item .img {
    margin-bottom: 12px; } }

#covid .counterplan_item .txt {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-bottom: 20px; }

@media only screen and (max-width: 768px) {
  #covid .counterplan_item .txt {
    line-height: 1.4;
    margin-bottom: 16px; } }

#covid .counterplan_item .btn_wrap .btn {
  font-size: 15px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.03em;
  background: #fff;
  border: 2px solid #fff115;
  border-radius: 5px;
  display: block;
  padding: 17px 30px;
  position: relative;
  transition: all 0.5s ease 0s; }

#covid .counterplan_item .btn_wrap .btn::after {
  content: "";
  background: url(../images/ico_covid_link.png) no-repeat center/contain;
  width: 12px;
  height: 12px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0; }

@media only screen and (min-width: 769px) {
  #covid .counterplan_item .btn_wrap .btn:hover {
    background: #fff115; } }

#covid .counterplan_item .btn_wrap .btn.video::after {
  display: none; }

#covid .counterplan_item .btn_wrap:not(:last-child) {
  margin-bottom: 8px; }

#covid .counterplan_item:not(:last-child) {
  margin: 0 30px 0 0; }

@media only screen and (max-width: 768px) {
  #covid .counterplan_item:not(:last-child) {
    margin: 0 0 60px; } }

@media only screen and (max-width: 768px) {
  #covid .sp_hidden {
    display: none; } }

/*--------------------------
	404
---------------------------*/
#notfound {
  height: calc(100vh - 25px);
  background: url(../images/ptn_sec_04.jpg); }
  @media only screen and (max-width: 768px) {
    #notfound {
      height: 100vh; } }
  #notfound .inner {
    position: relative;
    height: calc(100vh - 25px);
    display: table;
    width: 100%; }
    @media only screen and (max-width: 768px) {
      #notfound .inner {
        height: 100vh; } }
    #notfound .inner .block {
      display: table-cell;
      vertical-align: middle;
      text-align: center; }
      @media only screen and (max-width: 768px) {
        #notfound .inner .block {
          text-align: left; } }
      #notfound .inner .block h2 {
        font-weight: bold;
        font-size: 24px;
        letter-spacing: .1em;
        margin-bottom: 15px; }
      #notfound .inner .block .btn {
        margin-top: 50px;
        text-align: center; }
        #notfound .inner .block .btn a {
          display: inline-block;
          font-weight: bold;
          margin: 0 auto;
          padding: 15px;
          border-radius: 5px;
          font-size: 16px;
          cursor: pointer;
          transition: all .2s ease-in;
          color: #333;
          width: 300px;
          background: #fff115;
          border: 2px #e1d400 solid; }
          #notfound .inner .block .btn a:hover {
            background: #e1d400; }
          @media only screen and (max-width: 768px) {
            #notfound .inner .block .btn a {
              padding: 15px;
              width: 100%; } }
/*!
	Modaal - accessible modals - v0.3.1
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
  overflow: hidden; }

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0; }

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out; }
  .modaal-wrapper * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden; }
  .modaal-wrapper .modaal-close {
    border: none;
    background: transparent;
    padding: 0;
    -webkit-appearance: none; }
  .modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1; }
  .modaal-wrapper.modaal-start_fade {
    opacity: 0; }
  .modaal-wrapper *[tabindex="0"] {
    outline: none !important; }
  .modaal-wrapper.modaal-fullscreen {
    overflow: hidden; }

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%; }
  .modaal-fullscreen .modaal-outer-wrapper {
    display: block; }

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px; }
  .modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top; }

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto; }
  .modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden; }
  .modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto; }

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border-radius: 100%;
  transition: all 0.2s ease-in-out; }
  .modaal-close:focus, .modaal-close:hover {
    outline: none;
    background: #fff; }
    .modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
      background: #b93d0c; }
  .modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-close:before, .modaal-close:after {
    display: block;
    content: " ";
    position: absolute;
    top: 14px;
    left: 23px;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out; }
  .modaal-close:before {
    transform: rotate(-45deg); }
  .modaal-close:after {
    transform: rotate(45deg); }
  .modaal-fullscreen .modaal-close {
    background: #afb7bc;
    right: 10px;
    top: 10px; }

.modaal-content-container {
  padding: 30px; }

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0; }

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent; }
  .modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    transition: background 0.2s ease-in-out; }
    .modaal-confirm-btn.modaal-ok:hover {
      background: #2f2f2f; }
  .modaal-confirm-btn.modaal-cancel {
    text-decoration: underline; }
    .modaal-confirm-btn.modaal-cancel:hover {
      text-decoration: none;
      color: #2f2f2f; }

@keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-ms-keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important; }

.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent; }

.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important; }

.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  animation: instaReveal 1s linear forwards; }

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px; }

.modaal-image .modaal-container {
  width: auto;
  max-width: 100%; }

.modaal-gallery-wrap {
  position: relative;
  color: #fff; }

.modaal-gallery-item {
  display: none; }
  .modaal-gallery-item img {
    display: block; }
  .modaal-gallery-item.is_active {
    display: block; }

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff; }
  .modaal-gallery-label:focus {
    outline: none; }

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out; }
  .modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default; }
  .modaal-gallery-control:focus, .modaal-gallery-control:hover {
    outline: none; }
    .modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
      background: #afb7bc; }
  .modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-gallery-control:before, .modaal-gallery-control:after {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out; }
  .modaal-gallery-control:before {
    margin: -5px 0 0;
    transform: rotate(-45deg); }
  .modaal-gallery-control:after {
    margin: 5px 0 0;
    transform: rotate(45deg); }

.modaal-gallery-next {
  left: 100%;
  margin-left: 40px; }

.modaal-gallery-prev {
  right: 100%;
  margin-right: 40px; }
  .modaal-gallery-prev:before, .modaal-gallery-prev:after {
    left: 22px; }
  .modaal-gallery-prev:before {
    margin: 5px 0 0;
    transform: rotate(-45deg); }
  .modaal-gallery-prev:after {
    margin: -5px 0 0;
    transform: rotate(45deg); }

.modaal-video-wrap {
  margin: auto 50px;
  position: relative; }

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }
  .modaal-video-container iframe,
  .modaal-video-container object,
  .modaal-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%; }

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block; }

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px; } }

@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px; }
  .modaal-gallery-control {
    top: auto;
    bottom: calc(0 - 60px);
    transform: none;
    background: none; }
    .modaal-gallery-control:before, .modaal-gallery-control:after {
      background: #fff; }
  .modaal-gallery-next {
    left: auto;
    right: 20px; }
  .modaal-gallery-prev {
    left: 20px;
    right: auto; } }

@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; } }

@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important; } }

@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px; }
  .modaal-instagram iframe {
    width: 600px !important; } }

@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px; } }

@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important; } }

@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none; } }

.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  transform: scale(0.25); }

@-ms-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@-moz-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@-o-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute; }

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff; }

.modaal-loading-spinner > div:nth-of-type(1) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0s;
  -moz-animation-delay: 0s;
  -webkit-animation-delay: 0s;
  -o-animation-delay: 0s;
  animation-delay: 0s; }

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(1) {
  -ms-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(2) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: .12s;
  -moz-animation-delay: .12s;
  -webkit-animation-delay: .12s;
  -o-animation-delay: .12s;
  animation-delay: .12s; }

.modaal-loading-spinner > div:nth-of-type(2) {
  -ms-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(3) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: .25s;
  -moz-animation-delay: .25s;
  -webkit-animation-delay: .25s;
  -o-animation-delay: .25s;
  animation-delay: .25s; }

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(3) {
  -ms-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(4) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: .37s;
  -moz-animation-delay: .37s;
  -webkit-animation-delay: .37s;
  -o-animation-delay: .37s;
  animation-delay: .37s; }

.modaal-loading-spinner > div:nth-of-type(4) {
  -ms-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(5) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: .5s;
  -moz-animation-delay: .5s;
  -webkit-animation-delay: .5s;
  -o-animation-delay: .5s;
  animation-delay: .5s; }

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(5) {
  -ms-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(6) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: .62s;
  -moz-animation-delay: .62s;
  -webkit-animation-delay: .62s;
  -o-animation-delay: .62s;
  animation-delay: .62s; }

.modaal-loading-spinner > div:nth-of-type(6) {
  -ms-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(7) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: .75s;
  -moz-animation-delay: .75s;
  -webkit-animation-delay: .75s;
  -o-animation-delay: .75s;
  animation-delay: .75s; }

.modaal-loading-spinner > div:nth-of-type(7) {
  -ms-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(8) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: .87s;
  -moz-animation-delay: .87s;
  -webkit-animation-delay: .87s;
  -o-animation-delay: .87s;
  animation-delay: .87s; }

.modaal-loading-spinner > div:nth-of-type(8) {
  -ms-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0); }
