@charset "UTF-8";
html, input {
  font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN',"Yu Gothic",Meiryo,sans-serif;
}

.box--2, .box--3, .box--4, .container {
  display: block;
}

.box, .cf, .container, article, footer, header {
  zoom: 1;
}

.audiojs p, .footer__backtoTop img {
  cursor: pointer;
}

.audiojs .time em, .box--info address, .contact address, em {
  font-style: normal;
}

* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body, html {
  min-width: 980px;
}

html {
  overflow: auto;
  background: #e60012;
}

body {
  overflow: hidden;
  position: relative;
  text-align: center;
  -webkit-text-size-adjust: 100%;
}

a {
  text-decoration: none;
  color: #000;
  transition: all .3s;
}

a:focus {
  outline: 0;
}

ul {
  padding-left: 0;
}

li {
  list-style-type: none;
}

h1, h2, h3, h4, h5, h6, p {
  margin-top: 0;
}

.pageTitle, .puShopType__list, .shopType__list, .supplementBnner__thum, dd, dl, dt {
  margin: 0;
  padding: 0;
}

.container__leadText, .container__title {
  font-weight: 300;
  font-family: 'Noto Sans Japanese',serif;
}

.globalWrapper {
  background: #fff;
}

.container {
  margin: 0 auto;
  width: 980px;
  color: #444;
}

.container__title {
  font-size: 187%;
  margin: 60px 0 80px;
  line-height: 1.25;
  letter-spacing: .25em;
  text-indent: .25em;
  position: relative;
  color: #444;
}

@media only screen and (max-width: 767px) {
  body, html {
    min-width: 100%;
  }
  .container {
    width: 100%;
  }
  .container__title {
    font-size: 125%;
    margin: 60px 0;
  }
}

.container__title::after {
  background: #e60012;
  content: "";
  width: 80px;
  height: 2px;
  display: block;
  position: absolute;
  bottom: -1em;
  left: 50%;
  margin-left: -40px;
}

.box--2, .box--3, .box--4, .button--hamburgerMenu, .container__leadText {
  position: relative;
}

@media only screen and (max-width: 767px) {
  .container__title span {
    font-size: 75%;
    display: block;
    margin: 0 0 .5em;
  }
}

.container__sectionTitle {
  background: url(../images/home/ourapproach_bg_patern_01.jpg);
  font-size: 94%;
  color: #E60012;
  line-height: 40px;
  text-align: left;
  margin: 0 auto 30px;
  padding-left: 12px;
  clear: both;
  width: 100%;
}

.container__sectionTitle + article {
  margin-bottom: 40px;
}

.container__contents {
  margin-bottom: 80px;
}

.container__leftCol, .container__rightCol {
  float: left;
}

.container__leadBox {
  margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
  .container__contents {
    margin-bottom: 40px;
  }
  .container__leadBox {
    width: 95%;
    margin: 0 auto 20px;
    text-align: left;
  }
}

.container__leadBox img {
  margin-bottom: 1em;
}

.container__leadBox p {
  margin-bottom: 0;
}

.container__leadText {
  margin: 0 0 40px;
  font-size: 138%;
  color: #F33;
}

@media only screen and (max-width: 767px) {
  .container__leadText {
    width: 95%;
    margin: 0 auto 20px;
  }
}

.box--2 {
  width: 50%;
  float: left;
}

.box--3 {
  width: 33.33333%;
  float: left;
}

.box--4 {
  width: 25%;
  float: left;
}

.box--info {
  border: 1px dashed #ccc;
  padding: 10px;
}

@media only screen and (max-width: 767px) {
  .box--info {
    width: 95%;
    margin: 0 auto;
    text-align: left;
  }
}

.box--info address {
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 125%;
}

.box--info p {
  margin: 0;
}

.emptyTrue {
  display: none;
  padding: 1em 0 0;
}

.header {
  background: #e60012;
}

.header__primaryCol {
  width: 980px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .header__primaryCol {
    width: 100%;
  }
}

.header__title {
  background: #fff;
  font-size: 1em;
  margin: 0 auto;
  width: 240px;
  height: 128px;
  line-height: 128px;
  overflow: hidden;
}

.header__title a {
  display: block;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .header__title {
    min-width: 248px;
    width: calc(100% - 72px);
    height: 64px;
    line-height: 64px;
    margin: 0;
    text-align: left;
  }
  .header__title a {
    width: 80px;
  }
}

.header__logo {
  width: 280px;
  margin: 0 0 0 -20px;
}

@media only screen and (max-width: 767px) {
  .header__logo {
    margin: 0 0 0 -40px;
    width: 160px;
    vertical-align: middle;
  }
}

.globalNavigation {
  color: #fff;
  font-size: 88%;
  width: 980px;
  height: 128px;
  margin: -128px auto 0;
}

.globalNavigation__wrapper {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .globalNavigation {
    width: 100%;
    height: auto;
    margin: 0;
  }
  .globalNavigation__wrapper {
    display: none;
    padding: 2.5% 0 0;
  }
}

.globalNavigation__item {
  float: left;
  position: relative;
  display: block;
  width: 120px;
  height: 128px;
}

@media only screen and (max-width: 767px) {
  .globalNavigation__item {
    width: 30%;
    height: 120px;
    background: 0 0;
    margin: 0 0 2.5%;
    box-shadow: 0 1px 0 #bb000e;
  }
  .globalNavigation__item:nth-of-type(1), .globalNavigation__item:nth-of-type(2), .globalNavigation__item:nth-of-type(4), .globalNavigation__item:nth-of-type(5) {
    margin-right: 2.5%;
  }
  .globalNavigation__item:nth-of-type(1) {
    margin-left: 2.5%;
  }
}

.globalNavigation__item:nth-of-type(4) {
  margin-left: 260px;
}

.globalNavigation__item:nth-of-type(1) .globalNavigation__link {
  background-image: url(../images/common/icon_gnavi_01_off.png);
}

@media only screen and (max-width: 767px) {
  .globalNavigation__item:nth-of-type(4) {
    margin-left: 2.5%;
  }
  .globalNavigation__item:nth-of-type(1) .globalNavigation__link {
    background-image: url(../images/common/icon_gnavi_01_on.png);
  }
}

.globalNavigation__item:nth-of-type(1) .globalNavigation__link:hover {
  background-image: url(../images/common/icon_gnavi_01_on.png);
}

.globalNavigation__item:nth-of-type(2) .globalNavigation__link {
  background-image: url(../images/common/icon_gnavi_02_off.png);
}

@media only screen and (max-width: 767px) {
  .globalNavigation__item:nth-of-type(2) .globalNavigation__link {
    background-image: url(../images/common/icon_gnavi_02_on.png);
  }
}

.globalNavigation__item:nth-of-type(2) .globalNavigation__link:hover {
  background-image: url(../images/common/icon_gnavi_02_on.png);
}

.globalNavigation__item:nth-of-type(3) .globalNavigation__link {
  background-image: url(../images/common/icon_gnavi_03_off.png);
}

@media only screen and (max-width: 767px) {
  .globalNavigation__item:nth-of-type(3) .globalNavigation__link {
    background-image: url(../images/common/icon_gnavi_03_on.png);
  }
}

.globalNavigation__item:nth-of-type(3) .globalNavigation__link:hover {
  background-image: url(../images/common/icon_gnavi_03_on.png);
}

.globalNavigation__item:nth-of-type(4) .globalNavigation__link {
  background-image: url(../images/common/icon_gnavi_04_off.png);
}

@media only screen and (max-width: 767px) {
  .globalNavigation__item:nth-of-type(4) .globalNavigation__link {
    background-image: url(../images/common/icon_gnavi_04_on.png);
  }
}

.globalNavigation__item:nth-of-type(4) .globalNavigation__link:hover {
  background-image: url(../images/common/icon_gnavi_04_on.png);
}

.globalNavigation__item:nth-of-type(5) .globalNavigation__link {
  background-image: url(../images/common/icon_gnavi_05_off.png);
}

@media only screen and (max-width: 767px) {
  .globalNavigation__item:nth-of-type(5) .globalNavigation__link {
    background-image: url(../images/common/icon_gnavi_05_on.png);
  }
}

.globalNavigation__item:nth-of-type(5) .globalNavigation__link:hover {
  background-image: url(../images/common/icon_gnavi_05_on.png);
}

.globalNavigation__item:nth-of-type(6) .globalNavigation__link {
  background-image: url(../images/common/icon_gnavi_06_off.png);
}

.globalNavigation__item:nth-of-type(6) .globalNavigation__link:hover {
  background-image: url(../images/common/icon_gnavi_06_on.png);
}

.globalNavigation__link {
  color: #fff;
  display: block;
  text-align: center;
  width: 120px;
  height: 128px;
  overflow: hidden;
  background-position: center 18px;
  background-repeat: no-repeat;
  background-color: #e60012;
  margin: 0;
}

.globalNavigation__link:hover {
  background-color: #fff;
  color: #e60012;
}

.globalNavigation__link span {
  display: block;
  margin-top: 79px;
}

@media only screen and (max-width: 767px) {
  .globalNavigation__item:nth-of-type(6) .globalNavigation__link {
    background-image: url(../images/common/icon_gnavi_06_on.png);
  }
  .globalNavigation__link {
    width: 100%;
    height: 100%;
    background-color: #fff;
    color: #e60012;
    border-radius: 10px;
    background-position: center 20px;
  }
  .globalNavigation__link span {
    margin-top: 80px;
    margin-bottom: 19px;
    font-size: 94%;
    font-weight: 700;
    line-height: 1.1;
  }
}

.pageTitle, .pageTitle__corpoName {
  font-weight: 200;
  font-family: 'Noto Sans Japanese',serif;
}

.button--hamburgerMenu {
  display: none;
  background: #fff;
  width: 54px;
  height: 47px;
  cursor: pointer;
  transition: all .4s;
}

@media only screen and (max-width: 767px) {
  .button--hamburgerMenu {
    display: inline-block;
    position: absolute;
    top: 8px;
    right: 8px;
    border-radius: 5px;
  }
}

.button--hamburgerMenu span {
  display: inline-block;
  position: absolute;
  left: 12px;
  width: 31px;
  height: 4px;
  background-color: #e60012;
  transition: all .4s;
}

.mainVisual, .mainVisual--home {
  background: #f1f1f1;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.button--hamburgerMenu span:nth-of-type(1) {
  top: 14px;
}

.button--hamburgerMenu span:nth-of-type(2) {
  top: 22px;
}

.button--hamburgerMenu span:nth-of-type(3) {
  bottom: 13px;
}

.switch--pc {
  display: block;
}

.switch--sp {
  display: none;
}

.mainVisual {
  height: 320px;
  padding: 0;
  z-index: 0;
}

@media only screen and (max-width: 767px) {
  .switch--pc {
    display: none;
  }
  .switch--sp {
    display: block;
  }
  .mainVisual {
    height: 160px;
  }
}

.mainVisual--home {
  height: 423px;
  padding: 17px 0 20px;
}

.pageTitle {
  text-align: left;
  line-height: 1;
  position: relative;
  z-index: 2;
  font-size: 300%;
  color: #444;
  margin-top: 140px;
}

@media only screen and (max-width: 767px) {
  .mainVisual--home {
    height: auto;
  }
  .pageTitle {
    margin-top: 1.5em;
    margin-left: 1em;
    position: absolute;
    font-size: 200%;
  }
}

.pageTitle__corpoName {
  display: block;
  font-size: 50%;
  margin-top: -.5em;
  margin-bottom: .5em;
}

.pageTitle__lang {
  font-weight: 700;
  font-size: 62.5%;
  font-family: Montserrat,sans-serif;
}

.pageTitle br {
  display: none;
}

.fullsize {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  min-width: 1200px;
}

@media only screen and (max-width: 767px) {
  .pageTitle br {
    display: inline;
  }
  .fullsize {
    position: static;
    width: 50%;
    min-width: 767px;
  }
  .breadcrumbs {
    display: none;
  }
}

.breadcrumbs {
  text-align: left;
  border-bottom: solid 1px #eee;
  background: #fff;
  position: relative;
  top: 0;
  margin: 0;
  width: 100%;
  z-index: 20;
}

.breadcrumbs__list {
  font-size: 75%;
  padding: .75em 0;
}

.breadcrumbs__item {
  display: inline;
  position: relative;
  line-height: 1;
}

.breadcrumbs__item + li {
  margin-left: 2em;
}

.breadcrumbs__item + li:before {
  content: "\f105";
  font-family: FontAwesome;
  position: absolute;
  left: -1.25em;
  top: .125em;
  color: #999;
}

.number span, .pager__item {
  font-family: Montserrat,sans-serif;
  font-weight: 700;
}

.breadcrumbs i, .main, .sitemap__item {
  position: relative;
}

.breadcrumbs i {
  font-size: 140%;
  line-height: 1;
  top: 1px;
}

.localNavi {
  width: 100%;
  background: #f9f9f9;
  padding: 20px 0;
}

@media only screen and (max-width: 767px) {
  .localNavi {
    width: 100%;
    padding: 10px 0;
  }
}

.localNavi__list {
  width: 980px;
  margin: 0 auto;
  text-align: center;
}

.localNavi__item {
  display: block;
  float: left;
}

@media only screen and (max-width: 767px) {
  .localNavi__list {
    width: 100%;
    height: auto;
    margin: 0 4px;
    padding: 0;
  }
  .localNavi__item {
    width: 24%;
    width: calc(25% - 5px);
    display: table;
    font-size: 75%;
  }
  .localNavi__item + .localNavi__item {
    margin-left: 4px;
  }
}

.localNavi__item a {
  display: block;
  width: 230px;
  height: 80px;
  line-height: 78px;
  text-align: center;
  color: #c5c5c5;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.1);
}

@media only screen and (min-width: 768px) {
  .localNavi__item a:hover {
    color: #e60012;
  }
}

.localNavi__item i {
  margin-right: .5em;
  font-size: 125%;
}

@media only screen and (max-width: 767px) {
  .localNavi__item a {
    width: 100%;
    height: 80px;
    line-height: 1;
    display: table-cell;
    vertical-align: middle;
  }
  .localNavi__item i {
    display: block;
    font-size: 150%;
    margin: 0 0 1em;
  }
}

.localNavi__item .current {
  color: #e60012;
  background: #fff;
}

.localNavi__item br {
  display: none;
}

.localNavi__item + li {
  margin-left: 20px;
}

@media only screen and (max-width: 767px) {
  .localNavi__item br {
    display: inline;
  }
  .localNavi__item + li {
    margin-left: 0;
  }
}

.main > section {
  border-bottom: solid #ccc 1px;
}

#home .main > section {
  border-bottom: none;
}

.footer {
  background: #e60012;
  margin: 0;
}

.footer__bannerArea {
  background: url(../images/common/footer_bg_pic.png) center 112px no-repeat #fff;
  width: 100%;
  height: 221px;
  margin: 0;
  overflow: hidden;
}

.footer__backtoTop {
  margin: -20px 0 0;
}

.footer__wrapper {
  display: block;
  margin: 0 auto;
  color: #fff;
  width: 100%;
  overflow: hidden;
}

.footer__sitemap {
  border-bottom: solid 1px #fff;
  margin: 0 auto;
  width: 980px;
  text-align: center;
}

.footer a {
  color: #fff;
}

.sitemap__item {
  display: inline-block;
  font-size: 88%;
  margin: 27px auto 22px;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .footer__sitemap {
    width: 100%;
    padding-bottom: 20px;
  }
  .sitemap__wrapper {
    padding-bottom: 100px;
    overflow: hidden;
  }
  .sitemap__item {
    width: 50%;
    float: left;
    display: block;
    margin: 0;
    padding: .5em 0;
    font-size: 63%;
  }
}

.bannerArea__item, .pager__item {
  display: inline-block;
}

.sitemap__item + .sitemap__item {
  margin-left: 2em;
}

.sitemap__item + .sitemap__item:before {
  content: "|";
  position: absolute;
  top: -.1em;
  left: -1.1em;
}

@media only screen and (max-width: 767px) {
  .sitemap__item + .sitemap__item {
    margin-left: 0;
  }
  .sitemap__item + .sitemap__item:before {
    all: initial;
  }
}

.bannerArea {
  width: 980px;
  margin: 31px auto 0;
}

@media only screen and (max-width: 767px) {
  .bannerArea {
    margin: 3% auto 0;
    width: 100%;
  }
  .bannerArea__item {
    width: 40%;
  }
  .bannerArea__item img {
    width: 100%;
  }
}

.bannerArea__item + .bannerArea__item {
  margin-left: 15px;
}

@media only screen and (max-width: 767px) {
  .bannerArea__item + .bannerArea__item {
    margin-left: 4%;
  }
}

#copyright {
  margin: 18px 0;
}

#copyright p {
  font-size: 75%;
  line-height: 1;
  margin: 0;
  position: relative;
}

.mapJs {
  margin: 0 0 40px;
}

.number {
  font-size: 150%;
  line-height: 1;
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .number {
    font-size: 125%;
  }
}

.number p {
  line-height: 1;
  margin: 0;
}

.number p:last-child {
  margin-top: .5em;
  font-size: 84%;
}

.number span {
  font-size: 200%;
}
.number br {
    display: none;
}
@media only screen and (max-width: 767px) {
    .number p {
        line-height: 30px;
    }
    .number br {
        display: inherit;
    }
}

.pager {
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: .5em;
  text-align: right;
}

.pager__item {
  padding: 0;
  width: 3em;
  height: 3em;
  line-height: 2.875em;
  text-align: center;
  font-size: 84%;
}

.pager__item a {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
  border-radius: 1.5em;
  color: #666;
}

.pager__item.currentPage a {
  color: #fff;
  border: none;
  border: 1px solid #e60012;
  background: #e60012;
}

@media only screen and (min-width: 768px) {
  .pager__item a:hover,
  .pager__item.currentPage a {
    color: #fff;
    border: none;
    border: 1px solid #e60012;
    background: #e60012;
  }
}

.pager__item + .pager__item {
  margin-left: .5em;
}

.box:after,
.box:before,
.cf:after,
.cf:before,
.container:after,
.container:before,
article:after,
article:before,
footer:after,
footer:before,
header:after,
header:before {
  content: "";
  display: table;
}

#map, #mapJs {
  width: 980px;
  height: 480px;
  position: relative;
}

#map dd, #map dt {
  margin: 1px;
  white-space: nowrap;
}

#mapJs {
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  #mapJs {
    width: 100%;
    height: 0;
    padding-top: 75%;
  }
  #map {
    position: absolute !important;
    width: 100%;
    height: 100%;
    max-height: 480px;
    top: 0;
    left: 0;
  }
  .globalNavigation__item.is-active {
    height: auto;
  }
}

#map dl {
  margin-top: 7px;
  margin-bottom: 5px;
}

#map dt {
  font-size: 90%;
  font-weight: 700;
}

#map dd {
  font-size: 80%;
  line-height: 160%;
}

.format {
  background: 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.fsize10 {
  font-size: 63%;
}

.fsize11 {
  font-size: 69%;
}

.fsize12 {
  font-size: 75%;
}

.fsize13 {
  font-size: 82%;
}

.fsize14 {
  font-size: 88%;
}

.fsize15 {
  font-size: 94%;
}

.fsize16 {
  font-size: 100%;
}

.fsize17 {
  font-size: 107%;
}

.fsize18 {
  font-size: 113%;
}

.fsize19 {
  font-size: 119%;
}

.fsize20 {
  font-size: 125%;
}

.fsize21 {
  font-size: 132%;
}

.fsize22 {
  font-size: 138%;
}

.fsize23 {
  font-size: 144%;
}

.fsize24 {
  font-size: 150%;
}

.fsize25 {
  font-size: 157%;
}

.fsize26 {
  font-size: 163%;
}

.fsize27 {
  font-size: 168%;
}

.fsize28 {
  font-size: 175%;
}

.fsize29 {
  font-size: 181%;
}

.fsize30 {
  font-size: 187%;
}

.tleft {
  text-align: left;
}

.tright {
  text-align: right;
}

.tcenter {
  text-align: center;
}

.cf:after {
  clear: both;
}

.box:after, .container:after, article:after, footer:after, header:after {
  clear: both;
}

.button--hamburgerMenu.is-active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
  border-radius: 2px;
}

.button--hamburgerMenu.is-active span:nth-of-type(2) {
  opacity: 0;
}

.button--hamburgerMenu.is-active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
  border-radius: 2px;
}

.is-active {
  display: block;
}

.main {
  background: #fff;
  overflow: hidden;
}

.quickSearch {
  background: #e60012;
}

.quickSearch__wrapper {
  overflow: hidden;
  padding: 10px 0;
  display: block;
  margin: 0 auto;
  width: 980px;
}

@media only screen and (max-width: 767px) {
  .quickSearch__wrapper {
    width: 100%;
  }
}

.quickSearch__item {
  background: #fff;
  border-radius: 8px;
  float: left;
  display: block;
  position: relative;
  width: 24%;
  width: calc((980px - 30px) / 4);
  height: 130px;
}

.quickSearch__item img {
  width: 130px;
}

@media only screen and (max-width: 767px) {
  .quickSearch__item {
    width: 45%;
    height: auto;
    margin-left: 3.33333%;
    padding-bottom: 1em;
    box-shadow: 0 1px 0 #bb000e;
  }
  .quickSearch__item:nth-of-type(1), .quickSearch__item:nth-of-type(2) {
    margin-bottom: 10px;
  }
}

.quickSearch__link {
  display: block;
  text-align: center;
  width: 100%;
  height: 100%;
}

.quickSearch__link span {
  display: block;
  font-size: 138%;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

.quickSearch__item + .quickSearch__item {
  margin-left: 10px;
}

@media only screen and (max-width: 767px) {
  .quickSearch__link span {
    font-size: 75%;
    margin-top: -1em;
  }
  .quickSearch__link img {
    width: 100%;
  }
  .quickSearch__item + .quickSearch__item {
    margin-left: 3.33333%;
  }
}

.campaign__list {
  width: 980px;
  height: 178px;
  overflow: hidden;
  margin: 50px 0 0;
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.campaign__list a {
  display: block;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  .campaign__list {
    width: 95%;
    height: auto;
    margin: 50px 2.5% 0;
  }
}

.campaign__item {
  /*! background:#ccc; */
  width: 458px;
  height: 178px;
}

.campaign__item img {
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}

.campaign__item:nth-of-type(1) {
  /* margin: 0 auto 0; */
}

.campaign__item:nth-of-type(2) {
  /* display: none; */
  /* left: 330px; */
}

.campaign__item:nth-of-type(3) {
  /* display: none; */
  right: 0;
}

@media only screen and (max-width: 767px) {
  .campaign__item {
    width: 100%;
    height: auto;
    margin: 0;
    float: none;
    position: static;
  }
  .campaign__item img {
    width: 100%;
  }
  .campaign__item + li {
    margin-top: .75em;
  }
}

.news__title {
  margin: 53px 0;
}

.news__wrapper {
  overflow: hidden;
}

.storeinfo, .topics {
  width: 480px;
  float: left;
}

@media only screen and (max-width: 767px) {
  .storeinfo, .topics {
    width: 100%;
    float: none;
  }
}

.storeinfo__title, .topics__title {
  background: url(../images/home/ourapproach_bg_patern_01.jpg);
  width: 440px;
  font-size: 94%;
  color: #E60012;
  line-height: 40px;
  text-align: left;
  margin: 0 0 8px 20px;
  padding-left: 12px;
}

@media only screen and (max-width: 767px) {
  .storeinfo__title, .topics__title {
    width: 95%;
    margin: 0 2.5%;
  }
}

.topics__preview, .storeinfo__preview {
  margin: -42px 25px 18px 0;
  padding: 5px 12px;
  font-size: 75%;
  float: right;
}

.topics__preview i, .storeinfo__preview i {
  margin-right: 5px;
  font-size: 125%;
  position: relative;
  top: 1px;
}

@media only screen and (max-width: 767px) {
  .topics__preview, .storeinfo__preview {
    margin: -34px 20px 18px 0;
  }
}

.storeinfo__list, .topics__list {
  width: 440px;
  max-height: 640px;
  overflow-y: auto;
  margin: 0 0 0 20px;
  border-bottom: solid 1px #ccc;
}

.storeinfo__item, .topics__item {
  border-collapse: collapse;
  text-align: left;
  display: table;
}

@media only screen and (max-width: 767px) {
  .storeinfo__list, .topics__list {
    width: 95%;
    margin: 0 2.5%;
  }
  .storeinfo__item, .topics__item {
    display: block;
    padding-top: 13px;
  }
  .storeinfo__item:nth-child(n + 4), .topics__item:nth-child(n + 4) {
    display: none;
  }
}

.storeinfo__item + li, .topics__item + li {
  border-top: solid 1px #ccc;
}

.storeinfo__date, .topics__date {
  border-collapse: collapse;
  font-size: 88%;
  display: table-cell;
  width: 90px;
}

@media only screen and (max-width: 767px) {
  .storeinfo__date, .topics__date {
    display: inline-block;
  }
}

.storeinfo__label, .topics__label {
  border-collapse: collapse;
  font-size: 69%;
  display: table-cell;
  width: 85px;
}

@media only screen and (max-width: 767px) {
  .storeinfo__label, .topics__label {
    display: inline-block;
  }
}

.storeinfo__overview, .topics__overview {
  border-collapse: collapse;
  font-size: 88%;
  display: table-cell;
  word-break: normal;
  padding: 13px 0;
  width: 265px;
  min-width: 253px;
}

.storeinfo__link, .storeinfo__overview a, .topics__link, .topics__overview a {
  text-decoration: underline;
}

.storeinfo {
  margin-left: 20px;
}

@media only screen and (max-width: 767px) {
  .storeinfo__overview, .topics__overview {
    display: block;
    width: 100%;
  }
  .storeinfo {
    margin: 5% 0 0;
  }
}

.newsLabel--b, .newsLabel--c, .newsLabel--o, .newsLabel--r, .newsLabel--ri, .newsLabel--si {
  border-radius: 3px;
  display: inline-block;
  padding: 2px;
  text-align: center;
  letter-spacing: -.05em;
  margin-top: -.25em;
  width: 75px;
}

.newsLabel--c, .newsLabel--o, .newsLabel--r, .newsLabel--ri, .newsLabel--si {
  color: #fff;
}

.newsLabel--c {
  background: #9c3;
}

.newsLabel--b {
  background: #fff54c;
  color: #6b6954;
}

.newsLabel--r {
  background: #c96;
}

.newsLabel--ri {
  background: #6cf;
}

.newsLabel--si {
  background: #f99;
}

.newsLabel--o {
  background: #9E67C6;
}

.ourApproach {
  background: url(../images/home/ourapproach_bg_patern_01.jpg);
  overflow: hidden;
}

.ourApproach__title {
  margin: 42px 0 0;
  line-height: 1;
}

.ourApproach__subTitle {
  line-height: 95px;
  font-size: 200%;
  color: #F33;
  text-align: center;
  font-weight: 400;
  margin: 0;
}

.contact__box, .line ul, .supplementInfo__title, .tcard__list {
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .ourApproach__title {
    margin: -55px 0 0;
  }
  .ourApproach__subTitle {
    line-height: 1;
    margin: 5% 2.5%;
  }
}

.ourApproach__message {
  margin: -0.25em 0 calc(35px - .25em);
}

@media only screen and (max-width: 767px) {
  .ourApproach__message {
    margin: 0 2.5% 5%;
    display: none;
  }
}

.ourApproach__slider {
  background: url(../images/home/ourapproach_bg_patern_02.jpg);
  margin-bottom: 25px;
}

.recruitBanner {
  margin: 45px 0 50px;
}

@media only screen and (max-width: 767px) {
  .recruitBanner {
    width: 95%;
    margin: 5% 2.5%;
  }
  .recruitBanner img {
    width: 100%;
  }
}

.supplement {
  background: #f1f1f1;
  display: block;
  overflow: hidden;
}

.supplement.supplement--sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .supplement.supplement--sp {
    display: block;
  }
}

.supplementInfo {
  background: #fff;
  overflow: hidden;
  margin-top: 48px;
}

@media only screen and (max-width: 767px) {
  .supplementInfo {
    width: 95%;
    margin: 2.5% 2.5% 0;
  }
  .supplement.supplement--pc .supplementInfo {
    margin: 2.5% 2.5%;
  }
}

.supplementInfo__picture {
  float: right;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .supplementInfo__picture {
    float: none;
    width: 100%;
  }
  .supplementInfo__picture img {
    width: 100%;
  }
}

.supplementInfo__title {
  float: left;
  margin: 0 0 0 24px;
  line-height: 92px;
}

@media only screen and (max-width: 767px) {
  .supplementInfo__title {
    line-height: 2em;
    margin: 0 2.5%;
  }
}

.supplementInfo__message {
  float: left;
  text-align: left;
  margin: 0 0 0 24px;
}

@media only screen and (max-width: 767px) {
  .supplementInfo__message {
    margin: 0 2.5% 1em;
  }
}

.supplementBnner {
  display: block;
  overflow: hidden;
  margin-top: 30px;
  margin-bottom: 56px;
}

.supplementBnner__item {
  background: #fff;
  float: left;
  position: relative;
  display: block;
  width: 320px;
  height: 180px;
}

@media only screen and (max-width: 767px) {
  .supplementBnner {
    margin-top: 2.5%;
    margin-bottom: 2.5%;
  }
  .supplementBnner__item {
    width: 95%;
    height: auto;
    margin: 0 2.5%;
    padding: 0 2% 2%;
  }
  .supplementBnner__thum {
    width: 40px;
    height: 40px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 40px;
    float: left;
    border: 1px solid #e60012;
    border-radius: 50%;
  }
  .supplementBnner__thum img {
    display: none;
  }
  .supplement.supplement--pc .supplementBnner {
    display: none;
  }
}

.supplementBnner__caption {
  font-weight: 700;
  line-height: 60px;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 320px;
}

@media only screen and (max-width: 767px) {
  .supplementBnner__caption {
    line-height: 40px;
    width: auto;
    position: static;
    float: left;
    margin-left: 1em;
  }
}

.supplementBnner__item + .supplementBnner__item {
  margin-left: 10px;
}

.supplementBnner__item:nth-of-type(3) .supplementBnner__caption {
  display: none;
}

@media only screen and (max-width: 767px) {
  .supplementBnner__item + .supplementBnner__item {
    margin-left: 2.5%;
  }
  .supplementBnner__item:nth-of-type(1) {
    padding-top: 2%;
  }
  .supplementBnner__item:nth-of-type(1) .supplementBnner__thum {
    background-image: url(../images/home/icon_supplement_02.png);
  }
  .supplementBnner__item:nth-of-type(2) .supplementBnner__thum {
    background-image: url(../images/home/icon_supplement_03.png);
  }
  .supplementBnner__item:nth-of-type(3) .supplementBnner__caption {
    display: block;
  }
}

.contact__box {
  width: 640px;
  margin: 40px auto 0;
  background: #fbfbfb;
  border-radius: 5px;
  padding: 50px;
}

.contact h4, .contact__list {
  margin: 0 0 20px;
}

.contact h4 {
  font-size: 125%;
}

@media only screen and (max-width: 767px) {
  .contact__box {
    width: 95%;
    padding: 5%;
  }
  .contact__list li {
    margin: 0 0 20px;
  }
}

.contact__list i {
  margin-right: 10px;
}

.contact__list span {
  display: inline-block;
  width: 7em;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .contact__list span {
    display: block;
  }
}

.contact__note {
  font-size: 75%;
}

.contact address {
  margin: 0;
  font-weight: 700;
  font-size: 125%;
  line-height: 1;
}

.contact address br {
  display: none;
}

.contact__time {
  font-size: 84%;
  display: block;
  margin-bottom: 20px;
  margin-top: 10px;
}

.song__mp3 a, .tcard__item span {
  line-height: 2em;
  display: inline-block;
}

.line h4 {
  font-size: 150%;
  margin: 60px 0 0;
}

.line h4 img {
  width: 80px;
  margin-right: 10px;
  vertical-align: middle;
}

.lineRegist__title {
  font-size: 125%;
  color: #45b03a;
}

.lineRegist__list {
  overflow: hidden;
}

.lineRegist__text {
  margin: 40px 0 20px;
}

.lineRegist__id {
  width: 480px;
  float: left;
}

.lineRegist__shake {
  width: 480px;
  float: right;
  margin-left: 20px;
}

@media only screen and (max-width: 767px) {
  .lineRegist__list {
    width: 95%;
    margin: 0 auto;
  }
  .lineRegist__text {
    width: 100%;
  }
  .lineRegist__qr {
    width: 100%;
    overflow: scroll;
    overflow-y: hidden;
    overflow-x: scroll;
  }
  .lineRegist__id {
    width: auto;
    float: none;
  }
  .lineRegist__shake {
    float: none;
    width: auto;
    margin-left: 0;
  }
  .lineRegist__qr img {
    width: 203%;
  }
  .lineRegist__id img, .lineRegist__shake img {
    width: 100%;
  }
}

.tcard__box {
  margin: 30px 0;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .tcard__box {
    width: 95%;
    margin: 30px auto;
  }
  .tcard img {
    width: 100%;
  }
}

.tcard .container__leftCol {
  width: 480px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .tcard .container__leftCol {
    width: 100%;
  }
}

.tcard .container__rightCol {
  width: 480px;
  margin-left: 20px;
}

@media only screen and (max-width: 767px) {
  .tcard .container__rightCol {
    width: 100%;
    margin: 0;
  }
}

.tcard__item {
  padding-left: 3em;
  margin-bottom: .5em;
}

.tcard__item span {
  width: 2em;
  height: 2en;
  background: #CF1D20;
  color: #fff;
  border-radius: 1em;
  text-align: center;
  margin-left: -3em;
}

.song__mp3 {
  background: #fff;
  border-radius: 120px;
  border: 5px solid #ccc;
  width: 240px;
  height: 240px;
  margin: 30px auto 0;
  padding: 10px 0 0;
  z-index: 100;
  position: relative;
  overflow: hidden;
}

.song__mp3 img {
  width: 120px;
  margin-bottom: 10px;
}

.song__mp3 a {
  width: 2em;
  height: 2em;
  border: 1px solid #ccc;
  border-radius: 1em;
  color: #444;
  position: absolute;
  top: 163px;
  right: 45px;
}

.song__lyric {
  width: 640px;
  background: #f9f9f9;
  margin: -120px auto 0;
  padding: 160px 30px 50px;
  border-radius: 5px;
}

@media only screen and (max-width: 767px) {
  .song__lyric {
    width: 95%;
    text-align: left;
  }
}

.song__lyric p {
  margin: 0;
}

.song__lyric p + p {
  margin: 30px 0 0;
}

.audiojs {
  display: none;
  width: 100px;
  height: 30px;
  background: 0 0;
  border: 1px solid #ccc;
  border-radius: 15px;
  overflow: hidden;
  font-family: monospace;
  font-size: 10px;
  padding: 1px;
  -o-box-shadow: none;
  box-shadow: none;
}

.audiojs .play-pause, .audiojs p {
  width: 26px;
  height: 26px;
  padding: 0;
}

body .audiojs {
  display: block;
  margin: 0 auto;
  position: relative;
  left: -20px;
}

.audiojs .play-pause {
  margin: 0 0 0 5px;
  float: left;
  overflow: hidden;
  border-radius: 14px;
  border: none;
}

.audiojs p {
  display: none;
  margin: 0;
}

.audiojs .play {
  display: block;
}

.audiojs .scrubber {
  position: relative;
  float: left;
  width: 50px;
  background: #5a5a5a;
  height: 10px;
  margin: 8px 0 0 5px;
  border-top: 0;
  border-left: 0;
  border-bottom: 0;
  border-radius: 5px;
  overflow: hidden;
}

.audiojs .loaded, .audiojs .progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 10px;
  width: 0;
}

.audiojs .progress {
  background: #e60012;
  z-index: 1;
}

.audiojs .loaded {
  background: #DDD;
}

.audiojs .time {
  float: left;
  height: 28px;
  line-height: 28px;
  margin: 0 0 0 8px;
  padding: 0;
  border-left: none;
  color: #666;
  text-shadow: none;
  display: none;
}

.audiojs .error-message, .track-details {
  height: 26px;
  width: 200px;
  line-height: 26px;
}

.audiojs .time em {
  padding: 0 2px 0 0;
  color: #666;
  display: none;
}

.audiojs .time strong {
  padding: 0 0 0 2px;
  font-weight: 400;
  display: none;
}

.audiojs .error-message {
  float: left;
  display: none;
  margin: 0 10px;
  overflow: hidden;
  white-space: nowrap;
  color: #fff;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -icab-text-overflow: ellipsis;
  -khtml-text-overflow: ellipsis;
  -moz-text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
}

.audiojs .error-message a {
  color: #eee;
  text-decoration: none;
  padding-bottom: 1px;
  border-bottom: 1px solid #999;
  white-space: wrap;
}

.audiojs .play {
  background: url(../media/play.svg) center center no-repeat;
}

.audiojs .error, .audiojs .loading {
  display: none;
}

.audiojs .pause {
  background: url(../media/pause.svg) center center no-repeat;
}

.playing .error, .playing .loading, .playing .play {
  display: none;
}

.playing .pause {
  display: block;
}

.loading .error, .loading .pause, .loading .play {
  display: none;
}

.loading .loading {
  display: block;
}

.error .loading, .error .pause, .error .play, .error .scrubber, .error .time {
  display: none;
}

.error .error, .error .error-message {
  display: block;
}

.error .play-pause p {
  cursor: auto;
}

.track-details {
  clear: both;
  padding: 0 6px;
  background: #FFF;
  color: #3A3A3A;
  font-size: 10px;
}

.track-details:before {
  content: '♬ Now Playing: ';
}

.topicsDetail__box {
  margin: 0 0 30px;
}

.topicsDetail__box {
}

.topicsDetail__box p {
  text-align: left;
}
.topicsDetail__box a {
  margin-left: 0.25em;
  text-decoration: underline;
}
.topicsDetail__box a:hover {
  opacity: 0.5;
}

.topicsDetail__box p img {
    margin: auto;
    max-width: 100%;
    display: block;
}

@media only screen and (max-width: 767px) {
  .topicsDetail__box p {
    width: 95%;
    margin: 0 auto 1em;
  }
  .topicsDetail__box img {
    width: 100%;
  }
}

.topicsDetail .topics {
  width: 980px;
  clear: both;
  float: none;
}

@media only screen and (max-width: 767px) {
  .topicsDetail .topics {
    width: 95%;
    margin: 0 auto;
  }
}

.topicsDetail .topics__title {
  width: 980px;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .topicsDetail .topics__title {
    width: 100%;
  }
}

.topicsDetail .topics__list {
  width: 980px;
  border-top: solid 1px #ccc;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .topicsDetail .topics__list {
    width: 100%;
  }
}

.topicsDetail .topics__overview {
  width: 805px;
}

.drugstore__storePhoto img {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .drugstore__storePhoto img {
    width: 100%;
  }
}

.dispensingpharmacy__storePhoto {
  background: #fff;
  border: 5px solid #fff;
  border-radius: 120px;
  width: 240px;
  height: 240px;
  margin: 0 auto -170px;
  z-index: 100;
  position: relative;
  overflow: hidden;
}

.dispensingpharmacy__description {
  background: url(../images/dispensingpharmacy/sky.jpg) center top no-repeat;
  margin: 60px 0;
  padding: 150px 0 30px;
  border-radius: 5px;
  background-size: cover;
}

@media only screen and (max-width: 767px) {
  .dispensingpharmacy__description {
    width: 95%;
    margin: 60px auto;
    padding: 150px 10px 30px;
    text-align: left;
    background-size: cover;
  }
}

.dispensingpharmacy__description dt {
  font-size: 150%;
  margin-bottom: 30px;
}

.dispensingpharmacy__description dd {
  font-size: 125%;
}

.dispensingpharmacy__guideline {
  z-index: 10;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .dispensingpharmacy__guideline {
    width: 95%;
    margin: 0 auto;
  }
}

.dispensingpharmacy__subTitle {
  font-size: 200%;
}

.dispensingpharmacy__list {
  font-size: 150%;
  margin: 0;
}

.dispensingpharmacy__item {
  margin-bottom: 10px;
  width: 320px;
  float: left;
  position: relative;
  border: 3px solid #eee;
  border-radius: 5px;
  padding: 10px;
}

@media only screen and (max-width: 767px) {
  .dispensingpharmacy__item {
    width: 100%;
    margin: 0 auto 10px;
    float: none;
  }
}

.dispensingpharmacy__item + .dispensingpharmacy__item {
  margin-left: 10px;
}

.dispensingpharmacy__keyword {
  font-family: Montserrat,'Lucida Grande','Hiragino Kaku Gothic ProN',"Yu Gothic",Meiryo,sans-serif;
  display: block;
  z-index: 10;
}

.dispensingpharmacy__keyword--jp {
  display: inline-block;
  font-size: 63%;
  z-index: 10;
  line-height: 1;
  border: 1px solid #eee;
  border-radius: 1em;
  padding: .5em 1em;
}

.dispensingpharmacy__snap, .salPlan__title {
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 767px) {
  .dispensingpharmacy__item + .dispensingpharmacy__item {
    margin-left: auto;
  }
  .dispensingpharmacy__snap img {
    width: 100%;
  }
}

.dispensingpharmacy__message {
  font-size: 150%;
}

.salPlan {
  border: 3px solid #eee;
  border-radius: 5px;
  margin: 0 0 60px;
  padding: 20px;
}

.companyProfile td, .companyProfile th {
  border-bottom: solid 1px #ccc;
  padding: 10px;
}

.salPlan__title {
  display: inline-block;
  margin-top: 2.75em;
  font-size: 150%;
  float: left;
}

@media only screen and (max-width: 767px) {
  .salPlan__title {
    margin-top: 0;
    float: none;
  }
}

.salPlan__title::after {
  background: rgba(240, 228, 63, 0.5);
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: .5em;
  bottom: 0;
  left: .5em;
  z-index: -1;
}

.salPlan__list {
  margin: 0 0 0 60px;
  text-align: left;
  float: left;
}

.companyProfile table {
  border-collapse: collapse;
  border-top: solid 1px #ccc;
  text-align: left;
}

.companyProfile th {
  background: #eee;
}

.companyProfile__table {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .salPlan__list {
    margin: 0;
    float: none;
  }
  .companyProfile table {
    display: block;
  }
  .companyProfile tbody {
    width: 100%;
    display: block;
  }
  .companyProfile tr {
    width: 100%;
    display: block;
    overflow: hidden;
  }
  .companyProfile td, .companyProfile th {
    width: 100%;
    display: block;
  }
  .companyProfile__table {
    width: 90%;
    margin: 0 5%;
    display: block;
  }
}

@media only screen and (min-width: 768px) {
  .companyProfile__table th {
    width: 320px;
  }
}

.companyProfile h4 {
  margin-top: 10px;
  overflow: hidden;
}

.companyProfile h4 span {
  float: right;
  font-weight: 400;
  display: inline-block;
}

.companyProfile table + h4 {
  margin-top: 40px;
}

@media only screen and (max-width: 767px) {
  .companyProfile h4 span {
    float: none;
    display: block;
  }
  .companyProfile .datacell {
    width: 50%;
    float: left;
  }
  .companyProfile .datacellIrr {
    width: 50%;
    float: left;
    margin-bottom: 10px;
  }
  .table--noOfEmployees {
    width: 100%;
    margin: 0;
  }
}

.table--noOfEmployees {
  width: 100%;
}

.table--noOfEmployees th {
  width: auto;
}

.table--lboshiActionPlan {
  width: 100%;
}

.table--lboshiActionPlan th {
  width: auto;
}

.table--abgNoContinuousServiceYear {
  width: 100%;
}

.table--abgNoContinuousServiceYear th {
  width: auto;
}

.table--sekiActionPlan {
  width: 100%;
}

.table--sekiActionPlan th {
  width: auto;
}

@media only screen and (max-width: 767px) {
  .topMessage .container__leadText {
    width: 90%;
    height: auto;
    margin: 0 5% 40px;
  }
}

.topMessage .container__leftCol {
  width: 360px;
  height: 500px;
}

@media only screen and (max-width: 767px) {
  .topMessage .container__leftCol {
    width: 90%;
    height: auto;
    margin: 0 5% 40px;
  }
}

.topMessage .container__rightCol {
  width: 620px;
  height: 500px;
  text-align: left;
  padding: 0 30px 30px;
}

@media only screen and (max-width: 767px) {
  .topMessage .container__rightCol {
    width: 90%;
    height: auto;
    margin: 0 5%;
    padding: 0;
  }
}

.topMessage__summary {
  font-size: 125%;
  border-top: double 3px #ccc;
  border-bottom: double 3px #ccc;
  padding: .5em 0;
  position: relative;
  text-align: center;
}

.topMessage__summary::after, .topMessage__summary::before {
  content: "";
  display: block;
  height: 30px;
  position: absolute;
  background: #ccc;
}

.topMessage__summary::before {
  border-left: double 3px #ccc;
  top: 40px;
  left: 25px;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

@media only screen and (max-width: 767px) {
  .topMessage__summary {
    font-size: 113%;
  }
  .topMessage__summary::before {
    top: 35px;
  }
  .topMessage__topPhoto {
    width: 100%;
  }
}

.topMessage__summary::after {
  border-right: double 3px #ccc;
  top: -15px;
  right: 0;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.topMessage__sign {
  text-align: right;
}

.organizationChart__box {
  position: relative;
  background: url(../images/outline/chartbg.png) no-repeat #FAF0F0;
  background-size: cover;
  padding: 20px;
  text-align: center;
  border-radius: 5px;
}

@media only screen and (max-width: 767px) {
  .organizationChart .chart {
    width: 100%;
  }
}

.organizationChart .logoMark {
  display: none;
  position: absolute;
  top: 40px;
  right: 40px;
  width: 240px;
  height: 240px;
  border-radius: 120px;
  border: 5px solid #eee;
  padding: 30px 40px 40px;
  background: #fff;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .organizationChart .logoMark {
    top: 20px;
    right: 20px;
    border-radius: 15vw;
    width: 30vw;
    height: 30vw;
    padding: 2.55vw 5vw 5vw;
  }
  .history .fa-circle {
    margin-right: 1em;
  }
}

.organizationChart .logoMark img {
  width: 100%;
}

.history .fa-circle {
  line-height: 1.5;
  color: #149fdf;
}

@media only screen and (min-width: 768px) {
  .history .fa-circle {
    position: absolute;
    left: -160px;
  }
}

@media only screen and (max-width: 767px) {
  .history__contents {
    position: relative;
  }
  .history__contents::before {
    content: "";
    display: block;
    height: 100%;
    width: 3px;
    background: #149fdf;
    position: absolute;
    top: 0;
    left: 14px;
  }
  .history__contents::after {
    content: "";
    display: block;
    width: 90px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 30px;
    z-index: 0;
    background: #e8f4ff;
    background: linear-gradient(to bottom, #e8f4ff 0, #9bc7ee 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f4ff', endColorstr='#9bc7ee', GradientType=0 );
  }
}

.history__box {
  width: 980px;
}

.history__list {
  position: relative;
  margin: 0 0 0 80px;
}

@media only screen and (max-width: 767px) {
  .history__box {
    width: 100%;
    background: 0 0;
    font-size: 84%;
  }
  .history__list {
    margin: 0;
    background: 0 0;
  }
}

@media only screen and (min-width: 768px) {
  .history__box {
    height: 760px;
    padding: 80px 0 0;
    overflow: hidden;
  }
  .history__list {
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: rotateZ(-20deg);
    transform: rotateZ(-20deg);
  }
  .history__list::after, .history__list::before {
    content: "";
    display: block;
    height: 1000px;
    position: absolute;
    top: -200px;
  }
  .history__list::before {
    width: 3px;
    background: #149fdf;
    left: 7px;
  }
  .history__list::after {
    width: 110px;
    left: 28px;
    z-index: -1;
    background: #e8f4ff;
    background: linear-gradient(to bottom, #e8f4ff 0, #9bc7ee 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f4ff', endColorstr='#9bc7ee', GradientType=0 );
  }
  .history__item {
    margin-left: 160px;
    -moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    -webkit-transform: rotateZ(20deg);
    transform: rotateZ(20deg);
  }
}

.history__date, .history__topic {
  display: inline-block;
  vertical-align: top;
}

.history__item {
  margin-bottom: 20px;
  padding: 10px;
  width: 480px;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .history__item {
    width: 100%;
    margin-bottom: 0;
  }
  .history__date {
    position: absolute;
  }
}

.history__date {
  width: 7em;
  z-index: 1;
}

@media only screen and (min-width: 768px) {
  .history__date {
    position: absolute;
    left: -115px;
  }
}

.history__topic {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .history__topic {
    width: calc(100% - (130px));
    margin-left: calc(5em + 30px);
  }
  .property__overview, .property__region {
    width: 95%;
    margin: 0 auto;
  }
  .property__overview table, .property__overview tbody, .property__overview td, .property__overview th, .property__overview tr {
    display: block;
    width: 100%;
  }
  .property__overview th {
    background: #eee;
    padding: 5px;
  }
  .property__overview td {
    padding: 5px;
  }
  .property__overview span {
    display: none;
  }
  .property__agreement, .property__case {
    width: 95%;
    margin: 0 auto;
  }
}

.business__characteristic {
  width: 300px;
  float: left;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .business__characteristic {
    width: 80%;
    min-width: 240px;
    min-width: calc(240px + 10vw);
    margin: 0 auto 30px;
    float: none;
  }
}

.business__characteristic p {
  text-align: left;
  font-size: 84%;
  padding-left: 1.25em;
}

.business__characteristic i {
  margin-left: -1.25em;
  margin-right: .25em;
}

.business__characteristic + .business__characteristic {
  margin-left: 40px;
}

@media only screen and (max-width: 767px) {
  .business__characteristic + .business__characteristic {
    margin-left: auto;
  }
}

.business .characteristicIcon {
  width: 300px;
  height: 300px;
  margin: 0 auto 30px;
  padding: 5px;
  border-radius: 150px;
  position: relative;
  overflow: hidden;
  background: #e8f4ff;
  background: linear-gradient(45deg, #e8f4ff 0, #9bc7ee 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f4ff', endColorstr='#9bc7ee', GradientType=0 );
}

@media only screen and (max-width: 767px) {
  .business .characteristicIcon {
    width: 240px;
    width: calc(240px + 10vw);
    height: 240px;
    height: calc(240px + 10vw);
  }
}

.business .characteristicIcon__body {
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}

.business .characteristicIcon h4 {
  font-size: 200%;
  font-weight: 300;
  font-family: 'Noto Sans Japanese',serif;
  line-height: 1;
  margin: 120px 0 10px;
  color: #1D73D2;
}

.business .characteristicIcon span {
  font-family: Montserrat,sans-serif;
  color: #999;
}

.business__message {
  text-align: left;
  font-size: 120%;
  height: 6em;
}

@media only screen and (max-width: 767px) {
  .business .characteristicIcon h4 {
    margin: 120px 0 10px;
    margin: calc(90px + 5vw) 0 10px;
  }
  .business__message {
    height: auto;
  }
}

.privacypolicy__list {
  background: #fbfbfb;
  border-radius: 5px;
  width: 640px;
  margin: 0 auto 40px;
  padding: 50px 0;
  counter-reset: item;
  text-align: left;
}

.privacypolicy__item {
  margin: 0 20px 0 100px;
  position: relative;
}

.privacypolicy__item + li {
  margin-top: 40px;
}

@media only screen and (max-width: 767px) {
  .privacypolicy__list {
    width: 95%;
    padding: 20px 0;
  }
  .privacypolicy__item + li {
    margin-top: 20px;
  }
}

.privacypolicy__item:before {
  content: counter(item, decimal-leading-zero);
  counter-increment: item;
  position: absolute;
  top: 0;
  left: -100px;
  width: 80px;
  height: 100%;
  display: block;
  font-size: 300%;
  line-height: 1;
  border-right: dotted 2px #999;
  text-align: center;
}

.shopMap__areaList {
  width: 980px;
  min-height: 680px;
  background: #C3DDEB;
  border-radius: 3px;
  overflow: hidden;
  position: relative;
  text-align: left;
  padding: 20px;
}

.shopMap__areaInfo, .shopMap__pref {
  background: #fff;
  vertical-align: top;
}

@media only screen and (max-width: 767px) {
  .shopMap__areaList {
    width: 95%;
    min-height: auto;
    margin: 0 auto;
    font-size: 84%;
  }
  .shopMap__mapImg {
    display: none;
  }
}

.shopMap__mapImg {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 940px;
  z-index: 12;
}

.shopMap__pref, .shopSearch__prefTitle span {
  position: relative;
}

.shopMap__areaItem {
  margin: 0 0 10px;
  width: 720px;
  padding-left: 120px;
}

@media only screen and (max-width: 767px) {
  .shopMap__areaItem {
    width: auto;
    padding-left: 0;
  }
}

.shopMap__areaItem i {
  margin-right: .25em;
}

.shopMap__areaInfo {
  width: 200px;
  height: 200px;
  padding: 80px 20px;
  float: right;
  text-align: center;
  border-radius: 100px;
}

@media only screen and (max-width: 767px) {
  .shopMap__areaInfo {
    float: none;
    width: 100%;
    height: auto;
    padding: .5em 0;
    margin: 0 0 1em;
  }
}

.shopMap__pref {
  border: 1px solid #ccc;
  font-size: 75%;
  margin: 0 10px 0 -120px;
  padding: .5em 2em;
  border-radius: 1.5em;
  line-height: 1.5;
  display: inline-block;
  z-index: 10;
}

@media only screen and (max-width: 767px) {
  .shopMap__pref {
    width: 100%;
    text-align: center;
    margin: 0 0 1em;
  }
}

.shopMap__prefList {
  margin: 0;
  position: relative;
  display: inline-block;
  z-index: 10;
}

@media only screen and (max-width: 767px) {
  .shopMap__prefList {
    margin: 0 0 1em;
  }
}

.shopMap__prefItem {
  display: inline-block;
  font-size: 75%;
  margin: 0 1em 0 0;
}

.shopSearch__search {
  width: 980px;
  background: #eee;
  padding: 20px 20px 0;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .shopSearch__search {
    width: 100%;
  }
}

.shopSearch__search i {
  display: inline-block;
  padding: 11px;
  background: #ccc;
  border-radius: 3px 0 0 3px;
}

.shopSearch__search label[for=shopsearch] {
  display: inline-block;
  float: left;
}

.shopSearch__search input[type=text] {
  width: 240px;
  height: 2.35em;
  padding: 10px;
  background: #fff;
  border-radius: 0 3px 3px 0;
}

.shopSearch__search form {
  float: right;
}

.shopSearch__prefList {
  float: left;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .shopSearch__search input[type=text] {
    width: 70%;
    width: calc(100% - 40px);
  }
  .shopSearch__search form {
    width: 100%;
  }
  .shopSearch__prefList {
    display: none;
  }
}

.shopSearch__prefItem {
  float: left;
  margin: 0;
}

.shopSearch__prefItem a {
  display: inline-block;
  width: 90px;
  padding: 7px 0;
  background: #fff;
}

.shopSearch__prefItem + li {
  margin-left: 2px;
}

.shopSearch__title {
  font-size: 125%;
  margin-top: 40px;
}

.shopSearch__tabMenu {
  width: 980px;
  background: #eee;
  overflow: hidden;
  padding: 20px 20px 0;
  margin: 0;
}

.shopSearch__tabMenu br {
  display: none;
}

@media only screen and (max-width: 767px) {
  .shopSearch__tabMenu {
    width: 100%;
    font-size: 84%;
  }
  .shopSearch__tabMenu br {
    display: inline;
  }
}

.shopSearch__tabMenu .tab--dragstore {
  background: #E80609;
}

.shopSearch__tabMenu .tab--dispens {
  background: #089622;
}

.shopSearch__tabMenu .is-disable {
  background: #ccc;
  cursor: pointer;
}

.shopSearch__tabItem {
  width: 468px;
  height: 80px;
  float: left;
  line-height: 80px;
  border-radius: 5px 5px 0 0;
  color: #fff;
}

@media only screen and (max-width: 767px) {
  .shopSearch__tabItem {
    width: 48%;
    width: calc(50% - 2px);
    height: 4.5em;
    line-height: 1;
    padding: .5em 0;
  }
  .shopSearch__tabItem.tab--dragstore img {
    position: relative;
    top: 1em;
  }
  .shopSearch__tabItem.tab--dispens {
    padding-top: 1.25em;
  }
}

.shopSearch__tabItem img {
  width: 35px;
  vertical-align: middle;
  margin-top: -5px;
  margin-left: -1em;
}

.shopSearch__tabItem + li {
  margin-left: 4px;
}

.shopSearch__prefTitle {
  line-height: 60px;
  margin: 0;
  font-size: 113%;
}

.shopSearch__prefTitle span::after, .shopSearch__prefTitle span::before {
  background: #999;
  content: "";
  width: 20px;
  height: 2px;
  position: absolute;
  top: 49%;
  display: block;
}

.shopSearch__prefTitle span::before {
  left: -40px;
}

.shopSearch__prefTitle span::after {
  right: -40px;
}

.shopDetail__gmap, [data-balloon] {
  position: relative;
}

.shopSearch__dataList {
  width: 980px;
  background: #eee;
  padding: 0 10px 20px;
  clear: both;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataList {
    width: 100%;
  }
}

.shopSearch__dataList.tabBody--dragstore {
  display: block;
}

.shopSearch__dataList.tabBody--dispens {
  display: none;
}

.shopSearch__dataListInner {
  width: 940px;
  margin: 0 auto;
  padding-bottom: 10px;
  background: #fff;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataListInner {
    width: 100%;
    padding: 0 10px 10px;
  }
}

.shopSearch__dataList--saitama {
  width: 940px;
  margin: 0 auto;
  padding-bottom: 10px;
  background: #fff;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataList--saitama {
    width: 100%;
    padding: 0 10px 10px;
  }
}

.shopSearch__dataList--kanagawa {
  width: 940px;
  margin: 0 auto;
  padding-bottom: 10px;
  background: #fff;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataList--kanagawa {
    width: 100%;
    padding: 0 10px 10px;
  }
}

.shopSearch__dataItem {
  width: 920px;
  min-height: 70px;
  min-height: 70px;
  margin: 0 auto;
  border-bottom: dashed 1px #ccc;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataItem {
    width: 100%;
    height: auto;
    overflow: hidden;
  }
}

.shopSearch__dataItem a {
  display: block;
  width: 920px;
  min-height: 70px;
  padding: 15px 0;
}
.shopSearch__dataItem a::after {
  content: '';
  display: block;
  clear: both;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataItem a {
    width: 100%;
    height: auto;
  }
}

.shopSearch__dataItem .shopNumber {
  float: left;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border: 1px solid #eee;
  background: #f9f9f9;
  border-radius: 3px;
  font-family: Montserrat,sans-serif;
}

.shopDetail td, .shopDetail th {
  border-bottom: solid 1px #ccc;
  padding: 10px;
}

.shopSearch__dataItem .shopName {
  margin-left: 20px;
  float: left;
  line-height: 40px;
  width: 12em;
  text-align: left;
  font-size: 90%;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataItem .shopName {
    width: 80%;
    width: calc(100% - (40px + 1em));
    margin-left: 1em;
  }
}

.shopSearch__dataItem .shopKusurinomadoguchi {
  margin-left: 10px;
  float: left;
  width: 180px;
}

.shopSearch__dataItem .shopKusurinomadoguchi img {
    width: 100%;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataItem .shopKusurinomadoguchi {
    margin: 15px 0 0 0;
    width: 200px;
  }
}

.shopSearch__dataItem .shopInfo {
  margin-left: 20px;
  float: left;
  width: 420px;
  text-align: left;
  font-size: 84%;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .shopSearch__dataItem .shopInfo {
    margin: 15px 0;
    width: 100%;
  }
}

.shopSearch__dataItem .shopAddr, .shopSearch__dataItem .shopTel {
  float: none;
  line-height: 20px;
  margin: 0;
}

.addrNote {
  margin-top: 30px;
}

.addrNote .shopName {
  width: 18em;
}

@media only screen and (max-width: 767px) {
  .addrNote .shopName {
    width: 80%;
    width: calc(100% - (40px + 1em));
    font-size: 84%;
  }
  .addrNote .shopInfo {
    margin-bottom: 0;
  }
}

.shopDetail .container__leftCol {
  width: 480px;
}

@media only screen and (max-width: 767px) {
  .shopDetail .container__leftCol {
    width: 95%;
    margin: 0 auto;
    float: none;
  }
}

.shopDetail .container__rightCol {
  width: 480px;
  margin: 0 0 0 20px;
}

@media only screen and (max-width: 767px) {
  .shopDetail .container__rightCol {
    width: 95%;
    margin: 0 auto;
    float: none;
  }
}

.shopDetail__icon {
  margin: 0 0 30px;
  overflow: hidden;
  clear: both;
}

@media only screen and (max-width: 767px) {
  .shopDetail__icon {
    width: 95%;
    margin: 0 auto 30px;
  }
  .shopDetail__info {
    width: 95%;
    margin: 0 auto;
  }
}

.shopDetail__shopMessage {
  margin-bottom: 50px;
  padding-left: 10px;
  min-height: 50px;
  text-align: left;
  width: 640px;
  float: left;
}

@media only screen and (max-width: 767px) {
  .shopDetail__shopMessage {
    width: 100%;
  }
}

.shopDetail__table {
  width: 640px;
  border-collapse: collapse;
  border-top: solid 1px #ccc;
  text-align: left;
  margin-bottom: 2em;
  float: left;
}

@media only screen and (max-width: 767px) {
  .shopDetail__table {
    width: 100%;
    margin: 0 0 2em;
    display: block;
    float: none;
  }
  .shopDetail tbody, .shopDetail tr {
    display: block;
  }
}

.shopDetail th {
  background: #eee;
  width: 160px;
}

@media only screen and (max-width: 767px) {
  .shopDetail td, .shopDetail th {
    width: 100%;
    display: block;
  }
}

.shopDetail__bill {
  float: right;
  width: 320px;
  background: #eee;
  border: 1px solid #ccc;
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px) {
  .shopDetail__bill {
    width: 100%;
  }
}

.shopDetail__bill img {
  width: 100%;
}

.shopDetail__line {
  background: #fff;
  float: right;
  width: 320px;
  height: 65px;
  overflow: hidden;
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .shopDetail__line {
    width: 100%;
    height: auto;
  }
}

.shopDetail__line a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
}

.shopDetail__line img {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .shopDetail__line img {
    width: 100%;
  }
  .shopDetail__payment {
    width: 95%;
    margin: 0 auto;
  }
}

.shopDetail__payment p {
  margin: 0;
}

.shopDetail__paymentBox {
  background: #eee;
  margin: 0 0 60px;
  padding: 10px;
}

.shopDetail__paymentBox img {
  width: 115px;
  vertical-align: top;
  margin-top: 15px;
}

.shopDetail__paymentBox img + img {
  margin-left: 10px;
}

@media only screen and (max-width: 767px) {
  .shopDetail__paymentBox img {
    width: 18%;
  }
  .shopDetail__paymentBox img + img {
    margin-left: 2.5%;
  }
}

.shopDetail__paymentType {
  background: #f9f9f9;
  margin: 0;
  padding: 1em;
}

.shopDetail__gmap, .shopDetail__photo {
  background: #eee;
  border: 5px solid #eee;
  overflow: hidden;
}

.shopDetail__photo {
  width: 480px;
  height: 360px;
  margin: 0 0 30px;
}

@media only screen and (max-width: 767px) {
  .shopDetail__photo {
    width: 100%;
    height: auto;
    margin: 0 auto 30px;
  }
}

.shopDetail__photo img {
  width: 470px;
}

@media only screen and (max-width: 767px) {
  .shopDetail__photo img {
    width: 100%;
  }
}

.shopDetail__gmap {
  width: 480px;
  height: 315px;
  border-bottom: none;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .shopDetail__gmap {
    width: 100%;
  }
}

.shopDetail__gmap iframe {
  width: 470px;
  height: 315px;
  border-bottom: none;
}

@media only screen and (max-width: 767px) {
  .shopDetail__gmap iframe {
    width: 100%;
  }
}

.shopDetail__gmapLink {
  display: block;
  width: 480px;
  height: 45px;
  line-height: 35px;
  margin: 0 0 30px;
  background: #fff;
  border: 5px solid #eee;
}

@media only screen and (max-width: 767px) {
  .shopDetail__gmapLink {
    width: 100%;
  }
}

@media only screen and (min-width: 768px) {
  .shopDetail__gmapLink:hover {
    background: #e60012;
    color: #fff;
  }
}

.shopDetail__backlink {
  clear: both;
}

.shopDetail__backlink a {
  border: 3px solid #fff;
  border-radius: 20px;
  background: #e60012;
  display: inline-block;
  padding: 5px 20px;
  color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.shopDetail__backlink_big a {
    margin-top: 80px;
    border: 3px solid #fff;
    border-radius: 20px;
    background: #e60012;
    display: inline-block;
    padding: 15px 60px;
    color: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.shopType__list {
  width: auto;
}

.shopType__item {
  float: left;
  text-align: left;
  line-height: 40px;
  margin: 0 0 10px 10px;
  padding: 0;
  width: 230px;
  height: 40px;
  overflow: hidden;
}

.puShopType__item, .shopType__item .shopTypeIcon {
  text-align: center;
  height: 40px;
  border-radius: 3px;
  font-size: 175%;
  padding: 0;
  float: left;
}

@media only screen and (max-width: 767px) {
  .shopType__item {
    width: 100%;
    margin: 0 0 10px;
  }
}

.shopType__item.is-active {
  color: #e60012;
}

.shopType__item.is-active .shopTypeIcon {
  background: #e60012;
  color: #fff;
}

.shopType__item.is-disable {
  color: #ccc;
}

.shopType__item.is-disable .shopTypeIcon {
  background: #ccc;
  color: #fff;
}

.shopType__item .shopTypeIcon {
  display: block;
  font-weight: 700;
  margin: 0 10px 0 0;
  position: relative;
  width: 40px;
}

.shopType__item .shopTypeIcon > i {
  display: inline-block;
  margin: 4px 0 0;
  padding: 0;
}

.puShopType {
  float: right;
  margin-left: 5px;
}

@media only screen and (max-width: 767px) {
  .puShopType {
    margin-bottom: 0;
    width: 100%;
  }
}

.puShopType__list {
  width: auto;
  float: right;
}

.puShopType__item {
  margin: 0 0 10px;
  width: 40px;
  line-height: 30px;
  background: #e60012;
  color: #fff;
}

@media only screen and (max-width: 767px) {
  .puShopType__list {
    float: none;
  }
  .puShopType__item {
    width: 24%;
    margin: 0;
  }
}

.puShopType__item + .puShopType__item {
  margin-left: 5px;
}

@media only screen and (max-width: 767px) {
  .puShopType__item + .puShopType__item {
    margin-left: 1.25%;
  }
}

.puShopType__item > i {
  display: inline-block;
  margin: 4px 0 0;
  padding: 0;
}

@font-face {
  font-family: Glyphter;
  src: url(../media/fonts/Glyphter.eot);
  src: url(../media/fonts/Glyphter.eot?#iefix) format("embedded-opentype"), url(../media/fonts/Glyphter.woff) format("woff"), url(../media/fonts/Glyphter.ttf) format("truetype"), url(../media/fonts/Glyphter.svg#Glyphter) format("svg");
  font-weight: 400;
  font-style: normal;
}

[class*=icon-]:before {
  display: inline-block;
  font-family: Glyphter;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-bizhour-23:before {
  content: '\0041';
}

.icon-liquor:before {
  content: '\0042';
}

.icon-pharmaceutical-1-category:before {
  content: '\0043';
}

.icon-pharmaceutical-2-3-category:before {
  content: '\0044';
}

.icon-magazine:before {
  content: '\0045';
}

.icon-tobacco:before {
  content: '\0046';
}

.icon-water-filter:before {
  content: '\0047';
}

.icon-id-photo:before {
  content: '\0048';
}

button[data-balloon] {
  overflow: visible;
}

[data-balloon]:after, [data-balloon]:before {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
  pointer-events: none;
  transition: all .18s ease-out .18s;
  bottom: 100%;
  left: 50%;
  position: absolute;
  z-index: 10;
  -webkit-transform: translate(-50%, 10px);
  transform: translate(-50%, 10px);
  -webkit-transform-origin: top;
  transform-origin: top;
}

[data-balloon]:after {
  background: rgba(17, 17, 17, 0.9);
  border-radius: 4px;
  color: #fff;
  content: attr(data-balloon);
  font-size: 12px;
  padding: .5em 1em;
  white-space: nowrap;
  margin-bottom: 11px;
  min-width: 7em;
}

[data-balloon]:before {
  background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E) no-repeat;
  background-size: 100% auto;
  height: 6px;
  width: 18px;
  content: "";
  margin-bottom: 5px;
}

[data-balloon]:hover:after, [data-balloon]:hover:before, [data-balloon][data-balloon-visible]:after, [data-balloon][data-balloon-visible]:before {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

[data-balloon].font-awesome:after {
  font-family: FontAwesome;
}

[data-balloon][data-balloon-break]:after {
  white-space: pre;
}

[data-balloon-pos=down]:after, [data-balloon-pos=down]:before {
  bottom: auto;
  left: 50%;
  top: 100%;
  -webkit-transform: translate(-50%, -10px);
  transform: translate(-50%, -10px);
}

[data-balloon-pos=down]:after {
  margin-top: 11px;
}

[data-balloon-pos=down]:before {
  background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E) no-repeat;
  background-size: 100% auto;
  height: 6px;
  width: 18px;
  margin-top: 5px;
  margin-bottom: 0;
}

[data-balloon-pos=down]:hover:after, [data-balloon-pos=down]:hover:before, [data-balloon-pos=down][data-balloon-visible]:after, [data-balloon-pos=down][data-balloon-visible]:before {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

[data-balloon-pos=left]:after, [data-balloon-pos=left]:before {
  bottom: auto;
  left: auto;
  right: 100%;
  top: 50%;
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}

[data-balloon-pos=left]:after {
  margin-right: 11px;
}

[data-balloon-pos=left]:before {
  background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E) no-repeat;
  background-size: 100% auto;
  height: 18px;
  width: 6px;
  margin-right: 5px;
  margin-bottom: 0;
}

[data-balloon-pos=left]:hover:after, [data-balloon-pos=left]:hover:before, [data-balloon-pos=left][data-balloon-visible]:after, [data-balloon-pos=left][data-balloon-visible]:before, [data-balloon-pos=right]:hover:after, [data-balloon-pos=right]:hover:before, [data-balloon-pos=right][data-balloon-visible]:after, [data-balloon-pos=right][data-balloon-visible]:before {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

[data-balloon-pos=right]:after, [data-balloon-pos=right]:before {
  bottom: auto;
  left: 100%;
  top: 50%;
  -webkit-transform: translate(-10px, -50%);
  transform: translate(-10px, -50%);
}

[data-balloon-pos=right]:after {
  margin-left: 11px;
}

[data-balloon-pos=right]:before {
  background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E) no-repeat;
  background-size: 100% auto;
  height: 18px;
  width: 6px;
  margin-bottom: 0;
  margin-left: 5px;
}

[data-balloon-length]:after {
  white-space: normal;
}

[data-balloon-length=small]:after {
  width: 80px;
}

[data-balloon-length=medium]:after {
  width: 150px;
}

[data-balloon-length=large]:after {
  width: 260px;
}

[data-balloon-length=xlarge]:after {
  width: 90vw;
}

@media screen and (min-width: 768px) {
  [data-balloon-length=xlarge]:after {
    width: 380px;
  }
}

[data-balloon-length=fit]:after {
  width: 100%;
}

.mapCenter, .mapEast, .mapNorth, .mapSouth, .mapWest {
  width: 940px;
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 11;
  display: none;
}

.mapbase {
  width: 940px;
  z-index: 10;
  position: absolute;
  bottom: 20px;
  right: 20px;
}

.currentPref {
  margin: 1em 0 0;
}

.currentPref i {
  margin: 0 .5em;
  font-size: 50%;
  position: relative;
  top: -.5em;
}

.flyer__getReader {
  border: 1px dashed #ccc;
  padding: 10px;
  margin: 0 0 30px;
  text-align: left;
  font-size: 84%;
}

@media only screen and (max-width: 767px) {
  #sa_01, .mapbase {
    display: none;
  }
  .flyer__getReader {
    width: 95%;
    margin: 0 auto 30px;
  }
}

.flyer__getReader p {
  margin: 0;
  padding: 0;
}

.flyer__getReader img {
  float: left;
  margin-right: 10px;
}

.flyer__getReader a {
  color: #0055CF;
}

.flyer__now {
  border: 1px solid #ccc;
  border-radius: 5px;
  overflow: hidden;
}

.flyer__now div {
  background: #eee;
}

.flyer__now div.emptyFalse {
  background: #fff;
}

@media only screen and (max-width: 767px) {
  .flyer__getReader img {
    float: none;
    margin-bottom: 10px;
  }
  .flyer__now {
    width: 95%;
    margin: 0 auto;
  }
}

.flyer__entry {
  padding: 10px;
  border-bottom: double 3px #ccc;
  margin-bottom: 30px;
}

.flyer__header {
  overflow: hidden;
  text-align: left;
  padding: 10px;
}

.flyer__body {
  background: #f9f9f9;
  border-radius: 10px;
  overflow: hidden;
  padding: 30px 0;
}

.flyer__body span, .flyer__date {
  font-size: 84%;
  line-height: 1;
  padding: .5em 1em;
  display: inline-block;
}

.flyer__body .container__leftCol {
  width: 470px;
}

@media only screen and (max-width: 767px) {
  .flyer__body .container__leftCol {
    width: 100%;
    margin-bottom: 30px;
  }
}

.flyer__body .container__rightCol {
  width: 470px;
  margin-left: 18px;
}

@media only screen and (max-width: 767px) {
  .flyer__body .container__rightCol {
    width: 100%;
    margin-left: 0;
  }
}

.flyer__body img {
  border: 5px solid #eee;
  width: 400px;
}

@media only screen and (max-width: 767px) {
  .flyer__body img {
    width: 100%;
  }
}

.flyer__body span {
  margin-top: 10px;
  border: 1px solid #ccc;
  border-radius: 1em;
  background: #fff;
}

.flyer__date {
  border-radius: 1em;
  border: 1px solid #ccc;
}

.flyer__title {
  line-height: 1.2;
  margin: 0 0 .5em;
  padding: 0;
  font-size: 150%;
  color: #E60012;
}

.flyer dl {
  clear: both;
  text-align: left;
  margin-bottom: 30px;
}

.flyer dl dt {
  border-bottom: solid 1px #eee;
  padding: 10px;
  font-weight: 700;
}

.flyer dl ul {
  margin: 0;
  padding: 10px;
  text-align: left;
}

.flyer dl li {
  display: inline-block;
}

.flyer dl li + li {
  margin-left: .5em;
}

.flyer dl li + li::before {
  content: "|";
  position: relative;
  top: -.05em;
  left: -.35em;
}

/* =========================================================
Efforts Layout
========================================================= */
.efforts-declaration__lead {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .efforts-declaration__lead img {
    width: 90%;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-declaration__point img {
    width: 90%;
  }
}

.efforts-declaration__bg {
  background: url(../images/efforts/declaration/bg.jpg) center top no-repeat;
  padding: 80px 0 40px;
  margin-top: -80px;
  margin-bottom: 40px;
}

.efforts-declaration__bland {
  margin: 40px 0 40px;
}

@media only screen and (max-width: 767px) {
  .efforts-declaration__bland {
    margin: 40px 0 20px;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-declaration__bland img {
    width: 60%;
  }
}

.efforts-declaration__overview {
  width: 640px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .efforts-declaration__overview {
    width: 95%;
    margin: 0 auto;
  }
}

.efforts-declaration__overview dl {
  display: block;
  width: 640px;
  min-height: 150px;
  clear: both;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 1px 0 4px rgba(0, 0, 0, 0.2);
  margin: 0 0 20px;
}

@media only screen and (max-width: 767px) {
  .efforts-declaration__overview dl {
    width: 100%;
  }
}

.efforts-declaration__overview dt {
  display: block;
  width: 150px;
  min-height: 150px;
  line-height: 150px;
  float: left;
  color: #fff;
  font-size: 150%;
}

@media only screen and (max-width: 767px) {
  .efforts-declaration__overview dt {
    width: 100%;
    min-height: 2em;
    line-height: 2em;
    float: none;
  }
}

.efforts-declaration__overview dd {
  float: left;
  text-align: left;
  width: 490px;
  padding: 10px;
  font-size: 75%;
}

@media only screen and (max-width: 767px) {
  .efforts-declaration__overview dd {
    width: 100%;
    float: none;
  }
}

.efforts-declaration__overview strong {
  display: block;
  font-size: 113%;
}

.efforts-declaration__overview .service dt {
  background: #76be19;
}

.efforts-declaration__overview .specialty dt {
  background: #da3279;
}

.efforts-declaration__overview .convenient dt {
  background: #e66700;
}

.efforts-store__textarea {
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .efforts-store__textarea {
    width: 95%;
    margin: 0 2.5%;
  }
}

.efforts-store__textarea .efforts-store__colortext {
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .efforts-store__photo {
    width: 95%;
    margin: 20px 2.5%;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-store__photo img {
    width: 100%;
  }
}

.efforts-drugstore .container__leadBox {
  overflow: hidden;
}

.efforts-drugstore .efforts-store__colortext {
  color: #e60012;
  margin: 0 20px 40px;
}

@media only screen and (max-width: 767px) {
  .efforts-drugstore .efforts-store__colortext {
    float: none;
    margin: 0 0 2em;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-drugstore__img {
    width: 90%;
    margin: 0 5%;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-drugstore__img img {
    width: 50%;
    margin: 0 0 20px;
  }
}

.efforts-dispensing .container__leadBox {
  overflow: hidden;
}

.efforts-dispensing .efforts-store__colortext {
  color: #20aa00;
  float: left;
  margin: 0 20px 80px;
}

@media only screen and (max-width: 767px) {
  .efforts-dispensing .efforts-store__colortext {
    float: none;
    margin: 0 0 1em;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-dispensing__img {
    width: 95%;
    margin: 0 2.5%;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-dispensing__img img {
    width: 100%;
  }
}

.efforts-education {
  /*---section2---*/
  /*---section3---*/
}

.efforts-education .container__leadBox {
  text-align: left;
}

.efforts-education .sec2 {
  width: 980px;
  margin: 20px auto 20px;
  padding-top: 40px;
  text-align: left;
  border-top: solid 1px #ccc;
}

@media only screen and (max-width: 767px) {
  .efforts-education .sec2 {
    width: 95%;
    margin: 0 auto;
  }
}

.efforts-education .sec2 h3 {
  color: #e9546b;
  font-size: 26px;
  font-weight: bold;
}

.efforts-education .sec3 {
  width: 980px;
  margin: 0 auto;
  margin-top: 50px;
}

@media only screen and (max-width: 767px) {
  .efforts-education .sec3 {
    width: 95%;
    margin: 0 auto;
  }
}

.efforts-education .sec3 div.left-box {
  width: 500px;
  text-align: left;
  margin: 0 auto;
  float: left;
  margin-right: 60px;
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  .efforts-education .sec3 div.left-box {
    width: 100%;
    margin: 5% 0;
    float: none;
  }
}

.efforts-education .sec3 div.left-box div.title {
  border-top: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  padding: 10px 0;
  margin-bottom: 5px;
  font-weight: bold;
}

.efforts-education .sec3 div.left-box ul > li:first-child {
  min-height: 50px;
  background: url(../images/efforts/education/point-1.jpg) no-repeat;
  padding: 0 0 0 60px;
  font-size: 14px;
}

.efforts-education .sec3 div.left-box ul > li:nth-of-type(2) {
  margin-top: 10px;
  min-height: 50px;
  background: url(../images/efforts/education/point-2.jpg) no-repeat;
  padding: 0 0 0 60px;
  font-size: 14px;
}

.efforts-education .sec3 div.left-box ul > li:nth-of-type(3) {
  margin-top: 10px;
  min-height: 50px;
  background: url(../images/efforts/education/point-3.jpg) no-repeat;
  padding: 0 0 0 60px;
  font-size: 14px;
}

.efforts-education .sec3 div.right-box {
  text-align: center;
  padding: 5px;
  margin: 0 auto;
  float: left;
  width: 400px;
  border-radius: 10px;
  border: 2px #ccc solid;
  background-color: #fff;
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  .efforts-education .sec3 div.right-box {
    width: 100%;
    float: none;
  }
  .efforts-education .sec3 div.right-box img {
    width: 90%;
    margin: 5%;
  }
}

.efforts-education .sec3 div.right-box div.text-area {
  text-align: left;
  margin: 5px 0 5px 10px;
}

.efforts-education .sec3 div.right-box div.text-area div.title {
  font-weight: bold;
}

.efforts-work__job + section {
  margin: 80px 0 0;
}

@media only screen and (max-width: 767px) {
  .efforts-work__job + section {
    margin: 40px 0 0;
  }
}

.efforts-work h4 {
  margin: 0 0 30px;
}

@media only screen and (max-width: 767px) {
  .efforts-work h4 {
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-work h4 img {
    width: 100%;
  }
}

.efforts-work h5 {
  font-size: 125%;
  margin: 0 0 .5em;
}

.efforts-work p {
  font-size: 83%;
  line-height: 1.5;
}

.efforts-work__leftCol {
  width: 490px;
  float: left;
  text-align: left;
  margin-left: 30px;
}

@media only screen and (max-width: 767px) {
  .efforts-work__leftCol {
    width: 95%;
    margin: 0 2.5%;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-work__leftCol img {
    width: 100%;
  }
}

.efforts-work__rightCol {
  width: 400px;
  float: right;
  text-align: left;
  margin-right: 30px;
}

@media only screen and (max-width: 767px) {
  .efforts-work__rightCol {
    width: 95%;
    margin: 0 2.5%;
  }
}

@media only screen and (max-width: 767px) {
  .efforts-work__rightCol img {
    width: 100%;
  }
}

.efforts__navi {
  margin: 0 0 20px;
  border-top: solid 1px #ccc;
}

@media only screen and (max-width: 767px) {
  .efforts__navi {
    font-size: 75%;
    width: 95%;
    margin: 0 auto 0;
  }
}

.efforts__navi ul {
  margin: 20px 0;
  padding: 0;
}

@media only screen and (max-width: 767px) {
  .efforts__navi ul {
    margin: 0;
  }
}

.efforts__navi li {
  display: inline-block;
  padding: 0 20px;
}

@media only screen and (max-width: 767px) {
  .efforts__navi li {
    display: block;
    padding: 0;
  }
}

.efforts__navi li + li {
  border-left: solid 1px #ccc;
}

@media only screen and (max-width: 767px) {
  .efforts__navi li + li {
    border-left: none;
    border-top: solid 1px #ccc;
  }
}

@media only screen and (max-width: 767px) {
  .efforts__navi a {
    padding: 10px;
    width: 100%;
    display: block;
  }
}

/* =========================================================
Best Deals Layout
========================================================= */
@media only screen and (max-width: 767px) {
  .bestdeals {
    width: 100%;
  }
}

.bestdeals__box {
  background-color: #e71873;
  padding: 0 0 30px;
}

@media only screen and (max-width: 767px) {
  .bestdeals__box {
    width: 100%;
    padding: 0 0 2.5%;
  }
}

.bestdeals__sectionTitle {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .bestdeals__sectionTitle {
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .bestdeals__sectionTitle img {
    width: 100%;
  }
}

.bestdeals__list {
  background: #fff;
  margin: 0 auto;
  padding: 30px 10px 140px;
  width: 920px;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .bestdeals__list {
    width: 95%;
    padding: 30px 10px 90%;
    overflow: hidden;
  }
}

.bestdeals__item {
  width: 200px;
  height: 160px;
  float: left;
  margin: 0 0 20px 20px;
  padding: 5px 0 0;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .bestdeals__item {
    width: 50%;
    height: 0;
    margin: 0 0 20px;
    padding-top: 35%;
    text-align: center;
  }
}

@media only screen and (max-width: 767px) {
  .bestdeals__item img {
    width: 80%;
    margin: 0 auto 0;
    position: absolute;
    top: 0;
    left: 10%;
  }
}

.bestdeals__item p {
  color: #e71873;
  font-size: 88%;
  position: absolute;
  bottom: 0;
  width: 200px;
  margin: 0;
  padding: 0;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .bestdeals__item p {
    width: 100%;
    position: static;
    margin: -15% 0 0;
  }
}

.bestdeals__item:last-child {
  border: none;
  position: absolute;
  float: none;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  width: 280px;
  height: 320px;
}

@media only screen and (max-width: 767px) {
  .bestdeals__item:last-child {
    width: 100%;
    height: auto;
    bottom: 32%;
    text-align: center;
  }
}


/*
    2018/07/09
*/

#contact {

}

#contact #business_hour {
    margin: auto;
    padding: 20px;
    width: 100%;
    max-width: 680px;
    text-align: left;
    box-sizing: border-box;
}
#contact #business_hour .wrapper {
    padding: 20px;
    border: 4px solid #eaeaea;
    background-color: #fdfdfd;
}

#contact #business_hour p {
    margin-bottom: 0;
}

#contact #contact_info {
    margin: auto;
    padding: 20px;
    width: 100%;
    max-width: 700px;
    text-align: left;
    box-sizing: border-box;
}

#contact #contact_info_title {
    margin-top: 20px;
    text-align: left;
}

#contact #contact_info .tel {
    padding: 0 15px;
    margin: auto;
    width: 160px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #fff;
    border-radius: 20px;
    box-sizing: border-box;
}

#contact #contact_info table {
    font-size: 0.9em;
    width: 100%;
    border-collapse: collapse;
}

#contact #contact_info table tr {
    padding: 0 10px;
}

#contact #contact_info table td {
    padding: 5px 10px;
    line-height: 50px;
}
#contact #contact_info table .td-switch-sp {
    display: none;
}

@media only screen and (max-width: 767px) {
    #contact #contact_info table td {
        display: block;
        text-align: center;
    }
    #contact #contact_info table .td-switch-pc {
        display: none;
    }
    #contact #contact_info table .td-switch-sp {
        display: block;
    }
}

#contact #contact_info table tbody td.br-tl { border-top-left-radius: 10px; }
#contact #contact_info table tbody td.br-tr { border-top-right-radius: 10px; }
#contact #contact_info table tbody td.br-bl { border-bottom-left-radius: 10px; }
#contact #contact_info table tbody td.br-br { border-bottom-right-radius: 10px; }

#contact #contact_info table .separator {
    height: 10px;
    overflow: hidden;
}

#contact #contact_info tbody.group_3 td {
    position: relative;
    overflow: hidden;
}

#contact #contact_info tbody.group_3 td .line {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #7cb1ff;
}

@media only screen and (max-width: 767px) {
    #contact #contact_info tbody td {
        border-radius: 0 !important;
        border-bottom: 1px solid #7cb1ff;
    }
    #contact #contact_info tbody.group_3 td .line {
        display: none;
    }
}

#contact #contact_info tbody.group_3 tr .first-line {
    left: 10px;
}

#contact #contact_info tbody.group_1 { background-color: #cde1ff; }
#contact #contact_info tbody.group_2 { background-color: #abccff }
#contact #contact_info tbody.group_3 { background-color: #8ab9ff }
#contact #contact_info tbody.group_4 { background-color: #6aa7ff }
