@charset "UTF-8";
/* アニメーションベンダープレフィックス込み指定 */
/* アニメーションベンダープレフィックス込み指定 */
/* PC
----------------------------------*/
.sp_menu {
  display: none; }

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  /* header */
  #header .inner {
    width: 95%; }
    #header .inner #logo {
      width: 230px;
      margin: 0;
      padding: 0; }
    #header .inner #tel {
      display: none; }

  /* navi */
  #navi {
    display: none; }

  /* slideshow */
  #slideshow {
    height: 40vh; }

  /* footer */
  #footer .inner {
    padding: 20px 0;
    margin: 0 auto;
    width: 95%;
    box-sizing: border-box; }
    #footer .inner .f_btm {
      padding-top: 0;
      border-top: 0; }
    #footer .inner .lsingle, #footer .inner .rsingle {
      text-align: center; }

  /* contents */
  .textwrap {
    width: 95%;
    margin: 0 auto;
    padding: 30px 0; }

  .category_navi {
    display: none; }

  .main {
    float: none;
    width: 100%; }
    .main section {
      margin-bottom: 30px; }

  .bg01 .inner {
    padding: 30px 0; }

  /* mtitle */
  .mtitle {
    font-size: 1.4rem; }
    .mtitle span {
      display: block;
      margin-left: 0;
      padding-left: 0;
      border-left: none !important;
      font-size: 1rem !important; }
    .mtitle.tt {
      font-size: 2.3em;
      line-height: 1.4; }
      .mtitle.tt span {
        display: block;
        margin-left: 0;
        padding-left: 0;
        border-left: none !important;
        font-size: 1rem !important; }

  .mtitle_top {
    font-size: 1.4rem; }

  /* pickup */
  .pickup .image, .pickup .detail_box {
    float: none;
    width: 100%; }
  .pickup .image img {
    width: 100%; }
  .pickup .detail_box {
    min-height: initial; }
    .pickup .detail_box .detail_txt {
      float: none;
      width: 100%; }

  /* breadcrumb_box */
  .breadcrumb_box .breadcrumb {
    width: 95%; }

  /* sp_menu */
  .sp_menu {
    display: block; }

  .btn__box {
    position: relative;
    width: 500px;
    height: 40px;
    margin: 100px auto 0;
    font-size: 13px;
    cursor: pointer;
    -webkit-perspective: 500px;
    perspective: 500px; }
    .btn__box a {
      position: absolute;
      display: block;
      width: 500px;
      height: 38px;
      line-height: 38px;
      color: rgba(255, 255, 255, 0);
      border: 1px solid rgba(255, 255, 255, 0);
      -webkit-transition: all .3s ease;
      transition: all .3s ease;
      -webkit-transform: rotateX(90deg);
      transform: rotateX(90deg);
      -webkit-transform-origin: 50% 50% -20px;
      -ms-transform-origin: 50% 50% -20px;
      transform-origin: 50% 50% -20px; }
    .btn__box:after {
      position: absolute;
      display: block;
      width: 500px;
      height: 38px;
      line-height: 38px;
      color: rgba(255, 255, 255, 0);
      border: 1px solid rgba(255, 255, 255, 0);
      -webkit-transition: all .3s ease;
      transition: all .3s ease;
      -webkit-transform: rotateX(90deg);
      transform: rotateX(90deg);
      -webkit-transform-origin: 50% 50% -20px;
      -ms-transform-origin: 50% 50% -20px;
      transform-origin: 50% 50% -20px;
      top: 0;
      left: 0;
      width: 500px;
      height: 38px;
      line-height: 38px;
      color: #fff;
      border: 1px solid #fff;
      -webkit-transform: rotateX(0deg);
      transform: rotateX(0deg);
      content: ""; }
    .btn__box:hover a {
      color: white;
      border: 1px solid white;
      -webkit-transform: rotateX(0deg);
      transform: rotateX(0deg);
      z-index: 2; }
    .btn__box:hover:after {
      color: rgba(255, 255, 255, 0);
      border: 1px solid rgba(255, 255, 255, 0);
      -webkit-transform: rotateX(-90deg);
      transform: rotateX(-90deg);
      z-index: 1; }

  .menu {
    position: fixed;
    display: table;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: hidden;
    opacity: 0;
    z-index: 9999; }

  .side-open .menu {
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1; }

  .menu ul {
    display: table-cell;
    vertical-align: middle; }
  .menu li {
    width: 500px;
    margin: 0 auto;
    text-align: center;
    opacity: 0; }

  .side-open .menu li {
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1; }

  .menu li a {
    display: block;
    height: 60px;
    line-height: 60px;
    font-size: 16px;
    -webkit-transition: all .5s;
    transition: all .5s;
    text-decoration: none; }
    .menu li a:hover {
      opacity: 0.7; }

  .menu-btn {
    position: fixed;
    top: 16px;
    right: 10px;
    width: 60px;
    height: 60px;
    line-height: 60px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    z-index: 99999;
    background-color: #000662; }
    .menu-btn span {
      color: white; }
      .menu-btn span:after {
        content: attr(data-txt-open); }

  .side-open .menu-btn span:after {
    content: attr(data-txt-close); }

  .menu-btn:hover span:nth-child(1):after {
    -webkit-animation: anim .5s ease 0s forwards;
    animation: anim .5s ease 0s forwards; }
  .menu-btn:hover span:nth-child(2):after {
    -webkit-animation: anim .5s ease .1s forwards;
    animation: anim .5s ease .1s forwards; }
  .menu-btn:hover span:nth-child(3):after {
    -webkit-animation: anim .5s ease .2s forwards;
    animation: anim .5s ease .2s forwards; }
  .menu-btn:hover span:nth-child(4):after {
    -webkit-animation: anim .5s ease .3s forwards;
    animation: anim .5s ease .3s forwards; }
  .menu-btn:hover span:nth-child(5):after {
    -webkit-animation: anim .5s ease .4s forwards;
    animation: anim .5s ease .4s forwards; }

  @-webkit-keyframes anim {
    0% {
      -webkit-transform: translateY(0px);
      transform: translateY(0px); }
    50% {
      -webkit-transform: translateY(-5px);
      transform: translateY(-5px); }
    100% {
      -webkit-transform: translateY(0px);
      transform: translateY(0px); } } }
@media screen and (max-width: 414px) {
  body {
    font-size: 12px; }

  /* common */
  .fleft0, .fleft1, .fleft2, .fright0, .fright1, .fright2 {
    display: block;
    float: none;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px; }

  .spbr {
    display: block; }

  .pcbr {
    display: none; }

  /* footer */
  #footer .inner #fmenu {
    display: none;
    border-bottom: none;
    text-align: left; }
    #footer .inner #fmenu li {
      float: none;
      width: 100%;
      margin: 0 0 10px;
      padding-bottom: 10px;
      border-bottom: 1px dotted #DDDDDD; }
      #footer .inner #fmenu li:last-child {
        margin: 0;
        padding-bottom: 0;
        border-bottom: none; }

  /* single */
  .lsingle, .rsingle {
    float: none;
    width: 100%; }

  .lsingle {
    margin-bottom: 20px; }

  /* pickup */
  .pickup .detail_box {
    padding: 10px; }

  /* service_child */
  .service_child {
    width: 100%;
    margin: 0 0 20px; }
    .service_child:nth-child(2n) {
      margin: 0 0 20px; }
    .service_child:last-child {
      margin: 0; }

  /* list_01 */
  .list_01 li {
    display: block;
    margin-right: 0;
    font-size: 1.3em; }
  .list_01.bi li {
    margin-right: 15px;
    font-size: 1.1em; }
  .list_01.one li {
    display: block;
    margin: 0;
    font-size: 1.1em; }

  /* tbl */
  .tbl02 th {
    width: 31%; }

  /* mtitle_big */
  .mtitle_big {
    padding: 0 15px;
    font-size: 1.2rem; }

  /* figure_image */
  .figure_image {
    height: auto; }

  /* page_title_box */
  .page_title_box .inner {
    padding: 40px; }
    .page_title_box .inner .page_title {
      font-size: 2rem; }

  /* form */
  .form dl {
    margin: 10px 0; }
    .form dl dt {
      float: none;
      width: 100%;
      height: 20px;
      line-height: 20px;
      padding-top: 10px; }
    .form dl dd {
      width: 100%;
      padding-left: 0;
      padding-bottom: 10px;
      padding-top: 10px;
      line-height: 20px; }
      .form dl dd:last-child {
        border-bottom: 0px;
        margin-bottom: 0px; }
  .form .textarea, .form textarea, .form .dropdown {
    width: 95%; }
  .form .textarea02 {
    width: 43.5%; }
  .form button {
    width: 95%; }

  .w300, .w350 {
    width: 100%; }

  .w150 {
    width: 30%; }

  .w250 {
    width: 50%; }

  /* sp_menu */
  .btn__box {
    width: 100%;
    -webkit-perspective: 200px;
    perspective: 200px; }
    .btn__box a {
      width: 100%; }
    .btn__box:after {
      width: 100%;
      width: 100%; }

  .menu li {
    width: 100%; }
    .menu li a {
      height: 50px;
      line-height: 50px; }

  /* sp_menu */
  .btn__box {
    width: 100%;
    -webkit-perspective: 200px;
    perspective: 200px; }
    .btn__box a {
      width: 100%; }
    .btn__box:after {
      width: 100%;
      width: 100%; }

  .menu li {
    width: 100%; }

  /* concept-wrap */
  .concept-wrap {
    /* margin-bottom: 40px; */
    padding: 0; }
    .concept-wrap .figure {
      width: 100%; }
    .concept-wrap .bg-back {
      display: none; }
    .concept-wrap .concept-inner {
      margin: 0 auto !important; }
      .concept-wrap .concept-inner .in-wrap {
        float: none;
        width: 95%;
        margin: 0 auto; }
        .concept-wrap .concept-inner .in-wrap .concept-box {
          width: 100%;
          padding: 5%;
          margin: auto;
          box-sizing: border-box; }
          .concept-wrap .concept-inner .in-wrap .concept-box .conts-ttl {
            font-size: 2rem; }

  .sp {
    display: block; }

  .pc {
    display: none; }

  .snip1445 {
    float: none;
    width: 100%;
    margin: 0 0 2%; }

  .box-list {
    padding: 30px 10px;
    box-shadow: 1px 1px 5px #ccc; } }
