@charset "UTF-8";

/* ==========================================================================
//
// TABLET & SMARTPHONE
//
========================================================================== */
@media screen and (max-width:1024px) {
  /* ========================================================================
  // COMMON
  ======================================================================== */
  #header{
    opacity: 1;
    background: transparent;
  }
  #header .header-nav-sp .logo{
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
  }
  #header #sp-nav-list{
    background: #fff;
  }
  /* scroll */
  #header.scroll{
    box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
    background: #fff;
  }
  #header.scroll .header-nav-sp .logo{
    opacity: 1;
    visibility: visible;
  }
  #header.scroll .header-nav-sp .logo a{
    display: block;
  }
  /* ttl-cmn-top
  ------------------------------------------------------ */
  .ttl-cmn-top span{
    margin-bottom: 4px;
    font-size: 12px;
  }
  .ttl-cmn-top img{
    height: 26px;
  }
  /* ========================================================================
  // area-mainimg
  ======================================================================== */
  .area-mainimg .slide-main .txt.on img{
    width: 50%;
  }
  .area-mainimg .slide-main .slick-slide {
    padding-top: 25%;
  }
  /* ========================================================================
  // area-topics
  ======================================================================== */
  .area-topics .container{
    display: block;
    padding: 20px;
  }
  .area-topics .ttl{
    width: 100%;
    padding-bottom: 30px;
    text-align: center;
    border-bottom: 1px solid #EDEDED;
    min-height: 0;
  }
  .area-topics .list{
    width: 100%;
  }
  .area-topics .list dl{
    display: block;
  }
  .area-topics .list dl:last-child{
    margin-bottom: 20px;
    border-bottom: 1px solid #EDEDED;
  }
  .area-topics .list .date,
  .area-topics .list .category{
    display: inline-block;
    width: auto;
  }
  .area-topics .list .date{
    font-size: 13px;
  }
  .area-topics .list .category{
    font-size: 12px;
  }
  .area-topics .list .category span{
    border: none;
  }
  .area-topics .list .title{
    padding-top: 4px;
  }
  /* btn-more */
  .area-topics .btn-more{
    position:static;
    margin: 0 auto;
    width: 100%;
    max-width: 295px;
  }
  .area-topics .btn-more a{
    padding: 13px 10px;
  }
  /* box-scroll */
  .area-topics .box-scroll-pc .txt{
    margin-left: 20%;
  }

  /* ========================================================================
  // area-notice
  ======================================================================== */
  .area-notice .container{
    padding: 35px 25px 30px;
  }
  .area-notice .ttl{
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 1.5;
  }
  .area-notice .ttl span{
    display: inline-block;
  }
  .area-notice .ttl span:nth-child(3){
    display: block;
  }
  .area-notice .ttl:before{
    margin: 0 auto 8px;
    display: block;
  }
  .area-notice .list li{
    margin: 0 8px 0;
    padding: 10px 10px 15px;
    border: 2px solid rgba(236, 113, 113, 0.3);
    border-radius: 12px;
    background: #fff;
  }
  .area-notice .list li p{
    font-size: 13px;
    line-height: 1.5;
  }
  /* slider */
  .area-notice .slick-arrow{
    font-size: 0;
    width: 44px;
    height: 44px;
    position: absolute;
    z-index: 1;
    background: none;
    border: none;
    appearance: none;
    transition: opacity 0.2s;
  }
  .area-notice .slick-arrow.slick-disabled{
    opacity: 0;
  }
  .area-notice .slick-arrow.slick-next,
  .area-notice .slick-arrow.slick-prev{
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
  .area-notice .slick-arrow.slick-next{
    background: url(../img/ico_arrow_02_next@2x.png) center center no-repeat;
    background-size: contain;
    right: -13px;
  }
  .area-notice .slick-arrow.slick-prev{
    background: url(../img/ico_arrow_02_prev@2x.png) center center no-repeat;
    background-size: contain;
    left: -13px;
  }
  /* ========================================================================
  // area-schedule
  ======================================================================== */
  .area-schedule .txt_01{
    font-size: 12px;
    line-height: 1.2;
    margin-bottom: 10px;
  }
  .area-schedule .tbl{
    font-size: 13px;
  }
  .area-schedule .tbl th:first-child{
    width: 165px;
  }
  /* ========================================================================
  // area-service
  ======================================================================== */
  .area-service{
    padding: 0;
    padding-bottom: 50px;
  }
  .area-service .ttl{
    text-align: center;
  }
  .area-service .sec-department{
    display: block;
  }
  .area-service .sec-department .box{
    margin: 0 7px;
  }
  /* slider */
  .area-service .sec-department .slick-track{
    display: flex;
  }
  .area-service .sec-department .slick-slide{
    height: auto !important;
  }
  .area-service .sec-department .slick-arrow{
    font-size: 0;
    width: 44px;
    height: 44px;
    position: absolute;
    z-index: 1;
    background: none;
    border: none;
	  appearance: none;
  }
  .area-service .sec-department .slick-arrow.slick-next,
  .area-service .sec-department .slick-arrow.slick-prev{
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
  .area-service .sec-department .slick-arrow.slick-next{
    background: url(../img/ico_arrow_01_next@2x.png) center center no-repeat;
    background-size: contain;
    right: 28px;
  }
  .area-service .sec-department .slick-arrow.slick-prev{
    background: url(../img/ico_arrow_01_prev@2x.png) center center no-repeat;
    background-size: contain;
    left: 28px;
  }
}


@media screen and (max-width:550px) {
  /* ========================================================================
  // area-notice
  ======================================================================== */
  .area-notice .list{
    max-width: 350px;
    padding: 0;
    margin: 0 auto;
  }
  .area-notice .list li{
    margin: 0;
  }
  .area-notice .list li .img-wrap{
    border-radius: 5px;
  }
}

/* ==========================================================================
//
// SMARTPHONE
//
========================================================================== */
@media screen and (max-width:480px) {
  html,body{
    height: 100%;
  }
  /* .area-mainimg,
  .area-mainimg .slide-main,
  .area-mainimg .slide-main .slick-slider,
  .area-mainimg .slide-main .slick-list,
  .area-mainimg .slide-main .slick-track{
    height: 100%;
  } */
  /* ========================================================================
  // area-mainimg
  ======================================================================== */
  .area-mainimg{
    padding-bottom: 0;
  }
  .area-mainimg .logo-mainimg{
    width: 57.33%;
    max-width: 215px;
    top: 20px;
    left: 20px;
  }
  .area-mainimg .slide-main{
    width: 100%;
    border-radius: 0;
  }
  .area-mainimg .slide-main .slick-slide {
    padding-top: 45%;
    min-height: 0;
  }
  .area-mainimg .slide-main > ul li.mainimg-01{
    background-image: url(../img/img_mainimg_01_sp.jpg);
  }
  .area-mainimg .slide-main > ul li.mainimg-02{
    background-image: url(../img/img_mainimg_02_sp.jpg);
  }
  .area-mainimg .slide-main > ul li.mainimg-03{
    background-image: url(../img/img_mainimg_03_sp.jpg);
  }
  .area-mainimg .slide-main .txt img{
    top: auto;
    bottom: 55px;
    right: 0;
  }
  .area-mainimg .slide-main .txt.on img{
    width: calc(100% - 40px);
  }
  /* scroll */
  .area-mainimg .txt-scroll-sp{
    display: block;
    width: 40px;
    position: absolute;
    bottom: 18px;
    left: 0;
    right: 0;
    margin: 0 auto;
    line-height: 1;
  }
  .area-mainimg .txt-scroll-sp:before{
    display: block;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -18px;
    margin: 0 auto;
    width: 1px;
    height: 12px;
    background: #fff;
  }
  /* ========================================================================
  // area-topics
  ======================================================================== */
  .area-topics {
    padding: 50px 20px 0;
  }
  .area-topics .ttl{
    padding-top: 10px;
  }
  .area-topics .list dl{
    padding: 15px 0;
  }
  .area-topics .list .date{
    padding-right: 7px;
  }
  .area-topics .list .category span{
    padding: 0;
  }
  /* box-scroll */
  .area-topics .box-scroll-pc{
    display: none;
  }

  /* ========================================================================
  // area-notice
  ======================================================================== */
  .area-notice .container{
    padding:30px 20px 20px;
  }
  .area-notice .ttl{
    font-size: 17px;
  }
  .area-notice .ttl:before{
    width: 46px;
    height: 36px;
  }
  /* ==========================================================================
  // area-schedule
  ========================================================================== */
  .area-schedule{
    padding-top: 50px;
  }
  .area-schedule .ttl{
    margin-bottom: 20px;
  }
  .area-schedule .tbl{
    border-top: none;
    table-layout: auto;
    font-size: 11px;
  }
  .area-schedule .tbl th:first-child{
    width: auto;
  }
  .area-schedule .tbl th,
  .area-schedule .tbl td{
    padding: 10px 0;
  }
  .area-schedule .tbl th + th{
    border-left:none;
  }
  .area-schedule .tbl td + td{
    padding: 10px 7px;
    border-left: none;
  }
  .area-schedule .tbl td .open{
    width: 10px;
    height: 10px;
  }
  .area-schedule .tbl td .pc-close{
    display: none;
  }
  .area-schedule .tbl td .sp-close{
    display: inline-block;
    width: 10px;
    height: 10px;
  }
  .area-schedule .note{
    text-align: left;
  }
  .area-schedule .note li{
    padding-left: 1em;
    text-indent: -1em;
  }
  /* ========================================================================
  // area-service
  ======================================================================== */
  .area-service .ttl{
    margin-bottom: 20px;
  }
  .area-service .sec-department .box{
    padding: 20px 10px;
  }
  .area-service .sec-department .box dd .title{
    font-size: 15px;
  }
}