@charset "UTF-8";
/* ##########################################

base

########################################## */
@font-face {
  font-family: "BebasNeue";
  font-style: normal;
  font-weight: 400;
  src: local("BebasNeue Regular"), url("../../../assets/font/BebasNeue-Regular.ttf") format("truetype");
}
/* ******************************************

  reset - A (more) Modern CSS Reset

****************************************** */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* ******************************************

  SP - base

****************************************** */
html {
  min-height: 100%;
  font-size: 10px;
  font-size: 2.667vw;
}

body {
  min-height: 100%;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
  font-weight: 400;
  font-size: min(4.2666666667vw, 21.3333333333px);
  letter-spacing: 0;
  color: #333333;
  min-width: 320px;
}
@media print {
  body {
    overflow: visible;
    min-width: 100%;
  }
}

img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

a {
  color: #333333;
  text-decoration: none;
}

@media print, screen and (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
}

input, select {
  padding: 0;
  background-color: #FFFFFF;
  border: 1px solid #333333;
}

input[type=checkbox],
input[type=radio] {
  -webkit-appearance: none;
          appearance: none;
}

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

th, td {
  vertical-align: top;
  text-align: left;
}

.wrapper {
  width: 100%;
  height: 100%;
  min-height: 100%;
  position: relative;
  overflow: hidden;
  background-color: #EAF1F4;
}
.wrapper__isGreen {
  background-color: #E4EFEF;
}

/* ##########################################

common

########################################## */
/* ******************************************

【SP】main

****************************************** */
.main {
  max-width: 500px;
  margin: 0 auto;
  background-color: #FFFFFF;
  box-shadow: 0 0 min(2.1333333333vw, 10.6666666667px) rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

/* ******************************************

【SP】header

****************************************** */
/* ******************************************

【SP】footer

****************************************** */
.footer {
  background-color: #333333;
  padding-bottom: min(21.3333333333vw, 106.6666666667px);
  max-width: 500px;
  margin: 0 auto;
  box-shadow: 0 0 min(2.1333333333vw, 10.6666666667px) rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.footer__contact {
  padding: 0;
}
.footer__inner {
  padding: min(6.6666666667vw, 33.3333333333px) min(5.3333333333vw, 26.6666666667px);
  text-align: center;
  color: #FFFFFF;
  line-height: 1.6;
}
.footer__textInner {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: min(5.8666666667vw, 29.3333333333px);
  margin-bottom: min(0.8vw, 4px);
}
.footer__text {
  font-size: min(3.7333333333vw, 18.6666666667px);
}
.footer__textLink {
  font-size: min(3.2vw, 16px);
  color: #FFFFFF;
  text-decoration: underline;
}
.footer__copyright {
  font-size: min(3.2vw, 16px);
  line-height: 1;
}

/* ******************************************

【SP】cvFooter

****************************************** */
.cvFooter {
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  padding: min(0.5333333333vw, 2.6666666667px) min(2.6666666667vw, 13.3333333333px) min(1.6vw, 8px);
  position: fixed;
  left: 50%;
  bottom: max(-22.6666666667vw, -113.3333333333px);
  transform: translateX(-50%);
  overflow: hidden;
  z-index: 5;
}
.cvFooter__text {
  font-size: min(3.4666666667vw, 17.3333333333px);
  font-weight: bold;
  text-align: center;
  margin-bottom: min(0.5333333333vw, 2.6666666667px);
  color: #FFFFFF;
}
.cvFooter__speechBubble {
  position: relative;
}
.cvFooter__speechBubble::before, .cvFooter__speechBubble::after {
  content: "";
  width: min(3.2vw, 16px);
  height: min(4.5333333333vw, 22.6666666667px);
  background-image: url("../../../assets/images/sp/common/cv-footer-icon.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  bottom: max(-0.5333333333vw, -2.6666666667px);
}
.cvFooter__speechBubble::before {
  left: max(-4vw, -20px);
}
.cvFooter__speechBubble::after {
  right: max(-4vw, -20px);
  transform: scale(-1, 1);
}
.cvFooter__textColor {
  color: #FFF600;
}
.cvFooter__textLarge {
  font-size: min(5.0666666667vw, 25.3333333333px);
}
.cvFooter__buttonInner {
  display: flex;
  justify-content: center;
  column-gap: min(1.8666666667vw, 9.3333333333px);
}
.cvFooter__button {
  width: min(46.4vw, 232px);
  height: min(11.2vw, 56px);
}

/* ******************************************

【SP】cvSet

****************************************** */
.cvSet__inner {
  padding: 0 min(9.3333333333vw, 46.6666666667px);
}
.cvSet__heading {
  width: min(73.3333333333vw, 366.6666666667px);
  margin: 0 auto min(3.2vw, 16px);
}
.cvSet__headingWhite {
  margin-bottom: min(5.3333333333vw, 26.6666666667px);
}
.cvSet__textList {
  margin: 0 min(1.3333333333vw, 6.6666666667px) min(4.5333333333vw, 22.6666666667px) min(2.6666666667vw, 13.3333333333px);
}
.cvSet__text {
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: bold;
  padding-left: min(5.3333333333vw, 26.6666666667px);
  line-height: 1.3;
  position: relative;
}
.cvSet__text::before {
  content: "";
  width: min(4vw, 20px);
  height: min(4vw, 20px);
  background-image: url("../../../assets/images/sp/common/cv-check.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 100%;
  position: absolute;
  top: min(0.2666666667vw, 1.3333333333px);
  left: 0;
}
.cvSet__text + .cvSet__text {
  margin-top: min(1.6vw, 8px);
}
.cvSet__tel {
  margin-top: min(5.0666666667vw, 25.3333333333px);
}
.cvSet__telText {
  font-size: min(4vw, 20px);
  font-weight: bold;
  text-align: center;
  margin-top: min(1.8666666667vw, 9.3333333333px);
}
.cvSet__telTextLine {
  padding: 0 0 min(0.8vw, 4px);
  background: linear-gradient(transparent 62%, #FFF600 0%);
}

/* ******************************************

【SP】planSet

****************************************** */
.planSet {
  padding: 0 min(5.3333333333vw, 26.6666666667px);
}
.planSet__list li + li {
  margin-top: min(4vw, 20px);
}
.planSet__list a {
  display: block;
  position: relative;
  z-index: 0;
}
.planSet__planImage {
  position: relative;
  z-index: 0;
}
.planSet__badge {
  width: min(16.2666666667vw, 81.3333333333px);
  height: min(16.2666666667vw, 81.3333333333px);
  position: absolute;
  top: min(-1.6vw, -8px);
  left: min(-1.6vw, -8px);
  z-index: 1;
}
.planSet__note {
  font-size: min(2.6666666667vw, 13.3333333333px);
  color: #FFFFFF;
  line-height: 1.6;
  margin-top: min(2.6666666667vw, 13.3333333333px);
}
.planSet__welfare {
  margin-top: min(7.4666666667vw, 37.3333333333px);
}
.planSet__welfareText {
  text-align: center;
  font-size: min(4.8vw, 24px);
  color: #FFF600;
  font-weight: bold;
  margin-bottom: min(6.1333333333vw, 30.6666666667px);
}
.planSet__welfareTextLine {
  position: relative;
}
.planSet__welfareTextLine::after {
  content: "";
  width: min(57.0666666667vw, 285.3333333333px);
  height: min(2.6666666667vw, 13.3333333333px);
  background-image: url("../../../assets/images/sp/common/plan-list-welfare-line.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50%;
  position: absolute;
  left: 50%;
  bottom: min(-3.4666666667vw, -17.3333333333px);
  transform: translateX(-50%);
}

/* ******************************************

【SP】hallSet

****************************************** */
.hallSet {
  padding-top: min(13.8666666667vw, 69.3333333333px);
  padding-bottom: min(16vw, 80px);
  background-image: url("../../../assets/images/sp/common/hall-set-background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
.hallSet__inner {
  text-align: center;
}
.hallSet__heading01 {
  display: inline-block;
  margin: 0 auto min(6.6666666667vw, 33.3333333333px);
  height: min(11.4666666667vw, 57.3333333333px);
  line-height: min(11.4666666667vw, 57.3333333333px);
  border-radius: min(11.4666666667vw, 57.3333333333px);
  background-color: #187A9F;
  color: #FFFFFF;
  padding: 0 min(7.4666666667vw, 37.3333333333px);
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  position: relative;
}
.isGreen .hallSet__heading01 {
  background-color: #44A5A5;
}
.hallSet__heading01::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: min(2.9333333333vw, 14.6666666667px) min(2.9333333333vw, 14.6666666667px) 0 min(2.9333333333vw, 14.6666666667px);
  border-color: #187A9F transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: max(-2.6666666667vw, -13.3333333333px);
  transform: translateX(-50%);
}
.isGreen .hallSet__heading01::after {
  border-color: #44A5A5 transparent transparent transparent;
}
.hallSet__heading02 {
  font-size: min(7.4666666667vw, 37.3333333333px);
  letter-spacing: 0.05rem;
  margin-bottom: min(6.9333333333vw, 34.6666666667px);
}
.hallSet__image01 {
  width: min(47.4666666667vw, 237.3333333333px);
  height: min(22.9333333333vw, 114.6666666667px);
  margin: 0 auto min(6.6666666667vw, 33.3333333333px);
}
.hallSet__text01 {
  text-align: left;
  width: min(84vw, 420px);
  margin: 0 auto min(9.3333333333vw, 46.6666666667px);
  line-height: 1.55;
}
.hallSet__note {
  font-size: min(2.6666666667vw, 13.3333333333px);
  text-align: right;
  margin: min(1.3333333333vw, 6.6666666667px) min(5.3333333333vw, 26.6666666667px) min(10.6666666667vw, 53.3333333333px);
}
.hallSet__text02 {
  font-size: min(5.8666666667vw, 29.3333333333px);
  font-weight: bold;
  margin: 0 auto min(8vw, 40px);
  line-height: 1.55;
}
.hallSet__text02Line {
  padding: 0 0 min(1.6vw, 8px);
  background: linear-gradient(transparent 88%, #187A9F 0%);
}
.isGreen .hallSet__text02Line {
  background: linear-gradient(transparent 88%, #66BABA 0%);
}
.hallSet__image02 {
  width: min(56.2666666667vw, 281.3333333333px);
  height: min(36vw, 180px);
  margin: 0 auto;
}

/* ##########################################

page

########################################## */
/* ******************************************

【SP】top

****************************************** */
/* ==============================

  01. topMv

============================== */
.topMv__inner {
  padding-top: min(10.6666666667vw, 53.3333333333px);
  text-align: center;
  background-image: url("../../../assets/images/sp/top/mv-background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
.isGreen .topMv__inner {
  background: none;
  background-color: #66BABA;
}
.topMv__text {
  display: inline-block;
  margin: 0 auto min(12.2666666667vw, 61.3333333333px);
  height: min(11.2vw, 56px);
  line-height: min(11.2vw, 56px);
  border-radius: min(11.2vw, 56px);
  background-color: #187A9F;
  color: #FFFFFF;
  padding: 0 min(5.3333333333vw, 26.6666666667px);
  font-size: min(5.3333333333vw, 26.6666666667px);
  font-weight: bold;
  position: relative;
}
.isGreen .topMv__text {
  background-color: #FFFFFF;
  color: #333333;
}
.topMv__text::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) 0 min(2.6666666667vw, 13.3333333333px);
  border-color: #187A9F transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: max(-2.4vw, -12px);
  transform: translateX(-50%);
}
.isGreen .topMv__text::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.topMv__text span {
  padding: 0 0 min(0.8vw, 4px);
  background: linear-gradient(transparent 68%, #FFF600 0%);
}
.topMv__heading {
  color: #187A9F;
  font-size: min(8vw, 40px);
  font-weight: bold;
  line-height: 1.45;
  letter-spacing: 0.04rem;
  margin-bottom: min(14.4vw, 72px);
}
.isGreen .topMv__heading {
  color: #FFFFFF;
}
.topMv__headingDot {
  position: relative;
  padding-top: min(3.4666666667vw, 17.3333333333px);
}
.topMv__headingDot::before {
  content: "";
  width: min(1.6vw, 8px);
  height: min(1.6vw, 8px);
  border-radius: 50%;
  background-color: #187A9F;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.isGreen .topMv__headingDot::before {
  background-color: #FFFFFF;
}
.topMv__priceInner {
  width: min(80.2666666667vw, 401.3333333333px);
  height: auto;
  margin: 0 auto;
  position: relative;
}
.topMv__priceText {
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  white-space: nowrap;
  position: absolute;
  top: max(-5.0666666667vw, -25.3333333333px);
  left: 50%;
  transform: translateX(-50%);
}
.isGreen .topMv__priceText {
  color: #FFFFFF;
}
.topMv__background {
  margin-top: max(-2.6666666667vw, -13.3333333333px);
}
.topMv__cmInner {
  margin-top: max(-10.6666666667vw, -53.3333333333px);
}
.topMv__cm {
  width: min(80vw, 400px);
  background-color: #D6D6D6;
  padding: min(1.0666666667vw, 5.3333333333px);
  margin: 0 auto;
  position: relative;
}
.topMv__cmRibbon {
  width: min(62.9333333333vw, 314.6666666667px);
  height: min(16.2666666667vw, 81.3333333333px);
  position: absolute;
  top: max(-8.5333333333vw, -42.6666666667px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.topMv__cmThumbnail {
  width: min(77.8666666667vw, 389.3333333333px);
  height: min(44vw, 220px);
  position: absolute;
  top: min(1.0666666667vw, 5.3333333333px);
  left: min(1.0666666667vw, 5.3333333333px);
  z-index: 1;
}
.topMv__cmVideo {
  width: min(77.8666666667vw, 389.3333333333px);
  height: min(44vw, 220px);
}
.topMv__cmVideo video {
  width: 100%;
  height: 100%;
}
.topMv__cmVideo video:focus {
  outline: none;
}
.topMv__cmNote {
  font-size: min(2.6666666667vw, 13.3333333333px);
  text-align: center;
  margin-top: min(1.6vw, 8px);
}

/* ==============================

  02. topCv01

============================== */
.topCv01 {
  padding-top: min(9.0666666667vw, 45.3333333333px);
  padding-bottom: min(16vw, 80px);
}

/* ==============================

  03. topBrand

============================== */
.topBrand {
  padding-top: min(14.6666666667vw, 73.3333333333px);
  padding-bottom: min(14.6666666667vw, 73.3333333333px);
  background-image: url("../../../assets/images/sp/top/brand-background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
.topBrand__inner {
  padding: 0 min(6.6666666667vw, 33.3333333333px);
}
.topBrand__text {
  width: min(69.8666666667vw, 349.3333333333px);
  height: min(15.2vw, 76px);
  margin: 0 auto min(2.1333333333vw, 10.6666666667px);
}
.topBrand__heading {
  font-size: min(7.4666666667vw, 37.3333333333px);
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.03rem;
  margin-bottom: min(7.4666666667vw, 37.3333333333px);
}
.topBrand__headingLine {
  padding: 0 0 min(0.5333333333vw, 2.6666666667px);
  background: linear-gradient(transparent 75%, #FFF600 0%);
}
.topBrand__review {
  width: min(80.5333333333vw, 402.6666666667px);
  margin: 0 auto min(8vw, 40px);
}
.topBrand__list {
  width: min(84vw, 420px);
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
.topBrand__badge {
  width: min(25.8666666667vw, 129.3333333333px);
  height: min(25.8666666667vw, 129.3333333333px);
}
.topBrand__note {
  font-size: min(2.6666666667vw, 13.3333333333px);
  margin-top: min(2.1333333333vw, 10.6666666667px);
  line-height: 1.4;
}

/* ==============================

  04. topPrice

============================== */
.topPrice {
  background-color: #187A9F;
}
.isGreen .topPrice {
  background-color: #66BABA;
}
.topPrice__inner {
  padding: min(11.2vw, 56px) min(8vw, 40px) 0;
}
.topPrice__headingInner {
  width: min(66.6666666667vw, 333.3333333333px);
  height: min(44.5333333333vw, 222.6666666667px);
  margin: 0 auto;
  transform: translateX(max(-3.4666666667vw, -17.3333333333px));
  position: relative;
  z-index: 1;
}
.topPrice__heading {
  text-align: center;
  color: #187A9F;
  padding-top: min(9.0666666667vw, 45.3333333333px);
  font-weight: bold;
  position: relative;
  letter-spacing: 0.02rem;
}
.isGreen .topPrice__heading {
  color: #FFFFFF;
}
.topPrice__heading::after {
  content: "";
  width: min(20.5333333333vw, 102.6666666667px);
  height: min(23.4666666667vw, 117.3333333333px);
  background-image: url("../../../assets/images/sp/top/price-illust01.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50%;
  position: absolute;
  bottom: max(-23.7333333333vw, -118.6666666667px);
  right: max(-10.1333333333vw, -50.6666666667px);
  z-index: -1;
}
.topPrice__heading01 {
  display: block;
  font-size: min(4.2666666667vw, 21.3333333333px);
  margin-bottom: min(2.6666666667vw, 13.3333333333px);
}
.topPrice__heading02 {
  display: block;
  font-size: min(5.0666666667vw, 25.3333333333px);
  margin-bottom: min(1.6vw, 8px);
}
.topPrice__heading03 {
  display: block;
  font-size: min(7.4666666667vw, 37.3333333333px);
  color: #FA8700;
}
.isGreen .topPrice__heading03 {
  color: #FFF600;
}
.topPrice__heading03Small {
  font-size: min(4.2666666667vw, 21.3333333333px);
}
.topPrice__heading03Asterisk {
  font-size: min(2.1333333333vw, 10.6666666667px);
  position: absolute;
  bottom: min(5.0666666667vw, 25.3333333333px);
  left: 77%;
  transform: translateX(-50%);
}
.topPrice__headingBackground {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.topPrice__box {
  margin-top: min(9.0666666667vw, 45.3333333333px);
  border: min(0.5333333333vw, 2.6666666667px) solid #333333;
  background-color: #FFFFFF;
  border-radius: min(1.6vw, 8px);
  box-shadow: 0 min(0.8vw, 4px) min(1.6vw, 8px) rgba(0, 0, 0, 0.2);
  padding: min(5.6vw, 28px) min(5.0666666667vw, 25.3333333333px) 0;
  position: relative;
  z-index: 1;
  margin-bottom: min(12.8vw, 64px);
}
.topPrice__boxConjunction {
  width: min(14.9333333333vw, 74.6666666667px);
  height: min(14.9333333333vw, 74.6666666667px);
  position: absolute;
  top: max(-10.6666666667vw, -53.3333333333px);
  left: max(-4.5333333333vw, -22.6666666667px);
  z-index: 2;
}
.topPrice__boxText {
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
  margin-bottom: min(3.2vw, 16px);
}
.topPrice__boxTextLine {
  font-size: min(6.9333333333vw, 34.6666666667px);
  padding: 0 0 min(0.5333333333vw, 2.6666666667px);
  background: linear-gradient(transparent 75%, #FFF600 0%);
}
.topPrice__boxList {
  display: flex;
  justify-content: space-between;
  margin-bottom: max(-2.6666666667vw, -13.3333333333px);
}
.topPrice__boxPlan {
  width: min(33.8666666667vw, 169.3333333333px);
}
.topPrice__graph {
  position: relative;
  z-index: 0;
}
.topPrice__graphText {
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  position: absolute;
  top: min(11.4666666667vw, 57.3333333333px);
  left: min(8.5333333333vw, 42.6666666667px);
  z-index: 1;
}
.topPrice__graphText01 {
  font-size: min(3.7333333333vw, 18.6666666667px);
  margin-bottom: min(4vw, 20px);
}
.topPrice__graphText01Large {
  font-size: min(4.5333333333vw, 22.6666666667px);
}
.topPrice__graphText02 {
  font-size: min(4vw, 20px);
  position: relative;
}
.topPrice__graphText02Large {
  font-size: min(5.8666666667vw, 29.3333333333px);
}
.topPrice__graphImage {
  width: min(82.4vw, 412px);
  height: min(43.7333333333vw, 218.6666666667px);
  transform: translateX(min(5.3333333333vw, 26.6666666667px));
}
.topPrice__graphText02Asterisk {
  font-size: min(2.1333333333vw, 10.6666666667px);
  position: absolute;
  top: 0;
  right: max(-1.3333333333vw, -6.6666666667px);
}
.topPrice__graphNote {
  font-size: min(2.6666666667vw, 13.3333333333px);
  color: #FFFFFF;
  line-height: 1.4;
  margin-top: min(4.5333333333vw, 22.6666666667px);
}
.topPrice__select {
  font-size: min(5.8666666667vw, 29.3333333333px);
  font-weight: bold;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.9;
  margin-top: min(13.8666666667vw, 69.3333333333px);
  margin-bottom: min(2.6666666667vw, 13.3333333333px);
}
.topPrice__selectLine {
  padding: 0 0 min(1.6vw, 8px);
  background: linear-gradient(transparent 88%, #FFF600 0%);
}
.topPrice__selectImage {
  width: min(21.6vw, 108px);
  height: min(28.2666666667vw, 141.3333333333px);
  margin: 0 auto;
}

/* ==============================

  05. topPlan

============================== */
.topPlan {
  background-color: #187A9F;
}
.isGreen .topPlan {
  background-color: #66BABA;
}
.topPlan__inner01 {
  padding-top: min(10.6666666667vw, 53.3333333333px);
  margin-top: max(-0.8vw, -4px);
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.topPlan__inner01::before {
  content: "";
  width: min(112vw, 560px);
  height: min(23.4666666667vw, 117.3333333333px);
  border-radius: 50%;
  background-color: #006890;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.isGreen .topPlan__inner01::before {
  background-color: #44A5A5;
}
.topPlan__inner02 {
  background-color: #006890;
  padding-top: min(2.9333333333vw, 14.6666666667px);
  padding-bottom: min(16vw, 80px);
}
.isGreen .topPlan__inner02 {
  background-color: #44A5A5;
}
.topPlan__speechBubble {
  width: min(46.9333333333vw, 234.6666666667px);
  height: min(19.7333333333vw, 98.6666666667px);
  margin: 0 auto min(4vw, 20px);
}
.topPlan__heading {
  color: #FFFFFF;
  text-align: center;
  font-size: min(7.4666666667vw, 37.3333333333px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  margin-bottom: min(6.1333333333vw, 30.6666666667px);
}
.topPlan__text {
  color: #FFFFFF;
  text-align: center;
  font-size: min(4.2666666667vw, 21.3333333333px);
  line-height: 1.6;
  margin-bottom: min(6.6666666667vw, 33.3333333333px);
}

/* ==============================

  06. topCv02

============================== */
.topCv02 {
  padding-top: min(16.5333333333vw, 82.6666666667px);
  padding-bottom: min(14.6666666667vw, 73.3333333333px);
  background-image: url("../../../assets/images/sp/top/cv02-background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

/* ==============================

  07. topFeature

============================== */
.topFeature {
  background-color: #187A9F;
  padding-top: min(16vw, 80px);
  text-align: center;
}
.isGreen .topFeature {
  background-color: #66BABA;
}
.topFeature__text {
  display: inline-block;
  margin: 0 auto min(6.6666666667vw, 33.3333333333px);
  height: min(11.4666666667vw, 57.3333333333px);
  line-height: min(11.4666666667vw, 57.3333333333px);
  border-radius: min(11.4666666667vw, 57.3333333333px);
  background-color: #FFFFFF;
  color: #187A9F;
  padding: 0 min(6.9333333333vw, 34.6666666667px);
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  position: relative;
}
.isGreen .topFeature__text {
  background-color: #2F9A9A;
  color: #FFFFFF;
}
.topFeature__text::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: min(2.9333333333vw, 14.6666666667px) min(2.9333333333vw, 14.6666666667px) 0 min(2.9333333333vw, 14.6666666667px);
  border-color: #FFFFFF transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: max(-2.6666666667vw, -13.3333333333px);
  transform: translateX(-50%);
}
.isGreen .topFeature__text::after {
  border-color: #2F9A9A transparent transparent transparent;
}
.topFeature__imageInner {
  width: 100%;
  position: relative;
  margin-bottom: min(7.4666666667vw, 37.3333333333px);
}
.topFeature__image01 {
  width: min(28.2666666667vw, 141.3333333333px);
  height: min(28.2666666667vw, 141.3333333333px);
  margin: 0 auto;
  transform: translateX(min(1.3333333333vw, 6.6666666667px));
}
.topFeature__image02 {
  width: 100%;
  height: min(46.9333333333vw, 234.6666666667px);
  position: absolute;
  top: max(-14.6666666667vw, -73.3333333333px);
  left: 0;
}
.topFeature__heading {
  font-size: min(7.4666666667vw, 37.3333333333px);
  font-weight: bold;
  color: #FFFFFF;
  letter-spacing: 0.02rem;
  margin-bottom: min(9.8666666667vw, 49.3333333333px);
}
.topFeature__list {
  padding: 0 min(5.3333333333vw, 26.6666666667px);
}
.topFeature__box {
  background-color: #FFFFFF;
  border-radius: min(1.0666666667vw, 5.3333333333px);
  border: solid #333333 min(0.5333333333vw, 2.6666666667px);
  padding: min(4.8vw, 24px) min(6.6666666667vw, 33.3333333333px) min(6.6666666667vw, 33.3333333333px);
  box-shadow: 0 min(0.8vw, 4px) min(1.6vw, 8px) rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 1;
}
.topFeature__box + .topFeature__box {
  margin-top: min(8vw, 40px);
}
.topFeature__boxHeading01 {
  font-size: min(3.7333333333vw, 18.6666666667px);
  color: #FFFFFF;
  background-color: #333333;
  width: min(20vw, 100px);
  height: min(5.0666666667vw, 25.3333333333px);
  line-height: min(5.3333333333vw, 26.6666666667px);
  border-radius: min(5.0666666667vw, 25.3333333333px);
  margin: 0 auto min(3.7333333333vw, 18.6666666667px);
}
.topFeature__boxHeading02 {
  font-size: min(5.8666666667vw, 29.3333333333px);
  font-weight: bold;
  line-height: 1.55;
}
.topFeature__boxHeading02Line {
  padding: 0 0 min(0.8vw, 4px);
  background: linear-gradient(transparent 76%, #FFF600 0%);
}
.topFeature__boxImage {
  margin: 0 auto min(6.6666666667vw, 33.3333333333px);
}
.topFeature__box:first-of-type .topFeature__boxImage {
  width: min(49.8666666667vw, 249.3333333333px);
  height: min(48.8vw, 244px);
  transform: translateX(max(-6.6666666667vw, -33.3333333333px));
  margin-top: min(0.5333333333vw, 2.6666666667px);
}
.topFeature__box:nth-of-type(2) .topFeature__boxImage {
  width: min(67.2vw, 336px);
  height: min(35.4666666667vw, 177.3333333333px);
  margin-top: min(5.8666666667vw, 29.3333333333px);
}
.topFeature__box:nth-of-type(3) .topFeature__boxImage {
  width: min(64.8vw, 324px);
  height: min(37.0666666667vw, 185.3333333333px);
  margin-top: min(5.3333333333vw, 26.6666666667px);
}
.topFeature__box:nth-of-type(4) .topFeature__boxImage {
  width: min(60.2666666667vw, 301.3333333333px);
  height: min(45.3333333333vw, 226.6666666667px);
  margin-top: min(7.4666666667vw, 37.3333333333px);
}
.topFeature__boxText {
  font-size: min(4.2666666667vw, 21.3333333333px);
  line-height: 1.75;
  text-align: left;
  letter-spacing: 0.02rem;
}
.topFeature__altar {
  position: relative;
}
.topFeature__altarText {
  width: min(81.8666666667vw, 409.3333333333px);
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  color: #FFFFFF;
  letter-spacing: 0.03rem;
  line-height: 2.15;
  position: absolute;
  top: min(9.3333333333vw, 46.6666666667px);
  left: 50%;
  transform: translateX(-50%);
}

/* ==============================

  08. topCv03

============================== */
.topCv03 {
  padding-top: min(16.5333333333vw, 82.6666666667px);
  padding-bottom: min(22.9333333333vw, 114.6666666667px);
  background-image: url("../../../assets/images/sp/top/cv02-background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

/* ==============================

  09. topForm

============================== */
.topForm {
  background-color: #CDE1E8;
  padding-top: min(10.6666666667vw, 53.3333333333px);
  padding-bottom: min(10.6666666667vw, 53.3333333333px);
  scroll-margin-top: min(12.8vw, 64px);
  position: relative;
}
.isGreen .topForm {
  background-color: #CDE8E8;
}
.topForm__heading01 {
  width: min(70.4vw, 352px);
  height: min(14.1333333333vw, 70.6666666667px);
  position: absolute;
  top: max(-5.0666666667vw, -25.3333333333px);
  left: 50%;
  transform: translateX(-50%);
}
.topForm__heading02 {
  font-size: min(6.9333333333vw, 34.6666666667px);
  font-weight: bold;
  text-align: center;
  margin-bottom: min(9.3333333333vw, 46.6666666667px);
}
.topForm__image {
  width: min(20.8vw, 104px);
  height: min(25.8666666667vw, 129.3333333333px);
  position: absolute;
  top: min(-3.7333333333vw, -18.6666666667px);
  right: 0;
}
.topForm__inner {
  margin: 0 min(7.4666666667vw, 37.3333333333px);
}
.topForm__tableSet + .topForm__tableSet {
  margin-top: min(6.6666666667vw, 33.3333333333px);
}
.topForm .top-form-box-inner-address .top-form-input-outer + .top-form-input-outer {
  margin-top: min(2.6666666667vw, 13.3333333333px);
}
.topForm__inputHeading {
  font-size: min(4.5333333333vw, 22.6666666667px);
  font-weight: bold;
}
.topForm__inputHeading .hissu {
  display: inline-block;
  color: #FFFFFF;
  font-weight: bold;
  font-size: min(3.2vw, 16px);
  line-height: 1;
  padding: min(1.0666666667vw, 5.3333333333px) min(2.1333333333vw, 10.6666666667px);
  border-radius: 9999px;
  background-color: #D03B3E;
  letter-spacing: 0.08rem;
  margin-right: min(1.8666666667vw, 9.3333333333px);
  position: relative;
  top: max(-0.5333333333vw, -2.6666666667px);
}
.topForm__inputHeading .nini {
  display: inline-block;
  color: #187A9F;
  font-weight: bold;
  font-size: min(3.2vw, 16px);
  line-height: 1;
  padding: min(1.0666666667vw, 5.3333333333px) min(2.1333333333vw, 10.6666666667px);
  border-radius: 9999px;
  background-color: #EFFAFF;
  letter-spacing: 0.08rem;
  margin-right: min(1.8666666667vw, 9.3333333333px);
  position: relative;
  top: max(-0.2666666667vw, -1.3333333333px);
}
.isGreen .topForm__inputHeading .nini {
  color: #2F9A9A;
}
.topForm__inputHeadingMin {
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: normal;
}
.topForm__inputSet {
  margin-top: min(2.1333333333vw, 10.6666666667px);
}
.topForm__inputSet.d-flex {
  display: flex;
  justify-content: space-between;
  margin-top: min(1.0666666667vw, 5.3333333333px);
}
.topForm__inputSet.d-flex.is-zipcode {
  justify-content: flex-start;
  align-items: center;
  column-gap: min(1.3333333333vw, 6.6666666667px);
}
.topForm__inputSet.d-flex:has(.topForm__selectSet) {
  margin-top: min(2.1333333333vw, 10.6666666667px);
}
.topForm__inputInner.size-half {
  width: 48%;
}
.topForm__inputInnerHeading {
  display: inline-block;
  font-size: min(4vw, 20px);
  line-height: 1.2;
  margin-bottom: min(1.3333333333vw, 6.6666666667px);
}
.topForm__input {
  width: 100%;
  display: block;
  padding: min(2.9333333333vw, 14.6666666667px) min(3.2vw, 16px);
  font-size: min(4.2666666667vw, 21.3333333333px);
  border: none;
  outline: min(0.2666666667vw, 1.3333333333px) #666666 solid;
  border-radius: min(0.8vw, 4px);
  background-color: #FFFFFF;
  line-height: 1.35;
  box-sizing: border-box;
}
.topForm__input::placeholder {
  color: #BDBDBD;
}
.topForm__input:focus {
  outline: min(0.5333333333vw, 2.6666666667px) #187A9F solid;
}
.isGreen .topForm__input:focus {
  outline: min(0.5333333333vw, 2.6666666667px) #2F9A9A solid;
}
.topForm .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .topForm__input {
  background-color: #FFF7F7;
  outline: min(0.2666666667vw, 1.3333333333px) solid #D03B3E;
}
.topForm__selectSet {
  position: relative;
}
.topForm__selectSet::before, .topForm__selectSet::after {
  content: "";
  position: absolute;
  top: min(4.8vw, 24px);
  right: min(5.3333333333vw, 26.6666666667px);
  width: min(0.5333333333vw, 2.6666666667px);
  height: min(2.1333333333vw, 10.6666666667px);
  border-radius: 9999px;
  background-color: #333333;
  transform-origin: 50% calc(100% - 1px);
  z-index: 1;
}
.topForm__selectSet::before {
  transform: rotate(45deg);
}
.topForm__selectSet::after {
  transform: rotate(-45deg);
}
.topForm__select {
  display: block;
  -webkit-appearance: none;
  appearance: none; /* デフォルトの矢印を非表示 */
  width: 100%;
  padding: min(3.2vw, 16px) min(3.2vw, 16px);
  border: none;
  outline: min(0.2666666667vw, 1.3333333333px) #666666 solid;
  border-radius: min(0.8vw, 4px);
  background-color: #FFFFFF;
  font-size: min(4.2666666667vw, 21.3333333333px);
  color: #333333;
  line-height: 1.4;
  box-sizing: border-box;
}
.topForm__select:focus {
  outline: min(0.5333333333vw, 2.6666666667px) #187A9F solid;
}
.isGreen .topForm__select:focus {
  outline: min(0.5333333333vw, 2.6666666667px) #2F9A9A solid;
}
.topForm .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .topForm__select {
  background-color: #FFF7F7;
  outline: min(0.2666666667vw, 1.3333333333px) solid #D03B3E;
}
.topForm__radio {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: min(2.1333333333vw, 10.6666666667px);
}
.topForm__radio .wpcf7-list-item-label::before, .topForm__radio .wpcf7-list-item-label::after {
  display: none;
}
.topForm__radio input[type=radio] {
  display: none;
  margin: 0;
}
.topForm__radio .wpcf7-form-control-wrap {
  display: block;
}
.topForm__radio .wpcf7-list-item {
  width: 48%;
  margin: 0;
}
.topForm__radio .wpcf7-list-item label {
  display: block;
  width: 100%;
  padding: min(3.2vw, 16px) min(2.6666666667vw, 13.3333333333px);
  font-size: min(4.2666666667vw, 21.3333333333px);
  border: none;
  outline: min(0.2666666667vw, 1.3333333333px) #666666 solid;
  border-radius: min(0.8vw, 4px);
  background-color: #FFFFFF;
  line-height: 1.4;
  box-sizing: border-box;
}
.topForm__radio .wpcf7-list-item label:has(input[type=radio]:checked) {
  outline: min(0.5333333333vw, 2.6666666667px) #187A9F solid;
  background-color: #CDE1E8;
}
.isGreen .topForm__radio .wpcf7-list-item label:has(input[type=radio]:checked) {
  outline: min(0.5333333333vw, 2.6666666667px) #2F9A9A solid;
  background-color: #D5EAEA;
}
.topForm__radio .wpcf7-list-item-label {
  display: block;
  position: relative;
}
.topForm__radio .wpcf7-list-item-label::before {
  position: absolute;
  top: 50%;
  left: auto;
  right: min(0vw, 0px);
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: min(6.9333333333vw, 34.6666666667px);
  height: min(6.9333333333vw, 34.6666666667px);
  background-color: #EEEEEE;
  border-radius: 50%;
}
.topForm__radio .wpcf7-list-item-label::after {
  position: absolute;
  display: inline-block;
  top: 50%;
  right: min(1.3333333333vw, 6.6666666667px);
  left: auto;
  transform: translateY(-50%);
  width: min(4.2666666667vw, 21.3333333333px);
  height: min(4.2666666667vw, 21.3333333333px);
  border-radius: 50%;
  background: #187A9F;
  content: "";
  z-index: 1;
  opacity: 0;
}
.isGreen .topForm__radio .wpcf7-list-item-label::after {
  background: #2F9A9A;
}
.topForm__radio input[type=radio]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}
.topForm .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .topForm__radio .wpcf7-list-item label {
  background-color: #FFF7F7;
  outline: min(0.2666666667vw, 1.3333333333px) solid #D03B3E;
}
.topForm__privacy {
  background-color: #EEF2F3;
  border-radius: min(1.0666666667vw, 5.3333333333px);
  margin: min(6.6666666667vw, 33.3333333333px) 0 min(3.2vw, 16px);
  padding: min(2.6666666667vw, 13.3333333333px) min(3.2vw, 16px);
  height: min(26.6666666667vw, 133.3333333333px);
  overflow-y: scroll;
}
.topForm__privacyHeading01 {
  font-size: min(3.4666666667vw, 17.3333333333px);
  font-weight: bold;
  margin-bottom: min(2.1333333333vw, 10.6666666667px);
}
.topForm__privacyHeading02 {
  font-size: min(2.9333333333vw, 14.6666666667px);
  font-weight: bold;
  margin-bottom: min(1.3333333333vw, 6.6666666667px);
  padding-left: min(2.6666666667vw, 13.3333333333px);
  position: relative;
}
.topForm__privacyHeading02::before {
  content: "";
  width: min(1.6vw, 8px);
  height: min(1.6vw, 8px);
  border-radius: min(0.5333333333vw, 2.6666666667px);
  background-color: #999999;
  position: absolute;
  top: min(1.3333333333vw, 6.6666666667px);
  left: 0;
}
.topForm__privacyText + .topForm__privacyHeading02 {
  margin-top: min(4vw, 20px);
}
.topForm__privacyText {
  font-size: min(2.9333333333vw, 14.6666666667px);
}
.topForm__privacyList {
  margin-top: min(1.3333333333vw, 6.6666666667px);
  margin-bottom: min(1.3333333333vw, 6.6666666667px);
}
.topForm__privacyList li {
  font-size: min(2.9333333333vw, 14.6666666667px);
  padding-left: min(2.6666666667vw, 13.3333333333px);
  position: relative;
}
.topForm__privacyList li::before {
  content: "";
  width: min(0.8vw, 4px);
  height: min(0.8vw, 4px);
  border-radius: 9999px;
  background-color: #CCCCCC;
  position: absolute;
  top: min(1.8666666667vw, 9.3333333333px);
  left: min(0.8vw, 4px);
}
.topForm__privacyList + .topForm__privacyHeading02 {
  margin-top: min(4vw, 20px);
}
.topForm__privacyLast {
  font-size: min(2.9333333333vw, 14.6666666667px);
  margin-top: min(5.3333333333vw, 26.6666666667px);
}
.topForm__privacyCheckSet {
  text-align: center;
}
.topForm__privacyCheckSet .wpcf7-list-item-label {
  padding-left: min(3.4666666667vw, 17.3333333333px);
}
.topForm__privacyCheckSet .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: min(5.3333333333vw, 26.6666666667px);
  height: min(5.3333333333vw, 26.6666666667px);
  background-color: #FFFFFF;
  border: min(0.2666666667vw, 1.3333333333px) solid #888888;
  border-radius: min(0.8vw, 4px);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.topForm__privacyCheckSet .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: min(1.8666666667vw, 9.3333333333px);
  height: min(3.2vw, 16px);
  border-right: min(0.8vw, 4px) solid #187A9F;
  border-bottom: min(0.8vw, 4px) solid #187A9F;
  position: absolute;
  top: 44%;
  left: min(1.8666666667vw, 9.3333333333px);
  transform: translateY(-50%) rotate(45deg);
  opacity: 0;
}
.isGreen .topForm__privacyCheckSet .wpcf7-list-item-label::after {
  border-right: min(0.8vw, 4px) solid #2F9A9A;
  border-bottom: min(0.8vw, 4px) solid #2F9A9A;
}
.topForm__privacyCheck01 {
  display: none;
}
.topForm .topForm__privacyCheck01:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.topForm__privacyCheck02 {
  font-size: min(3.7333333333vw, 18.6666666667px);
}
.topForm__privacyCheck02 .hissu {
  display: inline-block;
  color: #FFFFFF;
  font-weight: bold;
  font-size: min(3.2vw, 16px);
  line-height: 1;
  padding: min(1.0666666667vw, 5.3333333333px) min(2.1333333333vw, 10.6666666667px);
  border-radius: 9999px;
  background-color: #D03B3E;
  letter-spacing: 0.08rem;
  margin-left: min(1.8666666667vw, 9.3333333333px);
  position: relative;
  top: max(-0.2666666667vw, -1.3333333333px);
}
.topForm__submitButton.wpcf7-submit {
  margin-top: min(10.6666666667vw, 53.3333333333px);
  width: 100%;
  height: min(22.1333333333vw, 110.6666666667px);
  background-color: #187A9F;
  box-shadow: 0 min(1.0666666667vw, 5.3333333333px) 0 rgb(17, 90, 118);
  border-radius: min(1.0666666667vw, 5.3333333333px);
  border: none;
  font-size: min(6.4vw, 32px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  color: #FFFFFF;
}
.isGreen .topForm__submitButton.wpcf7-submit {
  background-color: #2F9A9A;
  box-shadow: 0 min(1.0666666667vw, 5.3333333333px) 0 rgb(25, 93, 93);
}
.topForm__submitButton.wpcf7-submit:disabled {
  background-color: #CCCCCC;
  box-shadow: 0 min(1.0666666667vw, 5.3333333333px) 0 rgb(153, 153, 153);
}
.topForm .wpcf7-spinner {
  display: none !important;
}
.topForm .wpcf7-not-valid-tip {
  font-size: min(3.4666666667vw, 17.3333333333px);
  font-weight: bold;
  color: #D03B3E;
  margin-top: min(2.6666666667vw, 13.3333333333px);
}
.topForm .wpcf7 form .wpcf7-response-output {
  padding: 0;
  border: none;
  color: #D03B3E;
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: bold;
  text-align: center;
  width: min(78.4vw, 392px);
  margin: 0 auto min(8vw, 40px);
  line-height: 1.6;
}
.topForm__note {
  font-size: min(2.6666666667vw, 13.3333333333px);
  text-align: center;
  margin-top: min(5.8666666667vw, 29.3333333333px);
}

/* ******************************************

【SP】plan/common

****************************************** */
/* ==============================

  01. planNav

============================== */
.planNav {
  width: 100%;
  max-width: 500px;
  height: min(9.8666666667vw, 49.3333333333px);
  line-height: min(9.8666666667vw, 49.3333333333px);
  background-color: #DBE4E8;
  font-size: min(4vw, 20px);
  text-align: center;
  font-weight: bold;
  position: fixed;
  box-shadow: 0 min(0.5333333333vw, 2.6666666667px) min(1.6vw, 8px) rgba(0, 0, 0, 0.1);
  z-index: 5;
}
.isGreen .planNav {
  background-color: #DBE8E6;
}
.planNav__inner {
  display: flex;
  column-gap: min(2.1333333333vw, 10.6666666667px);
}
.planNav__home {
  display: block;
  width: min(10.9333333333vw, 54.6666666667px);
  position: relative;
}
.planNav__home::before {
  content: "";
  width: min(7.4666666667vw, 37.3333333333px);
  height: 0;
  border: min(0.2666666667vw, 1.3333333333px) dashed #999999;
  position: absolute;
  top: 50%;
  right: max(-4.8vw, -24px);
  transform: rotate(90deg) translateY(-50%);
}
.planNav__home img {
  width: min(5.3333333333vw, 26.6666666667px);
  height: min(4.5333333333vw, 22.6666666667px);
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
}
.planNav__link {
  display: block;
  padding: 0 min(2.1333333333vw, 10.6666666667px);
  position: relative;
}
.planNav__link::before {
  content: "";
  width: min(7.4666666667vw, 37.3333333333px);
  height: 0;
  border: min(0.2666666667vw, 1.3333333333px) dashed #999999;
  position: absolute;
  top: 50%;
  right: max(-4.8vw, -24px);
  transform: rotate(90deg) translateY(-50%);
}
.planNav__link:last-of-type::before {
  content: none;
}
.planNav__link.active {
  position: relative;
  color: #FFFFFF;
  z-index: 1;
}
.planNav__link.active::after {
  content: "";
  width: 100%;
  height: 82%;
  background-color: #187A9F;
  border-radius: min(0.5333333333vw, 2.6666666667px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.isGreen .planNav__link.active::after {
  background-color: #66BABA;
}

/* ==============================

  02. planMv

============================== */
.planMv {
  background-image: url("../../../assets/images/sp/plan/common/bg-beige.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  padding-bottom: min(16vw, 80px);
  margin-top: min(9.8666666667vw, 49.3333333333px);
}
.planMv__image {
  width: 100%;
  height: auto;
  margin-bottom: min(9.3333333333vw, 46.6666666667px);
}
.planMv__text {
  font-size: min(4.2666666667vw, 21.3333333333px);
  text-align: center;
  margin-bottom: min(0.8vw, 4px);
}
.planMv__heading {
  font-size: min(9.6vw, 48px);
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.02rem;
  margin-bottom: min(4.2666666667vw, 21.3333333333px);
}
.planMv__priceSet {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: min(2.6666666667vw, 13.3333333333px);
  margin-bottom: min(12vw, 60px);
}
.planMv__discount {
  width: min(21.8666666667vw, 109.3333333333px);
  height: min(11.2vw, 56px);
}
.planMv__priceText01 {
  font-size: min(3.2vw, 16px);
  color: #666666;
  line-height: 1;
  margin-bottom: min(0.5333333333vw, 2.6666666667px);
}
.planMv__priceText01Line {
  font-size: min(3.7333333333vw, 18.6666666667px);
  text-decoration: line-through;
}
.planMv__priceText02 {
  line-height: 1;
  font-weight: bold;
}
.planMv__priceText02Line {
  padding: 0 0 min(0.5333333333vw, 2.6666666667px);
  background: linear-gradient(transparent 50%, #FFF600 0%);
}
.planMv__priceText02Number {
  font-family: "BebasNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: min(17.0666666667vw, 85.3333333333px);
  font-weight: 400;
}
.planMv__priceText02Small01 {
  font-size: min(6.9333333333vw, 34.6666666667px);
  position: relative;
}
.planMv__priceText02Small02 {
  font-size: min(2.9333333333vw, 14.6666666667px);
  position: absolute;
  top: max(-3.2vw, -16px);
  left: min(0.5333333333vw, 2.6666666667px);
}
.planMv__priceText03 {
  font-size: min(3.2vw, 16px);
  color: #666666;
  line-height: 1;
  text-align: right;
}
.planMv__priceText03Number {
  font-size: min(3.7333333333vw, 18.6666666667px);
}

/* ==============================

  03. planAbout

============================== */
.planAbout {
  background-color: #187A9F;
  text-align: center;
  padding-top: min(16vw, 80px);
  padding-bottom: min(12.2666666667vw, 61.3333333333px);
}
.isGreen .planAbout {
  background-color: #66BABA;
}
.planAbout__heading01 {
  display: inline-block;
  margin: 0 auto min(6.6666666667vw, 33.3333333333px);
  height: min(11.4666666667vw, 57.3333333333px);
  line-height: min(11.4666666667vw, 57.3333333333px);
  border-radius: min(11.4666666667vw, 57.3333333333px);
  background-color: #FFFFFF;
  color: #187A9F;
  padding: 0 min(6.4vw, 32px);
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  position: relative;
}
.isGreen .planAbout__heading01 {
  color: #2F9A9A;
}
.planAbout__heading01::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: min(2.9333333333vw, 14.6666666667px) min(2.9333333333vw, 14.6666666667px) 0 min(2.9333333333vw, 14.6666666667px);
  border-color: #FFFFFF transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: max(-2.6666666667vw, -13.3333333333px);
  transform: translateX(-50%);
}
.planAbout__heading02 {
  color: #FFFFFF;
  font-size: min(5.3333333333vw, 26.6666666667px);
  line-height: 1.5;
  letter-spacing: 0.07rem;
  margin-bottom: min(6.1333333333vw, 30.6666666667px);
}
.planAbout__illust {
  margin: 0 auto min(5.3333333333vw, 26.6666666667px);
}
.plan.kazoku .planAbout__illust, .plan.ippan .planAbout__illust {
  width: min(49.8666666667vw, 249.3333333333px);
  height: min(44.5333333333vw, 222.6666666667px);
}
.plan.chokusoh .planAbout__illust {
  width: min(52.2666666667vw, 261.3333333333px);
  height: min(40.8vw, 204px);
  margin: 0 auto min(6.6666666667vw, 33.3333333333px);
}
.plan.kasoh .planAbout__illust {
  width: min(54.4vw, 272px);
  height: min(48.2666666667vw, 241.3333333333px);
  margin: 0 auto min(6.6666666667vw, 33.3333333333px);
}
.plan.ichinichi .planAbout__illust {
  width: min(57.6vw, 288px);
  height: min(31.7333333333vw, 158.6666666667px);
  margin: min(8vw, 40px) auto min(7.2vw, 36px);
}
.planAbout__text {
  color: #FFFFFF;
  font-size: min(4.2666666667vw, 21.3333333333px);
  text-align: left;
  width: min(72.5333333333vw, 362.6666666667px);
  margin: 0 auto min(9.3333333333vw, 46.6666666667px);
  line-height: 1.6;
}
.planAbout__flow {
  width: min(72.5333333333vw, 362.6666666667px);
  margin: 0 auto min(16vw, 80px);
}
.planAbout__selectedHeading {
  width: min(65.6vw, 328px);
  margin: 0 auto min(4.5333333333vw, 22.6666666667px);
}
.planAbout__selectedList {
  margin: 0 min(6.4vw, 32px) min(9.8666666667vw, 49.3333333333px);
}
.planAbout__selectedList li + li {
  margin-top: min(2.1333333333vw, 10.6666666667px);
}
.planAbout__comparisonHeading01 {
  color: #FFFFFF;
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  margin-bottom: min(2.1333333333vw, 10.6666666667px);
}
.planAbout__comparisonSpeechBubble {
  position: relative;
}
.planAbout__comparisonSpeechBubble::before, .planAbout__comparisonSpeechBubble::after {
  content: "";
  width: min(4.8vw, 24px);
  height: min(7.4666666667vw, 37.3333333333px);
  background-image: url("../../../assets/images/sp/plan/common/about-speech-bubble.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  bottom: max(-2.1333333333vw, -10.6666666667px);
}
.planAbout__comparisonSpeechBubble::before {
  left: max(-5.8666666667vw, -29.3333333333px);
}
.planAbout__comparisonSpeechBubble::after {
  right: max(-5.8666666667vw, -29.3333333333px);
  transform: scale(-1, 1);
}
.planAbout__comparisonHeading02 {
  color: #FFFFFF;
  font-size: min(5.3333333333vw, 26.6666666667px);
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.04rem;
  margin-bottom: min(10.1333333333vw, 50.6666666667px);
}
.planAbout__comparisonHeading02Color {
  color: #FFF600;
}
.planAbout__comparisonHeading02Number {
  font-size: min(7.4666666667vw, 37.3333333333px);
}
.planAbout__comparisonGraph {
  width: min(82.4vw, 412px);
  margin: 0 auto;
  transform: translateX(min(4.2666666667vw, 21.3333333333px));
  position: relative;
}
.planAbout__comparisonText {
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  position: absolute;
  right: min(13.8666666667vw, 69.3333333333px);
  bottom: min(1.3333333333vw, 6.6666666667px);
}
.plan.chokusoh .planAbout__comparisonText {
  right: min(16vw, 80px);
}
.planAbout__comparisonTextNumber {
  font-size: min(6.4vw, 32px);
}
.planAbout__comparisonTextSmall01 {
  position: relative;
}
.planAbout__comparisonTextSmall02 {
  font-size: min(2.1333333333vw, 10.6666666667px);
  white-space: nowrap;
  position: absolute;
  top: max(-2.6666666667vw, -13.3333333333px);
  left: min(3.2vw, 16px);
}
.planAbout__comparisonIllust {
  width: min(16.5333333333vw, 82.6666666667px);
  height: min(35.7333333333vw, 178.6666666667px);
  position: absolute;
  bottom: max(-23.7333333333vw, -118.6666666667px);
  left: max(-9.8666666667vw, -49.3333333333px);
}
.planAbout__comparisonNote {
  color: #FFFFFF;
  font-size: min(2.6666666667vw, 13.3333333333px);
  text-align: left;
  width: min(67.7333333333vw, 338.6666666667px);
  margin: min(7.4666666667vw, 37.3333333333px) min(9.3333333333vw, 46.6666666667px) 0 auto;
}

/* ==============================

  04. planComparison

============================== */
.planComparison {
  padding-top: min(16vw, 80px);
  padding-bottom: min(16vw, 80px);
  background-color: #FFFFFF;
}
.planComparison__inner {
  padding: 0 min(4vw, 20px);
  text-align: center;
}
.planComparison__heading01 {
  display: inline-block;
  margin: 0 auto min(6.1333333333vw, 30.6666666667px);
  height: min(11.4666666667vw, 57.3333333333px);
  line-height: min(11.4666666667vw, 57.3333333333px);
  border-radius: min(11.4666666667vw, 57.3333333333px);
  background-color: #187A9F;
  color: #FFFFFF;
  padding: 0 min(6.4vw, 32px);
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  position: relative;
}
.isGreen .planComparison__heading01 {
  background-color: #44A5A5;
}
.planComparison__heading01::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: min(2.9333333333vw, 14.6666666667px) min(2.9333333333vw, 14.6666666667px) 0 min(2.9333333333vw, 14.6666666667px);
  border-color: #187A9F transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: max(-2.6666666667vw, -13.3333333333px);
  transform: translateX(-50%);
}
.isGreen .planComparison__heading01::after {
  border-color: #44A5A5 transparent transparent transparent;
}
.planComparison__heading02 {
  font-size: min(7.4666666667vw, 37.3333333333px);
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1rem;
  line-height: 1.5;
  margin-bottom: min(8.8vw, 44px);
}
.planComparison__heading02Line {
  padding: 0 0 min(1.3333333333vw, 6.6666666667px);
  background: linear-gradient(transparent 71%, #FFF600 0%);
}
.planComparison__plan {
  position: relative;
  margin-bottom: min(5.3333333333vw, 26.6666666667px);
}
.planComparison__planNameLink {
  display: block;
  width: min(44.5333333333vw, 222.6666666667px);
  height: min(12.2666666667vw, 61.3333333333px);
  background-color: transparent;
  position: absolute;
  top: min(6.1333333333vw, 30.6666666667px);
  right: min(1.0666666667vw, 5.3333333333px);
}
.planComparison__planLink {
  display: block;
  width: min(84vw, 420px);
  margin: 0 auto;
}
.planComparison__chokusohHeading {
  margin-top: min(5.8666666667vw, 29.3333333333px);
  margin-bottom: min(4.8vw, 24px);
  display: inline-block;
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  text-align: center;
  padding-left: min(8.5333333333vw, 42.6666666667px);
  position: relative;
}
.planComparison__chokusohHeading::before {
  content: "";
  width: min(6.9333333333vw, 34.6666666667px);
  height: min(6.9333333333vw, 34.6666666667px);
  background-image: url("../../../assets/images/sp/plan/chokusoh/comparison-icon.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.planComparison__chokusohText {
  width: min(84vw, 420px);
  margin: 0 auto min(4vw, 20px);
  font-size: min(4.2666666667vw, 21.3333333333px);
  line-height: 1.6;
  text-align: left;
}
.planComparison__chokusohText span {
  padding: 0 0 min(1.0666666667vw, 5.3333333333px);
  background: linear-gradient(transparent 80%, #FFF600 0%);
  font-weight: bold;
}

/* ==============================

  05. planCv01

============================== */
.planCv01 {
  padding-top: min(14.9333333333vw, 74.6666666667px);
  padding-bottom: min(14.6666666667vw, 73.3333333333px);
  background-color: #FFFFFF;
}

/* ==============================

  06. planFlow

============================== */
.planFlow {
  padding-top: min(15.4666666667vw, 77.3333333333px);
  background-image: url("../../../assets/images/sp/plan/common/bg-beige.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
.planFlow__inner {
  padding: 0 min(4.8vw, 24px);
}
.planFlow__heading {
  font-size: min(7.4666666667vw, 37.3333333333px);
  text-align: center;
  font-size: 500;
  letter-spacing: 0.08rem;
  margin-bottom: min(10.1333333333vw, 50.6666666667px);
}
.planFlow__flowImage01 {
  margin: 0 min(0.5333333333vw, 2.6666666667px);
  margin-bottom: min(10.6666666667vw, 53.3333333333px);
}
.planFlow__flowImage02 {
  margin-bottom: min(12.2666666667vw, 61.3333333333px);
}
.planFlow__planHeading {
  width: min(47.7333333333vw, 238.6666666667px);
  height: min(9.3333333333vw, 46.6666666667px);
  margin: 0 auto min(4vw, 20px);
}
.planFlow__planImage {
  margin: 0 min(4.2666666667vw, 21.3333333333px);
}
.planFlow__planNote {
  font-size: min(2.6666666667vw, 13.3333333333px);
  text-align: right;
  color: #666666;
  line-height: 1.2;
  margin: min(1.6vw, 8px) min(5.3333333333vw, 26.6666666667px) min(10.1333333333vw, 50.6666666667px);
}
.planFlow__reviewHeading {
  font-size: min(7.4666666667vw, 37.3333333333px);
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.08rem;
  line-height: 1.55;
  margin-bottom: min(4.2666666667vw, 21.3333333333px);
}
.planFlow__reviewHeadingSmall {
  font-size: min(4.8vw, 24px);
  letter-spacing: 0.02rem;
  position: relative;
}
.planFlow__reviewHeadingSmall::before, .planFlow__reviewHeadingSmall::after {
  content: "";
  width: min(4.8vw, 24px);
  height: min(7.4666666667vw, 37.3333333333px);
  background-image: url("../../../assets/images/sp/plan/common/flow-icon.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  bottom: max(-1.6vw, -8px);
}
.planFlow__reviewHeadingSmall::before {
  left: max(-6.6666666667vw, -33.3333333333px);
}
.planFlow__reviewHeadingSmall::after {
  right: max(-6.6666666667vw, -33.3333333333px);
  transform: scale(-1, 1);
}
.planFlow__reviewImage {
  width: min(80.2666666667vw, 401.3333333333px);
  margin: 0 auto min(8vw, 40px);
}
.planFlow__reviewList {
  width: min(84.2666666667vw, 421.3333333333px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto min(2.6666666667vw, 13.3333333333px);
}
.planFlow__reviewList li {
  width: min(25.8666666667vw, 129.3333333333px);
}
.planFlow__note {
  font-size: min(2.6666666667vw, 13.3333333333px);
  line-height: 1.2;
  margin: 0 min(1.3333333333vw, 6.6666666667px) min(4.5333333333vw, 22.6666666667px);
}
.planFlow__reviewPhoto {
  width: min(32vw, 160px);
  height: min(49.6vw, 248px);
  margin: 0 auto;
}

/* ==============================

  07. planCv02

============================== */
.planCv02 {
  padding-top: min(14.9333333333vw, 74.6666666667px);
  padding-bottom: min(14.6666666667vw, 73.3333333333px);
  background-color: #FFFFFF;
}

/* ==============================

  08. planPlan

============================== */
.planPlan {
  padding-top: min(16vw, 80px);
  padding-bottom: min(16vw, 80px);
  background-color: #187A9F;
}
.isGreen .planPlan {
  background-color: #66BABA;
}
.planPlan__inner01 {
  padding: 0 min(6.6666666667vw, 33.3333333333px);
}
.planPlan__speechBubble {
  width: min(46.9333333333vw, 234.6666666667px);
  height: min(19.7333333333vw, 98.6666666667px);
  margin: 0 auto min(4vw, 20px);
}
.planPlan__heading {
  color: #FFFFFF;
  text-align: center;
  font-size: min(7.4666666667vw, 37.3333333333px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  margin-bottom: min(6.1333333333vw, 30.6666666667px);
}
.planPlan__text {
  color: #FFFFFF;
  text-align: center;
  font-size: min(4.2666666667vw, 21.3333333333px);
  line-height: 1.6;
  margin-bottom: min(6.6666666667vw, 33.3333333333px);
}

/* ******************************************

【SP】company

****************************************** */
/* ==============================

  01. companyMain

============================== */
.companyMain {
  padding-top: min(6.9333333333vw, 34.6666666667px);
  padding-bottom: min(12vw, 60px);
  background-image: url("../../../assets/images/sp/common/background-gray.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
.companyMain__heading01 {
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  color: #187A9F;
  text-align: center;
  margin-bottom: min(2.4vw, 12px);
}
.isGreen .companyMain__heading01 {
  color: #44A5A5;
}
.companyMain__heading02 {
  font-size: min(6.9333333333vw, 34.6666666667px);
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin-bottom: min(5.3333333333vw, 26.6666666667px);
}
.companyMain__inner {
  margin: 0 min(8vw, 40px) min(10.6666666667vw, 53.3333333333px);
}
.companyMain__illust {
  width: min(37.0666666667vw, 185.3333333333px);
  height: min(28.8vw, 144px);
  margin: 0 auto;
}
.companyMain__box {
  background-color: #FFFFFF;
  padding: min(6.9333333333vw, 34.6666666667px) min(5.3333333333vw, 26.6666666667px) min(2.6666666667vw, 13.3333333333px);
  border-radius: min(0.8vw, 4px);
  box-shadow: 0 0 min(1.6vw, 8px) rgba(0, 0, 0, 0.1);
}
.companyMain__table {
  width: 100%;
}
.companyMain__table tr {
  display: block;
  width: 100%;
  border-bottom: min(0.2666666667vw, 1.3333333333px) dashed #CCCCCC;
  padding-bottom: min(3.7333333333vw, 18.6666666667px);
  margin-bottom: min(4vw, 20px);
}
.companyMain__table tr:last-of-type {
  border: none;
  margin-bottom: 0;
}
.companyMain__table th, .companyMain__table td {
  display: block;
  width: 100%;
}
.companyMain__table th {
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: normal;
  margin-bottom: min(0.8vw, 4px);
}
.companyMain__table td {
  font-size: min(4vw, 20px);
  font-weight: bold;
  line-height: 1.6;
}
.companyMain__top {
  text-align: center;
}
.companyMain__topLink {
  display: inline-block;
  width: min(57.3333333333vw, 286.6666666667px);
  height: min(12.8vw, 64px);
  line-height: min(12.8vw, 64px);
  background-color: #FFFFFF;
  border: min(0.2666666667vw, 1.3333333333px) solid #aaaaaa;
  box-shadow: 0 min(0.8vw, 4px) 0 #CCCCCC;
  text-align: center;
  font-weight: bold;
  font-size: min(4.2666666667vw, 21.3333333333px);
  border-radius: min(0.8vw, 4px);
  padding-right: min(2.6666666667vw, 13.3333333333px);
  position: relative;
}
.companyMain__topLink::after {
  content: "";
  width: min(2.1333333333vw, 10.6666666667px);
  height: min(3.2vw, 16px);
  background-image: url("../../../assets/images/sp/common/arrow-icon-right.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 50%;
  position: absolute;
  top: 50%;
  right: min(5.3333333333vw, 26.6666666667px);
  transform: translateY(-50%);
}

/* ******************************************

【SP】404

****************************************** */
/* ==============================

  01. errorMain

============================== */
.errorMain {
  padding-top: min(6.9333333333vw, 34.6666666667px);
  padding-bottom: min(12vw, 60px);
  background-image: url("../../../assets/images/sp/common/background-gray.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
.errorMain__heading01 {
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  color: #187A9F;
  text-align: center;
  margin-bottom: min(2.4vw, 12px);
}
.isGreen .errorMain__heading01 {
  color: #44A5A5;
}
.errorMain__heading02 {
  font-size: min(6.9333333333vw, 34.6666666667px);
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin-bottom: min(9.3333333333vw, 46.6666666667px);
}
.errorMain__inner {
  margin: 0 min(8vw, 40px) min(10.6666666667vw, 53.3333333333px);
  background-color: #FFFFFF;
  padding: min(6.6666666667vw, 33.3333333333px) min(5.8666666667vw, 29.3333333333px) 0;
  border-radius: min(0.8vw, 4px);
  box-shadow: 0 0 min(1.6vw, 8px) rgba(0, 0, 0, 0.1);
}
.errorMain__text01 {
  font-size: min(3.7333333333vw, 18.6666666667px);
  line-height: 1.8;
  margin-bottom: min(5.3333333333vw, 26.6666666667px);
}
.errorMain__text02 {
  font-size: min(4vw, 20px);
  font-weight: bold;
  text-align: center;
  color: #187A9F;
  margin-bottom: min(4vw, 20px);
}
.isGreen .errorMain__text02 {
  color: #2F9A9A;
}
.errorMain__box {
  border: min(0.2666666667vw, 1.3333333333px) solid #CCCCCC;
  border-radius: min(1.0666666667vw, 5.3333333333px);
  background-color: #FFFFFF;
  padding: min(3.2vw, 16px) min(1.3333333333vw, 6.6666666667px);
  margin-bottom: min(4vw, 20px);
}
.errorMain__boxText {
  text-align: center;
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: bold;
}
.errorMain__boxTel {
  margin-left: min(3.2vw, 16px);
  padding-left: min(3.7333333333vw, 18.6666666667px);
  position: relative;
}
.errorMain__boxTel::before {
  content: "";
  width: min(2.9333333333vw, 14.6666666667px);
  height: min(3.7333333333vw, 18.6666666667px);
  background-image: url("../../../assets/images/sp/404/tel-icon.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.errorMain__boxTelLink {
  text-decoration: underline;
}
.errorMain__illust {
  width: min(21.8666666667vw, 109.3333333333px);
  height: min(28vw, 140px);
  margin: 0 auto;
  transform: translateX(min(1.3333333333vw, 6.6666666667px));
}
.errorMain__top {
  text-align: center;
}
.errorMain__topLink {
  display: inline-block;
  width: min(57.3333333333vw, 286.6666666667px);
  height: min(12.8vw, 64px);
  line-height: min(12.8vw, 64px);
  background-color: #FFFFFF;
  border: min(0.2666666667vw, 1.3333333333px) solid #aaaaaa;
  box-shadow: 0 min(0.8vw, 4px) 0 #CCCCCC;
  text-align: center;
  font-weight: bold;
  font-size: min(4.2666666667vw, 21.3333333333px);
  border-radius: min(0.8vw, 4px);
  padding-right: min(2.6666666667vw, 13.3333333333px);
  position: relative;
}
.errorMain__topLink::after {
  content: "";
  width: min(2.1333333333vw, 10.6666666667px);
  height: min(3.2vw, 16px);
  background-image: url("../../../assets/images/sp/common/arrow-icon-right.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 50%;
  position: absolute;
  top: 50%;
  right: min(5.3333333333vw, 26.6666666667px);
  transform: translateY(-50%);
}

/* ******************************************

【SP】contactConfirm

****************************************** */
/* ==============================

  01. contactConfirmHead

============================== */
.contactConfirmHead {
  background-color: #FFFFFF;
  padding-top: min(5.3333333333vw, 26.6666666667px);
  padding-bottom: min(11.2vw, 56px);
}
.contactConfirmHead__text {
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  text-align: center;
  line-height: 1;
  color: #187A9F;
  letter-spacing: 0.04rem;
}
.isGreen .contactConfirmHead__text {
  color: #44A5A5;
}

/* ==============================

  02. contactConfirmMain

============================== */
.contactConfirmMain {
  background-color: #CDE1E8;
  padding-top: min(12vw, 60px);
  padding-bottom: min(10.6666666667vw, 53.3333333333px);
  scroll-margin-top: min(12.8vw, 64px);
  position: relative;
}
.isGreen .contactConfirmMain {
  background-color: #CDE8E8;
}
.contactConfirmMain__heading01 {
  width: min(70.4vw, 352px);
  height: min(14.1333333333vw, 70.6666666667px);
  position: absolute;
  top: max(-4.2666666667vw, -21.3333333333px);
  left: 50%;
  transform: translateX(-50%);
}
.contactConfirmMain__heading02 {
  font-size: min(6.9333333333vw, 34.6666666667px);
  font-weight: bold;
  text-align: center;
  margin-bottom: min(9.3333333333vw, 46.6666666667px);
}
.contactConfirmMain__image {
  width: min(20.8vw, 104px);
  height: min(25.8666666667vw, 129.3333333333px);
  position: absolute;
  top: min(-2.9333333333vw, -14.6666666667px);
  right: 0;
}
.contactConfirmMain__inner {
  margin: 0 min(7.4666666667vw, 37.3333333333px);
}
.contactConfirmMain__text {
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: bold;
  text-align: center;
  margin-bottom: min(6.9333333333vw, 34.6666666667px);
}
.contactConfirmMain__text span {
  padding-left: min(5.8666666667vw, 29.3333333333px);
  position: relative;
}
.contactConfirmMain__text span::before {
  content: "";
  width: min(4vw, 20px);
  height: min(4vw, 20px);
  background-image: url("../../../assets/images/sp/contact/check-icon.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  top: max(-0.2666666667vw, -1.3333333333px);
  left: 0;
}

/* ==============================

  03. contactConfirmForm

============================== */
.contactConfirmForm__table {
  display: block;
  width: 100%;
  background-color: #EEEEEE;
  border-radius: min(1.0666666667vw, 5.3333333333px);
  padding: min(6.9333333333vw, 34.6666666667px) min(5.3333333333vw, 26.6666666667px);
  box-shadow: 0 0 min(1.6vw, 8px) rgba(0, 0, 0, 0.1);
}
.contactConfirmForm__table tr {
  display: block;
  width: 100%;
  border-bottom: min(0.2666666667vw, 1.3333333333px) dashed #CCCCCC;
  padding-bottom: min(3.4666666667vw, 17.3333333333px);
  margin-bottom: min(3.7333333333vw, 18.6666666667px);
}
.contactConfirmForm__table tr:last-of-type {
  border: none;
  margin-bottom: 0;
}
.contactConfirmForm__table th, .contactConfirmForm__table td {
  display: block;
  width: 100%;
}
.contactConfirmForm__table th {
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: min(0.2666666667vw, 1.3333333333px);
}
.contactConfirmForm__table td {
  font-size: min(4.5333333333vw, 22.6666666667px);
  font-weight: bold;
  line-height: 1.6;
}
.contactConfirmForm__tableNote {
  font-size: min(3.2vw, 16px) !important;
  font-weight: normal !important;
  margin-top: min(0.5333333333vw, 2.6666666667px);
}
.contactConfirmForm__submit.wpcf7-submit {
  margin-top: min(10.6666666667vw, 53.3333333333px);
  width: 100%;
  height: min(22.1333333333vw, 110.6666666667px);
  background-color: #187A9F;
  box-shadow: 0 min(1.0666666667vw, 5.3333333333px) 0 rgb(17, 90, 118);
  border-radius: min(1.0666666667vw, 5.3333333333px);
  border: none;
  font-size: min(6.4vw, 32px);
  font-weight: bold;
  letter-spacing: 0.02rem;
  color: #FFFFFF;
}
.isGreen .contactConfirmForm__submit.wpcf7-submit {
  background-color: #2F9A9A;
  box-shadow: 0 min(1.0666666667vw, 5.3333333333px) 0 rgb(25, 93, 93);
}
.contactConfirmForm__submit.wpcf7-submit:disabled {
  background-color: #CCCCCC;
  box-shadow: 0 min(1.0666666667vw, 5.3333333333px) 0 rgb(153, 153, 153);
}
.contactConfirmForm .wpcf7-spinner {
  display: none !important;
}
.contactConfirmForm .wpcf7-not-valid-tip {
  font-size: min(3.4666666667vw, 17.3333333333px);
  color: #D03B3E;
  margin-top: min(1.3333333333vw, 6.6666666667px);
}
.contactConfirmForm .wpcf7 form .wpcf7-response-output {
  padding: 0;
  border: none;
  color: #D03B3E;
  font-size: min(3.7333333333vw, 18.6666666667px);
  text-align: center;
  width: min(77.3333333333vw, 386.6666666667px);
  margin: min(2.6666666667vw, 13.3333333333px) auto 0;
}
.contactConfirmForm__top {
  text-align: center;
  margin-top: min(5.3333333333vw, 26.6666666667px);
}
.contactConfirmForm__topInner {
  display: inline-block;
  width: min(44.5333333333vw, 222.6666666667px);
  position: relative;
}
.contactConfirmForm__topInner::before {
  content: "";
  width: min(1.6vw, 8px);
  height: min(2.6666666667vw, 13.3333333333px);
  background-image: url("../../../assets/images/sp/contact/arrow-icon-left.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  top: 50%;
  left: min(3.2vw, 16px);
  transform: translateY(-50%);
}
.contactConfirmForm__topLink {
  width: 100%;
  height: min(7.2vw, 36px);
  line-height: min(7.2vw, 36px);
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: bold;
  text-align: center;
  color: #666666;
  border: min(0.2666666667vw, 1.3333333333px) solid #999999;
  padding-left: min(2.6666666667vw, 13.3333333333px);
  background-color: transparent;
  border-radius: min(0.8vw, 4px);
}
.contactConfirmForm__note {
  font-size: min(2.6666666667vw, 13.3333333333px);
  text-align: center;
  margin-top: min(5.8666666667vw, 29.3333333333px);
}

/* ******************************************

【SP】contactFinish

****************************************** */
/* ==============================

  01. contactFinishHead

============================== */
.contactFinishHead {
  background-color: #FFFFFF;
  padding-top: min(5.3333333333vw, 26.6666666667px);
  padding-bottom: min(5.8666666667vw, 29.3333333333px);
}
.contactFinishHead__text {
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  text-align: center;
  line-height: 1;
  color: #187A9F;
  letter-spacing: 0.04rem;
}
.isGreen .contactFinishHead__text {
  color: #44A5A5;
}

/* ==============================

  02. contactFinishMain

============================== */
.contactFinishMain {
  padding-top: min(10.6666666667vw, 53.3333333333px);
  padding-bottom: min(12vw, 60px);
  background-color: #CDE1E8;
}
.isGreen .contactFinishMain {
  background-color: #CDE8E8;
}
.contactFinishMain__heading01 {
  font-size: min(6.9333333333vw, 34.6666666667px);
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin-bottom: min(6.1333333333vw, 30.6666666667px);
}
.contactFinishMain__inner {
  margin: 0 min(8vw, 40px) min(2.6666666667vw, 13.3333333333px);
  background-color: #EEEEEE;
  padding: min(6.6666666667vw, 33.3333333333px) min(5.8666666667vw, 29.3333333333px) 0;
  border-radius: min(0.8vw, 4px);
  box-shadow: 0 0 min(1.6vw, 8px) rgba(0, 0, 0, 0.1);
}
.contactFinishMain__text01 {
  font-size: min(3.7333333333vw, 18.6666666667px);
  line-height: 1.8;
  margin-bottom: min(5.3333333333vw, 26.6666666667px);
}
.contactFinishMain__text02 {
  font-size: min(4vw, 20px);
  font-weight: bold;
  text-align: center;
  color: #187A9F;
  margin-bottom: min(4vw, 20px);
}
.isGreen .contactFinishMain__text02 {
  color: #2F9A9A;
}
.contactFinishMain__box {
  border: min(0.2666666667vw, 1.3333333333px) solid #CCCCCC;
  border-radius: min(1.0666666667vw, 5.3333333333px);
  background-color: #FFFFFF;
  padding: min(3.2vw, 16px) min(1.3333333333vw, 6.6666666667px);
  margin-bottom: min(4vw, 20px);
}
.contactFinishMain__boxText {
  text-align: center;
  font-size: min(3.7333333333vw, 18.6666666667px);
  font-weight: bold;
}
.contactFinishMain__boxTel {
  margin-left: min(3.2vw, 16px);
  padding-left: min(3.7333333333vw, 18.6666666667px);
  position: relative;
}
.contactFinishMain__boxTel::before {
  content: "";
  width: min(2.9333333333vw, 14.6666666667px);
  height: min(3.7333333333vw, 18.6666666667px);
  background-image: url("../../../assets/images/sp/404/tel-icon.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.contactFinishMain__boxTelLink {
  text-decoration: underline;
}
.contactFinishMain__illust {
  width: min(21.8666666667vw, 109.3333333333px);
  height: min(28vw, 140px);
  margin: 0 auto;
  transform: translateX(min(1.3333333333vw, 6.6666666667px));
}
.contactFinishMain__note {
  font-size: min(3.2vw, 16px);
  margin: 0 min(8vw, 40px) min(10.6666666667vw, 53.3333333333px);
  line-height: 1.2;
}
.contactFinishMain__top {
  text-align: center;
}
.contactFinishMain__topLink {
  display: inline-block;
  width: min(57.3333333333vw, 286.6666666667px);
  height: min(12.8vw, 64px);
  line-height: min(12.8vw, 64px);
  background-color: #FFFFFF;
  border: min(0.2666666667vw, 1.3333333333px) solid #aaaaaa;
  box-shadow: 0 min(0.8vw, 4px) 0 #CCCCCC;
  text-align: center;
  font-weight: bold;
  font-size: min(4.2666666667vw, 21.3333333333px);
  border-radius: min(0.8vw, 4px);
  padding-right: min(2.6666666667vw, 13.3333333333px);
  position: relative;
}
.contactFinishMain__topLink::after {
  content: "";
  width: min(2.1333333333vw, 10.6666666667px);
  height: min(3.2vw, 16px);
  background-image: url("../../../assets/images/sp/common/arrow-icon-right.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 50%;
  position: absolute;
  top: 50%;
  right: min(5.3333333333vw, 26.6666666667px);
  transform: translateY(-50%);
}

/* ---------------------------------------------

  _margin.scss

--------------------------------------------- */
.ma00 {
  margin: min(0vw, 0px) !important;
}

.ma05 {
  margin: min(1.3333333333vw, 6.6666666667px) !important;
}

.ma10 {
  margin: min(2.6666666667vw, 13.3333333333px) !important;
}

.ma15 {
  margin: min(4vw, 20px) !important;
}

.ma20 {
  margin: min(5.3333333333vw, 26.6666666667px) !important;
}

.ma25 {
  margin: min(6.6666666667vw, 33.3333333333px) !important;
}

.ma30 {
  margin: min(8vw, 40px) !important;
}

.ma40 {
  margin: min(10.6666666667vw, 53.3333333333px) !important;
}

.ma50 {
  margin: min(13.3333333333vw, 66.6666666667px) !important;
}

.ma60 {
  margin: min(16vw, 80px) !important;
}

.ma70 {
  margin: min(18.6666666667vw, 93.3333333333px) !important;
}

.ma80 {
  margin: min(21.3333333333vw, 106.6666666667px) !important;
}

.ma90 {
  margin: min(24vw, 120px) !important;
}

.ma100 {
  margin: min(26.6666666667vw, 133.3333333333px) !important;
}

.mt00 {
  margin-top: min(0vw, 0px) !important;
}

.mt05 {
  margin-top: min(1.3333333333vw, 6.6666666667px) !important;
}

.mt10 {
  margin-top: min(2.6666666667vw, 13.3333333333px) !important;
}

.mt15 {
  margin-top: min(4vw, 20px) !important;
}

.mt20 {
  margin-top: min(5.3333333333vw, 26.6666666667px) !important;
}

.mt25 {
  margin-top: min(6.6666666667vw, 33.3333333333px) !important;
}

.mt30 {
  margin-top: min(8vw, 40px) !important;
}

.mt40 {
  margin-top: min(10.6666666667vw, 53.3333333333px) !important;
}

.mt50 {
  margin-top: min(13.3333333333vw, 66.6666666667px) !important;
}

.mt60 {
  margin-top: min(16vw, 80px) !important;
}

.mt70 {
  margin-top: min(18.6666666667vw, 93.3333333333px) !important;
}

.mt80 {
  margin-top: min(21.3333333333vw, 106.6666666667px) !important;
}

.mt90 {
  margin-top: min(24vw, 120px) !important;
}

.mt100 {
  margin-top: min(26.6666666667vw, 133.3333333333px) !important;
}

.mr00 {
  margin-right: min(0vw, 0px) !important;
}

.mr05 {
  margin-right: min(1.3333333333vw, 6.6666666667px) !important;
}

.mr10 {
  margin-right: min(2.6666666667vw, 13.3333333333px) !important;
}

.mr15 {
  margin-right: min(4vw, 20px) !important;
}

.mr20 {
  margin-right: min(5.3333333333vw, 26.6666666667px) !important;
}

.mr25 {
  margin-right: min(6.6666666667vw, 33.3333333333px) !important;
}

.mr30 {
  margin-right: min(8vw, 40px) !important;
}

.mr40 {
  margin-right: min(10.6666666667vw, 53.3333333333px) !important;
}

.mr50 {
  margin-right: min(13.3333333333vw, 66.6666666667px) !important;
}

.mr60 {
  margin-right: min(16vw, 80px) !important;
}

.mr70 {
  margin-right: min(18.6666666667vw, 93.3333333333px) !important;
}

.mr80 {
  margin-right: min(21.3333333333vw, 106.6666666667px) !important;
}

.mr90 {
  margin-right: min(24vw, 120px) !important;
}

.mr100 {
  margin-right: min(26.6666666667vw, 133.3333333333px) !important;
}

.mb00 {
  margin-bottom: min(0vw, 0px) !important;
}

.mb05 {
  margin-bottom: min(1.3333333333vw, 6.6666666667px) !important;
}

.mb10 {
  margin-bottom: min(2.6666666667vw, 13.3333333333px) !important;
}

.mb15 {
  margin-bottom: min(4vw, 20px) !important;
}

.mb20 {
  margin-bottom: min(5.3333333333vw, 26.6666666667px) !important;
}

.mb25 {
  margin-bottom: min(6.6666666667vw, 33.3333333333px) !important;
}

.mb30 {
  margin-bottom: min(8vw, 40px) !important;
}

.mb40 {
  margin-bottom: min(10.6666666667vw, 53.3333333333px) !important;
}

.mb50 {
  margin-bottom: min(13.3333333333vw, 66.6666666667px) !important;
}

.mb60 {
  margin-bottom: min(16vw, 80px) !important;
}

.mb70 {
  margin-bottom: min(18.6666666667vw, 93.3333333333px) !important;
}

.mb80 {
  margin-bottom: min(21.3333333333vw, 106.6666666667px) !important;
}

.mb90 {
  margin-bottom: min(24vw, 120px) !important;
}

.mb100 {
  margin-bottom: min(26.6666666667vw, 133.3333333333px) !important;
}

.ml00 {
  margin-left: min(0vw, 0px) !important;
}

.ml05 {
  margin-left: min(1.3333333333vw, 6.6666666667px) !important;
}

.ml10 {
  margin-left: min(2.6666666667vw, 13.3333333333px) !important;
}

.ml15 {
  margin-left: min(4vw, 20px) !important;
}

.ml20 {
  margin-left: min(5.3333333333vw, 26.6666666667px) !important;
}

.ml25 {
  margin-left: min(6.6666666667vw, 33.3333333333px) !important;
}

.ml30 {
  margin-left: min(8vw, 40px) !important;
}

.ml40 {
  margin-left: min(10.6666666667vw, 53.3333333333px) !important;
}

.ml50 {
  margin-left: min(13.3333333333vw, 66.6666666667px) !important;
}

.ml60 {
  margin-left: min(16vw, 80px) !important;
}

.ml70 {
  margin-left: min(18.6666666667vw, 93.3333333333px) !important;
}

.ml80 {
  margin-left: min(21.3333333333vw, 106.6666666667px) !important;
}

.ml90 {
  margin-left: min(24vw, 120px) !important;
}

.ml100 {
  margin-left: min(26.6666666667vw, 133.3333333333px) !important;
}