html{
  font-size: 62.5%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary{
  display: block;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table{
  margin-top: 0;
}

/* body */

body {
  text-align: left;
  padding:0px;
  margin:0px;
  min-width: $width;
  word-wrap: break-word;
  word-break: break-all;
  font-size: 13px;
  font-size: 1.3rem;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
  line-height: 1.5;
}

/* Parts */

.sp-part-top {
  position: relative;
  max-width:100%;
}

.sp-part-top:after {
  display: table;
  clear: both;
  content: "";
}

/* copyright */

.hpb-copyright {
  display: block;
  text-align: center;
}

/* layout */

#main:after {
  clear: both;
  display: table;
  content: "";
}

#colophon {
  margin-top:30px;
  padding-top: 30px;
  width:100%;
}

.screen-reader-text{
  display:none;
}

/* Yahoo!ロコ-地図, Googleマップ */

div[data-hpbmap] {
  word-wrap: normal;
}

div[data-hpbmap] img {
  max-width: none !important;
}


#colophon {
  background-color : #f6efd6;
  padding-top : 10px;
  padding-left : 30px;
  padding-right : 30px;
  padding-bottom : 10px;
  margin-top : 0px;
  margin-left : auto;
  margin-right : auto;
  margin-bottom : 0px;
  border-left-width : 1px;
  border-right-width : 1px;
  border-left-style : solid;
  border-right-style : solid;
  border-left-color : #faebd1;
  border-right-color : #faebd1;
  width : 940px;
}

#contenthead,#content,#main {
  background-color : #fef9ef;
  overflow : hidden;
}

#hpb-skip {
  text-indent : -9999px;
  padding-top : 0px;
  padding-left : 0px;
  padding-right : 0px;
  padding-bottom : 0px;
  margin-top : 0px;
  margin-left : 0px;
  margin-right : 0px;
  margin-bottom : 0px;
  height : 1px;
  overflow : hidden;
}

#main {
  padding-top : 0px;
  padding-left : 0px;
  padding-right : 0px;
  padding-bottom : 20px;
  margin-top : 0px;
  margin-left : auto;
  margin-right : auto;
  margin-bottom : 0px;
  border-left-width : 1px;
  border-right-width : 1px;
  border-left-style : solid;
  border-right-style : solid;
  border-left-color : #faebd1;
  border-right-color : #faebd1;
  width : 1000px;
  position : relative;
}

#main::after {
  clear : both;
  display : table;
  content : "";
}

#masthead {
  background-color : #fef9ef;
  margin-left : auto;
  margin-right : auto;
  border-top-width : 1px;
  border-left-width : 1px;
  border-right-width : 1px;
  border-top-style : solid;
  border-left-style : solid;
  border-right-style : solid;
  border-top-color : #faebd1;
  border-left-color : #faebd1;
  border-right-color : #faebd1;
  width : 1000px;
  height : auto;
}

#primary {
  background-color : #ffffff;
}

a {
  color : #f68f9e;
}

a:hover,a:active {
  color : #ff4200;
  text-decoration : underline;
}

a:hover,a:focus {
  text-decoration : underline;
}

a:link,a:visited {
  color : #768ab8;
  text-decoration : underline;
}

a:link,a:visited,a:active {
  text-decoration : underline;
}

body {
  color : #755f4c;
  background-color : #ffffff;
  background-image : url(./img/bg_hpb-container.png);
  background-repeat : repeat-x;
  background-position : center top;
  min-width : 960px;
}

p {
  line-height : 1.4;
  text-align : left;
  padding-left : 0.1em;
  padding-right : 0.1em;
  margin-top : 0.5em;
  margin-bottom : 1.5em;
}

#content {
  margin-left : 10px;
  width : 658px;
  float : left;
}

#contenthead,#main-inner {
  width : 1000px;
}

#sidebar2 {
  margin-right : 10px;
  width : 300px;
  float : right;
}

@media screen and (max-width: 568px) {

  #content {
    background-color : #ffffff;
    margin-left : 10px;
    margin-right : 10px;
  }

  #main {
    padding-top : 0px;
    padding-left : 10px;
    padding-right : 10px;
    padding-bottom : 0px;
    margin-top : 0px;
    width : 100%;
  }

  #masthead {
    position : static;
  }

  #page,#masthead,#colophon,#main,#primary,#content {
    width : auto;
  }

  #primary {
    background-color : #ffffff;
    padding-top : 10px;
    padding-left : 0px;
    padding-right : 0px;
    padding-bottom : 10px;
    margin-bottom : 10px;
    border-top-width : 1px;
    border-left-width : 1px;
    border-right-width : 1px;
    border-bottom-width : 1px;
    border-top-style : solid;
    border-left-style : solid;
    border-right-style : solid;
    border-bottom-style : solid;
    border-top-color : #f8e8d0;
    border-left-color : #f8e8d0;
    border-right-color : #f8e8d0;
    border-bottom-color : #f8e8d0;
  }

  #primary,#main-inner,#contenthead,#content {
    width : auto;
    float : none;
  }

  #sidebar-1,#sidebar-2,#sidebar1,#sidebar2 {
    width : 100%;
    float : none;
  }

  .home #masthead {
    height : 150px;
  }

  body {
    min-width : 100%;
  }

  img {
    max-width : 100%;
    height : auto;
  }
}

#ie6 #sp-site-navigation-1 li,#ie7 #sp-site-navigation-1 li {
  position : relative;
}

#sp-site-navigation-1 {
  font-size : 1.3rem;
  padding-top : 10px;
  padding-left : 0px;
  padding-right : 0px;
  padding-bottom : 0px;
  margin-top : 0px;
  margin-left : 0px;
  margin-right : 0px;
  margin-bottom : 30px;
  overflow : visible;
}

#sp-site-navigation-1 .menu-toggle {
  display : none;
}

#sp-site-navigation-1 .screen-reader-text {
  display : none;
}

#sp-site-navigation-1 a:hover,#sp-site-navigation-1 a:active {
  color : #3f623d;
  text-decoration : underline;
}

#sp-site-navigation-1 a:link,#sp-site-navigation-1 a:visited {
  color : #dc6b9a;
  font-weight : bold;
  text-decoration : underline;
}

#sp-site-navigation-1 li {
  float : left;
  z-index : 100;
}

#sp-site-navigation-1 li a {
  font-size : 0.9em;
  background-image : url(./img/icon_arrow.png);
  background-repeat : no-repeat;
  background-position : left 0.3em;
  padding-left : 15px;
  padding-right : 7px;
  float : left;
  display : block;
}

#sp-site-navigation-1 ul {
  text-align : left;
  padding-top : 20px;
  padding-left : 0px;
  margin-top : 0px;
  margin-left : 0px;
  margin-right : 0px;
  margin-bottom : 0px;
  list-style-type : none;
}

#sp-site-navigation-1 ul .sub-menu {
  background-color : #ebe3c6;
  background-image : none;
  padding-top : 0px;
  padding-left : 0px;
  padding-right : 0px;
  padding-bottom : 0px;
  margin-top : 44px;
  margin-left : 0px;
  margin-right : 0px;
  height : auto;
  display : none;
  position : absolute;
  z-index : 200;
}

#sp-site-navigation-1 ul .sub-menu a:hover,#sp-site-navigation-1 ul .sub-menu .current-menu-item a {
  color : #e3cb67;
}

#sp-site-navigation-1 ul .sub-menu li a,#sp-site-navigation-1 li.current-menu-item .sub-menu a,#hpb-sidebar-main-nav ul .sub-menu li a,#hpb-sidebar-main-nav li.current-menu-item .sub-menu a {
  line-height : 1.4;
  background-image : none;
  padding-top : 8px;
  padding-left : 8px;
  padding-bottom : 8px;
  height : auto;
  display : block;
}

#sp-site-navigation-1 ul .sub-menu ul {
  padding-top : 0px;
  padding-left : 0px;
  padding-right : 0px;
  padding-bottom : 0px;
  margin-top : 0px;
}

#sp-site-navigation-1 ul li:hover .sub-menu {
  display : block;
}

#sp-site-navigation-1 ul ul a {
  border-top-width : medium;
  border-left-width : medium;
  border-right-width : medium;
  border-bottom-width : medium;
  border-top-style : none;
  border-left-style : none;
  border-right-style : none;
  border-bottom-style : none;
  border-top-color : initial;
  border-left-color : initial;
  border-right-color : initial;
  border-bottom-color : initial;
  float : none;
}

#sp-site-navigation-1 ul ul li {
  border-top-left-radius : 3px 3px;
  border-top-right-radius : 3px 3px;
  border-bottom-right-radius : 3px 3px;
  border-bottom-left-radius : 3px 3px;
  float : none;
}

#sp-site-navigation-1> ul {
  background-color : #f6efd7;
  padding-top : 8px;
  padding-left : 20px;
  margin-top : 0px;
  margin-left : auto;
  margin-right : auto;
  margin-bottom : 0px;
  width : auto;
  height : auto;
  list-style-type : none;
  list-style-position : outside;
}

#sp-site-navigation-1> ul::after {
  clear : both;
  display : table;
  content : "";
}

#sp-site-navigation-1> ul> li {
  margin-bottom : 2px;
  float : left;
}

#sp-site-navigation-1> ul> li> a {
  font-size : 1em;
  line-height : 26px;
  background-image : url(./img/bg_hpb-main-nav-li.png);
  background-repeat : no-repeat;
  background-position : left 5px;
  padding-top : 5px;
  padding-left : 28px;
  padding-right : 15px;
  padding-bottom : 13px;
  float : left;
  display : block;
}

.sub-menu h1 {
  display : none;
}

@media screen and (max-width: 568px) {

  #sp-site-navigation-1 {
    background-color : #ec9c7d;
    background-image : none;
    padding-top : 0px;
    margin-top : 10px;
    position : relative;
  }

  #sp-site-navigation-1 .menu-toggle {
    background-image : url(img/icon-menu.png);
    background-repeat : no-repeat;
    background-position : center center;
    text-indent : -999em;
    padding-top : 5px;
    padding-left : 5px;
    padding-right : 5px;
    padding-bottom : 5px;
    margin-top : 0px;
    margin-left : 0px;
    margin-right : 0px;
    margin-bottom : 0px;
    height : 30px;
    display : none;
    cursor : pointer;
  }

  #sp-site-navigation-1 .screen-reader-text {
    display : none;
  }

  #sp-site-navigation-1 li {
    background-repeat : repeat-x;
    background-position : left top;
    padding-left : 0px;
    border-left-width : 0px;
  }

  #sp-site-navigation-1 li a {
    display : block;
  }

  #sp-site-navigation-1 ul {
    background-color : #f6f0d7;
    background-image : none;
    padding-top : 6px;
    padding-left : 10px;
    padding-right : 10px;
    padding-bottom : 6px;
    margin-bottom : 4px;
    width : auto;
    height : auto;
    display : block;
  }

  #sp-site-navigation-1 ul .sub-menu {
    background-color : transparent;
    padding-top : 0px;
    margin-top : 0px;
    display : block;
    position : static;
  }

  #sp-site-navigation-1 ul .sub-menu a,#sp-site-navigation-1 ul .current-menu-item .sub-menu a {
    color : #418ec4;
    background-color : transparent;
    padding-top : 8px;
  }

  #sp-site-navigation-1 ul .sub-menu li {
    background-image : none;
    border-bottom-width : medium;
    border-bottom-style : none;
    border-bottom-color : initial;
  }

  #sp-site-navigation-1 ul .sub-menu li a {
    background-color : transparent;
    padding-left : 2em;
  }

  #sp-site-navigation-1 ul li {
    background-image : url(./img/border_hpb-main-nav-li_sp.png);
    background-repeat : repeat-x;
    background-position : left bottom;
    padding-top : 2px;
    padding-bottom : 2px;
    width : auto;
    float : none;
  }

  #sp-site-navigation-1 ul li a {
    font-size : 1.2em;
    line-height : 24px;
    background-image : url(./img/bg_hpb-main-nav-li_sp.png);
    background-repeat : no-repeat;
    background-position : 5px 12px;
    padding-top : 8px;
    padding-left : 25px;
    padding-right : 10px;
    padding-bottom : 7px;
    border-top-width : medium;
    border-left-width : medium;
    border-right-width : medium;
    border-bottom-width : medium;
    border-top-style : none;
    border-left-style : none;
    border-right-style : none;
    border-bottom-style : none;
    border-top-color : initial;
    border-left-color : initial;
    border-right-color : initial;
    border-bottom-color : initial;
    float : none;
  }

  #sp-site-navigation-1 ul li a:hover,#sp-site-navigation-1 ul li a:active,#sp-site-navigation-1 ul li.current-menu-item a {
    color : #3f623d;
    text-decoration : underline;
  }

  #sp-site-navigation-1 ul li a:link,#sp-site-navigation-1 ul li a:visited {
    color : #dc6b9a;
    font-weight : bold;
    text-decoration : none;
  }

  #sp-site-navigation-1 ul li:hover .sub-menu {
    margin-top : 0px;
    display : block;
    position : static;
    z-index : auto;
  }

  #sp-site-navigation-1 ul ul {
    background-color : transparent;
    margin-left : 1em;
    border-top-width : medium;
    border-left-width : medium;
    border-right-width : medium;
    border-bottom-width : medium;
    border-top-style : none;
    border-left-style : none;
    border-right-style : none;
    border-bottom-style : none;
    border-top-color : initial;
    border-left-color : initial;
    border-right-color : initial;
    border-bottom-color : initial;
    display : block;
    position : static;
  }

  #sp-site-navigation-1 ul ul li {
    border-bottom-width : medium;
    border-bottom-style : none;
    border-bottom-color : initial;
    width : 100%;
  }

  #sp-site-navigation-1 ul ul li a {
    color : #222222;
    padding-top : 5px;
    padding-left : 2em;
    padding-right : 2em;
    padding-bottom : 5px;
    display : block;
  }

  #sp-site-navigation-1,#hpb-sub-nav {
    display : none;
  }

  #sp-site-navigation-1.button-menu .menu-toggle {
    display : block;
  }

  #sp-site-navigation-1.button-menu ul {
    display : none;
  }

  #sp-site-navigation-1.button-menu ul.toggled-on {
    display : block;
  }

  .home #hpb-sub-nav {
    width : 100%;
    display : block;
  }

  .home #sp-site-navigation-1 {
    padding-top : 0px;
    margin-left : 0px;
    width : 100%;
    display : block;
    position : static;
    top : 0px;
    z-index : auto;
  }
}

#sp-site-branding-1 {
  padding-top : 20px;
  margin-top : 0px;
  margin-left : auto;
  margin-right : auto;
  margin-bottom : 0px;
  width : 1000px;
  min-height : 100px;
}

#sp-site-branding-1 .site-description {
  font-size : 1rem;
  font-weight : normal;
  color : #755f4c;
  text-align : left;
  position : absolute;
  top : 0.5rem;
  left : 1rem;
}

#sp-site-branding-1 .site-title {
  margin-top : 15px;
  margin-left : 8px;
  margin-right : 0px;
  margin-bottom : 0px;
  width : 332px;
  height : 73px;
  float : left;
  display : block;
  overflow : hidden;
}

#sp-site-branding-1 .site-title a {
  background-image : url(img/site-branding-1.png);
  background-repeat : no-repeat;
  background-position : 0px 0px;
  padding-top : 73px;
  width : 332px;
  display : block;
}

#sp-site-branding-1::after {
  clear : none;
  display : table;
  content : "";
}

@media screen and (max-width: 568px) {

  #sp-site-branding-1 {
    width : 100%;
    overflow : hidden;
  }

  #sp-site-branding-1 .site-description {
    text-align : left;
    margin-top : 5px;
    margin-left : 20px;
    margin-right : 20px;
    margin-bottom : 5px;
    width : 100%;
    float : none;
    position : static;
  }

  #sp-site-branding-1 .site-title {
    margin-top : 0px;
    margin-left : 0px;
    margin-right : 0px;
    margin-bottom : 0px;
    float : none;
  }

  #sp-site-branding-1 .site-title a {
    background-position : -10px 0px;
  }

  #sp-site-branding-1::after {
    position : relative;
  }
}

.large, .large, .large {
  font-size : 1.2em;
}

.medium, .medium, .medium {
  font-size : 1em;
}

.small, .small, .small {
  font-size : 0.9em;
}

.x-large, .x-large, .x-large {
  font-size : 1.5em;
}

.x-small, .x-small, .x-small {
  font-size : 0.8em;
}

.xx-large, .xx-large, .xx-large {
  font-size : 2em;
}

.xx-small, .xx-small, .xx-small {
  font-size : 0.7em;
}

em, em, em {
  font-style : oblique;
  color : #515151;
  border-bottom-width : 1px;
  border-bottom-style : solid;
  border-bottom-color : #515151;
}

h1, h1, h1 {
}

h2, h2, h2 {
}

h3, h3, h3 {
  font-size : 1.2em;
  background-image : url(./img/border_divbox_02.png),url(./img/bg_hpb-main-nav-li.png),url(./img/bg_hpb-main-nav-li.png);
  background-repeat : repeat-x,no-repeat,no-repeat;
  background-position : left bottom,8px 0px,615px 0px;
  padding-top : 4px;
  padding-left : 41px;
  padding-right : 41px;
  padding-bottom : 10px;
  margin-top : 20px;
}

h4, h4, h4 {
  font-size : 1.15em;
  line-height : 1.2;
  text-align : left;
  padding-top : 5px;
  padding-left : 0px;
  padding-right : 0px;
  padding-bottom : 2px;
  margin-top : 0px;
  margin-left : 0px;
  margin-right : 0px;
  margin-bottom : 1em;
  clear : both;
}

h5, h5, h5 {
  font-size : 1.08em;
  line-height : 1.2;
  text-align : left;
  padding-top : 5px;
  padding-bottom : 5px;
  margin-top : 0px;
  margin-bottom : 1em;
  clear : both;
}

h6, h6, h6 {
  font-size : 1em;
}

p, p, p {
  line-height : 1.4;
  color : #515151;
  text-align : left;
  margin-top : 0.5em;
  margin-left : 1em;
  margin-right : 1em;
  margin-bottom : 0.5em;
}

p.indent, p.indent, p.indent {
  padding-left : 10px;
}

strong, strong, strong {
  font-weight : bold;
  color : #515151;
}

@media screen and (max-width: 568px) {

  #page-content, #sp-block-container-1, #sp-block-container-2 {
  }
}

#sp-page-title-1 {
  font-size : 1rem;
  font-weight : normal;
  color : #755f4c;
  background-image : url(./img/bg_hpb-page-title.png),url(./img/bg_hpb-main-nav-li.png);
  background-repeat : repeat-x,no-repeat;
  background-position : left bottom,8px 0em;
  padding-left : 41px;
  padding-bottom : 1px;
  margin-top : 0px;
  margin-bottom : 20px;
}

#sp-site-navigation-2 {
  margin-top : 0px;
  margin-left : 0px;
  margin-right : 0px;
  margin-bottom : 0px;
}

#sp-site-navigation-2 .menu-toggle {
  display : none;
  cursor : pointer;
}

#sp-site-navigation-2 .screen-reader-text {
  display : none;
}

#sp-site-navigation-2 a:hover,#sp-site-navigation-2 a:active {
  color : #3f623d;
  text-decoration : underline;
}

#sp-site-navigation-2 a:link,#sp-site-navigation-2 a:visited {
  color : #dc6b9a;
  font-weight : bold;
  text-decoration : underline;
}

#sp-site-navigation-2 div.menu,#sp-site-navigation-2 .menu-sub-menu-container {
  padding-top : 20px;
  border-top-width : 1px;
  border-top-style : solid;
  border-top-color : white;
}

#sp-site-navigation-2 ul {
  padding-top : 0px;
  padding-left : 0px;
  padding-right : 0px;
  padding-bottom : 0px;
  margin-top : 0px;
  margin-left : auto;
  margin-right : auto;
  margin-bottom : 0px;
  width : 100%;
  display : block;
  list-style-type : none;
  list-style-position : outside;
}

#sp-site-navigation-2 ul li {
  display : inline;
}

#sp-site-navigation-2 ul li ul {
  display : none;
}

#sp-site-navigation-2 ul li::after {
  margin-top : 0px;
  margin-left : 5px;
  margin-right : 5px;
  margin-bottom : 0px;
  content : '';
}

#sp-site-navigation-2.button-menu .menu-toggle {
  display : block;
}

#sp-site-navigation-2.button-menu ul {
  display : none;
}

#sp-site-navigation-2.button-menu ul.toggled-on {
  display : block;
}

@media screen and (max-width: 568px) {

  #sp-site-navigation-2 ul {
    width : 100%;
  }

  #sp-site-navigation-2 ul li {
    display : block;
  }
}

#sp-image-1 {
}

#sp-block-container-1 {
  background-image : url(img/hpb-header-extra1.png);
  background-repeat : no-repeat;
  position : absolute;
  top : 4rem;
  left : 50%;
}

#sp-block-container-1 p {
  font-size : 1.2rem;
  color : #755f4c;
  text-align : left;
  position : absolute;
  top : 2rem;
}

#sp-image-1 {
  margin-top : 0px;
  margin-left : auto;
  margin-right : auto;
  margin-bottom : 20px;
  max-width : 100%;
}

@media screen and (max-width: 568px) {

  #sp-block-container-1 {
    width : 100%;
    display : none;
  }

  #sp-image-1 {
    width : 100%;
  }
}


/* ▼A：ラジオボタンの隣にあるラベル内のボックスは非表示にしておく */
.accordionbox input + label div { display: none; }

/* ▼B：チェックが入っているラジオボタンの隣にあるラベル内のボックスは表示する（＆上下に余白を設けて太字にする） */
.accordionbox input:checked + label div { display: block; padding: 5px 0px; }

/* ▼C：アコーディオン内の1項目の装飾 */
.accordionbox label {
   display: block;            /* ブロック化 */
   margin: 5px 0px;           /* 外側の余白量 */
   padding: 0.5em 1em;        /* 内側の余白量 */
   background-color: #e0e0ff; /* 背景色 */
   border-radius: 0.5em;      /* 角丸 */
   cursor: pointer;           /* マウスを指形に */
}

/* ▼D：ラジオボタンそのものを非表示にする */
.accordionbox input {
   display: true;
}
