@charset "UTF-8";
/* ##################################################

■OWLet original style：基本的に変更しない
■basic layout
	- サイト幅
■SEO
■header
■gnav
	- メニュー開閉ボタン
	- メニューOPEN時背景
	- gnav本体
■footer
	- fnav

################################################## */
/* ==================================================
	■OWLet original style：基本的に変更しない
================================================== */
.cms_edit_caption img,
.cms_move_caption img {
  width: initial !important;
}

.cms_edit_caption a:hover,
.cms_move_caption a:hover {
  text-decoration: underline;
}

.cms_edit_caption a:before,
.cms_edit_caption a:after,
.cms_move_caption a:before,
.cms_move_caption a:after {
  display: none;
}

.ui-draggable img {
  border: 0 !important;
  margin-right: 5px !important;
}

/* ==================================================
	■basic layout
================================================== */
#wrapper {
  position: relative;
  width: 100%;
  color: #333;
  font-family: "游ゴシック Medium", "Yu Gothic", YuGothic ;
  font-size: 14px;
  overflow-x: hidden;
}
/* ▽ TAB-SP layout ========== */
@media only screen and (max-width: 1024px) {
  #wrapper {
    width: 100%;
  }
}
/* ========== end △ */
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #wrapper {
    min-width: 1240px;
  }
}
/* ========== end △ */
/* サイト幅
-------------------------------------------------- */
.site_wrap {
  box-sizing: border-box;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  .site_wrap {
    width: 1000px;
    margin: 0 auto;
  }
}
/* ========== end △ */
/* ==================================================
	■SEO
================================================== */
#seo_txt {
  margin-bottom: 10px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #seo_txt {
    display: none;
  }
}
/* ========== end △ */
#seo_txt h1 {
  color: #333;
  font-size: 10px;
  font-weight: normal;
}

/* ==================================================
	■header
================================================== */
#header {
  position: relative;
}

/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #header {
    margin-bottom: 15px;
  
  }
  #header .site_wrap {
    width: 1240px;
}
}
/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #hlogo {
    padding: 5% 0 5% 3%;
  }
}
/* ========== end △ */
/* gnav
-------------------------------------------------- */
/* メニュー開閉ボタン */
#gnav_open,
#gnav_close {
  width: 30px;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #gnav_open,
  #gnav_close {
    display: none;
  }
}
/* ========== end △ */
#head_tel {
  position: absolute;
  top: 20%;
  right: 65px;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #head_tel {
    display: none;
  }
}
/* ========== end △ */
#gnav_open {
  position: absolute;
  top: 20%;
  right: 10px;
  padding: 10px 5px;
  border-radius: 3px;
  background-color: #060641;
  text-align: center;
}
#gnav_open img {
  width: 80%;
}

#gnav_close {
  padding: 20px 3%;
}

/* gnav本体 */
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #gnav {
    position: absolute;
    z-index: 11;
    top: 0;
    right: -100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    overflow-y: auto;
    transition: all 0.2s ease;
  }
  #gnav.openMenu {
    right: 0;
  }
  #gnav #gnav.openMenu #gnav_open {
    display: none;
  }
  #gnav #gnav.openMenu #gnav_close {
    display: block;
  }
  #gnav .gnav_list li {
    border-top: 1px solid #fff;
  }
  #gnav .gnav_list li.first, #gnav .gnav_list li.dd_wrap {
    border-top: none;
  }
  #gnav .gnav_list li .inner {
    display: none;
  }
  #gnav .gnav_list li a {
    display: block;
    padding: 5% 3%;
    background: url(../common_img/angle_r_wh.png) 97% 50% no-repeat;
    color: #FFF;
    text-decoration: none;
  }
  #gnav .gnav_list li .small_link {
    display: none;
  }
}
/* ========== end △ */
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #gnav {
    position: relative;
    /* width: 45%; */
  }
  #gnav .gnav_list {
    display: flex;
  }
  #gnav .gnav_list > li a {
    text-decoration: none;
  }
  
  #gnav .gnav_list > li {
    position: relative;
    /* width: 32%; */
    margin: 0 10px;
    border-bottom: 1px solid transparent;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
  }
  #gnav .gnav_list > li .inner span {
    display: block;
    color: #0c4e98;
    font-size: 12px;
    font-weight: bold;
    /* text-decoration: none; */
  }
  #gnav .sub_menu {
    position: absolute;
    z-index: 1;
    top: 40px;
    left: 0;
    width: 280px;
    background-color: #060641;
  }
  #gnav .sub_menu li {
    padding: 3%;
    border-top: 1px solid #fff;
    font-size: 14px;
  }
  #gnav .sub_menu li:first-of-type {
    border-top: none;
  }
  #gnav .sub_menu li a {
    display: block;
    background: url(../common_img/angle_r_gld.png) 100% 50% no-repeat;
    color: #fff;
    text-decoration: none;
  }
  #gnav .sub_menu li a:hover {
    text-decoration: underline;
  }
  #gnav .sub_menu li .small_txt {
    font-size: 12px;
  }
  #gnav .sub_menu li .small_link {
    font-size: 12px;
  }
  #gnav .sub_menu li span.small_link {
    color: #CCC;
  }
  #gnav .sub_menu li a.small_link {
    display: inline-block;
    width: 100%;
    margin-top: 10px;
    background: url(../common_img/angle_r_blu.png) 100% 50% no-repeat;
  }
}
/* ========== end △ */
/* hinfo
-------------------------------------------------- */
#hinfo {
  /* width: 33%; */
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #hinfo {
    display: none;
  }
}
/* ========== end △ */
#hinfo .info {
  margin-bottom: 10px;
  align-items: center;
  /* margin: 0 5px; */
}
#hinfo .info .time {
  font-size: 11px;
  margin-right: 30px;
}
#hinfo .hinfo_tel {
  padding: 3px 0 0 32px;
  background: url(../common_img/ico_tel.png) 0 50% no-repeat;
  background-size: 27px;
  font-size: 20px;
}
#hinfo .hbtn_style a {
  display: inline-block;
  box-sizing: border-box;
  width: 160px;
  padding: 5% 10px 5% 30px;
  border-radius: 3px;
  background: url(../common_img/ico_mail.png) 10% 50% no-repeat #060641;
  background-size: 22px auto;
  color: #fff;
  font-size: 11px;
  font-weight: normal;
  text-decoration: none;
  text-align: center;
  margin: 0 5px;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #hinfo .hbtn_style a {
    transition: all 0.2s ease;
  }
  #hinfo .hbtn_style a:hover {
    opacity: 0.6;
  }
}
/* ========== end △ */
#hinfo .contact_btn a {
  background: url(../common_img/ico_mail.png) 10% 50% no-repeat #060641;
  background-size: 22px auto;
}

/* ==================================================
	■footer
================================================== */
/* reserve
-------------------------------------------------- */
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #reserve .reserve_wrap {
    margin: 0 120px;
  }
}
/* ========== end △ */
#reserve .tel_wrap {
  margin-bottom: 5%;
  text-align: center;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #reserve .tel_wrap {
    margin-bottom: 0;
    text-align: right;
  }
}
/* ========== end △ */
#reserve .tel_wrap .tel {
  display: inline-block;
  padding-left: 50px;
  background: url(../common_img/ico_tel.png) 0 50% no-repeat;
  background-size: contain;
  font-size: 34px;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #reserve .tel_wrap .tel {
    background-size: auto;
    font-size: 48px;
  }
}
/* ========== end △ */
#reserve .tel_wrap .tel a {
  color: inherit;
  text-decoration: none;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #reserve .btn_list {
    width: 335px;
  }
}
/* ========== end △ */
#reserve .btn_list li {
  width: 48%;
  border-radius: 3px;
}
#reserve .btn_list li a {
  display: block;
  padding: 40px 0 10px;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
}
#reserve .btn_list li.reserve {
  background: url(../common_img/ico_mail.png) 50% 10px no-repeat #060641;
}
#reserve .btn_list li.contact {
  background: url(../common_img/ico_mail.png) 50% 10px no-repeat #060641;
}

/* finfo
-------------------------------------------------- */
#finfo {
  padding: 8% 0;
  background-color: #060641;
  color: #FFF;
  text-align: center;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #finfo {
    padding: 3% 0 2%;
  }
}
/* ========== end △ */
#finfo a {
  color: #FFF;
}
#finfo #flogo {
  margin: 5%;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #finfo #flogo {
    margin: auto;
    margin-bottom: 35px;
  }
}
/* ========== end △ */

#finfo .f_address {
  margin-bottom: 3%;
}
#finfo .f_address p {
  width: 90%;
  margin-bottom: 5%;
}
#finfo .f_address p span {
  font-size: 16px;
  font-weight: bold;
  display: block;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #finfo .f_address p {
    width: 21%;
    height: 180px;
    text-align: left;
    margin-bottom: 0;
    border-left: 1px solid rgba(255,255,255,0.5);
    padding-left: 4%;
  }
  #finfo .f_address p:first-child {
    border-left: none;
    padding-left: 0;
    padding-right: 4%;
  }
}
/* ========== end △ */

#finfo .sns_link {
  margin-top: 20px;
}
#finfo .sns_link li {
  display: inline-block;
  margin: 0 20px;
  vertical-align: middle;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #finfo .sns_link li {
    margin: 0 10px;
  }
}
/* ========== end △ */
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #finfo .sns_link li {
    transition: all 0.2s ease;
  }
  #finfo .sns_link li:hover {
    opacity: 0.6;
  }
}
/* ========== end △ */
/* fnav
-------------------------------------------------- */
#fnav {
  padding: 20px 0;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #fnav {
    padding: 40px 0;
  }
}
/* ========== end △ */
#fnav .sitemap_ttl {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #fnav .sitemap_ttl::before {
    display: none;
  }
}
/* ========== end △ */
#fnav .ac_body_sp {
  margin-top: 20px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #fnav .ac_body_sp {
    display: none;
    border-top: 1px solid #000;
  }
}
/* ========== end △ */
#fnav .ac_body_sp ul li {
  margin-bottom: 3px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #fnav .ac_body_sp ul li {
    border-bottom: 1px solid #000;
  }
}
/* ========== end △ */
#fnav .ac_body_sp ul li a {
  padding-left: 15px;
  background: url(../common_img/angle_link.png) 0 50% no-repeat;
  color: inherit;
  font-size: 13px;
  text-decoration: none;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #fnav .ac_body_sp ul li a {
    display: block;
    padding: 5%;
    background-position: 95% 50%;
  }
}
/* ========== end △ */
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #fnav .ac_body_sp ul li a:hover {
    text-decoration: underline;
  }
}
/* ========== end △ */
/* flineup
-------------------------------------------------- */
#flineup {
  padding: 30px 0;
  background: url(../common_img/f_bg.png) 100% 100% no-repeat #fafafa;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #flineup {
    background-size: contain;
  }
}
/* ========== end △ */
#flineup .flineup_ttl {
  margin-bottom: 30px;
  text-align: center;
}
#flineup .flineup_sec {
  padding-top: 15px;
  border-top: 1px solid #a2a2ac;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #flineup .flineup_sec {
    margin-top: 70px;
    padding-top: 30px;
  }
}
/* ========== end △ */
#flineup .flineup_sec:first-of-type {
  margin-top: 0;
}
#flineup .flineup_sec .flineup_sec_ttl {
  position: relative;
  margin-bottom: 20px;
  background-color: #fafafa;
  font-size: 18px;
  text-align: center;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #flineup .flineup_sec .flineup_sec_ttl {
    width: 260px;
    margin: -42px 0 20px -30px;
  }
}
/* ========== end △ */
#flineup .flineup_sec .flineup_sec_ttl span {
  margin-left: 10px;
  font-size: 13px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #flineup .cate_box {
    margin: 0 5% 8%;
  }
}
/* ========== end △ */
#flineup .cate_box .cate_ttl {
  margin-bottom: 10px;
}
#flineup .cate_box .cate_ttl a{
  text-decoration: none;
  color: #000000;
}
#flineup .cate_box .cate_link li {
  margin-bottom: 3px;
}
@media only screen and (min-width: 641px) {
  #flineup .cate_box .cate_link li.br_li span {
    display: block;
    margin-left: 1.5em;
  }
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #flineup .cate_box .cate_link li {
    border-bottom: 1px solid #a2a2ac;
  }
}
/* ========== end △ */
#flineup .cate_box .cate_link li a {
  padding-left: 15px;
  background: url(../common_img/angle_link.png) 0 50% no-repeat;
  color: inherit;
  font-size: 13px;
  text-decoration: none;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 640px) {
  #flineup .cate_box .cate_link li a {
    display: block;
    padding: 3% 5%;
  }
}
/* ========== end △ */
/* ▽ PC layout ========== */
@media print, screen and (min-width: 641px) {
  #flineup .cate_box .cate_link .col2 {
    margin-left: 50px;
  }
}
/* ========== end △ */
@media print, screen and (min-width: 641px) {
  .add_banner {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .add_banner {
    display: block;
    position: fixed;
    z-index: 10;
    width: 100%;
    /* height: 150px; */
    bottom: 0;
    left: 0;
    background: #fff;
  }
  .add_banner a {
    display: block;
    text-decoration: none;
  }
  .add_banner a h2 {
    background: #000;
    color: #fff;
    padding: 10px;
    text-align: center;
    font-size: 18px;
  }
  .add_banner a p {
    color: #000;
    font-weight: bold;
    text-align: center;
    padding: 5px;
  }
}

.text_center {
    text-align: center;
}
