/* =============================================================
	top banner 
* ============================================================= */

#topbaner {
  position: relative;
  /*box-shadow: 2px 2px 3px #e3dacc;*/
  z-index: 98;
}

.topbner_full {
  overflow: hidden;
  width: 100%;
  max-height: 548px;
}

.topbner_full img {
  position: relative;
  width: 100%;
}

.topbner_desc {
  position: absolute;
  top: 38%;
  left: 0%;
  right: 0%;
  text-align: center
}

.topbner_desc span {
  display: inline-block;
  padding: 16px 10px 19px;
  background: #a40234;
  color: #fff;
  font-size: 3rem;
  text-align: center;
  line-height: 1.4;
  font-size: 2rem;
}

.topbner_desc span br {
  display: none;
}


/* =============================================================
	news 連絡張
* ============================================================= */

.hm_news {
  position: relative;
  margin-bottom: 40px;
  padding: 42px 10px 0 10px;
  background: #fff;
  border-radius: 0 20px;
  box-shadow: 0 0 3px 3px #e5dccd;
}

.hm_news:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0px;
  width: 68px;
  height: 61px;
  background: url(../images/home/arrup.png) no-repeat;
  background-size: 68px auto;
  z-index: 1;
}

.hm_news:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0px;
  width: 68px;
  height: 61px;
  background: url(../images/home/arrdwn.png) no-repeat;
  background-size: 68px auto;
  z-index: 1;
}


@media only screen and (max-width: 767px) {
  .hm_news {
    padding-bottom:30px;
  }
}

.hm_h3news {
  position: relative;
  display: inline-block;
  min-width: 150px;
  padding: 12px 5px 13px;
  background: #fff;
  border-radius: 10px;
  border: 2px solid #935100;
  color: #b30033;
  font-size: 2rem;
  text-align: center;
  z-index: 2;
  line-height: 1;
}

.hm_outnews {
  position: relative;
  margin: 0 0 0 15px;
  padding: 0 0 30px 0;
  border-left: 2px solid #935100;
  z-index: 2
}

.hm_dlnews {
  padding: 25px 0 0 0;
}

.hm_dlnews dt {
  position: relative;
  padding: 0 0 10px 25px;
}

.hm_dlnews dt:before {
  content: "●";
  position: absolute;
  top: -15px;
  left: -10px;
  color: #b30033;
  font-size: 30px;
  z-index: 5
}

.hm_dlnews dt:after {
  content: "";
  position: absolute;
  top: 11px;
  left: 0px;
  width: 30px;
  height: 2px;
  background: url(../images/common/ic_arr.png) no-repeat;
  background-position: -11px 0px;
  z-index: 3;
}

.hm_catnews {
  position: relative;
  padding: 5px 20px 5px;
  background: #b30033;
  border-radius: 25px;
  color: #fff;
  text-align: center;
  z-index: 5
}

.hm_catnews2 {
  position: relative;
  padding: 5px 20px 5px;
  background: #FF6D85;
  border-radius: 25px;
  color: #fff;
  text-align: center;
  z-index: 5
}

.hm_datenews {
  padding: 5px 10px;
  color: #666;
}

.hm_dlnews dd {
  padding: 0 0 30px 25px;
}

.hm_ttlnews a {
  display: inline-block;
  padding: 10px 0;
}

.hm_viewmorenews {
  display: inline-block;
  margin: 0 10px 0 25px;
}

.hm_viewmorenews a {
  display: block;
  padding: 6px 20px 8px;
  border: 1px solid #b30033;
  border-radius: 8px;
  color: #b20033;
  font-size: 1.8rem;
  text-decoration: none;
  transition-duration: 0.5s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
  text-align: center;
}

.hm_viewmorenews a:hover {
  background: #b30033;
  border: 1px solid #b30033;
  color: #fff;
  transition-duration: 0.5s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}

.hidetd {
  display: none;
}

.view_co {
  display: none;
}

.quicarr .view_co {
  display: inline-block
}

.quicarr .view_op {
  display: none;
}


/* =============================================================
	4 images animation
* ============================================================= */

.hm_toplinks li {
  float: left;
  width: 50%;
  padding: 0 0 6% 0;
}

.hm_toplinks li a {
  display: block;
  padding: 0 2%;
  text-align: center;
  color: #330000;
  text-decoration: none;
}

.hm_toplinks li .hm_imgtoplinks {
  top: 0px;
  padding: 0 0 20px 0;
}

.hm_toplinks li .hm_ttltoplinks {
  font-weight: normal;
  font-size: 1.8rem;
  text-shadow: 2px 2px 2px #fff8dc;
}

.hm_toplinks li a img {
  border-radius: 24px;
  box-shadow: 0 0 2px 2px #e5dccd;
}


/* =============================================================
	top-links
* ============================================================= */

body.scroll #top-links li {
  opacity: 0;
  -webkit-transition: all .4s;
  transition: all .4s;
}

body.scroll #top-links li.active {
  opacity: 1;
}

.hm_toplinks a {
  position: relative;
}

#top-links span {
  display: block;
  max-width: 242px;
  width: auto;
  margin: 0 auto 10px;
  position: relative;
  top: 0;
}

body.scroll #top-links span {
  top: -20px;
  -webkit-transition: top .3s;
  transition: top .3s;
}

body.scroll #top-links li.active span {
  top: 0;
}

#top-links a:hover span {
  -webkit-animation: pop-up-L .5s;
  animation: pop-up-L .5s;
}

#top-links img {
  -webkit-transition: all .4s;
  transition: all .4s;
}

#top-links a:hover img {
  -ms-filter: "alpha(opacity=60)";
  opacity: 0.6;
}

.IE8 #top-links li img {
  position: relative;
  z-index: -1;
}

#top-links .hm_ttltoplinks {
  display: inline-block;
  position: relative;
  z-index: 1;
}

#top-links .hm_ttltoplinks:before {
  content: "";
  width: 0;
  height: 28px;
  border-radius: 2px;
  position: absolute;
  left: -5%;
  bottom: -6px;
  z-index: -1;
  -webkit-transition: all .3s;
  transition: all .3s;
  -webkit-transform: skew(-20deg) rotate(-1deg);
  -ms-transform: skew(-20deg) rotate(-1deg);
  transform: skew(-20deg) rotate(-1deg);
  background: url(../images/home/top_lbl.png) no-repeat
}

.IE8 #top-links b.hm_ttltoplinks:before {
  display: none;
}

#top-links a:hover .hm_ttltoplinks:before {
  width: 110%;
}


/* =============================================================
	4 images full
* ============================================================= */

.hm_toplinkspgs {
  padding: 0 0 20px 0;
}

.hm_toplinkspgs li {
  float: left;
  width: 100%;
  padding: 0 0 6% 0;
}

.hm_toplinkspgs li a {
  display: block;
  text-align: center;
  color: #330000;
  text-decoration: none;
}

.hm_toplinkspgs li a img {
  border-radius: 36px;
  box-shadow: 0 0 2px 2px #e5dccd;
}


/* =============================================================
	facebook
* ============================================================= */

.hm_box_face {
  overflow: hidden;
  padding: 30px 0 30px 0;
  background: #fefaec;
  text-align: center;
}

.hm_face_ttl {
  color: #b30033;
  font-weight: bold;
  font-family: "Calibri", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
}

.hm_face_desc {
  padding: 0 0 20px 0;
  color: #330000;
}

.hm_face_box {}

.hm_face_box iframe {
  height: 440px;
}

@media screen and (max-width:1015px) {
  .topbner_desc {
    position: relative;
    margin: -3px 0 0px 0;
    background: #a40234;
    box-shadow: 1px 1px 2px #e3dacc;
  }
  .hm_toplinks li .hm_ttltoplinks {
    font-size: 1.4rem;
  }
  .hm_news:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0px;
    width: 45px;
    height: 40px;
    background: url(../images/home/arrup.png) no-repeat;
    background-size: 45px auto;
    z-index: 1;
  }
  .hm_news:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0px;
    width: 45px;
    height: 40px;
    background: url(../images/home/arrdwn.png) no-repeat;
    background-size: 45px auto;
    z-index: 1;
  }
}

@media screen and (max-width:520px) {
  .hm_face_box iframe {
    width: auto;
    overflow: hidden;
  }
}

@media only screen and (min-width: 1016px) {
  .topbner_desc span {
    padding: 30px 30px 25px;
    font-size: 3rem;
    opacity: 0.8;
  }
  .topbner_desc span br {
    display: inline-block;
  }
  .hm_news {
    margin-bottom: 50px;
    padding: 20px 70px 40px 70px;
  }
  .hm_h3news {
    min-width: 200px;
    padding: 14px 5px 17px;
    font-size: 2.5rem;
  }
  .hm_dlnews {
    padding: 30px 0 0 0;
  }
  .hm_dlnews dt {
    position: relative;
    padding: 0 0 25px 25px;
  }
}

@media only screen and (min-width: 768px) {
  /* =============================================================
	4 images animation
* ============================================================= */
  .hm_toplinks {}
  .hm_toplinks li {
    float: left;
    width: 25%;
    padding: 0 0 6% 0;
  }
  .hm_toplinks li a img {
    margin: 0 0 10px 0;
    border-radius: 30px;
    box-shadow: 0 0 2px 2px #e5dccd;
  }
  .hm_toplinks li a.hm_ttltoplinks {
    font-size: 1.8rem;
  }
  .hm_face_ttl {
    font-size: 4rem;
  }
}

@media only screen and (min-width: 620px) {
  /* =============================================================
	4 images full
* ============================================================= */
  .hm_toplinkspgs li {
    float: left;
    width: 49%;
    margin: 0 0 3% 0.5%;
    padding: 0;
  }
  .hm_toplinkspgs li a {
    display: block;
  }
  .hm_toplinkspgs li:nth-child(2n+1) {
    margin: 0 0.5% 0 0;
  }
  .hm_toplinkspgs li a img {
    max-width: 495px;
    border-radius: 40px;
    box-shadow: 0 0 2px 2px #e5dccd;
  }
}

.facebook-wrapper {
  max-width: 500px;
  margin: 0 auto;
  box-shadow: 1px 1px 2px #5c5c5c;
  background: #f6f7f9;
}

.facebook-wrapper>.fb-page {
  width: 100%;
}

.facebook-wrapper>.fb-page>span, .facebook-wrapper iframe {
  width: 100% !important;
}


/**20181112 追加　start**/

body, header {
  min-width: 320px;
}

.hm_calendar {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}


/*.hm_calendar_btn {width:100%;  border-radius:13px;}
.hm_calendar_btn a {display:block; width:100%; background:#B60839;  border-radius:13px; color:#fff; text-align:center; text-decoration:none; }
.hm_calendar_btn a img {display:inline-block; width:25px; height:auto; margin-left:20px; }
.hm_calendar_note_lst li {position:relative; padding-left:18px;}
.hm_calendar_note_lst li::before {content:"※"; position:absolute; top:0; left:0; font-family:"Yu Gothic";}
@media only screen and (max-width: 767px) {
.hm_calendar {padding:30px 10px 10px;}  
.hm_calendar_btn {max-width:300px;margin:0 auto 20px; }
.hm_calendar_btn a {font-size:1.8rem; padding:14px 10px;}
.hm_calendar_btn a img {vertical-align:bottom;}
}
@media only screen and (min-width: 768px) {
.hm_calendar {padding:40px 10px 20px;}  
.hm_calendar_btn {max-width:400px;margin:0 auto 30px; }
.hm_calendar_btn a {font-size:2.4rem; padding:16px 10px;}
.hm_calendar_btn a img {vertical-align:sub;}
}*/

.hm_calendar_btn {
  width: 100%;
  border-radius: 13px;
}

.hm_calendar_btn a {
  display: block;
  width: 100%;
  background: #B60839;
  border-radius: 13px;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.hm_calendar_btn a img {
  display: inline-block;
  width: 25px;
  height: auto;
  margin-left: 20px;
}

.hm_calendar_note_lst li {
  position: relative;
  padding-left: 18px;
}

.hm_calendar_note_lst li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Yu Gothic";
}

@media only screen and (max-width: 767px) {
  .hm_calendar {
    padding: 30px 10px 10px;
  }
  .hm_calendar_btn {
    max-width: 300px;
    margin: 0 auto 20px;
  }
  .hm_calendar_btn li {
    margin-bottom: 10px;
  }
  .hm_calendar_btn a {
    font-size: 1.8rem;
    padding: 14px 10px;
  }
  .hm_calendar_btn a img {
    vertical-align: bottom;
  }
}

@media only screen and (min-width: 768px) {
  .hm_calendar {
    padding: 40px 10px 20px;
  }
  .hm_calendar_btn {
    display: flex;
    justify-content: center;
  }
  .hm_calendar_btn li {
    width: 100%;
    max-width: 400px;
    margin: 0 10px 30px;
  }
  .hm_calendar_btn a {
    font-size: 2.4rem;
    padding: 16px 10px;
  }
  .hm_calendar_btn a img {
    vertical-align: sub;
  }
}


/**20181112 追加　end**/

@media only screen and (max-width: 767px) {
  .bigfix_btm {
    height: auto !important;
    min-width: 320px;
  }
  .bigfix_btm_lst {
    align-items: stretch;
    background: rgba(255, 255, 255, .5);
    display: flex;
    justify-content: center;
    padding: 10px 5px;
  }
  .bigfix_btm_lst li {
    align-items: center;
    display: flex;
    height: 50px;
    margin: 0 5px;
    max-width: 201px;
    width: calc(50% - 10px);
  }
  .bigfix_btm_lst li a {
    display: block;
    height: auto;
    overflow: hidden;
    width: 100%;
  }
  .bigfix_btm_lst li.bigfix_btm_bnr {
    background: url(../images/home/bnr-ft-scroll_bg.jpg) center repeat;
  }
  .bigfix_btm_lst li.bigfix_btm_bnr img {
    box-shadow: none;
    max-width: 100%;
    min-width: 140px;
    position: static;
    transform: none;
  }
  .bigfix_btm_lst li.bigfix_btm_recruit {
    background: #a6253d;
    position: relative;
  }
  .bigfix_btm_lst li.bigfix_btm_recruit a {
    color: #fff;
    height: auto;
    line-height: 1.2;
    padding: 5px 10px;
    text-align: left;
    text-decoration: none;
  }
  .bigfix_btm_lst li.bigfix_btm_recruit::before {
    content: ">";
    color: #fff;
    font-size: 1.8rem;
    position: absolute;
    top: calc(50% - 14px);
    right: 10px;
  }
  .bigfix_btm_lst li.bigfix_btm_recruit a span {
    font-size: 1.8rem;
    font-weight: bold;
  }
}

@media only screen and (max-width:520px) {
  .bigfix_btm_lst li.bigfix_btm_recruit a {
    font-size: 1.3rem !important;
  }
  .bigfix_btm_lst li.bigfix_btm_recruit a span {
    font-size: 1.6rem !important;
  }
}


/**20200401 追加　start**/

.hd_recruit_lnk {
  margin-bottom: 5px;
  position: fixed;
  right: 0;
  top: 120px;
  width: 220px;
  z-index: 999;
}

.hd_recruit_lnk a {
  align-items: center;
  background: url("../images/common/hd_ic_arr.png") #b60839 95% center no-repeat;
  color: #ffffff;
  display: flex;
  font-size: 2.2rem;
  font-weight: bold;
  height: 60px;
  justify-content: center;
  padding: 2px 35px 2px 25px;
  text-decoration: none;
  transition: .3s all ease-in-out;
}

.hd_recruit_lnk a:hover {
  background-color: #5e001d;
}

.hd_recruit_lnk a span {
  font-size: 1.4rem;
  font-weight: normal;
  margin-left: 5px;
}

@media only screen and (max-width: 767px) {
  .hd_recruit_lnk {
    display: none;
  }
}

@media only screen and (max-width: 1015px) {
  .hd_recruit_lnk {
    height: 57px;
    overflow: hidden;
    right: 58px;
    top: 0;
  }
}

@media only screen and (min-width: 1016px) {
  .hd_recruit_lnk {
    top: 120px;
  }
}


/**20200401 追加　end**/


/**20200623 追加 start**/

@media only screen and (min-width: 768px), print {
  .hm_top_bn {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .hm_top_bn {
    margin: 20px auto 0;
    width: calc(100% - 20px);
    max-width: 495px;
  }
}


/**20220927 追加 start**/

.topbn_txt {
  background: #b60839;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 20px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .topbn_txt {
    font-size: 14px;
    padding: 10px;
  }
}

.topbn_txt span {
  display: inline-block;
}

@media only screen and (min-width: 768px), print {
  .hm_box_twitter {
    margin: auto;
    width: 600px;
  }
}


/*お知らせwp*/

.head01_news {
  text-align: center;
  color: #B10836;
  font-weight: bold;
  font-size: 1.6em;
  margin-bottom: 2rem;
}


@media only screen and (max-width: 767px) {
  
  .head01_news {
    font-size: 1.3em;
  }

}

.attention {
  border: 2px solid #FFDC00;
  background: #FFF2BB;
  border-radius: 10px;
  padding: 1.5rem 3rem;
  margin-bottom: 2rem;
}

.flex_date {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.flex_date p:first-child {
  background: #FFDC00;
  color: #B10836;
  font-weight: bold;
  border-radius: 50px;
  padding: 0.5rem 3rem;
  margin-right: 1rem;
}

.flex_date p:last-child {
  color: #B10836;
  font-weight: bold;
}

.attention_txt a {
  color: #333;
  font-weight: bold;
}

.list_news {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 350px;
  padding-right: 1rem;
}

@media only screen and (max-width: 767px) {
  .list_news {
    height: 450px;
  }
}

.list_news dt {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.list_news dt p:first-child {
  background: #B10836;
  color: #fff;
  font-weight: bold;
  border-radius: 50px;
  padding: 0.5rem 3rem;
  margin-right: 1rem;
}

.list_news dt p:last-child {
  color: #B10836;
  font-weight: bold;
}



.list_news dd {
  border-bottom: 2px dotted #B10836;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}

.list_news dd, .list_news dd a {
  color: #333;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .list_news dt {
    margin-bottom: 1.5rem;
    font-size: 0.95em;
  }
  .list_news dt p:first-child {

    
    padding: 0.2rem 2rem;
}
  .list_news dd {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }
}
.bn_news {
  text-align: center;
  margin-bottom: 3rem;
}

.bn_news a {
  background: #B10836;
  color: #fff;
  font-weight: bold;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
  font-size: 1.3em;
  padding: 1% 8%;
}


/*タブ切り替え全体のスタイル*/

.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  margin: 0 auto;
}


/*タブのスタイル*/

.tab_item {
  width: calc(100%/6 - 1%);
  margin-right: 1%;
  height: 50px;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  transition: all 0.2s ease;
  border-radius: 10px;
  cursor: pointer;
}

.tab_item:hover {
  opacity: 0.75;
}

@media only screen and (max-width: 767px) {
  .tab_item {
    width: calc(100%/3 - 1%);
    /*font-size: 2.086vw;*/
    
    font-size: 3.129vw;
    margin-bottom: 1rem;
  }
}


/*ラジオボタンを全て消す*/

input[name="tab_item"] {
  display: none;
}


/*タブ切り替えの中身のスタイル*/

.tab_content {
  display: none;
  padding: 40px 0px 0;
  clear: both;
  overflow: hidden;
}


@media only screen and (max-width: 767px) {
  
  .tab_content {
    padding: 25px 0px 0;

  }
}


/*選択されているタブのコンテンツのみを表示*/

#p01:checked~#p01_content, #p02:checked~#p02_content, #p03:checked~#p03_content, #p04:checked~#p04_content, #p05:checked~#p05_content, #p06:checked~#p06_content {
  display: block;
}


/*選択されているタブのスタイルを変える*/

.tabs input:checked+.tab_item {
  background-color: #B10836;
  color: #fff;
}