@charset "UTF-8";

/* =================================
mixin
================================= */
/* =================================
base
================================= */
html > body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
}

a:hover {
  opacity: .7;
}

a:link,
a:active,
a:visited {
  color: #000;
}

#contents {
  background-color: #fff;
}

#contents .path {
  padding-top: 10px;
  height: 27px;
}

.txt__combining {
  letter-spacing: -0.18em;
}
a.anchor {
  display: block;
  position: relative;
  top: -80px;
  visibility: hidden;
}
/* =================================
content
================================= */
.page-branch {
  min-width: 1280px;
  margin-bottom: 60px;
}

.mainvisual-slide-area {
  position: relative;
  width: 1400px;
  margin: auto;
}

.mainvisual-slide-ttl {
  position: absolute;
  top: 40px;
  right: 4px;
  z-index: 100;
}

.mainvisual-slide-list {
  position: relative;
  font-size: 0;
}

.mainvisual-slide-list li {
  display: none;
}

.mainvisual-slide-list--center li img {
  margin: auto;
}

.mainvisual-slide-list li:first-child {
  display: inline-block;
}

.navigation {
  background: #486D94;
  text-align: center;
}

.navigation-list {
  position: relative;
  display: flex;
  width: 1100px;
  margin: 0 auto;
}

.navigation-list:before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 25px;
  width: 1px;
  height: 40px;
  background: #FFF;
}

.navigation-list li {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  background: url(/branch/images/icon_arrow_wh.png) no-repeat left 50% bottom 27px/auto 6px;
  text-align: center;
  font-weight: bold;
}

.navigation-list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px 0 45px;
  width: 100%;
  color: #FFF;
  font-size: 14px;
  text-decoration: none;
}

.navigation-list li:after {
  position: absolute;
  content: "";
  display: block;
  right: 0;
  top: 25px;
  width: 1px;
  height: 40px;
  background: #FFF;
}

/* .navigation-list {
  position: relative;
  display: table;
  width: 1100px;
  margin: 0 auto;
}

.navigation-list:before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 25px;
  width: 1px;
  height: 40px;
  background: #FFF;
}

.navigation-list li {
  position: relative;
  display: table-cell;
  width: 20%;
  vertical-align: middle;
  background: url(/branch/images/icon_arrow_wh.png) no-repeat left 50% bottom 27px/auto 6px;
  text-align: center;
  font-weight: bold;
}

.navigation-list li a {
  display: block;
  padding: 26px 0 45px;
  color: #FFF;
  font-size: 14px;
  text-decoration: none;
}

.navigation-list li:after {
  position: absolute;
  content: "";
  display: block;
  right: 0;
  top: 25px;
  width: 1px;
  height: 40px;
  background: #FFF;
} */

.content {
  margin-top: 100px;
}

.content-wrap {
  display: block;
  width: 1100px;
  margin: auto;
}

.content-headline {
  position: relative;
  margin-bottom: 50px;
  text-align: center;
  font-weight: bold;
  font-size: 36px;
  line-height: 1.6;
}

.content-headline:after {
  position: absolute;
  content: "";
  display: block;
  text-align: center;
  width: 32px;
  height: 3px;
  background-color: #486D94;
  bottom: -28px;
  left: 50%;
  margin-left: -15px;
}

.content-headline__wh {
  color: #FFF;
}

.content-headline__wh:after {
  background-color: #FFF;
}

.content-headline__shadow {
  text-shadow: 0px 0px 10px #486d94;
}

.content-headline-wrap {
  padding-top: 94px;
  padding-bottom: 20px;
}

.content-subline {
  margin-bottom: 50px;
  padding-bottom: 20px;
  color: #486D94;
  font-weight: bold;
  font-size: 28px;
  line-height: 1.6;
  border-bottom: 1px solid #486D94;
}

.content-subline .small {
  display: block;
  font-size: 16px;
}

.content-subline .label {
  display: inline-block;
  margin: -6px 0 0 2.2em;
  padding: 2px 5px;
  font-size: 13px;
  font-weight: bold;
  color: #FFF;
  background-color: #486D94;
  vertical-align: middle;
}

.content-img-set {
  margin-bottom: 33px;
}

.content-img-set:after {
  content: "";
  display: block;
  clear: both;
}

.content-img-box {
  position: relative;
  display: block;
  margin-right: 60px;
  float: left;
}

.content-img-box .img {
  width: 510px;
}

.content-img-box .img img {
  width: 100%;
  height: auto;
}

.content-img-box .bnr {
  position: absolute;
  top: 16px;
  left: -16px;
}

.content-txt-box {
  display: block;
}

.content-txt-box .txt {
  font-size: 16px;
  line-height: 2;
}

.content-txt-box .txt__wh {
  color: #FFF;
}

.content-txt-box .txt__shadow {
  text-shadow: 0px 0px 10px #486d94;
}

.content-txt-box .txt__center {
  text-align: center;
}

.content-txt-box .txt em {
  color: #486D94;
  font-weight: bold;
}

.content-txt-note {
  font-size: 10px;
  margin-top: 7px;
}

.content-txt-note-right {
  text-align: right;
}

.content-ttl-main {
  font-size: 32px;
  margin-bottom: 32px;
  line-height: 1.4;
}

.content-msg {
  background-color: #F9F5E4;
  padding: 25px;
  text-align: center;
  font-size: 22px;
  color: #A08046;
  font-weight: bold;
}

.content-msg sup {
  font-size: 10px;
}

.parallax {
  width: 100%;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .parallax {
    background-attachment: fixed;
  }
}

.parallax__fix {
  min-height: 500px;
}

.parallax-ttl {
  background-image: url(/branch/images/cont_ttl_bg.png);
  background-color: #9fb6cc;
}

.brand .content-wrap {
  margin-top: -500px;
}

.brand .content-txt-box {
  margin-bottom: 40px;
}

.brand-area {
  position: relative;
  float: left;
  width: 440px;
	margin: 60px 0 70px;
  background: url(/branch/images/brand_bg.png) no-repeat 50% #486D94;
  padding: 40px 40px 60px;
}

.brand-area h3 {
  background: #FFF;
  padding: 12px;
  font-size: 24px;
  font-weight: bold;
  color: #486D94;
  text-align: center;
}

.brand-area ul {
  display: block;
  margin-top: 40px;
}

.brand-area ul li {
  overflow: hidden;
  margin-top: 40px;
}

.brand-area ul li .img {
  float: left;
  width: 100px;
}

.brand-area ul li p {
  float: right;
  width: 310px;
  font-size: 14px;
  font-weight: bold;
  color: #FFF;
  margin-top: 24px;
}

.brand-area ul li p strong {
  line-height: 1.9;
  font-size: 25px;
}

.brand-area ul li p strong.en {
  font-size: 30px;
}

.brand-area ul li:nth-child(2) p {
  margin-top: 0;
}

.brand-area ul li:nth-child(2) p strong {
  margin-right: 0;
}

.brand-area ul li:nth-child(3) p {
  margin-top: 20px;
}

.brand-area ul li:nth-child(3) p strong {
  line-height: 1.2;
}

.brand-area:after {
  position: absolute;
  content: "×";
  width: 50px;
  height: 50px;
  font-size: 70px;
  font-weight: bold;
  color: #486D94;
  top: 180px;
  right: -45px;
}

.brand .support-area {
  float: right;
  margin: 60px 0 70px;
  width: 440px;
  background: url(/branch/images/sapporo_support_bg.png) no-repeat 61% 180px #B6B694;
  padding: 40px 40px 60px;
}

.brand .support-area h3 {
  background: #FFF;
  padding: 12px;
  font-size: 24px;
  font-weight: bold;
  color: #B6B694;
  text-align: center;
}

.brand .support-area ul {
  display: block;
  margin-top: 40px;
}

.brand .support-area ul li {
  overflow: hidden;
  margin-top: 40px;
}

.brand .support-area ul li .img {
  float: left;
  width: 100px;
}

.brand .support-area ul li p {
  float: right;
  width: 310px;
  font-size: 14px;
  font-weight: bold;
  color: #FFF;
  margin-top: 20px;
}

.brand .support-area ul li p strong {
  line-height: 1.6;
  font-size: 26px;
}

.brand .support-area ul li:nth-child(2) p {
  margin-top: 16px;
}

.brand .support-area ul li:nth-child(2) p strong {
  line-height: 1.9;
}

.brand .support-area2 {
  position: relative;
  background: #B6B694;
}

.brand .support-area2 .bg-img {
  position: absolute;
  bottom: 60px;
  left: 0;
  right: 0;
}

.brand .content-msg {
  clear: both;
  padding: 53px 0 58px;
}

.brand .content-msg p {
  font-weight: normal;
  font-size: 20px;
}

.brand .content-msg p em {
  font-size: 24px;
}

.brand .content-msg p.mini {
  margin-top: 15px;
  font-weight: bold;
  font-size: 16px;
}

.brand .content-txt-note {
  margin-top: 10px;
}

.closeup {
  position: relative;
  background-color: #E0E0E0;
  padding: 70px 0;
  overflow: hidden;
}

.closeup:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 40px 0 40px;
  border-color: #E0E0E0 transparent transparent transparent;
  top: 70px;
  left: 50%;
  margin-left: -40px;
}

.closeup-area {
  padding-bottom: 85px;
  border-radius: 6px;
  background-color: #FFF;
  position: relative;
}

.closeup .content-area {
  width: 480px;
}

.closeup .content-area:nth-child(even) {
  float: left;
}

.closeup .content-area:nth-child(odd) {
  float: right;
}

.closeup .content-area .img {
  margin-bottom: 5px;
}

.closeup .content-area .txt {
  font-size: 14px;
}

.accordion-head-area {
  position: relative;
  padding: 38px 50px 12px;
}
.accordion-head-area::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 40px 0 40px;
  left: 50%;
  top: 0;
  margin-left: -40px;
  border-color: #e0e0e0 transparent transparent transparent;
}

.accordion-head-area h2 {
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #486D94;
}

.accordion-head-area h3 {
  text-align: center;
  font-size: 16px;
}

.accordion-head-area h3 strong {
  display: block;
  margin-top: 6px;
  font-size: 20px;
}

.accordion-head-area.open:after {
  -webkit-transition: all 3ms 0s ease;
  -o-transition: all 3ms 0s ease;
  transition: all 3ms 0s ease;
  background-image: url(/branch/images/icon_arrow_acc_close.png);
}

.accordion-btn-area {
  position: absolute;
  left: 50%;
  bottom: 50px;
  margin-left: -80px;
  cursor: pointer;
  width: 160px;
  padding: 5px 0;
  background-color: #000;
  border-radius: 6px;
  color: #FFF;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
}

.accordion-btn-area:hover {
  opacity: 0.5;
}

.accordion-btn-area:before {
  content: "続きを読む";
}

.accordion-btn-area:after {
  content: "";
  position: absolute;
  display: block;
  right: 10px;
  top: 50%;
  width: 15px;
  height: 9px;
  margin-top: -5px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/branch/images/icon_arrow_acc_open_wh.png);
}

.accordion-btn-area.is-show:before {
  content: "閉じる";
}

.accordion-btn-area.is-show:after {
  background-image: url(/branch/images/icon_arrow_acc_close_wh.png);
}

.accordion-txt-area {
  padding: 12px 50px 10px;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.6;
}

.accordion-txt-area.is-hide {
  height: 4.5em;
  position: relative;
}

.accordion-txt-area.is-hide:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  bottom: 0;
  height: 30px;
  background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 80%);
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 80%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.9)), color-stop(50%, rgba(255, 255, 255, 0.9)), color-stop(80%, #fff));
  background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 80%);
  background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 80%);
}

.accordion-txt-area.open {
  display: block;
}

.accordion-txt-area p {
  margin-bottom: 20px;
}

.accordion-txt-area h4 {
  margin-bottom: 17px;
  font-size: 14px;
}

.guide {
  margin-top: 0;
  padding-top: 100px;
}

.guide .content-headline {
  margin-bottom: 72px;
}

.guide .content-headline:after {
  bottom: -25px;
}

.guide-set {
  overflow: hidden;
  margin-bottom: 92px;
}

.guide-set.feature .content-area {
  float: left;
  width: 580px;
}

.guide-set.feature .content-area ul {
  overflow: hidden;
  display: block;
  margin: -30px 0 0 -20px;
}

.guide-set.feature .content-area ul li {
  float: left;
  width: 180px;
  margin: 30px 0 0 20px;
}

.guide-set.feature .content-area ul li img {
  width: 100%;
  height: auto;
}

.guide-set.feature .content-area ul li .ttl {
  background: #B6B694;
  border-radius: 30px;
  margin-bottom: 10px;
  padding: 8px 0;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  color: #FFF;
}

.guide-set.feature .content-area ul li .ttl-min {
  font-size: 13px;
}

.guide-set.feature .content-area ul li .text {
  margin-top: 3px;
  font-size: 14px;
  line-height: 1.4;
}

.guide-set.feature .content-area ul li .text small {
  font-size: 10px;
}

.guide-set.feature .f-img {
  float: right;
  width: 480px;
  margin-right: -20px;
}

.guide-set.feature .f-img img {
  width: 100%;
  height: auto;
}

.guide-set.member {
  margin-bottom: 86px;
}

.guide-set.member .content-area {
  float: right;
  width: 580px;
}

.guide-set.member .content-area .member-list {
  overflow: hidden;
  display: block;
  margin: -22px 0 0 -20px;
}

.guide-set.member .content-area .member-list-item {
  float: left;
  width: 240px;
  margin: 20px 0 0 20px;
  padding: 20px 20px 24px;
  background: #E0E0E0;
}

.guide-set.member .content-area .member-list-item .img {
  float: left;
  width: 40px;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
}

.guide-set.member .content-area .member-list-item .img img {
  display: block;
  margin: 0 0 6px;
  width: 100%;
  height: auto;
}

.guide-set.member .content-area .member-list-item .txt {
  float: right;
  width: 176px;
  margin-top: -1px;
  font-size: 14px;
  line-height: 1.4;
}

.guide-set.member .content-area .member-list-item .txt li {
  position: relative;
  text-indent: -1em;
}

.guide-set.member .content-area .member-list-item .txt li:before {
  content: "・";
}

.guide-set.member .f-img {
  float: left;
  width: 480px;
}

.guide-set.member .f-img img {
  width: 100%;
  height: auto;
}

.guide-set.address {
  margin-bottom: 85px;
}

.guide-set.address .content-area {
  float: left;
  width: 580px;
  background: url(/branch/images/sapporo_address_bg01.png) no-repeat 50% 140px;
  padding-bottom: 200px;
}

.guide-set.address .content-area .text {
  position: relative;
  z-index: 1;
  margin: -4px 0 1.6em;
  font-size: 16px;
}

.guide-set.address .f-img {
  float: right;
  width: 480px;
  margin-right: -20px;
}

.guide-set.address .f-img img {
  width: 100%;
  height: auto;
}

.guide-set.address.address2 .content-area {
  background: none;
}

.guide-set.address.address2 .wrapper {
  position: relative;
}

.guide-set.address.address2 .wrapper .img {
  position: absolute;
  top: 0;
}

.guide-set.shop {
  padding-top: 85px;
  margin-top: -85px;
  margin-bottom: 40px;
}

.guide-set.shop .content-area {
  float: right;
  width: 580px;
}

.guide-set.shop .content-area table {
  width: 100%;
  border-top: 1px solid #E0E0E0;
}

.guide-set.shop .content-area table th {
  border: none;
  border-bottom: 1px solid #E0E0E0;
  padding: 18px 0 20px;
  vertical-align: top;
  color: #486D94;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  width: 110px;
}

.guide-set.shop .content-area table td {
  border: none;
  border-bottom: 1px solid #E0E0E0;
  padding: 16px 0 20px;
  vertical-align: top;
  font-size: 16px;
  line-height: 1.65;
}

.guide-set.shop .content-area table td .note {
  display: block;
  margin-top: 10px;
  font-size: 12px;
}

.guide-set.shop .map-area {
  float: left;
  width: 460px;
}

.guide-set.shop .map-area .btn a {
  display: block;
  width: 300px;
  background: url(/branch/images/icon_arrow_right_wh.png) no-repeat right 10px top 50% #000;
  margin: 20px auto;
  padding: 8px 0;
  color: #FFF;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

.guide-set.intro {
  margin-bottom: 105px;
}

.guide-set.intro .ttl {
  background: #B6B694;
  border-radius: 30px;
  margin-bottom: 25px;
  padding: 2px 0;
  text-align: center;
  font-size: 16px;
  color: #FFF;
}

.guide-set.intro .text {
  margin-bottom: 28px;
  font-size: 16px;
}

.guide-set.intro .text .note {
  display: block;
  margin-top: 15px;
  font-size: 12px;
}

.guide-set.intro .img-list {
  display: block;
  overflow: hidden;
  margin-left: -10px;
}

.guide-set.intro .img-list li {
  float: left;
  width: 360px;
  margin-left: 10px;
}

.guide-set.intro .img-list li figure {
  margin: 0;
}

.guide-set.intro .img-list li figcaption {
  margin-top: 3px;
}

.guide-set.intro .img-list li figcaption.text {
  font-size: 12px;
}

.guide-set.intro .img-list li img {
  width: 100%;
  height: auto;
}

.news {
  display: block;
  text-align: center;
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/branch/images/news_bg.png);
}

.area_news {
  background-image: none;
}

.news .content-wrap {
  padding: 68px 0 74px;
}

.news .content-wrap h3 {
  margin-bottom: 2px;
  font-size: 18px;
  font-weight: bold;
  color: #486D94;
}

.news .content-wrap h4 {
  margin-bottom: 40px;
  font-size: 16px;
  font-weight: normal;
  color: #486D94;
}

.news .content-wrap .facebook-area .fb-page {
  border: 5px solid #FFF;
}

.cc-intro {
  margin-top: -80px;
  padding-top: 80px;
}

.cc-intro .content-headline-wrap {
  padding-top: 84px;
  padding-bottom: 28px;
}

.cc-intro .content-headline:after {
  bottom: -26px;
}

.cc-intro .content-wrap {
  margin-top: 76px;
}

.cc-intro .greeting .txt-area {
  overflow: hidden;
}

.cc-intro .greeting .txt-area .img {
  float: left;
  width: 200px;
}

.cc-intro .greeting .txt-area .img img {
  width: 100%;
  height: auto;
}

.cc-intro .greeting .txt-area .txt {
  float: right;
  width: 850px;
}

.cc-intro .greeting .txt-area .txt span {
  display: block;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.65;
}

.cc-intro .greeting .txt-area .txt span:nth-child(2) {
  font-size: 18px;
}

.cc-intro .greeting .txt-area .txt .txt {
  margin-top: 25px;
  font-size: 16px;
}

/*
 greeting-inner
*/
.cc-intro .greeting-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 100px;
}
.cc-intro .greeting-wrap .greeting {
  width: 100%;
}
.cc-intro .greeting-wrap .greeting .greeting-inner {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.cc-intro .greeting-wrap .greeting .greeting-inner__main:after {
  content: "";
  display: block;
  clear: both;
}
.cc-intro .greeting-wrap .greeting .greeting-inner__main.txt-area {
  width: 660px;
}
.cc-intro .greeting-wrap .greeting .greeting-inner__main.txt-area > .txt,
.cc-intro .greeting-wrap .greeting .greeting-inner__main.txt-area > .txt .txt {
  width: 410px;
}
.cc-intro .greeting-wrap .greeting .greeting-inner__sub.txt-area > .txt,
.cc-intro .greeting-wrap .greeting .greeting-inner__sub.txt-area > .txt .txt {
  float: none;
  width: 360px;
}


.cc-comment {
  margin-top: 72px;
  overflow: hidden;
}

.cc-comment .cc-list {
  float: left;
  width: 770px;
  margin-left: -50px;
}

.cc-comment .cc-list li {
  float: left;
  width: 320px;
  margin: 0 0 32px 50px;
}
/* 3列を2列に */

.cc-comment .cc-list02 {
 display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.cc-comment .cc-list02 li {
  width: 520px;
  margin: 0 0 32px 0;
}
.cc-comment .cc-list02 li img{
  max-width: 100%;
}
/**/

.cc-comment .cc-list li h4,
.cc-comment .cc-list02 li h4 {
  border-radius: 30px;
  background: #B6B694;
  padding: 2px 0;
  font-size: 15px;
  color: #FFF;
  text-align: center;
}

.cc-comment .cc-list li .txt,
.cc-comment .cc-list02 li .txt {
  margin-top: 14px;
  line-height: 1.65;
  font-size: 16px;
}

.cc-comment .img-list {
  float: right;
}

.cc-comment .img-list li {
  width: 360px;
}

.cc-comment .img-list li img {
  width: 100%;
  height: auto;
}

.voice {
  margin-top: -80px;
  /* margin-top: 30px; */
  display: block;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/branch/images/voice_bg.png);
  border-top: 80px solid rgba(255, 255, 255, 0);
}

.voice .content-wrap {
  padding: 70px 0 40px;
}

.voice-list {
  margin-left: -40px;
  padding-top: 26px;
  overflow: hidden;
}

.voice-list li {
  float: left;
  width: 530px;
  margin-bottom: 40px;
  margin-left: 40px;
  background: #FFF;
}

.voice-list li h3 {
  position: relative;
  background: #486D94;
  padding: 17px 0;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #FFF;
}

.voice-list li h3:before {
  position: absolute;
  content: "";
  display: block;
  left: 25px;
  top: 10px;
  width: 36px;
  height: 36px;
}

.voice-list li h3.man:before {
  background: url(/branch/images/voice_icon02.png) no-repeat 0 0;
  background-size: cover;
}

.voice-list li h3.woman:before {
  background: url(/branch/images/voice_icon01.png) no-repeat 0 0;
  background-size: cover;
}

.voice-list li .midstream {
  background-color: #8E8E62;
}

.voice-main-area {
  padding: 23px 24px 32px;
}

.voice-main-area .status-area {
  overflow: hidden;
}

.voice-main-area .status-area .status-base {
  float: left;
  font-weight: bold;
}

.voice-main-area .status-area .valuation {
  float: right;
}

.voice-main-area .status-area .valuation .star {
  position: relative;
  font-weight: bold;
}

.voice-main-area .status-area .valuation .star:after {
  position: static;
  content: "";
  display: inline-block;
  width: 70px;
  height: 12px;
  background: url(/branch/images/icon_star.png) no-repeat 0 0;
  background-size: cover;
  overflow: hidden;
}

.voice-main-area .status-area .valuation .star.four:after {
  background-position: -14px 0;
}

.voice-main-area .status-area .valuation .star.three:after {
  background-position: -28px 0;
}

.voice-main-area .txt {
  margin-top: 16px;
  height: 6.3em;
  font-size: 14px;
  line-height: 1.6;
}

.voice-main-area .comment-area {
  margin-top: 23px;
  background: url(/branch/images/sapporo_voice_icon03.png) no-repeat 1px 34px;
  background-size: 40px 40px;
}

.voice-main-area .comment-area h4 {
  position: relative;
  font-weight: bold;
  color: #8E8E62;
}

.voice-main-area .comment-area h4:after {
  position: absolute;
  content: "";
  display: block;
  right: 0;
  top: 9px;
  width: 385px;
  height: 1px;
  background: #E0E0E0;
}

.voice-main-area .comment-area .txt {
  position: relative;
  margin-left: 55px;
  background: #F0F0E9;
  border-radius: 10px;
  padding: 6px 16px 14px;
}

.voice-main-area .comment-area .txt:before {
  position: absolute;
  top: 20px;
  left: -12px;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent #f0f0e9 transparent transparent;
}

.voice-main-area .comment-area.comment-area2 {
  background: none;
}

.voice-main-area .comment-area.comment-area2 h4 {
  margin-bottom: 15px;
}

.voice-main-area .comment-area.comment-area2 h4 span {
  position: relative;
  z-index: 1;
  padding-right: 1.5em;
  background: #FFF;
}

.voice-main-area .comment-area.comment-area2 h4:after {
  width: 100%;
}

.voice-main-area .comment-area.comment-area2 .wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.voice-main-area .comment-area.comment-area2 .img {
  position: relative;
  padding-right: 15px;
}

.voice-main-area .comment-area.comment-area2 .img::after {
  position: absolute;
  content: "";
  top: 20px;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent #f0f0e9 transparent transparent;
}

.voice-main-area .comment-area.comment-area2 .img img {
  width: 40px;
  height: auto;
}

.voice-main-area .comment-area.comment-area2 .txt {
  margin-left: 0;
  padding: 10px 16px;
  margin-top: 0;
}

.voice-main-area .comment-area.comment-area2 .txt:before {
  content: none;
}

.firststep {
  margin-top: 0;
}

.firststep .content-headline-wrap {
  padding-top: 86px;
  padding-bottom: 27px;
}

.firststep .content-wrap {
  margin-top: 76px;
  overflow: hidden;
}

.firststep .content-area {
  float: left;
  width: 580px;
  margin-top: -2px;
}

.firststep .content-area .txt {
  margin-bottom: 1.8em;
  font-size: 16px;
  line-height: 1.6;
}

.firststep .content-area .link-list {
  margin-top: 44px;
  overflow: hidden;
}

.firststep .content-area .link-list li {
  float: left;
  width: 320px;
}

.firststep .content-area .link-list li h4 {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: bold;
  color: #486D94;
}

.firststep .content-area .link-list li a {
  display: block;
  height: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.firststep .content-area .link-list li:nth-child(1) a {
  position: relative;
  background: #C51F10;
  padding: 16px 0 0 20px;
  color: #FFF;
  text-decoration: none;
}

.firststep .content-area .link-list li:nth-child(1) a:before {
  position: absolute;
  content: "";
  display: block;
  background: url(/branch/images/branch_icon_res.png) no-repeat 0 0;
  left: 40px;
  top: 16px;
  width: 18px;
  height: 30px;
}

.firststep .content-area .link-list li:nth-child(1) a:after {
  position: absolute;
  content: "";
  display: block;
  background: url(/branch/images/icon_arrow_right_wh.png) no-repeat 0 0;
  right: 10px;
  top: 25px;
  width: 6px;
  height: 11px;
}

.firststep .content-area .link-list li p {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 60px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.firststep .img {
  float: right;
  width: 460px;
}

.security {
  margin-top: 102px;
}

.security .content-headline-wrap {
  padding-top: 86px;
  padding-bottom: 26px;
}

.security .content-wrap {
  margin-top: 78px;
}

.security .content-area {
  float: right;
  width: 580px;
  margin-top: -2px;
}

.security .content-area .txt {
  margin-bottom: 1.7em;
  font-size: 16px;
  line-height: 1.6;
}

.security .content-area .note {
  margin-top: -2px;
  font-size: 10px;
}

.security .img-security {
  float: left;
  width: 460px;
}

.security .img-security img {
  width: 100%;
  height: auto;
}

.security .network {
  clear: both;
  padding-top: 47px;
}

.security .network h4 {
  background: #B6B694;
  border-radius: 30px;
  margin-bottom: 29px;
  padding: 4px 0;
  text-align: center;
  font-size: 15px;
  color: #FFF;
}
/* 追加　地図部分をbranch/css/style.cssからコーディング追加 */

.map_box{
  position:relative;
  margin-bottom:60px;
  border: 1px solid #ccc;
}

.map_box .area{
  position:absolute;
  text-align:left;
  font-size:15px;
}
.map_box .hokaido{top:45px; left:553px;}
.map_box .tohoku{top:154px; left:875px;}
.map_box .kanto{top:294px; left:799px;}
.map_box .tokyo{top:507px; left:799px;}
.map_box .chubu{top:583px; left:372px;}
.map_box .kansai{top:233px; left:315px;}
.map_box .chugoku{top:344px; left:95px;}
.map_box .kyushu{top:557px; left:95px;}
.map_box .area h3{
  font-size:18px;
  font-weight:bold;
  line-height:1;
  margin-bottom:24px;
}
.map_box .area h3 a{
  color:#a3762b;
  text-decoration:none;
}
.map_box .area h3 a:hover{
  color:#a3762b;
  text-decoration:none;
}
.map_box .i_new{
  color: #fff;
  background-color: #e1200f;
  padding: 2px 4px;
  font-size: 10px;
  margin: 0 4px;
}
.map_box .i_day{
  color: #e1200f;
  font-size: 10px;
}
/* END　地図部分をコーディング */
.plan {
  margin-top: 20px;
  padding-top: 80px;
  margin-bottom: 100px;
}

.plan .content-headline-wrap {
  padding-top: 85px;
  padding-bottom: 27px;
}

.plan .content-wrap {
  margin-top: 78px;
}

.plan .txt {
  font-size: 16px;
}

.plan table {
  width: 100%;
  margin: 28px 0 10px;
}

.plan table th {
  background: #486D94;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  width: 188px;
  padding: 11px;
}

.plan table tr:nth-child(1) th:nth-child(1) {
  width: 450px;
}

.plan table td {
  padding: 25px 28px 30px;
  font-size: 16px;
  width: 154px;
}

.plan table td .course {
  display: block;
  margin-bottom: 7px;
  font-size: 20px;
  font-weight: bold;
  color: #486D94;
}

.plan table td .price {
  display: block;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}

.plan table tr:nth-child(1) td:nth-child(1) {
  width: 416px;
}

.plan table .need {
  padding-left: 48px;
  width: 130px;
  font-size: 18px;
  font-weight: bold;
}
.plan table .need .price {
  text-align: left;
}

.plan table .need .price:nth-child(2) {
  margin-bottom: 30px;
}
.plan table tr:last-child td{
  padding: 25px 15px 30px;
}
.plan table tr:last-child td:first-of-type{
  padding: 25px 28px 30px;
}
.plan table .gray_premium td{
  opacity: 0.5;
  background-color: #dfdfdf
}
.plan .note {
  margin-bottom: 27px;
  font-size: 10px;
  text-align: right;
}

.plan .price-body h3 {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: bold;
}

.plan .price-body .txt {
  font-size: 14px;
  line-height: 1.45;
}

.plan .plan {
  margin-top: 70px;
}

.plan .plan .content-subline {
  margin-bottom: 46px;
}

.plan .plan .bnr {
  overflow: hidden;
  width: 754px;
  margin: 46px auto 0;
}

.plan .plan .bnr li {
  font-size: 0;
  float: left;
  width: 348px;
  margin-left: 28px;
}
.plan .plan.premium .bnr{
  justify-content: center;
  display: flex;
  margin: 46px auto 0;
}
/*.plan .plan.premium .bnr{
  width: auto;
  margin: 46px auto 0 -28px;
}*/
.plan .plan.premium .bnr li {
  width: 537px;
  margin-left: 27px;
}
.plan .plan .bnr li img {
  width: 100%;
  height: auto;
}

.plan .plan .bnr li a {
  display: block;
}

.coming .content-headline-wrap {
  padding-top: 85px;
  padding-bottom: 27px;
}

.coming .content-wrap {
  margin-top: 76px;
}

.coming .content-subline span {
  display: inline-block;
  background: #486D94;
  margin-left: 30px;
  padding: 3px 6px;
  color: #FFF;
  font-size: 13px;
  text-align: center;
  vertical-align: 7px;
}

.coming .txt {
  font-size: 16px;
}

.coming .flow-list {
  margin: 46px 0 0 -40px;
  overflow: hidden;
}

.coming .flow-list li {
  position: relative;
  float: left;
  width: 340px;
  margin-left: 40px;
}

.coming .flow-list li:after {
  position: absolute;
  content: "";
  display: block;
  top: 65px;
  right: -30px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 20px 15px;
  border-color: transparent transparent transparent #e0e0e0;
}

.coming .flow-list li img {
  width: 100%;
  height: auto;
}

.coming .flow-list li h4 {
  display: table;
  position: relative;
  margin: 18px 0 15px;
  font-size: 16px;
  font-weight: bold;
  padding-left: 40px;
}

.coming .flow-list li h4:before {
  display: table-cell;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #B6B694;
  border-radius: 30px;
  width: 30px;
  height: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.coming .flow-list li h4:after {
  display: table-cell;
  position: absolute;
  width: 30px;
  top: 0;
  left: 0;
  color: #FFF;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  margin-top: 2px;
}

.coming .flow-list li:nth-child(1) h4:after {
  content: "1";
}

.coming .flow-list li:nth-child(2) h4:after {
  content: "2";
}

.coming .flow-list li:nth-child(3) h4:after {
  content: "3";
}

.coming .flow-list li .note {
  margin-top: 17px;
}

.bnr-conv {
  position: fixed;
  right: 0;
  bottom: 30px;
  font-size: 0;
  z-index: 9999;
}

.bnr-conv a {
  display: block;
  margin-bottom: 1px;
}

/* =================================
opencampaign
================================= */
.opencampaign-msg {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #A08046;
  line-height: 1.4;
}
.opencampaign-msg em {
  font-size: 28px;
}
.opencampaign-msg em.msg-en {
  font-size: 31px;
}
.opencampaign-msg .msg-sup {
  font-size: 14px;
  font-weight: normal;
  vertical-align: super;
}
.opencampaign-area {
  display: block;
  padding: 50px 0 0;
  box-sizing: border-box;
  /*background-color: #F9F5E4;*/
}
.opencampaign-area .title {
  margin: 0 auto;
  text-align: center;
  font-size: 36px;
  line-height: 1.6;
  color: #ba0d2e;
}
.opencampaign-area .title span {
  color: #ba0d2e;
}
.opencampaign-area .image {
  margin: 10px 0;
  text-align: center;
  max-width: 100%;
}
.opencampaign-area .image img {
  max-width: 100%!important;
}
.opencampaign-area .lead {
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
}
.opencampaign-area .lead em {
  font-weight: bold;
}
.opencampaign-area .lead em.txt__blue {
  color: #486D94;
}
.opencampaign-area .d-box {
    padding: 2em 6em;
    margin: 0;
    border: double 5px #957c37;
}
.opencampaign-contact-wrap {
  margin-top: 80px;
}
.opencampaign-contact__header {
  position: relative;
  padding-bottom: 40px;
  margin-bottom: 52px;
  border-bottom: 1px solid #A08046;
}
.opencampaign-contact__header::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -24px;
  left: 50%;
  width: 48px;
  height: 24px;
  margin-left: -24px;
  background-image: url(/branch/images/icon_arrow_camgpain_contact.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.opencampaign-contact__header .title {
  margin-bottom: 5px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6;
  color: #A08046;
}
.opencampaign-contact__list {
  display: flex;
  justify-content: space-between;
}
.opencampaign-contact__list .list-item {
  width: 48.18%;
  border: 1px solid #A08046;
}
.opencampaign-contact__list .list-item .title {
  padding: 7px 0;
  color: #fff;
  background-color: #A08046;
  font-size: 16px;
  text-align: center;
}
.opencampaign-contact__list .list-item-content {
  padding: 20px;
}
.opencampaign-contact__list .list-item .txt-area {
  display: flex;
  align-items: center;
  font-size: 18px;
  line-height: 1.6;
}
.opencampaign-contact__list .list-item .txt-area .img {
  margin-right: 20px;
}
.opencampaign-contact__list .list-item .btn-list {
  margin-top: 20px;
}
.opencampaign-contact__list .list-item .btn-list .btn a {
  position: relative;
  display: block;
  padding: 17px 20px;
  box-sizing: border-box;
  background-color: #C51F10;
  color: #fff;
  font-weight: bold;
  font-size: 22px;
  text-align: center;
  text-decoration: none;
}
.opencampaign-contact__list .list-item .btn-list .btn a::before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: 20px;
  margin-top: -5px;
  background-image: url(/branch/images/icon_arrow_right_wh.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 6px;
  height: 11px;
}
.opencampaign-contact__list .list-item .btn-list .btn a span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.opencampaign-contact__list .list-item .btn-list .btn a span::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: cover;
  margin-right: 20px;
}
.opencampaign-contact__list .list-item .btn-list .btn a span.online::before {
  width: 24px;
  height: 24px;
  background-image: url(/branch/images/brand_icon_online_w.png);
}
.opencampaign-contact__list .list-item .btn-list .btn a span.reserve::before {
  width: 18px;
  height: 30px;
  background-image: url(/branch/images/branch_icon_res.png);
}
.opencampaign-contact__tel {
  display: flex;
  align-items: center;
  margin: 40px auto 0;
  width: 720px;
  border: 1px solid #A08046;
}
.opencampaign-contact__tel .title {
  width: 50%;
  padding: 20px;
  color: #fff;
  background-color: #A08046;
  font-size: 16px;
  text-align: center;
  box-sizing: border-box;
}
.opencampaign-contact__tel .tel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  width: 50%;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 25px;
}
.opencampaign-contact__tel .tel::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  background-image: url(/branch/images/brand_icon_freecall_w.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 31px;
  height: 24px;
}


/* =================================
mainvisual-slide-bnr
================================= */
.mainvisual-slide-bnr {
  display: block;
  position: absolute;
  bottom: 20px;
  right: 40px;
  z-index: 1;
}
.mainvisual-slide-bnr a {
  position: relative;
  display: flex;
  padding: 8px 40px 8px 20px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 35px;
  text-decoration: none;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
}
.mainvisual-slide-bnr a::before, .mainvisual-slide-bnr a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  vertical-align: middle;
}
.mainvisual-slide-bnr a::before {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #C51F10;
}
.mainvisual-slide-bnr a::after {
  top: -2px;
  right: 21px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(135deg);
}
.mainvisual-slide-bnr a .bnr-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #C51F10;
}
.mainvisual-slide-bnr a .bnr-inner .txt {
  display: block;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.3;
}
.mainvisual-slide-bnr a .bnr-inner .txt__small {
  display: block;
  font-size: 13px;
}
.mainvisual-slide-bnr a .bnr-inner .txt__small em {
  font-size: 18px;
}

/* =================================
greeting-wrap
================================= */
.greeting-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 100px;
}
.greeting-wrap .greeting__main {
  width: 660px;
}
.greeting-wrap .greeting__main .txt-area .txt {
  width: 410px;
}
.greeting-wrap .greeting__sub {
  width: 360px;
}
.greeting-wrap .greeting__sub .txt-area .txt {
  float: none;
  width: auto;
}

.page-branch .about-info td small a {
    font-size: 11px;
		color: #000;
}
.guide-set.shop .content-area table td .note a {
    display: block;
    font-size: 12px;
		color: #000;
}
.page-branch .campaign {
    width: 100%;
    margin: 25px auto 0;
    text-align: center;
}
#opencampaign {
    padding-top: 80px;
    margin-top: -80px;
  }
