@charset "utf-8";
/* CSS Document */

@media (max-width:1000px) {
    #header:after{content:none;}

  body {
    padding-top: 53px;
  }
  #header {
    padding-top: 0px;
  }
  #logo img {
    height: auto;
    width: 136px;
  }
	.left_logo img {
    height: auto!important;
    width: 136px!important;
  }
    #logo.left_logo{
        display: flex;
        margin: 0 auto;
        align-items: center;
        justify-content: center;
        align-content: center;
    }

    #logo_wrap{margin-top: 15px;
    margin-left: 16px;}
  #logo a {
    display: block;
    line-height: 40px;
  }
  .notab {
    display: none;
  }
  .nopc {
    display: block!important;
  }
  .nosp {
    display: none!important;
  }
  ul.accordion li p {
    line-height: 26px !important;
    /* background: #E8EEFF; */
    padding: 0;
    margin: 0;
    display: block;
    border-bottom: 1px solid #fff;
    display: block;
    background-image: url(../img/ya01.png);
    background-repeat: no-repeat;
    background-position: 95% center;
    /* height: 18px; */
    padding: 8px;
    /* padding-top: 13px; */
    /* border: 1px solid #cccccc; */
    border-top: none;
    text-align: left;
    cursor: pointer;
    font-weight: normal;
  }
  ul.accordion li p {
    background-image: url(../cmn/open.png);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: 95% center;
  }
  ul.accordion li p.active {
    background-image: url(../cmn/close.png);
    background-size: 16px;
  }
  #navi {
    color: inherit;
    height: 100%;
    /*overflow-x: hidden;  */
  /*  margin-top: 56px;*/
    overflow-y: hidden;    padding-bottom: 80px;
  }
  ul#navi_ul {
    position: relative;
    height: auto;
    text-align: inherit;
    margin: 0 auto;
    padding: 0;
    z-index: 30;
    width: 100%;
    display: block;
  }

  ul#navi_ul li {
    width: auto;
    height: auto;
    padding: 0;
    float: none;
    position: relative;
    display: inherit;
    margin: auto;
    display: block;
  }

  #navi_ul li span,.head_tel {
display:none;
  }

  ul#navi_ul li a {
    position: relative;padding:10px 8px;
  }
	header nav .sub-links a{padding:6px 3px;}
  ul#navi_ul .level-2 li:before {
    position: absolute;
    top: 50%;
    right: 1.5em;
    display: inline-block;
    content: "";
    width: 7px;
    height: 7px;
    margin-top: -4px;
    margin-right: -4px;
    vertical-align: middle;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
  }
  .level-2 .row {
    display: block;
  }
  ul#navi_ul li:after {
    display: none;
  }
  #pageTop {
    right: 20px;
  }
  /**/
  .level-2 {
    display: none;
    height: auto;
    display: none;
    visibility: visible;
    opacity: 1;
    position: relative;
    left: auto;
    right: auto;
    margin: 0 auto;
    top: auto;
    min-width: inherit;
    z-index: 10;
    width: 100%;
    padding: 0;
  }
  ul#navi_ul .level-2 li a {
    color: #fff!important;
  }
  ul#navi_ul li {
    width: 100%;
    max-width: 100%;
  }
  #navi_ul .level-2 .container {
    padding: 0 15px;
  }
	#calendar li{margin-bottom: 20px;}
	#calendar {
    padding-bottom: 30px;
}
	
  .head_r {
    display: table;
    width: auto;
    padding-left: 0;
    text-align: center;
    margin: 0 auto;margin-bottom:10px;    margin-top: 20px;
  }
	  
  /* ヘッダー */
ul#navi_ul li.is-large {
    width: 100%;
    border-top: 1px solid #D2D2D2;
}
	ul#navi_ul .gnav-links li {
    text-align: center;
    border-top: 1px solid #D2D2D2;
    width: 50%;
}
	ul#navi_ul li ul li.is-large:nth-child(1){    border-right:none;}
		ul#navi_ul li ul.gnav-links li:nth-child(2n){    border-right:none;}
    
  header {
    position: fixed;
  /*  top: 0;*/
   /* left: 0;*/
    width: 100%;
    height: 56px!important;
  /*  background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);*/
    z-index: 999;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
    
  header .inner {
    position: relative;
    padding: 0 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
	.slick-prev{left: -5px;}
.slick-next{right:-5px;}
	
#logo {
    margin-top: 0px;
    width: auto;
    padding: 0;/*position: fixed;*/top: 0px!important;
    left: 0px!important;
    right: auto!important;
}
    .home #logo{
    margin-top: 0px;
    width: auto;
    padding: 0;position:relative;top: auto!important;
    left: auto!important;
    right: auto!important;
}
    
  #header .container {
    padding: 0;
  }
  header h1 {
    float: left;
    max-height: 30px;
    max-width: 240px;
    padding: 5px;
    padding-top: 2px;
    display: table-cell;
    vertical-align: middle;
    position: relative;
  }
  header .inner01 h1 img {
    /*display:table-cell;*/
    vertical-align: middle;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
  }
  /* ナビゲーション */
  header nav {
    overflow: auto;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width:100%;    min-width: inherit;
    /*height: 100%;*/
    opacity: 0;
    z-index: 999;padding:20px 30px;
    /*background:rgba(255,255,255,0.9);*/
  }
  /* ナビゲーション：アクティブ時 */
  header.navOpen nav {
    opacity: 1;
    right: 0;
  }

  header nav ul li a:hover {}

  /* ナビゲーションアイコン */
header .tel2 {
    display: block;
    width: 26px;
    height: 26px;
    position: fixed;
    top: 17px;
    right: 70px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
}
  header .navBtn {
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 2px;
    right: 4px;
    cursor: pointer;
    padding: 10px 10px;
    padding-top: 7px;
    padding-bottom: 16px;
    box-sizing: content-box;
    border-radius: 50%;z-index:1000;
}
  ul#navi_ul li a:before {
    content: none;
  }
  header .navBtn span {
    z-index: 10;
    margin-top: 8px;
    display: block;
    height: 4px;
    width: 100%;
    border-radius: 2px;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
  }
  header .navBtn span.menuB {
    background: none;
    width: auto;
    margin-top: 0px;
    border-radius: 0;
    display: block;
    position: absolute;
    height: auto;
    top: 30px;
    right: 10px;
    z-index: 15;
    color: #ffffff;
    font-size: 10px;
  }
  header .navBtn span:nth-of-type(2), header .navBtn span:nth-of-type(3) {
    margin-top: 5px;
  }
  /* ナビゲーションアイコン：アクティブ */
  header.navOpen .navBtn span:nth-of-type(1) {
    -webkit-transform: translateY(9px) translateX(0) rotate(45deg);
    -ms-transform: translateY(9px) translateX(0) rotate(45deg);
    transform: translateY(9px) translateX(0) rotate(45deg);
  }
  header.navOpen .navBtn span:nth-of-type(2) {
    margin-top: 5px;
    opacity: 0;
    -webkit-transform: translateY(9px);
    -ms-transform: translateY(9px);
    transform: translateY(9px);
  }
  header.navOpen .navBtn span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) translateX(0) rotate(-45deg);
    -ms-transform: translateY(-9px) translateX(0) rotate(-45deg);
    transform: translateY(-9px) translateX(0) rotate(-45deg);
  }
	.head_r .more{line-height: 40px;}
#header {
    width: auto;
    height: auto;
    right: 5px;
    bottom: 90px;
}
  #main_head {
    margin-right: auto;
    position: relative;
  }
  #main {
    margin-right: auto;
    position: relative;
  }
  #header_right a {
    display: block;    display: flex;
    align-items: center;
    justify-content: center;
  }
.anchor {
    padding-top: 53px;
    margin-top: -53px;
}
	
  @media (max-width:991px) {
      .catch_wrap{
    bottom: 0;
	}
  @media (max-width: 768px) {
          /* CSS Document */
    * {
      padding: 0;
      margin: 0;
      font-size: 14px;
      boader: 0;
      text-decoration: none;
    }
    body {
      overflow-x: hidden;
      min-width: 100%;
      -webkit-text-size-adjust: 100%;
      font-size: 14px;
      line-height: 180%;
    }
    p {
      line-height: 180%;
    }
    #container {
      width: 100%;
      margin-top: 0;
    }
    span.require {
      width: auto;
      padding: 2px 6px;
      font-size: 10px;
      line-height: 28px;
    }
    /*お問い合わせ*/
    input[type="text"], textarea {
      width: 100%;
    }
    input[type="tel"], input[type="email"] {
      padding: 5px;
      width: 100%;
    }
    .yubin input[type="text"] {
      width: 30%;
    }
    .table_contact th {
      width: 40%;
      padding: 5px;
      box-sizing: border-box;
      padding-right: 50px;
    }
    .table_contact td {
      width: 60%;
      padding: 5px;
      box-sizing: border-box;
    }
    .table_contact {
      width: 100%;
      margin: 0 auto;
      display: block;
    }
    .table_contact tbody, .table_contact tr {
      width: 100%;
    }
    .more {
      max-width: 290px;
    }
    ul#navi_ul li a, ul#navi_ul li p span {
      font-size: 15px;
    }
      .para_back1 {
    height: 228px;
}
      .more{    height: 38px;}
          #contents001 {
        padding: 60px 0;
        padding-top: 60px;
        position: relative;
    }    #contents001:after{content:'';position:absolute;z-index:-1;width:100%;height:70%;background: #F2E2E2;left:0;right:0;margin:0 auto;bottom:0;
} #contents002 {
        padding: 60px 0;
        position: relative;
    } 
    #contents003 {
        padding: 60px 0;
        position: relative;
    } 
      
      .foot_ul {
    margin-bottom: 20px;
    display: flex
;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
}.foot_ul li {
    display: inline-block;
    border-right: 1px solid #ccc;
    width: 50%;}
    h2 {
      font-size: 28px;
      margin-bottom: 26px;
      line-height: 36px;
    }
    h2 span {
      font-size: 14px;
      }.home h2,body:not(.home) h3{font-size:34px;}
      .home h2 span,body:not(.home) h3 span{font-size:14px;}
      h2.mb60{margin-bottom:20px!important;}
      
      
    h3,#box2 h3 {
      font-size: 18px;
    }
    .kasopage h3, #news2 h3 {
      font-size: 18px;
      margin-bottom: 10px;
    }
    h4 {
      font-size: 16px!important;
    }
    h5 a {
      font-size: 16px;
    }
      .kasopage h3, #news2 h3{font-size:12px;}
      .kasopage h3:first-child, #news2 h3:first-child, #works2 h3:first-child{font-size:24px}
      .tie_up1 th, .tie_up1 td {
    border: 1px solid #b2b2b2;
    padding: 6px;    font-size: 12px;
}
    #copyright {
      font-size: 11px;
    }
    .footlogo {
      max-width: 200px;
      width: 100%;margin: 0 auto;
    }.footlogo_wrap {
    text-align: center;
    padding: 70px 0;
    padding-top: 70px;
}#news li p {
    font-size: 13px;
}
    h4.new_tit {
      clear: both;
      display: block;
      margin-top: 5px;
      margin-left: auto;line-height: 160%;
    }.news_text {
		padding: 3px 10px;}
    #pageTop {
      /*	background:rgba(0,0,0,0.75);*/
      /*	border-radius:5px;*/
      color: #FFF;
      padding: 5px;
      position: fixed;
      bottom: 20px;
      right: 20px;
      font-family: Palatino Linotype;
      z-index: 99;
    }
    #pageTop:hover {
      /*background:rgba(33,22,19,0.75);*/
    }


    #topimage {
      position: relative;
      clear: both;
    }
    #logo {
      margin-top: 10px;
      width: auto;
    }
    img {
      max-width: 100%;
      height: auto;
    }
    p.address {
      font-size: inherit;
    }
    ul {
      padding: 0;
      margin: 0;
      line-height: 180%;
    }
    /**/
    a img.linkimg {
      background: none!important;
    }
    a:hover img.linkimg {
      opacity: 0.6;
      filter: alpha(opacity=60);
      -ms-filter: "alpha( opacity=60 )";
      background: none!important;
    }
    .nosmp, .nosp {
      display: none;
    }
    .nosp2 {
      display: none!important;
    }
    .nopc {
      display: block;
    }
   
    /* header */
    .fixed {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
    }
    /* オーバーレイ */
    .overlay {
      /*position: fixed;
        top: 0;
        left: 0;
        display: none;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)";
        z-index: 999;*/
    }
    #contents {
      margin-top: 53px;
    }
    /* リセット */
    html, body, nav, ul, li {
      margin: 0;
      padding: 0;
      list-style-type: none;
    }
    body {
      padding-top: 56px;
    }
      #main_head h2 span{font-size:46px;}
      #main_head h2 .furi{font-size:15px;}
      .kaso_back{height:36vh}
      #block_1{
        padding: 60px 0;
        position: relative;
    } 
#block_3{
        padding: 60px 0;
        position: relative;
    } 
    #footer {
      position: relative;
      text-align: center;
      width: auto;
      margin: 0 auto;    overflow: hidden;
    }
    /**/
    .enkaku dt {
      display: table;
      width: 100%;
      text-align: left;
      box-sizing: border-box;
      padding: 0px 20px;
      padding-right: 10px;
      position: relative;
    }
    .enkaku dd {
      text-align: left;
      width: auto;
      padding: 0px 20px;
      display: table;
      box-sizing: border-box;
      line-height: 150%;
      padding-left: 60px;
    }
  }
  @media (max-width: 600px) {
	  .enkaku dt {
		  padding-right: 10px;}
	  .enkaku dl::before {
		  left: 18px;}
	  .enkaku dl::after {
    top: 22px;
    left: 14px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}.enkaku dd {
	padding-left: 30px;}
  }
  @media (max-width: 576px) {
      .breadcrumbs div{font-size:2.5vw}
      .breadcrumbs span{font-size:2.5vw}
      .home h3.foCT {
    font-size: 28px;
}
    .kaso_back {
      padding: 40px 0;padding-bottom: 0;
    }
    .kaso_tit {
      margin: auto 0;
      bottom: 20px;
    }
  }
}