@media screen and (min-width: 1081px), print {
  .st_location {
    padding-bottom: 100px;
  }
  .st_location .gr_ttl_ctn {
    margin-bottom: 63px;
  }
  .st_location .l_link {
    font-size: 1.6rem;
    line-height: 30px;
    text-decoration: underline;
    color: #0099e8;
    padding-right: 25px;
  }
  .st_location .l_link span:after {
    content: "";
    background: url(../../img/icon_file.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 17px;
    height: 12px;
    position: relative;
    display: inline-block;
    margin-left: 9px;
  }
  .st_location .l_link:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  .st_location .b_location .top_lc p {
    font-size: 1.6rem;
    line-height: 30px;
    letter-spacing: 1px;
  }
  .st_location .b_location .top_lc p + p {
    margin-top: 8px;
  }
  .st_location .b_location .top_lc p .l_link {
    margin-left: 22px;
  }
  .st_location .b_location .gr_location {
    margin: 54px 0 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .st_location .b_location .gr_location .item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .st_location .b_location .gr_location .item dl {
    margin-left: 50px;
    width: -webkit-calc(50% - 50px);
    width: -moz-calc(50% - 50px);
    width: calc(50% - 50px);
  }
  .st_location .b_location .gr_location .item dl:nth-of-type(2n+1) {
    margin-left: 0px;
  }
  .st_location .b_location .gr_location .item dl:nth-of-type(n+3) {
    margin-top: 25px;
  }
  .st_location .b_location .gr_location .item dl dt {
    font-size: 2rem;
    line-height: 1.5;
    color: #780e00;
    border-bottom: 1px dashed #dcdcdc;
    margin-bottom: 10px;
    padding-bottom: 7px;
    /* letter-spacing: 2px; */
  }
  .st_location .b_location .gr_location .item dl dt span {
    font-size: 1.4rem;
  }
  .st_location .b_location .gr_location .item dl dd .list li {
    font-size: 1.4rem;
    line-height: 28px;
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .st_location .b_location .gr_location .item dl dd .list li:before {
    content: "";
    width: 5px;
    height: 5px;
    margin: 11px 7px 0px 0;
    background-color: #780e00;
    display: inline-block;
  }
  .st_location .b_location .gr_location .item dl dd .list li .l_link {
    font-size: 1.4rem;
  }
  .st_location .b_location .gr_location .item:nth-of-type(2) dl:not(:last-child) {
    margin-bottom: 20px;
  }
  .st_location .b_location .b_tel dl {
    border: 1px solid #bebebe;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin: 50px 0 0;
  }
  .st_location .b_location .b_tel dl dt {
    font-size: 1.4rem;
    line-height: 30px;
    background-color: #f3f3f3;
    border-right: 1px solid #bebebe;
    width: 235px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .st_location .b_location .b_tel dl dd {
    width: -webkit-calc(100% - 235px);
    width: -moz-calc(100% - 235px);
    width: calc(100% - 235px);
    padding: 14px 20px 9px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .st_location .b_location .b_tel dl dd span {
    font-size: 1.6rem;
    line-height: 24px;
    display: inline-block;
    letter-spacing: 1px;
    vertical-align: middle;
  }
  .st_location .b_location .b_tel dl dd span:not(:last-child) {
    margin-right: 14px;
  }
  .st_location .b_location .b_tel dl dd span ins {
    color: #fff;
    background-color: #780e00;
    font-size: 1.2rem;
    line-height: 30px;
    padding: 1px 6px;
    text-decoration: none;
    margin-right: 10px;
    vertical-align: middle;
  }
  .st_location .b_location .b_tel dl dd span .tel {
    pointer-events: none;
    display: inline-block;
    vertical-align: middle;
  }
  .st_location .b_location em {
    font-size: 1.6rem;
    line-height: 24px;
    display: block;
    margin-top: 13px;
    letter-spacing: 1px;
    font-style: normal;
  }
  .ie .st_location .l_link span:after {
    height: 13px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .st_location {
    padding-bottom: 9.25926vw;
  }
  .st_location .gr_ttl_ctn {
    margin-bottom: 5.83333vw;
  }
  .st_location .l_link {
    font-size: 1.48148vw;
    line-height: 2.77778vw;
    text-decoration: underline;
    color: #0099e8;
    padding-right: 2.31481vw;
  }
  .st_location .l_link span:after {
    content: "";
    background: url(../../img/icon_file.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 1.57407vw;
    height: 1.11111vw;
    position: relative;
    display: inline-block;
    margin-left: 0.92593vw;
  }
  .st_location .l_link:hover {
    text-decoration: none;
  }
  .st_location .b_location .top_lc p {
    font-size: 1.48148vw;
    line-height: 2.77778vw;
    letter-spacing: 0.09259vw;
  }
  .st_location .b_location .top_lc p + p {
    margin-top: 0.74074vw;
  }
  .st_location .b_location .top_lc p .l_link {
    margin-left: 2.03704vw;
  }
  .st_location .b_location .gr_location {
    margin: 5vw 0 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .st_location .b_location .gr_location .item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .st_location .b_location .gr_location .item dl {
    margin-left: 4.62963vw;
    width: -webkit-calc(50% - 4.62963vw);
    width: -moz-calc(50% - 4.62963vw);
    width: calc(50% - 4.62963vw);
  }
  .st_location .b_location .gr_location .item dl:nth-of-type(2n+1) {
    margin-left: 0;
  }
  .st_location .b_location .gr_location .item dl:nth-of-type(n+3) {
    margin-top: 2.31481vw;
  }
  .st_location .b_location .gr_location .item dl dt {
    font-size: 2rem;
    line-height: 1.5;
    color: #780e00;
    border-bottom: 1px dashed #dcdcdc;
    margin-bottom: 0.92593vw;
    padding-bottom: 0.64815vw;
    /* letter-spacing: tw(2); */
  }
  .st_location .b_location .gr_location .item dl dt span {
    font-size: 1.2963vw;
  }
  .st_location .b_location .gr_location .item dl dd .list li {
    font-size: 1.2963vw;
    line-height: 2.59259vw;
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .st_location .b_location .gr_location .item dl dd .list li:before {
    content: "";
    width: 0.46296vw;
    height: 0.46296vw;
    margin: 1.01852vw 0.64815vw 0px 0;
    background-color: #780e00;
    display: inline-block;
  }
  .st_location .b_location .gr_location .item dl dd .list li .l_link {
    font-size: 1.2963vw;
  }
  .st_location .b_location .gr_location .item:nth-of-type(2) dl:not(:last-child) {
    margin-bottom: 1.85185vw;
  }
  .st_location .b_location .b_tel dl {
    border: 1px solid #bebebe;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin: 4.62963vw 0 0;
  }
  .st_location .b_location .b_tel dl dt {
    font-size: 1.2963vw;
    line-height: 2.77778vw;
    background-color: #f3f3f3;
    border-right: 1px solid #bebebe;
    width: 21.75926vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .st_location .b_location .b_tel dl dd {
    width: -webkit-calc(100% - 21.75926vw);
    width: -moz-calc(100% - 21.75926vw);
    width: calc(100% - 21.75926vw);
    padding: 1.2963vw 1.85185vw 0.83333vw;
  }
  .st_location .b_location .b_tel dl dd span {
    font-size: 1.48148vw;
    line-height: 2.22222vw;
    display: inline-block;
    letter-spacing: 0.09259vw;
    vertical-align: middle;
  }
  .st_location .b_location .b_tel dl dd span:not(:last-child) {
    margin-right: 1.2963vw;
  }
  .st_location .b_location .b_tel dl dd span ins {
    color: #fff;
    background-color: #780e00;
    font-size: 1.11111vw;
    line-height: 2.77778vw;
    padding: 0.09259vw 0.55556vw;
    text-decoration: none;
    margin-right: 0.92593vw;
    vertical-align: middle;
  }
  .st_location .b_location .b_tel dl dd span .tel {
    pointer-events: none;
    display: inline-block;
    vertical-align: middle;
  }
  .st_location .b_location em {
    font-size: 1.48148vw;
    line-height: 2.22222vw;
    display: block;
    margin-top: 1.2037vw;
    letter-spacing: 0.09259vw;
    font-style: normal;
  }
}

@media screen and (max-width: 767px) {
  .st_location {
    padding-bottom: 13.02083vw;
  }
  .st_location .gr_ttl_ctn {
    margin-bottom: 9.11458vw;
  }
  .st_location .l_link {
    font-size: 3.38542vw;
    line-height: 6.25vw;
    text-decoration: underline;
    color: #0099e8;
    padding-right: 3.90625vw;
  }
  .st_location .l_link span:after {
    content: "";
    background: url(../../img/icon_file.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 4.42708vw;
    height: 3.125vw;
    position: relative;
    display: inline-block;
    margin-left: 1.95312vw;
  }
  .st_location .l_link:hover {
    text-decoration: none;
  }
  .st_location .b_location .top_lc p {
    font-size: 3.38542vw;
    line-height: 6.25vw;
    letter-spacing: 0.13021vw;
  }
  .st_location .b_location .top_lc p + p {
    margin-top: 1.30208vw;
  }
  .st_location .b_location .top_lc p .l_link {
    margin-left: 3.25521vw;
  }
  .st_location .b_location .gr_location {
    margin: 7.16146vw 0 0 0;
  }
  .st_location .b_location .gr_location .item {
    width: 100%;
  }
  .st_location .b_location .gr_location .item dl + dl {
    margin-top: 3.25521vw;
  }
  .st_location .b_location .gr_location .item dl dt {
    font-size: 3.90625vw;
    line-height: 1.5;
    color: #780e00;
    border-bottom: 1px dashed #dcdcdc;
    margin-bottom: 1.30208vw;
    padding-bottom: 1.30208vw;
    letter-spacing: 0.26042vw;
  }
  .st_location .b_location .gr_location .item dl dt span {
    font-size: 3.125vw;
  }
  .st_location .b_location .gr_location .item dl dd .list li {
    font-size: 3.125vw;
    line-height: 5.72917vw;
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .st_location .b_location .gr_location .item dl dd .list li:before {
    content: "";
    width: 1.04167vw;
    height: 1.04167vw;
    margin: 2.34375vw 1.30208vw 0px 0;
    background-color: #780e00;
    display: inline-block;
  }
  .st_location .b_location .gr_location .item dl dd .list li .l_link {
    font-size: 3.125vw;
  }
  .st_location .b_location .gr_location .item:nth-of-type(2) dl:not(:last-child) {
    margin-bottom: 20px;
  }
  .st_location .b_location .b_tel dl {
    border: 1px solid #bebebe;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin: 6.51042vw 0 0;
  }
  .st_location .b_location .b_tel dl dt {
    font-size: 3.125vw;
    line-height: 6.25vw;
    background-color: #f3f3f3;
    border-right: 1px solid #bebebe;
    width: 27.34375vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .st_location .b_location .b_tel dl dd {
    width: -webkit-calc(100% - 27.34375vw);
    width: -moz-calc(100% - 27.34375vw);
    width: calc(100% - 27.34375vw);
    padding: 3.90625vw;
  }
  .st_location .b_location .b_tel dl dd span {
    font-size: 3.38542vw;
    line-height: 5.20833vw;
    display: block;
    vertical-align: middle;
  }
  .st_location .b_location .b_tel dl dd span:not(:last-child) {
    margin-bottom: 0.65104vw;
  }
  .st_location .b_location .b_tel dl dd span .tel {
    display: inline-block;
    vertical-align: middle;
  }
  .st_location .b_location .b_tel dl dd span ins {
    color: #fff;
    background-color: #780e00;
    font-size: 2.60417vw;
    line-height: 1;
    text-align: center;
    padding: 0.65104vw 1.04167vw 0.65104vw 1.30208vw;
    text-decoration: none;
    display: inline-block;
    margin-right: 1.30208vw;
    vertical-align: middle;
  }
  .st_location .b_location em {
    font-size: 3.38542vw;
    line-height: 6.25vw;
    display: block;
    margin-top: 1.95312vw;
    letter-spacing: 0.13021vw;
    font-style: normal;
  }
}
