@charset 'UTF-8';
/* -------------------------
  general
------------------------- */
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  color: #000;
  font-family: sans-serif;
  line-height: 1;
}

a {
  text-decoration: none;
  transition: .3s;
}

a:hover {
  opacity: .7;
}

a[href='tel:'] {
  pointer-events: none;
}

ul {
  list-style: none;
}

ol {
  list-style: none;
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

.container {
  margin: 0 auto;
  max-width: 1000px;
  padding: 0 20px;
  width: 100%;
}

.container_2 {
  margin: 0 auto;
  max-width: 640px;
  padding: 0 10px;
  width: 100%;
}

/*---------------------------
   sp_menu
------------------------------*/

.sp_menu {
  display: none;
}
.sp_menu {
  position: relative;
  z-index: 100;
}
.sp_menu_btn_close {
  background: #2d743d;
  font-size: 8px;
  font-weight: 600;
  height: 60px;
  padding: 0 6px;
  position: absolute;
  right: 0;
  text-align: center;
  width: 60px;
}
.sp_menu_btn_close a {
  color: #fff;
  display: block;
}
.sp_menu_btn_close img {
  display: block;
  margin: 0 auto;
  padding: 9.7px 0 7.5px;
  width: 21px;
}
.sp_menu_inner {
  background: #fff;
  padding: 23px 30px 49px 42px;
  position: absolute;
  right: 0;
  top: 60px;
  width: 290px;
}
.sp_menu_inner_list {
  background: #2d743d;
  width: 218px;
}
.sp_menu_inner_item {
  border-bottom: 1px solid #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 2.753;
}
.sp_menu_inner_item a {
  color: #fff;
  display: block;
  padding-left: 24px;
  width: 100%;
}
.sp_menu_inner img {
  bottom: 0;
  position: absolute;
  right: 260px;
  width: 69px;
}
/* -------------------------
  header
------------------------- */
.header_nav {
  background: #fff;
  display: flex;
  height: 60px;
  justify-content: flex-end;
  position: relative;
}
.header_logo {
  left: 5px;
  position: absolute;
  top: 0;
  z-index: 1;
}
.header_logo_title img {
  width: 138px;
}
.header_logo a {
  height: 100%;
  width: 100%;
}
.header_nav_list {
  display: flex;
  justify-content: flex-end;
}
.header_nav_list_item {
  height: 60px;
  width: 60px;
}
.header_nav_list_item_contact a {
  align-items: flex-end;
  background-image: url(../img/common/h_icon_contant.png);
  background-position: center 12px;
  background-repeat: no-repeat;
  background-size: 28px auto;
  color: #93907e;
  display: flex;
  font-size: 10px;
  font-weight: 600;
  height: 100%;
  justify-content: center;
  padding: 0 6px 10px;
  width: 100%;
}
.header_nav_list_item_access a {
  align-items: flex-end;
  background-image: url(../img/common/h_logo_access.png);
  background-position: center 12px;
  background-repeat: no-repeat;
  background-size: 27px auto;
  color: #93907e;
  display: flex;
  font-size: 10px;
  font-weight: 600;
  height: 100%;
  justify-content: center;
  padding: 0 6px 10px;
  width: 100%;
}
.sp_menu_btn_open {
  background: #2d743d;
  font-size: 10px;
  font-weight: 600;
  height: 60px;
  width: 60px;
}
.sp_menu_btn_open a {
  align-items: flex-end;
  background-image: url(../img/common/h_sp_menu_btn_open.png);
  background-position: center 15px;
  background-repeat: no-repeat;
  background-size: 28px auto;
  color: #fff;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 0 6px 10px;
  width: 100%;
}
/*------------------------
sub_header
------------------------*/
.sub_header_nav {
  display: flex;
  justify-content: space-between;
}
.sub_header_nav_logo {
  background: #f0ede1;
  height: 60px;
  position: relative;
  width: 85px;
}
.sub_header_nav_logo img {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-40%,-50%);
  width: 51px;
}
.sub_header_nav_logo a {
  display: block;
  height: 100%;
  width: 100%;
}
/*-------------------------
aside
--------------------------*/
.main_bg {
  background: #f0ede1;
}

.top_banner {
  padding: 32px 0 37px;
}
.top_banner a {
  display: block;
}

.top_banner_list {
  align-items: center;
  background: #fff;
  border: 1px solid #ceccc2;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  margin-top: 8px;
  padding: 13px 10px;
}
.top_banner_list img {
  margin-right: 10px;
  width: calc(50% - 10px);
}
.top_banner_list_text {
  color: #000;
  font-size: 11px;
  font-weight: 1.18;
  margin-left: 10px;
  position: relative;
  width: calc(50% - 10px);
}
.top_banner_list_text::before {
  background-color: #ceccc2;
  content: '';
  display: inline-block;
  height: 50px;
  left: -10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
}
.banner_list_tamamura {
  margin-right: 0;
  padding: 0;
}
.banner_list_tamamura img {
  margin-right: 0;
  width: 38%;
}
/* -------------------------
  footer
------------------------- */
.pagetotop {
  bottom: 10px;
  display: none;
  position: fixed;
  right: 10px;
  width: 75px;
}
.footer_bg {
  background: #7c7469;
}
.footer_info_list {
  border-bottom: 1px solid #d8cec0;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  padding: 28px 0 21.5px;
  width: 100%;
}
.footer_info_theme {
  width: 39%;
}
.footer_info_theme_tamamura {
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
}
.footer_info_theme_tamamura img {
  margin-bottom: 12px;
  max-width: 100px;
  width: 70%;
}
.footer_info_desc {
  width: 61%;
}
.footer_info_desc_tel img {
  margin-bottom: 15px;
  max-width: 195px;
  width: 85%;
}
.footer_info_desc_fax img {
  margin-bottom: 8px;
  max-width: 166px;
  width: 72%;
}
.footer_info_desc_add {
  font-size: 10px;
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 14px;
}
.footer_info_desc_btn img {
  max-width: 198px;
  width: 86%;
}
.footer_info_theme_parking img {
  max-width: 90px;
  width: 61%;
}
.footer_info_desc_parking img {
  max-width: 203px;
  width: 88%;
}
.footer_info_theme_center img {
  max-width: 87px;
  width: 60%;
}
.footer_info_desc_center img {
  margin-bottom: 10px;
  max-width: 214px;
  width: 93%;
}
.footer_info_desc_center_text {
  font-size: 10px;
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 10px;
}
.copyright {
  color: #fff;
  font-size: 10px;
  font-weight: 300;
  line-height: 1.3;
  padding: 41.5px 0 44px;
  text-align: center;
}
