@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Titillium+Web:ital,wght@0,400;0,600;0,700;1,300;1,400;1,600;1,700&display=swap");
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/* ==========================================================
***index***
	00.block
	01.text
	02.image
    03.header
    04.main
    05.footer
    06.other
 ========================================================== */
html {
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 68%;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.1em;
  color: #333333;
  background-color: white;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#wrapper {
  max-width: 76.8rem;
  margin: 0 auto;
}

main {
  max-width: 76.8rem;
  margin: 0 auto;
}

a {
  color: #00BFA5;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

ul,
li {
  list-style: none;
}

h1 {
  font-size: 2.8rem;
  font-weight: 900;
}

h2,
h3,
h4 {
  line-height: 1.5;
  font-weight: 700;
}

h2 {
  font-size: 2.7rem;
  text-align: center;
  margin: 1rem 0 ;
}

h3 {
  font-size: 2.4rem;
  padding-left: 1.4rem;
  position: relative;
  margin: 2rem 0 2rem;
}

h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: -0.1rem;
  bottom: 0;
  width: .8rem;
  height: auto;
  background-color: #00BFA5;
  border-radius: .1rem;
}

h4 {
  font-size: 1.9rem;
  position: relative;
  padding-left: 1rem;
  margin: 2rem 0 1rem;
}

h4::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: .6rem;
  height: auto;
  background-color: #e5e5e5;
  border-radius: .1rem;
}

h5 {
  font-size: 1.5rem;
  margin: 1rem 0;
}

header h5 {
  line-height: 1.7;
}

.num {
  font-family: "Titillium Web";
  font-style: italic;
}

small,
figcaption {
  display: block;
  font-size: 1.2rem;
  opacity: 0.8;
}

@media screen and (min-width: 768px) {
  small,
  figcaption {
    font-size: 1.6rem;
  }
}

.hilight {
  font-weight: 700;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #fecf34));
  background: linear-gradient(transparent 60%, #fecf34 40%);
}

.hilight--green {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, rgba(0, 139, 0, 0.6)));
  background: linear-gradient(transparent 60%, rgba(0, 139, 0, 0.6) 40%);
}

img {
  width: 100%;
}

.has-bg {
  background-color: #f3f3f3;
}

.mb-none {
  display: none;
}

@media screen and (min-width: 768px) {
  .mb-none {
    display: inline-block;
  }
}

@media screen and (min-width: 768px) {
  .pc-none {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .pc-center {
    text-align: center;
  }
}

.header {
  text-align: center;
  background-color: #f8f9fa;
  -webkit-box-shadow: 0 12px 20px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 12px 20px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.1);
}

.header__mainVisual {
  padding: 20rem 0 1rem;
  color: #f8f9fa;
  background: no-repeat center center/cover url("../../images/function/cover.png");
}

.header--cp {
  background-color: darkgreen;
}

.header--patterns {
  background: no-repeat center center/140% url("../../images/function/release-wh.png");
}

@media screen and (min-width: 768px) {
  .header--patterns {
    background-size: 50%;
    background-repeat: repeat-x;
  }
}

.header__heading {
  font-size: 2.4rem;
}

.header .cover-icon {
  font-size: 6.4rem;
}

.header__panel {
  margin-bottom: 6rem;
}

.header__panel p {
  padding-bottom: 1rem;
}

.toc {
  display: block;
  max-width: 40rem;
  background-color: #f8f9fa;
  padding: 1.2rem;
  margin: 1.2rem auto 0;
}

.toc li {
  margin-bottom: 1.2rem;
}

.toc li a {
  text-decoration: underline;
}

.toc li a:hover {
  opacity: 0.6;
}

.toc li a:visited {
  opacity: 0.6;
}

.method__cover {
  background-color: #f3f3f3;
  color: #008b00;
  text-align: center;
  letter-spacing: .2em;
  padding: 3.6rem 0;
  margin-bottom: 2.4rem;
}

.method__cover .iconify {
  font-size: 8rem;
  display: block;
  margin: 0 auto;
}

.method__img {
  display: block;
  max-width: 40rem;
  width: 80%;
  border: 0.1rem solid #333333;
  margin: 0 auto;
}

.section {
  padding: 1.2rem 1rem;
}

.section__inner {
  padding: 0 1.6rem;
}

.section__content {
  padding-bottom: 1rem;
}

.section__content p {
  padding-bottom: 1rem;
}

.section__content--has-padding {
  padding: 0 1.6rem;
}

.section__reference {
  position: relative;
  background-color: #f8f9fa;
  border-radius: .4rem;
  padding: 2rem;
  margin: 2rem 0 4rem;
}

.section__reference svg[data-icon="dashicons:editor-quote"] {
  position: absolute;
  top: -2rem;
  left: 0;
  font-size: 4.8rem;
  color: #e1e5ea;
}

.section--summary li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.5;
  margin-bottom: 1.6rem;
}

.section--summary li .iconify {
  font-size: 2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0.4rem 1rem 0 0;
}

.section__btn {
  text-align: center;
  margin: 0 auto;
}

.tipp {
  position: relative;
  border: solid 0.4rem #d3eedd;
  border-radius: 0 0.6rem 0.6rem 0.6rem;
  background-color: rgba(248, 249, 250, 0.4);
  padding: 1rem;
  margin: 5rem 0 3rem;
}

@media screen and (min-width: 768px) {
  .tipp {
    padding: 4rem 2rem;
  }
}

.tipp::before {
  content: "point";
  position: absolute;
  left: -0.4rem;
  bottom: 100%;
  background: url("https://api.iconify.design/twemoji:light-bulb.svg") no-repeat left center/2.2rem;
  font-family: "Titillium Web";
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #008400;
  font-weight: 600;
  background-color: #d3eedd;
  border: solid 0.4rem #d3eedd;
  border-radius: 0.6rem 0.6rem 0 0;
  padding: 0.2rem 0.4rem 0.06rem 2.4rem;
}

.tipp--note::before {
  content: "note";
}

.tipp--memo::before {
  content: "memo";
}

.tipp--hint::before {
  content: "hint";
}

.tipp h5,
.tipp p {
  color: #0b2a3e;
  font-size: 1.4rem;
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .tipp h5,
  .tipp p {
    font-size: 1.6rem;
  }
}

.footer__comment {
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 3.2rem;
}

@media screen and (min-width: 768px) {
  .footer__comment {
    font-size: 1.6rem;
  }
}

.footer__copyright {
  background-color: #e5e5e5;
  color: rgba(51, 51, 51, 0.6);
  padding: 1.6rem;
  text-align: center;
  font-size: 1.2rem;
}

.footer__copyright::before {
  content: "\00a9NAVITIME JAPAN";
}

.footer__copyright--zenrin::before {
  content: "\00a9NAVITIME JAPAN / 地図\00a9ZENRIN CO., LTD.";
}

.btn {
  display: inline-block;
}

.btn--dcm .btn__inner {
  background-color: #cc0033;
  border-bottom: .6rem solid #990026;
}

.btn--dcm .btn__inner:hover, .btn--dcm .btn__inner:active {
  border-bottom: 0.6rem solid #cc0033;
}

.btn--au .btn__inner {
  background-color: #eb5505;
  border-bottom: .6rem solid #d24c04;
}

.btn--au .btn__inner:hover, .btn--au .btn__inner:active {
  border-bottom: 0.6rem solid #eb5505;
}

.btn--au .btn__inner {
  background-color: #eb5505;
  border-bottom: .6rem solid #d24c04;
}

.btn--au .btn__inner:hover, .btn--au .btn__inner:active {
  border-bottom: 0.6rem solid #eb5505;
}

.btn__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
  background-color: #ff9900;
  font-weight: 500;
  padding: 1.2rem 2.4rem 1.2rem 2.8rem;
  border-radius: 0.4rem;
  -webkit-tap-highlight-color: transparent;
}

.btn__inner:hover, .btn__inner:active {
  border-bottom: 0.6rem solid #ff9900;
  -webkit-transform: translateY(0.28rem);
  transform: translateY(0.28rem);
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}

.btn__inner .iconify {
  font-size: 2.4rem;
  margin-top: 0.24rem;
}

.jump-to-top {
  cursor: pointer;
  position: fixed;
  bottom: 3.2rem;
  right: 1.6rem;
  padding: 0.2rem;
  border-radius: 50%;
  background-color: #00BFA5;
  z-index: 9999;
  -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
          box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.jump-to-top .iconify {
  display: block;
  font-size: 4.8rem;
  color: white;
}

.jump-to-top:hover {
  -webkit-transform: translateY(0.4rem);
  transform: translateY(0.4rem);
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  opacity: .88;
}

.jump-to-top--cp {
  background-color: darkgreen;
}

.jump-to-top--light {
  background-color: #008b00;
}

.jump-to-top--bus {
  background-color: #00BFA5;
}

.jump-to-top--moto {
  background-color: #93c4d8;
}

.has-box-shadow {
  -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

.has-box-shadow--ease {
  -webkit-box-shadow: 0 3.5px 40px rgba(0, 0, 0, 0.014), 0 5.4px 53.6px rgba(0, 0, 0, 0.03), 0 17.1px 66.3px rgba(0, 0, 0, 0.048), 0 100px 114px rgba(0, 0, 0, 0.07);
          box-shadow: 0 3.5px 40px rgba(0, 0, 0, 0.014), 0 5.4px 53.6px rgba(0, 0, 0, 0.03), 0 17.1px 66.3px rgba(0, 0, 0, 0.048), 0 100px 114px rgba(0, 0, 0, 0.07);
}

.has-drop-shadow {
  -webkit-filter: drop-shadow(0 0.2rem 0.18rem rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 0.2rem 0.18rem rgba(0, 0, 0, 0.2));
}

/*/////////////////////////////
00. common
/////////////////////////////*/
.device {
  position: relative;
  margin-bottom: 1rem;
}

.device__content {
  position: relative;
}

.device__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #000000;
  z-index: 2000;
}

.device__inner::before {
  content: "";
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background-color: #778899;
  position: absolute;
  top: 2rem;
  left: 3rem;
}

.device__inner::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  background-color: #778899;
  border-radius: 25rem;
  bottom: 18rem;
  width: 4rem;
  height: 10rem;
  border-radius: 22rem;
}

.device .popUp {
  z-index: 4000;
  border: 0.4rem solid #008400;
  border-radius: .2rem;
}

/*/////////////////////////////
  01. device
/////////////////////////////*/
/* white */
.device--xs--wh .device__inner,
.device--s--wh .device__inner,
.device--m--wh .device__inner,
.device--l--wh .device__inner {
  background-color: #fafafa;
}

.device--xs--wh .device__inner::before,
.device--s--wh .device__inner::before,
.device--m--wh .device__inner::before,
.device--l--wh .device__inner::before,
.device--xs--wh .device__inner::after,
.device--s--wh .device__inner::after,
.device--m--wh .device__inner::after,
.device--l--wh .device__inner::after {
  background-color: #e6e6e6;
}

/* device--xs */
.device--xs, .device--xs--wh {
  overflow: hidden;
  overflow: -moz-hidden-unscrollable;
}

.device--xs .device__inner, .device--xs--wh .device__inner {
  position: relative;
  width: 8rem;
  border: 0.1rem solid #778899;
  border-radius: .8rem;
  padding: 1.6rem .1rem;
}

.device--xs .device__inner::before, .device--xs--wh .device__inner::before {
  position: absolute;
  top: 0.7rem;
  left: 1.2rem;
  width: 0.24rem;
  height: 0.24rem;
}

.device--xs .device__inner::after, .device--xs--wh .device__inner::after {
  position: absolute;
  bottom: 0.7rem;
  width: 1.8rem;
  height: 0.4rem;
}

.device--xs--wh .device__inner, .device--xs--wh--wh .device__inner {
  border: .1rem solid #e9ecef;
}

/* device--s */
.device--s .device__inner, .device--s--wh .device__inner {
  position: relative;
  width: 13rem;
  border: 0.1rem solid #778899;
  border-radius: 1.4rem;
  padding: 2.4rem .2rem 3rem;
}

.device--s .device__inner::before, .device--s--wh .device__inner::before {
  position: absolute;
  top: 1.2rem;
  left: 2rem;
  width: 0.5rem;
  height: 0.5rem;
}

.device--s .device__inner::after, .device--s--wh .device__inner::after {
  position: absolute;
  bottom: 1.2rem;
  width: 2.6rem;
  height: 0.7rem;
}

.device--s--wh .device__inner, .device--s--wh--wh .device__inner {
  border: .1rem solid #e9ecef;
}

/* device--m */
.device--m .device__inner, .device--m--wh .device__inner {
  position: relative;
  width: 20rem;
  border: 3px solid #778899;
  border-radius: 1.9rem;
  padding: 4.2rem .2rem 4.6rem;
}

.device--m .device__inner::before, .device--m--wh .device__inner::before {
  position: absolute;
  top: 2rem;
  left: 3rem;
  width: 0.8rem;
  height: 0.8rem;
}

.device--m .device__inner::after, .device--m--wh .device__inner::after {
  position: absolute;
  bottom: 1.8rem;
  width: 4rem;
  height: 1rem;
  border-radius: 2.2rem;
}

.device--m--wh .device__inner, .device--m--wh--wh .device__inner {
  border: 3px solid #f8f9fa;
}

/* device--l */
.device--l .device__inner, .device--l--wh .device__inner {
  position: relative;
  width: 25rem;
  border: 3px solid #778899;
  border-radius: 3rem;
  padding: 4.6rem 3px 6.2rem;
}

.device--l .device__inner::before, .device--l--wh .device__inner::before {
  position: absolute;
  top: 2.4rem;
  left: 4rem;
  width: 1rem;
  height: 1rem;
}

.device--l .device__inner::after, .device--l--wh .device__inner::after {
  position: absolute;
  bottom: 2.4rem;
  width: 6rem;
  height: 2rem;
}

.device--l--wh .device__inner, .device--l--wh--wh .device__inner {
  border: 3px solid #f8f9fa;
}

/*/////////////////////////////
  02. balloon
  /////////////////////////////*/
.balloon-l {
  z-index: 5000;
  -webkit-filter: drop-shadow(-10px 10px 10px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(-10px 10px 10px rgba(0, 0, 0, 0.1));
}

.balloon-r {
  -webkit-filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.1));
  z-index: 5000;
}

/* まとめ */
.device--m .inner {
  text-align: center;
  margin: 0 auto;
}

.jump-to-top,
.btn__inner {
  background-color: #00BFA5;
}

.checkItem p {
  display: inline-block;
  font-weight: 500;
}

.checkItem .iconify {
  vertical-align: -0.1rem;
}

/* スクリーンショット*/
.screenshot {
  border: solid 1px #C8C8C8;
}

/* 目次 */
.table_contents{
  border: dotted #006400 1px;
  padding: 1rem;
  margin: 2rem 0 3rem;
}

.table_contents > li {
  padding: 0.4rem 0;
  font-weight: bold;
}

.store-area {
  width: 100%;
  display: flex;
  justify-content: center;
}

.store-area a {
  width: 40%;
  margin: 0 1rem;
}

.button {
  width: 90%;
  font-weight: bold;
  min-height: 40px;
  background: #00BFA5;
  border-radius: 2rem;
  border: none;
  margin: 0 auto;
  color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  box-shadow: 0 2px 4px 0 rgb(0 0 0 / 50%);
}

.background-primary {
  background: #00BFA5;
  color: #FFFFFF;
}

.tariff {
  overflow: scroll;
  margin: 5rem auto 1rem;
  width: 90%
}

table {
  background: white;
  text-align: left;
  border-collapse: collapse;
  line-height: 1.5;
  white-space: nowrap;
  table-layout: fixed;
  color: #333333;
}

thead th {
  background: #B9E0C9;
  color: #4A5D53;
  padding: 1rem;
  border: #eeeeee 2px solid;
}

tbody td {
  padding: 1rem;
  border: #eeeeee 1px solid;
  background: white;
}

.fixed-column {
  position: sticky;
  left: 0;
  background: #B9E0C9;
  color: #4A5D53;
}

.subscribe-notice {
  width: 90%;
  font-size: 0.8rem;
  margin: 1rem auto;
  color: #eeeeee;
  text-align: left;
}

.footer-store {
  width: 80%;
  text-align: center;
  margin: 0 auto;
  padding: 5rem 0 0;
}


/* 640px以上に適用されるCSS（タブレット/PC用） */
@media screen and (min-width: 640px) {
  .responsive-body {
    max-width: 800px;
    margin: 0 auto;
  }
  .store-area a {
    width: 25%;
    margin: 0 1rem;
  }
  table {
    width: 100%
  }
}