@charset "UTF-8";
@media screen and (min-width: 320px) and (max-width: 768px) {
  #wrapper {
    position: relative;
    overflow: hidden; }

  	/*header
      --------------------------------------------*/
  #header {
    position: fixed;
    width: 100%;
    background: rgba(255, 255, 255, 0.85);
    left: 0;
    right: 0;
    top: 0;
    height: 75px;
    z-index: 1000;
    -webkit-box-shadow: 0 0 8px #ccc;
            box-shadow: 0 0 8px #ccc; }
    #header h1 {
      display: none; }
    #header .h_cont {
      padding-bottom: 15px; }
      #header .h_cont h2 {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        z-index: 999; }
      #header .h_cont .head_r {
        display: none; }
    #header #nav .pc_nav {
      display: none; }

  	/*メインビジュアル
      --------------------------------------------*/
  #main-visual {
    background: url(../img/mv.png) center no-repeat;
    background-size: cover;
    height: 100vw;
    position: relative; }
    #main-visual h2 {
      width: 95%;
      margin: 0 auto;
      position: absolute;
      top: 55%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      z-index: 999; }

  	/*共通
      --------------------------------------------*/
  .sub-ttl {
    font-size: 6vw;
    color: #00629b;
    font-weight: 700;
    padding-bottom: 20px;
    margin-bottom: 15px;
    position: relative; }
    .sub-ttl:after {
      content: '';
      position: absolute;
      width: 1px;
      height: 20px;
      margin: 0 auto;
      left: 0;
      right: 0;
      bottom: 0;
      border-left: 1px solid #101010; }
    .sub-ttl span {
      font-size: 4vw;
      color: #afafaf;
      display: block;
      font-weight: 500; }

  	/*section01
      --------------------------------------------*/
  #sec01 {
    padding: 45px 0;
    background: url(../img/sec01_bg.png); }
    #sec01 .cont-wrap .cont-box:first-child {
      margin-bottom: 50px; }
      #sec01 .cont-wrap .cont-box:first-child .markup {
        background: url(../img/txtbox01.png);
        padding: 15px 5px;
        color: #fff;
        font-size: 4.3vw;
        position: relative;
        border-radius: 10px;
        letter-spacing: 1px; }
        #sec01 .cont-wrap .cont-box:first-child .markup:first-child {
          margin-left: auto;
          margin-bottom: 70px; }
          #sec01 .cont-wrap .cont-box:first-child .markup:first-child:before {
            background: url(../img/markup_arr01.png) left bottom no-repeat;
            position: absolute;
            content: '';
            width: 28px;
            height: 19px;
            left: 80px;
            bottom: -13px; }
          #sec01 .cont-wrap .cont-box:first-child .markup:first-child:after {
            background: url(../img/illust01.png) no-repeat;
            position: absolute;
            content: '';
            width: 120px;
            height: 113px;
            left: 0;
            bottom: -35%;
            background-size: 45%; }
        #sec01 .cont-wrap .cont-box:first-child .markup:last-child {
          margin-right: auto; }
          #sec01 .cont-wrap .cont-box:first-child .markup:last-child:before {
            background: url(../img/markup_arr02.png) left bottom no-repeat;
            position: absolute;
            content: '';
            width: 28px;
            height: 19px;
            right: 80px;
            bottom: -13px; }
          #sec01 .cont-wrap .cont-box:first-child .markup:last-child:after {
            background: url(../img/illust02.png) no-repeat;
            position: absolute;
            content: '';
            width: 120px;
            height: 113px;
            right: -20%;
            bottom: -100%;
            background-size: 45%; }
    #sec01 .cont-wrap .cont-box:last-child h4 {
      overflow: hidden;
      text-align: center;
      font-size: 5vw;
      letter-spacing: 1px;
      font-weight: 700;
      margin-bottom: 25px; }
      #sec01 .cont-wrap .cont-box:last-child h4 span {
        display: inline-block;
        padding: 0 0.5em;
        position: relative; }
        #sec01 .cont-wrap .cont-box:last-child h4 span:before, #sec01 .cont-wrap .cont-box:last-child h4 span:after {
          border-top: 3px double #00629b;
          content: "";
          position: absolute;
          top: 50%;
          width: 99em; }
        #sec01 .cont-wrap .cont-box:last-child h4 span:before {
          right: 100%; }
        #sec01 .cont-wrap .cont-box:last-child h4 span:after {
          left: 100%; }
    #sec01 .cont-wrap .cont-box:last-child p {
      margin-bottom: 20px;
      text-align: left; }

  	/*section02
      --------------------------------------------*/
  #sec02 .head-cont {
    padding: 45px 0;
    background: url(../img/txtbox02.png);
    position: relative; }
    #sec02 .head-cont:after {
      background: url(../img/arr03.png) no-repeat;
      position: absolute;
      content: '';
      width: 31px;
      height: 36px;
      margin: 0 auto;
      left: 0;
      right: 0;
      bottom: -35px; }
    #sec02 .head-cont .sub-ttl {
      color: #fff; }
      #sec02 .head-cont .sub-ttl span {
        color: #fff; }
      #sec02 .head-cont .sub-ttl:after {
        border-left: 1px solid #fff; }
    #sec02 .head-cont .cont-wrap {
      border: 1px solid #fff;
      padding: 10px 5px; }
      #sec02 .head-cont .cont-wrap li {
        float: left;
        margin-right: 10px;
        text-align: left; }
        #sec02 .head-cont .cont-wrap li a {
          border-bottom: 1px solid #fff;
          display: block;
          color: #fff;
          position: relative;
          padding-left: 15px; }
          #sec02 .head-cont .cont-wrap li a:before {
            content: '・';
            z-index: 100;
            left: 0; }
  #sec02 .bt-cont {
    padding: 45px 0;
    background: url(../img/bg01.png) top center no-repeat, url(../img/bg03.png); }
    #sec02 .bt-cont .cont-wrap > ul > li {
      margin-bottom: 35px; }
      #sec02 .bt-cont .cont-wrap > ul > li:last-child {
        margin-bottom: 0; }
      #sec02 .bt-cont .cont-wrap > ul > li h4 {
        font-size: 5.5vw;
        font-weight: 500;
        border-bottom: 3px double #00629b;
        padding-bottom: 5px;
        margin-bottom: 25px;
        text-align: left; }
      #sec02 .bt-cont .cont-wrap > ul > li .cont-box li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 4%;
        float: left; }
        #sec02 .bt-cont .cont-wrap > ul > li .cont-box li:nth-child(2n+1):nth-last-child(-n+2), #sec02 .bt-cont .cont-wrap > ul > li .cont-box li:nth-child(2n+1):nth-last-child(-n+2) ~ li {
          margin-bottom: 0; }
        #sec02 .bt-cont .cont-wrap > ul > li .cont-box li:nth-child(even), #sec02 .bt-cont .cont-wrap > ul > li .cont-box li:last-child {
          margin-right: 0; }
        #sec02 .bt-cont .cont-wrap > ul > li .cont-box li a {
          display: block; }
          #sec02 .bt-cont .cont-wrap > ul > li .cont-box li a .thumb {
            width: 100%;
            height: 35vw; }
          #sec02 .bt-cont .cont-wrap > ul > li .cont-box li a .post-ttl {
            font-size: 4vw;
            color: #00629b;
            font-weight: 500;
            padding: 5px 0;
            border-bottom: 2px solid #00629b;
            text-align: left; }

  	/*section03
      --------------------------------------------*/
  #sec03 {
    padding: 45px 0;
    background: url(../img/bg02.png) center no-repeat;
    background-size: cover; }
    #sec03 .sub-ttl {
      color: #fff; }
      #sec03 .sub-ttl span {
        color: #fff; }
      #sec03 .sub-ttl:after {
        border-left: 1px solid #fff; }
    #sec03 .cont-wrap li {
      margin-bottom: 35px;
      background: #fff;
      padding: 25px 20px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      position: relative; }
      #sec03 .cont-wrap li:after {
        background: url(../img/arr06.png) no-repeat;
        position: absolute;
        content: '';
        width: 29px;
        height: 24px;
        margin: 0 auto;
        left: 0;
        right: 0;
        bottom: -20px; }
      #sec03 .cont-wrap li:last-child {
        margin-bottom: 0; }
        #sec03 .cont-wrap li:last-child:after {
          background: none; }
      #sec03 .cont-wrap li dt {
        font-size: 4.5vw;
        font-weight: 700;
        border-right: 3px double #00629b;
        border-left: 3px double #00629b;
        color: #00629b;
        margin-bottom: 15px; }
        #sec03 .cont-wrap li dt span {
          display: block;
          color: #afafaf;
          font-size: 3.7vw;
          font-weight: 500; }
      #sec03 .cont-wrap li dd {
        text-align: left; }
        #sec03 .cont-wrap li dd .tel {
          font-size: 5.5vw;
          font-weight: 700; }
          #sec03 .cont-wrap li dd .tel a {
            padding-left: 30px;
            background: url(../img/tel_icon.png) left center no-repeat; }

  	/*section04
      --------------------------------------------*/
  #sec04 {
    padding-top: 45px; }
    #sec04 .info-tbl {
      margin-bottom: 30px; }
      #sec04 .info-tbl > dl {
        border-bottom: 1px solid #101010; }
        #sec04 .info-tbl > dl:first-child {
          border-top: 1px solid #101010; }
        #sec04 .info-tbl > dl > dt {
          position: relative; }
          #sec04 .info-tbl > dl > dt:after {
            content: '';
            position: absolute;
            border-bottom: 1px solid #fff;
            width: 200px;
            margin: 0 auto;
            height: 1px;
            left: 0;
            right: 0;
            bottom: -1px; }
        #sec04 .info-tbl > dl:last-child dt {
          position: static; }
        #sec04 .info-tbl > dl:nth-child(4) dd li:first-child {
          margin-bottom: 20px; }
        #sec04 .info-tbl > dl:nth-child(4) dd li dt, #sec04 .info-tbl > dl:nth-child(4) dd li dd {
          display: inline-block;
          vertical-align: middle; }
        #sec04 .info-tbl > dl:nth-child(4) dd li dt {
          margin-right: 15px; }
    #sec04 .links {
      margin-bottom: 45px; }
      #sec04 .links li {
        margin-bottom: 15px;
        font-size: 4vw; }
        #sec04 .links li:last-child {
          margin-bottom: 0; }
        #sec04 .links li a {
          background: url(../img/arr05.png) no-repeat, #00629b;
          background-position: 95% 50%;
          padding: 10px 0;
          display: block;
          color: #fff; }
    #sec04 .map {
      padding: 0 2%; }
      #sec04 .map iframe {
        height: 250px !important; }

  	/*section05
      --------------------------------------------*/
  #sec05 {
    background: url(../img/bg03.png);
    padding: 45px 0; }
    #sec05 .contact-form {
      background: url(../img/txtbox02.png);
      padding: 15px; }
      #sec05 .contact-form dl {
        border-bottom: 1px solid #fff; }
        #sec05 .contact-form dl:first-child {
          border-top: 1px solid #fff; }
        #sec05 .contact-form dl dt {
          background: none;
          font-weight: bold; }
        #sec05 .contact-form dl dd {
          color: #fff; }
          #sec05 .contact-form dl dd li {
            display: inline-block;
            vertical-align: middle; }
          #sec05 .contact-form dl dd a {
            color: #fff; }

  	/*下層
      --------------------------------------------*/
  #cont {
    padding: 45px 0;
    background: url(../img/sec01_bg.png); }

  #bt-main {
    background: url(../img/mv.png) center no-repeat;
    height: 70vw;
    position: relative; }
    #bt-main h2 {
      width: 95%;
      margin: 0 auto;
      font-size: 7vw;
      color: #fff;
      font-weight: 700;
      letter-spacing: 2px;
      position: absolute;
      top: 60%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      z-index: 999; }

  #products h4 {
    overflow: hidden;
    text-align: center;
    font-size: 5.5vw;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 20px; }
    #products h4 span {
      display: inline-block;
      padding: 0 0.5em;
      position: relative; }
      #products h4 span:before, #products h4 span:after {
        border-top: 3px double #00629b;
        content: "";
        position: absolute;
        top: 50%;
        width: 99em; }
      #products h4 span:before {
        right: 100%; }
      #products h4 span:after {
        left: 100%; }
  #products .cont-wrap {
    background: url(../img/txtbox02.png);
    padding: 15px 10px; }
    #products .cont-wrap .img-blc {
      margin-bottom: 25px; }
      #products .cont-wrap .img-blc .main-img {
        margin-bottom: 20px; }
        #products .cont-wrap .img-blc .main-img .thumb {
          width: 100%;
          height: auto; }
      #products .cont-wrap .img-blc .img-list li {
        width: 48%;
        float: left;
        margin-right: 4%;
        margin-bottom: 4%;
        cursor: pointer; }
        #products .cont-wrap .img-blc .img-list li:hover {
          filter: alpha(opacity=60);
          opacity: 0.6;
          -webkit-transition: all .3s;
          transition: all .3s; }
        #products .cont-wrap .img-blc .img-list li:nth-child(even), #products .cont-wrap .img-blc .img-list li:last-child {
          margin-right: 0; }
        #products .cont-wrap .img-blc .img-list li:nth-child(2n+1):nth-last-child(-n+2), #products .cont-wrap .img-blc .img-list li:nth-child(2n+1):nth-last-child(-n+2) ~ li {
          margin-bottom: 0; }
        #products .cont-wrap .img-blc .img-list li .thumb {
          width: 100%;
          height: 35vw; }
    #products .cont-wrap .post-body {
      text-align: left;
      color: #fff; }

  	/*footer
      --------------------------------------------*/
  #footer {
    background: #00629b;
    padding: 5px 0; }
    #footer #copyright {
      color: #fff;
      font-size: 10px; }
      #footer #copyright a {
        color: #fff; } }

/*# sourceMappingURL=style_sp.css.map */