@charset 'UTF-8';

.branch-map {
  position: relative;
}

.branch-map .map {
  text-align: center;
}

.branch-map .ttl.-branch {
  display: flex;

  align-items: center;
  justify-content: space-between;
}

.branch-map .ttl.-branch .link.-forward {
  font-family: Noto Sans JP,CompatilLetterLTCERegular,Arial,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,Osaka,'ＭＳ Ｐゴシック',Helvetica,Verdana,sans-serif;
  font-size: .16rem;
  line-height: 1.8;
}

.branch-list {
  transition: opacity .2s;
  opacity: 1;
}

.branch-list>.branches {
  position: relative;
  background: #fff;
}

.branch-list .pref {
  margin: 0;
}

.branch-list .pref>dt {
  font-size: .18rem;
  line-height: 1.71111;
}

.branch-list .pref>dd {
  margin-top: 1em;
}

.branch-list .pref[data-pref=tokyo]>dd .link-list {
  margin-top: 0;
  padding: 25px;
  border-top: 1px solid #e3e3e3;
}

.branch-list .city>dt:not(:first-child) {
  margin-top: 1em;
}

.branch-list .close-btn {
  font-size: .14rem;
  position: absolute;
  top: 25px;
  right: 25px;
}

.branch-list .close-btn:before {
  content: none;
}

.branch-list .close-btn:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  content: '';
}

.branch-list .close-btn>.ico-font {
  font-size: .2rem;
  margin-right: 10px;
  color: #fff;
  background: #42425a;
}

.branch-list>.regionindex {
  position: relative;
}

.branch-list>.regionindex>.index .btn {
  font-size: .18rem;
}

.branch-list>.prefindex {
  position: relative;
}

.branch-list>.prefindex .title {
  font-size: .18rem;
  font-weight: 600;
  margin-bottom: 20px;
}

.branch-list .accordion-list>.trigger {
  position: relative;
  display: block;
  cursor: pointer;
}

.branch-list .accordion-list>.target {
  position: relative;
  overflow: hidden;
  height: 0;
  transition: all 200ms 0s ease;
}

.branch-list .accordion-list [type=checkbox] {
  display: none;
}

.branch-list .accordion-list [type=checkbox]:checked+.trigger:after {
  transform: rotate(-45deg);
}

.branch-list .accordion-list [type=checkbox]:checked+.trigger+.target {
  height: auto;
  max-height: 9999px;
}

#branch-map .st0 {
  fill: #e3e3e3;
}

#branch-map .st1 {
  fill: #fff;
}

#branch-map .st2 {
  fill: #42425a;
}

#branch-map [data-pref] .st1,#branch-map [data-pref] .st2 {
  transition: fill 150ms ease;
}

#branch-map [data-pref]:hover .st1 {
  fill: #42425a;
}

#branch-map [data-pref]:hover .st2 {
  fill: #fff;
}

.link.-forward.-branchlist {
  font-family: Noto Sans JP,CompatilLetterLTCERegular,Arial,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,Osaka,'ＭＳ Ｐゴシック',Helvetica,Verdana,sans-serif;
  font-size: .16rem;
  top: 3px;
  float: right;
}

@media print,screen and (min-width:1300px) {
  .branch-map {
    height: 100%;
  }

  .branch-map .txt {
    position: absolute;
  }

  .branch-map .ttl.-branch {
    position: absolute;
    top: 56px;
    width: 65%;
  }

  .branch-list.-closing {
    opacity: 0;
  }

  .branch-list {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  .branch-list>.branches {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    width: max-content;
    min-width: 580px;
    max-width: 100%;
    max-height: 100%;
    padding: 60px 25px 25px;
    transform: translate(-50%,-50%);
    border: 1px solid #e3e3e3;
    box-shadow: 0 0 5px 0 rgba(0,0,0,.3);
  }

  .branch-list[data-view=city]:not(.-loading)>.branches {
    top: 0;
    left: 0;
    transform: none;
  }

  .branch-list .region>dt {
    display: none;
  }

  .branch-list .pref>dd {
    overflow-x: hidden;
    overflow-y: auto;
    margin-right: -20px;
    padding-right: 20px;
  }

  .branch-list .pref[data-pref=tokyo]>dd .link-list {
    padding: 25px 15px;
  }

  .branch-list .region:not(.-active) {
    display: none;
  }

  .branch-list .pref:not(.-active) {
    display: none;
  }

  .edge .branch-list[data-view=city]>.branches {
    width: 100%;
  }

  .edge .branch-list:not([data-view=city])>.branches {
    display: table;
  }

  .branch-list>.regionindex {
    display: none;
  }

  .branch-list>.prefindex {
    display: none;
  }

  .branch-list .link-list:not([data-cols]) {
    display: flex;

    flex-wrap: wrap;
  }

  .branch-list .link-list:not([data-cols])>li {
    float: none;
    min-width: calc(763px/3);
  }

  .branch-list .link-list[data-cols]>li {
    width: calc((100% - 1px - 2em)/3);
    max-width: none;

    flex-basis: auto;
  }

  .branch-list .accordion-list:not([data-mode=accordion]) {
    display: flex;

    flex-wrap: wrap;
  }

  .branch-list .accordion-list:not([data-mode=accordion]).-slide {
    transition: transform 200ms ease;
    transform: translateX(-100%);
  }

  .branch-list .accordion-list:not([data-mode=accordion])>.trigger {
    width: calc((100% - 1px)/3);
    margin-bottom: .5em;
    padding-left: 15px;
    text-decoration: none;
    color: #42425a;

    flex: 0 0 calc(100%/3);
  }

  .branch-list .accordion-list:not([data-mode=accordion])>.trigger:hover {
    text-decoration: underline;
  }

  .branch-list .accordion-list:not([data-mode=accordion])>.trigger:before {
    position: absolute;
    top: 0;
    top: .7em;
    bottom: 0;
    bottom: auto;
    left: -1px;
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: auto;
    content: '';
    transform: rotate(45deg);
    vertical-align: middle;
    border-top: 1px solid #ca2420;
    border-right: 1px solid #ca2420;
    border-bottom-color: transparent!important;
    border-left-color: transparent!important;
  }

  .branch-list .accordion-list:not([data-mode=accordion])>.target {
    display: none;
  }

  .branch-list .accordion-list[data-mode=accordion]:not(.-slide) {
    transition: transform 200ms ease;
  }

  .branch-list .accordion-list[data-mode=accordion].-slide {
    transform: translateX(150%);
  }

  .branch-list .accordion-list[data-mode=accordion]>.trigger {
    font-weight: 600;
  }

  .branch-list .accordion-list[data-mode=accordion]>.trigger:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: auto;
    content: '';
    transition: transform 200ms 0s ease;
    transform: rotate(135deg);
    vertical-align: middle;
    border-top: 1px solid #ca2420;
    border-right: 1px solid #ca2420;
    border-bottom-color: transparent!important;
    border-left-color: transparent!important;
  }

  .branch-list .accordion-list[data-mode=accordion]>.trigger:not(:first-child) {
    padding: 1em 0;
  }

  .branch-list .accordion-list[data-mode=accordion]>.trigger:not(:first-of-type) {
    border-top: 1px solid #e3e3e3;
  }

  .branch-list .accordion-list[data-mode=accordion]>.target {
    padding: 0;
  }

  html.ipad .branch-list .pref>dd {
    margin-right: -10px;
    padding-right: 16px;
  }

  html.ipad .branch-list .pref>dd::-webkit-scrollbar {
    width: 5px;
  }

  html.ipad .branch-list .pref>dd::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background-color: #cfcfcf;
  }

  .link.-forward.-branchlist {
    top: -3px;
    float: none;
    margin-left: 25px;
  }
}

@media screen and (max-width:1299px) {
  .branch-map .txt.-top {
    font-size: .15rem;
    line-height: 1.85333;
    padding: 20px 15px 0;
    background: #f8f8f8;
  }

  .branch-map .map {
    display: none;
  }

  .branch-list>.branches {
    height: auto!important;
  }

  .branch-list>.branches .txt {
    margin-top: .5em;
  }

  .branch-list .pref>dd {
    height: auto!important;
  }

  .branch-list .pref>dd .link-list {
    padding: 15px 25px;
  }

  .branch-list .close-btn {
    display: none;
  }

  .branch-list {
    position: relative;
    display: flex!important;
    overflow: hidden;
  }

  .branch-list>* {
    transition: transform 200ms 0s ease;

    flex: 1 0 100%;
  }

  .branch-list [data-region] {
    background-color: #f8f8f8;
  }

  .branch-list .region:not(.-active),.branch-list .pref:not(.-active) {
    display: none;
  }

  .branch-list .region {
    padding: 15px;
  }

  .branch-list .region>dt {
    display: none;
  }

  .branch-list .pref>dt {
    font-size: .18rem;
    margin-bottom: 15px;
  }

  .branch-list .pref>dd {
    border: 1px solid #e3e3e3;
    background: #fff;
  }

  .branch-list .btn.-link>b {
    padding: 0 15px!important;
  }

  .branch-list .ico-label {
    display: none;
  }

  .branch-list[data-view=whole]>.prefindex,.branch-list[data-view=whole]>.branches {
    visibility: hidden;
  }

  .branch-list[data-view=whole]>.prefindex .link.-back,.branch-list[data-view=whole]>.branches .link.-back {
    visibility: hidden;
  }

  .branch-list[data-view=region]>* {
    transform: translateX(-100%);
  }

  .branch-list[data-view=region]:not(.-moving)>.regionindex,.branch-list[data-view=region]:not(.-moving)>.branches {
    visibility: hidden;
  }

  .branch-list[data-view=region]:not(.-moving)>.regionindex .link.-back,.branch-list[data-view=region]:not(.-moving)>.branches .link.-back {
    visibility: hidden;
  }

  .branch-list[data-view=pref]>* {
    transform: translateX(-200%);
  }

  .branch-list[data-view=pref]:not(.-moving)>.regionindex,.branch-list[data-view=pref]:not(.-moving)>.prefindex {
    visibility: hidden;
  }

  .branch-list[data-view=pref]:not(.-moving)>.regionindex .link.-back,.branch-list[data-view=pref]:not(.-moving)>.prefindex .link.-back {
    visibility: hidden;
  }

  .branch-list[data-view=pref]:not(.-moving)>.prefindex>.prefs .btn {
    display: none;
  }

  .branch-list>.regionindex>.index {
    display: flex;
    padding: 15px;
    background: #f8f8f8;

    justify-content: space-between;
    flex-wrap: wrap;
  }

  .branch-list>.regionindex>.index>li {
    width: calc(50% - 5px);
  }

  .branch-list>.regionindex>.index>li:last-of-type {
    width: 100%;
  }

  .branch-list>.regionindex>.index>li:nth-child(n+3) {
    margin-top: 10px;
  }

  .branch-list>.prefindex [data-region]:not(.-active) {
    display: none;
  }

  .branch-list>.prefindex>.prefs {
    padding: 15px;
  }

  .branch-list>.prefindex .txt {
    margin-top: .5em;
  }

  .branch-list .accordion-list>.trigger {
    padding: 15px;
  }

  .branch-list .accordion-list>.trigger:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: auto;
    content: '';
    transition: transform 200ms 0s ease;
    transform: rotate(135deg);
    vertical-align: middle;
    border-top: 1px solid #ca2420;
    border-right: 1px solid #ca2420;
    border-bottom-color: transparent!important;
    border-left-color: transparent!important;
  }
}

@media screen and (min-width:768px) and (max-width:1299px) {
  .branch-list .pref>dd .link-list {
    margin-bottom: -8px;
  }

  .branch-list .link-list:not([data-cols]) {
    display: block;
    margin-right: 0;
    margin-bottom: 0;
  }

  .branch-list .link-list:not([data-cols])>li {
    float: none;
    max-width: none;
    margin-right: 0;
    margin-bottom: 0;
  }

  .branch-list .link-list:not([data-cols])>li:not(:first-child) {
    margin-top: .5em;
  }

  .link.-forward.-branchlist {
    top: 8px;
  }
}
