@charset "utf-8";

/* CSS Document */
.nosp {
  display: none;
}

main * {
  box-sizing: border-box
}

.mv__container,
.main-title {
  width: 100%;
  padding: calc(40vw / (750 / 100)) 0;
  background: #F6F6F6
}

.mv__container>h2,
.main-title>h2 {
  width: 94vw;
  margin: auto;
  text-align: center;
  font-size: calc(48vw / (750 / 100));
}

.inner {
  width: 94vw;
  margin: auto;
}

[class*="__em"] {
  font-weight: bold;
  text-decoration: underline;
}

[class*="__emred"] {
  color: #FF0000;
  font-weight: bold;
  text-decoration: underline;
}

[class*="__boldred"] {
  color: #FF0000;
  font-weight: bold;
}

[class*="__bold"] {
  margin-top: calc(20vw / (750 / 100));
  font-weight: bold;
}

[class*="__dot"],
[class*="__asta"],
[class*="__circle"] {
  position: relative;
  padding-left: 1.0em;
}

[class*="__dot"]::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

[class*="__asta"]::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

[class*="__astared"]::before {
  content: "※";
  color: #FF0000;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
}

[class*="__circle"]::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}

[class*="__box"] {
  margin-bottom: calc(30vw / (750 / 100));
}

[class*="__mt"] {
  margin-top: calc(30vw / (750 / 100));
}

.item-list>li a {
  text-decoration: underline;
}

.basic-note {
  margin: calc(20vw / (750 / 100)) auto;
}

.basic-note>li {
  font-size: calc(26vw / (750 / 100));
  position: relative;
  padding-left: 1.5em;
}

.basic-note>li::before {
  content: "◆";
  position: absolute;
  top: 0;
  left: 0
}

.special-box {
  margin-bottom: calc(20vw / (750 / 100));
  background: #E5EDFE;
  padding: calc(20vw / (750 / 100))
}

.special-title {
  font-size: calc(30vw / (750 / 100));
  font-weight: bold;
  margin-bottom: calc(6vw / (750 / 100))
}

.special-notice {
  margin-top: calc(6vw / (750 / 100))
}

.sub-title {
  font-size: calc(28vw / (750 / 100));
  font-weight: bold;
}

.sub-title>small {
  font-size: calc(24vw / (750 / 100));
  font-weight: normal;
  display: inline-block;
  margin-left: 1.0em;
}

.shop-link>a {
  display: block;
  width: 94vw;
  border: calc(6vw / (750 / 100)) solid #333;
  padding: calc(10vw / (750 / 100));
  margin: 0 auto calc(10vw / (750 / 100));
  font-size: calc(30vw / (750 / 100));
  text-align: center;
  position: relative;
  transition: 0.3s;
}

.shop-link>a:hover {
  background: #E5EDFE;
}

.shop-link>a::after {
  content: "";
  background: url(/cmn/icon/icon_arrow_right.png) no-repeat center center / contain;
  width: calc(48vw / (750 / 100));
  height: calc(48vw / (750 / 100));
  position: absolute;
  top: 0;
  right: 3%;
  bottom: 0;
  margin: auto;
}

.link-note {
  display: block;
  font-size: calc(22vw / (750 / 100));
}

.shop-link+.shop-link {
  margin-top: calc(30vw / (750 / 100));
}

.insurance-table {
  border-collapse: collapse;
  border: 1px solid;
  margin: calc(30vw / (750 / 100)) auto;
}

.insurance-table caption {
  text-align: left;
  font-size: calc(22vw / (750 / 100));
}

.insurance-table tr td {
  font-size: calc(22vw / (750 / 100));
  padding: calc(10vw / (750 / 100));
  border: 1px solid;
}

.insurance-table .midashi {
  width: 9em;
}

sup {
  font-size: calc(22vw / (750 / 100));
  vertical-align: text-top;
}

/* index用 */
.nav__container {
  width: 100%;
  margin-top: calc(30vw / (750 / 100));
}

.nav__inner {
  width: 94vw;
  margin: auto;
}

.nav__inner h3 {
  font-size: calc(32vw / (750 / 100));
  color: #4f71b4;
  text-align: left;
  margin: 0 auto calc(30vw / (750 / 100));
  padding-bottom: calc(10vw / (750 / 100));
  border-bottom: 1px solid #c2cde5;
}
.nav__inner h3>span{
  display: block;
  color: #ff0033;
  font-size: calc(26vw / 7.5);
}

.nav__box {
  display: flex;
  flex-wrap: wrap;
  padding-left: calc(30vw / (750 / 100));
}

.nav__box>li {
  width: 100%;
  list-style: disc;
  list-style-position: inside;
  margin-bottom: calc(20vw / (750 / 100));
}

.nav__box>li:last-child {
  margin-bottom: 0;
}

.nav__box>li a {
  color: #4f71b4;
  font-size: calc(24vw / (750 / 100));
}

.nav__box>li a:hover {
  text-decoration: underline;
  opacity: .7;
}