/*======================================
p-plan
======================================*/
.p-plan {}

@media screen and (max-width: 1200px) {
  
}
@media screen and (max-width: 768px) {

}

/* p-planBlock
----------------------------- */
.p-planBlock { margin-top: 50px;}
.p-planBlock__list { display: flex; flex-wrap: wrap; margin: -50px 0 0 -50px;}
.p-planBlock__item { width: calc(100% / 2 - 50px); margin: 50px 0 0 50px;}

@media screen and (max-width: 1200px) {
  .p-planBlock__list { margin: -50px 0 0 -20px;}
  .p-planBlock__item { width: calc(100% / 2 - 20px); margin: 50px 0 0 20px;}
}
@media screen and (max-width: 768px) {
  .p-planBlock { margin-top: 20px;}
  .p-popular .p-planBlock { margin-top: 30px;}
  .p-planBlock__list { display: block; margin: 0;}
  .p-planBlock__item { width: 100%; margin: 20px 0 0 0;}
  .p-planBlock__item:first-child { margin-top: 0;}
  .p-popular .p-planBlock__item { margin-top: 40px;}
  .p-popular .p-planBlock__item:first-child { margin-top: 0;}
}

/* p-planCard
----------------------------- */
.p-planCard {
  background: #fff;
  border: 4px solid #1792D1;
  border-radius: 8px;
  box-shadow: 0px 5px 0px rgba(0,0,0,4%);
  padding: 45px 30px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.p-planCard__number {
  width: 95px;
  height: 95px;
  background: #FFF500;
  font-family: "Overpass";
  font-weight: 800;
  box-shadow: 0px 5px 0px rgb(0 0 0 / 4%);
  position: absolute;
  top: 0;
  right: 15px;
  transform: translate(0,-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  font-size: 3.7rem;
  line-height: 1;
  letter-spacing: -0.05em;
}
.p-planCard__number::before {
  content: "";
  background: url(../image/icon_crown.svg) no-repeat center center/cover;
  width: 21px;
  height: 18px;
  display: block;
}
.p-planCard__title { text-align: center; font-size: 3.2rem; font-weight: 900; line-height: 1.4; display: flex; align-items: center; justify-content: center; flex-direction: column;}
.p-planCard__title.-row2 { height: 100px;}
.p-planCard__title.-row2+.p-planCard__image { margin-top: 0;}
.p-planCard__image { margin-top: 20px; text-align: center;}
.p-planCard__list { margin-top: 20px; margin-bottom: 20px;}

.p-planCardList { display: flex; flex-wrap: wrap; margin: -5px 0 0 -10px;}
.p-planCardList_item { width: calc(100% / 2 - 10px); margin: 5px 0 0 10px; display: flex; align-items: center; font-size: 1.7rem; background: #F4F4F4; border-radius: 5px; padding: 10px;}
.p-planCardList_item.-full { width: calc(100% - 10px);}
.p-planCardList_item::before {
  content: "";
  background: url(../image/icon_check_001.svg) no-repeat center center/cover;
  width: 23px;
  height: 23px;
  display: block;
  margin-right: 10px;
}

@media screen and (max-width: 1200px) {
  
}
@media screen and (max-width: 768px) {
  .p-planCard { padding: 30px 20px;}
  .p-planCard__number { width: 65px; height: 65px; font-size: 2.0rem;}
  .p-planCard__number::before { margin-bottom: 3px;}
  .p-planCard__title { font-size: 2.4rem;}
  .p-planCard__title.-row2 { height: auto;}
  .p-planCard__title.-row2+.p-planCard__image { margin-top: 20px;}
  .p-planCardList_item { font-size: 1.3rem;}
  .p-planCardList_item::before { width: 18px; height: 18px;}
  .p-planCardList_item.-spFull { width: calc(100% - 10px);}
}

/* p-planAccordion
----------------------------- */
.p-planAccordion {}
.p-planAccordion__toggle {
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  width: 100%;
  height: 65px;
  background: #14366E;
  text-align: center;
  font-size: 2.0rem;
  font-weight: 900;
  color: #fff;
  position: relative;
  cursor: pointer;
  box-shadow: 0px 5px 0px rgb(0 0 0 / 4%);
}
.p-planAccordion__toggle::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0,-50%);
  content: "";
  background: url(../image/icon_arr_001.svg) no-repeat center center/cover;
  width: 42px;
  height: 42px;
  display: block;
}
.is-active .p-planAccordion__toggle::after {transform: translate(0,-50%) rotate(180deg);}

.p-planAccordion__content { display: none; padding-top: 20px;}
.p-planAccordion__contentNotice { font-size: 1.4rem; margin-top: 20px; margin-left: 1em; text-indent: -1em;}

.p-planAccordion__title { text-align: center; font-weight: 900;}
.p-planAccordion__title b { line-height: 1.5; font-size: 3.2rem; display: block; margin-top: 5px;}
.p-planAccordion__title span { display: inline-block; font-size: 2.4rem; color: #09A3E8; border-bottom: 4px solid #09A3E8;}
.p-planAccordion__image {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  text-align: center;
  padding: 20px 0;
  margin-top: 20px;
  text-align: center;
}

.p-planAccordion__plan01 { margin-top: 20px; display: flex;}
.p-planAccordion__plan01Item { margin-left: 25px;}
.p-planAccordion__plan01Item:first-child { margin-left: 0;}
.p-planAccordion__plan01Text01 { color: #09A3E8; font-size: 1.7rem; font-weight: 700; border: 1px solid #09A3E8; text-align: center; border-radius: 5px; padding: 5px 10px; line-height: 1.4;}
.p-planAccordion__plan01Price01 { font-size: 1.8rem; font-weight: 900; line-height: 1.0; margin-top: 10px;}
.p-planAccordion__plan01Price01 b { font-size: 4.3rem; font-weight: 700; font-family: "Oswald";}
.p-planAccordion__plan01Price01 span { font-size: 2.2rem;}
.p-planAccordion__plan01Caption { font-size: 1.2rem; color: #7B7B7B; margin-top: 5px;}
.p-planAccordion__plan01Text02 { color: #FF386E; font-size: 2.1rem; font-weight: 700; line-height: 1.4;}
.p-planAccordion__plan01Price02 { color: #FF386E; font-weight: 900; line-height: 1.0;}
.p-planAccordion__plan01Price02 b { font-size: 9.0rem; font-weight: 700; font-family: "Oswald";}
.p-planAccordion__plan01Price02 span { font-size: 4.6rem;}


.p-planAccordion__caption {
  background: rgba(27, 163, 232, 10%);
  border-radius: 5px;
  padding: 10px;
  margin-top: 20px;
  text-align: center;
  line-height: 1.5;
}

.p-planAccordion__plan02 { margin-top: 20px; display: flex;}
.p-planAccordion__plan02Item { width: 100%;}
.p-planAccordion__plan02Item:first-child { padding-right: 30px; border-right: 1px solid #707070;}
.p-planAccordion__plan02Item:last-child { padding-left: 30px;}
.p-planAccordion__plan02Course {
  border: 2px solid #1BA3E8;
  border-radius: 100px;
  font-size: 2.2rem;
  font-weight: 900;
  color: #1BA3E8;
  text-align: center;
}
.p-planAccordion__plan02Price { position: relative; font-size: 2.2rem; font-weight: 900; line-height: 1.3; text-align: center; padding-bottom: 0.75em;}
.p-planAccordion__plan02Price span { font-size: 1.6rem; -ms-writing-mode: tb-rl;  writing-mode: vertical-rl;}
.p-planAccordion__plan02Price b { font-family: "Oswald"; font-weight: 700; font-size: 4.3rem;}
.p-planAccordion__plan02Price em {
  font-size: 1.3rem;
  font-weight: 500;
  position: absolute;
  bottom: 0;
  right: 0;
  font-style: normal;
} 
@media screen and (max-width: 1200px) {
  .p-planAccordion__title span { font-size: 2.0rem;}
  .p-planAccordion__title b { font-size: 2.6rem;}

  .p-planAccordion__plan01 { flex-direction: column; align-items: center; justify-content: center;}
  .p-planAccordion__plan01Item { margin: 30px 0 0 0;}
  .p-planAccordion__plan01Item:first-child { margin-top: 0;}
  .p-planAccordion__plan01Caption { text-align: center;}
  .p-planAccordion__plan01Text02 { text-align: center;}
  .p-planAccordion__plan01Price02 { padding-left: 1.5em;}

  .p-planAccordion__plan02 { display: block;}
  .p-planAccordion__plan02Item:first-child { padding-right: 0; border-right: none;}
  .p-planAccordion__plan02Item:last-child { padding-left: 0; margin-top: 20px;}
  .p-planAccordion__plan02Course { font-size: 1.8rem;}
  .p-planAccordion__plan02Price b { font-size: 6.5rem;}

}
@media screen and (max-width: 768px) {
  .p-planAccordion__toggle { font-size: 1.7rem; height: 55px; max-width: 350px; margin-right: auto; margin-left: auto;}
  .p-planAccordion__toggle::after { width: 35px; height: 35px;}


}


/*======================================
p-guarantee
======================================*/
.p-guarantee {}
.p-guarantee__inner { max-width: 820px;}
.p-guarantee__character { position: absolute; right: 0; top: -15px;}

.p-guarantee__text { text-align: center; margin-top: 30px;}

.p-guarantee__notice { margin-top: 2em;}
.p-guarantee__notice li { margin-left: 1em; text-indent: -1em; font-size: 1.6rem;}

@media screen and (max-width: 1200px) {
  
}
@media screen and (max-width: 768px) {
  .p-guarantee__character { top: -80px; width: 105px;}
}

/* p-guaranteeBlock
----------------------------- */
.p-guaranteeBlock { margin-top: 30px; display: flex;}
.p-guaranteeBlock__item {
  width: calc(100% / 2);
  margin-left: 80px;
}
.p-guaranteeBlock__item:first-child {
  margin-left: 0;
}

.p-guaranteeBlock__caption {
  background: #FFF500;
  border: 2px solid #1BA3E8;
  border-radius: 100px;
  font-weight: 700;
  text-align: center;
  width: fit-content;
  margin: auto;
  padding: 5px 30px;
}
.p-guaranteeBlock__price { font-family: "Oswald"; margin-top: 20px; color: #09A3E8; font-weight: 600; text-align: center; line-height: 1;}
.p-guaranteeBlock__price b { font-size: 12.5rem;}
.p-guaranteeBlock__price span { font-size: 8.5rem;}

@media screen and (max-width: 1200px) {
  
}
@media screen and (max-width: 768px) {
  .p-guaranteeBlock { flex-direction: column; align-items: center; justify-content: center;}
  .p-guaranteeBlock__item { width: 100%; margin: 30px 0 0 0;}
  .p-guaranteeBlock__item:first-child { margin-top: 0;}
  .p-guaranteeBlock__price b { font-size: 11.0rem;}
  .p-guaranteeBlock__price span { font-size: 7.0rem;}

}


/*======================================
p-discount
======================================*/
.p-discount {}

@media screen and (max-width: 1200px) {
  
}
@media screen and (max-width: 768px) {

}

/* p-discountBlock
----------------------------- */
.p-discountBlock { margin-top: 50px;}
.p-discountBlock__list { display: flex; flex-wrap: wrap; margin: -50px 0 0 -50px;}
.p-discountBlock__item {
  width: calc(100% / 2 - 50px);
  margin: 50px 0 0 50px;
}
.p-discountBlock__itemInner {
  background: #fff;
  border: 4px solid #1792D1;
  border-radius: 8px;
  box-shadow: 0px 5px 0px rgb(0 0 0 / 4%);
  padding: 45px 30px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.p-discountBlock__number {
  display: block;
  width: 60px;
  height: 60px;
  background: #FFF500;
  font-family: "Overpass";
  font-weight: 700;
  box-shadow: 0px 5px 0px rgb(0 0 0 / 4%);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  font-size: 3.6rem;
  line-height: 1;
  padding-top: 0.2em;
}
.p-discountBlock__image { text-align: center;}
.p-discountBlock__title { font-size: 3.5rem; font-weight: 900; text-align: center;}
.p-discountBlock__title span { position: relative; z-index: 1; padding: 0 10px;}
.p-discountBlock__title span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 17px;
  content: "";
  background: #FFF500;
  z-index: -1;
}
.p-discountBlock__price {
  font-family: "Oswald";
  margin-top: 10px;
  margin-bottom: 20px;
  color: #09A3E8;
  font-weight: 600;
  text-align: center;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-discountBlock__priceInner {}
.p-discountBlock__price b { font-size: 12.5rem;}
.p-discountBlock__price b.-narrow { letter-spacing: -0.05em;}
.p-discountBlock__price span { font-size: 8.5rem;}
.p-discountBlock__priceMax {
  width: 50px;
  height: 50px;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  background: #09A3E8;
  margin-right: 10px;
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
@media screen and (max-width: 1200px) {
  .p-discountBlock__list { margin: -50px 0 0 -20px;}
  .p-discountBlock__item { width: calc(100% / 2 - 20px); margin: 50px 0 0 20px;}
  .p-discountBlock__title { font-size: 2.4rem;}
  .p-discountBlock__price b { font-size: 10.0rem;}
  .p-discountBlock__price span { font-size: 5.0rem;}
}
@media screen and (max-width: 768px) {
  .p-discountBlock__list { display: block; margin: 0;}
  .p-discountBlock__item { width: 100%; margin: 30px 0 0 0;}
  .p-discountBlock__itemInner { padding: 30px 20px;}
  .p-discountBlock__number { width: 50px; height: 50px; font-size: 2.6rem;}

}

/* p-discountAccordion
----------------------------- */
.p-discountAccordion {}
.p-discountAccordion__toggle {
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  width: 100%;
  height: 65px;
  background: #14366E;
  text-align: center;
  font-size: 2.0rem;
  font-weight: 900;
  color: #fff;
  position: relative;
  cursor: pointer;
  box-shadow: 0px 5px 0px rgb(0 0 0 / 4%);
}
.p-discountAccordion__toggle::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0,-50%);
  content: "";
  background: url(../image/icon_arr_001.svg) no-repeat center center/cover;
  width: 42px;
  height: 42px;
  display: block;
}
.is-active .p-discountAccordion__toggle::after {transform: translate(0,-50%) rotate(180deg);}

.p-discountAccordion__content { display: none; padding-top: 20px;}

@media screen and (max-width: 768px) {
  .p-discountAccordion__toggle { font-size: 1.7rem; height: 55px; max-width: 350px; margin-left: auto; margin-right: auto;}
  .p-discountAccordion__toggle::after { width: 35px; height: 35px;}
}

/* p-discountDetail
----------------------------- */
.p-discountDetail { margin-top: 20px;}
.p-discountDetail__title { font-size: 2.9rem; font-weight: 700; text-align: center; line-height: 1.5;}
.p-discountDetail__title span { color: #FC386E;}

.p-discountDetail__notice { margin-left: 1em; text-indent: -1em; margin-top: 1em;}
.p-discountDetail__notice a { color: #09A3E8; text-decoration: underline;}

.p-discountDetail__list { padding: 0 10%;}
.p-discountDetail__list li { font-size: 2.8rem; font-weight: 700; display: flex; align-items: center; justify-content: space-between;}
.p-discountDetail__list li span { display: flex; align-items: center;}
.p-discountDetail__list li span::before {
  content: "";
  background: url(../image/icon_check_001.svg) no-repeat center center/cover;
  width: 23px;
  height: 23px;
  display: block;
  margin-right: 10px;
}
.p-discountDetail__list li b { font-weight: 700; color: #FC386E;}

@media screen and (max-width: 1200px) {
  .p-discountDetail__title { font-size: 2.6rem;}
  .p-discountDetail__list { padding: 0;}
  .p-discountDetail__list li { font-size: 2.2rem; }
}


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

======================================*/
.p-tableBlock {}
.p-tableBlock table {
  width: 100%;
  border-collapse:  collapse;
}
.p-tableBlock table td,
.p-tableBlock table th {
  border: 1px solid #D8D8D8;
  padding: 15px 5px;
  text-align: center;
  font-size: 1.5rem;
  vertical-align: middle;
  line-height: 1.4;
  position: relative;
  font-family: "Oswald", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.p-tableBlock table td.-special {
  border: 2px solid #F8668E;
  font-size: 2.0rem;
  color: #F8668E;
}

 
.p-tableBlock table th { color: #09A3E8;}

.p-tableBlock table tr:first-child th {
  border: 1px solid #1FA4E5;
  background: #F2FAFE;
}
.p-tableBlock table tr:first-child th.-special {
  background: #F8668E;
  color: #fff;
  border: 2px solid #F8668E;
  position: relative;
}
.p-tableBlock table tr:first-child th:first-child { color: #222222;}


@media screen and (max-width: 1200px) {
  
}
@media screen and (max-width: 768px) {
  .p-tableBlock { margin: 0 -10px;}
  .p-tableBlock table td,
  .p-tableBlock table th { font-size: 1.4rem; padding: 15px 2px;}
  .p-tableBlock table td.-special { font-size: 1.6rem;}

  /*
  .p-tableBlock.-row5 table td { font-size: 0.9rem;}
  .p-tableBlock.-row5 table th { font-size: 1.0rem;}
  .p-tableBlock.-row5 table td.-special { font-size: 1.3rem;}
  */
  .p-tableBlock.-row5 table td {}
  .p-tableBlock.-row5 table th { font-size: 1.1rem;}
  .p-tableBlock.-row5 table td.-special { font-size: 1.4rem;}
}


/*======================================
p-contact
======================================*/
.p-contact { background: #F4F7F8; padding: 100px 0;}

.p-contactForm {}
.p-contactForm__item { margin-top: 35px;}
.p-contactForm__item:first-child { margin-top: 0;}
.p-contactForm__head { font-size: 1.6rem; font-weight: 700;}
.p-contactForm__headText { margin-left: 20px; font-size: 1.6rem; font-weight: 500;}
.p-contactForm__requisite { display: inline-block; margin-left: 20px; font-size: 1.2rem; color: #fff; background: #F76464; padding: 2px 10px;}
.p-contactForm__body { margin-top: 15px;}
.p-contactForm__bodyText { font-size: 1.6rem; font-weight: 500; margin-top: 10px;}

.p-contactForm__send { margin-top: 40px; text-align: center;}
.p-contactForm__send span { margin: auto; display: block;  border: 5px solid rgba(9,167,232,0.18);border-radius: 100px; overflow: hidden;width: 100%;  max-width: 220px;}
.p-contactForm__send input {
  display: block;
  background: #09A7E8;
  font-size: 1.7rem;
  color: #fff;
  font-weight: 700;
  padding: 10px 25px;
  width: 100%;
}
.p-contactForm__send input:disabled { opacity: 0.5; cursor: not-allowed;}

.p-contactForm__body input:not([type="radio"]):not([type="checkbox"]),
.p-contactForm__body textarea {
  -webkit-appearance: none;
  border: none;
  background: #EFEFEF;
  font-weight: 500;
  padding: 15px 10px;
  width: 100%;
  font-size: 1.6rem;
  border-radius: 0;
  border-radius: 5px;
}
.p-contactForm__body input { max-width: 580px;}
.p-contactForm__body textarea { width: 100%; height: 260px;}

.p-contactForm__body input::placeholder { color: #A5A5A5;}

.p-contactForm__radioWrap { font-size: 1.6rem; font-weight: 500; display: flex;}
.p-contactForm__radioWrap>label { margin-left: 30px;}
.p-contactForm__radioWrap>label:first-child { margin-left: 0;}

.p-contactForm__radioWrap input {opacity: 0; display: none;}
.p-contactForm__radio {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 40px;
}
.p-contactForm__radio::before {
  content: '';
  display: block;
  border-radius: 5px;
  border: none;
  background: #DEDEDE url(../image/icon_check_001.svg) no-repeat center center/16px 12px;
  width: 30px;
  height: 30px;
  margin-right: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
.p-contactForm__radioWrap input:checked+.p-contactForm__radio::after {
  content: '';
  display: block;
  border-radius: 5px;
  border: none;
  background: #09A7E8 url(../image/icon_check_001.svg) no-repeat center center/16px 12px;
  width: 30px;
  height: 30px;
  margin-right: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
.p-contactForm__select { position: relative; max-width: 240px;}
.p-contactForm__select::after {
  content: "";
  background: url(../image/icon_arr_001.svg) center center/14px 9px;
  width: 14px;
  height: 9px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translate(0,-50%);
  display: block;
  z-index: 0;
}
.p-contactForm__select select {
  -webkit-appearance: none;
  border: none;
  background: #EFEFEF;
  padding: 15px 10px;
  width: 100%;
  font-size: 1.6rem;
  border-radius: 0;
  border-radius: 5px;
}
.p-contactForm__select select::-ms-expand {
  display: none; 
}

.p-contactForm__agree a { text-decoration: underline;}
.p-contactForm__agree input {opacity: 0;}

.p-contactForm__check {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 40px;
}
.p-contactForm__check::before {
  content: '';
  display: block;
  border-radius: 5px;
  border: none;
  background: #DEDEDE url(../image/icon_check_001.svg) no-repeat center center/16px 12px;
  width: 30px;
  height: 30px;
  margin-right: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
.p-contactForm__agree input:checked+.p-contactForm__check::after {
  content: '';
  display: block;
  border-radius: 5px;
  border: none;
  background: #09A7E8 url(../image/icon_check_001.svg) no-repeat center center/16px 12px;
  width: 30px;
  height: 30px;
  margin-right: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}

@media screen and (max-width: 768px) {
  .p-contactForm { margin-top: 30px;}
  .p-contactForm__headText { font-size: 1.4rem; display: block; margin: 5px 0 0 0;}
  .p-contactForm__bodyText { font-size: 1.4rem;}
}




/*======================================
p-reason
======================================*/

/* p-reasonBlock
----------------------------- */
.p-reasonBlock { margin-top: 50px;}
.p-reasonBlock__list { display: flex; flex-wrap: wrap; margin: 0 -25px -100px;}
.p-reasonBlock__item { width: calc(100% / 2 - 50px); margin: 0 25px 100px;}
.p-reasonBlock__item.long { width: calc(100% - 50px); margin: 0 25px 100px;}

@media screen and (max-width: 768px) {
  .p-reasonBlock__list { display: block; margin: 0 0 -50px;}
  .p-reasonBlock__item { width: auto; margin: 80px 0;}
  .p-reasonBlock__item.long { width: auto; margin: 80px 0;}
}

/* p-planCard
----------------------------- */
.p-reasonCard { position: relative; height: 100%; text-align: center; background: #DCF2FC; border: 4px solid #1792D1; border-radius: 8px; box-shadow: 0px 5px 0px rgba(0,0,0,4%); display: flex; position: relative;}
.p-reasonCard::before { content: ''; position: absolute; top: -4px; left: -4px; right: -4px; bottom: -4px; margin: auto; border: 4px solid #1792D1; border-radius: 8px; z-index: 2; pointer-events: none;}
.p-reasonCard__badge { position: absolute; top: -60px; left: calc(50% - 60px); z-index: 100;}
.p-reasonCard__badge.on { -webkit-animation: rotate-y .5s infinite; animation: rotate-y .5s infinite; -webkit-animation-iteration-count: 1; animation-iteration-count: 1;}
@keyframes rotate-y { 0% { transform: rotateY(0deg);} 100% { transform: rotateY(360deg);}}
.p-reasonCard__charactor { position: absolute; top: -60px; right: 40px; z-index: 10;}
.p-reasonBlock__item.long .p-reasonCard__charactor { right: 50%; transform: translateX(50%);}
.p-reasonCard__rslide { width: 100%; padding: 80px 45px 40px; background: #FFF;}
.p-reasonCard__cslide { width: 100%; padding: 80px 45px 40px;}
.p-reasonCard__lslide { width: 100%; padding: 80px 45px 40px;}
.p-reasonCard__title { position: relative; display: inline-block; margin-bottom: 24px; padding-bottom: 10px; text-align: center; font-size: 2.9rem; font-weight: 900;}
.p-reasonCard__title span { font-size: 3.8rem; color: #09A3E8;}
.p-reasonCard__title::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; transform: scaleX(0); height: 3px; background: #00A4F2; transform-origin: left top; transition: all 2s ease;}
.p-reasonCard__title.on::after { transform: scaleX(1);}
.p-reasonCard__title2 { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 60px; margin-bottom: 8px; font-size: 3rem; font-weight: 900; line-height: 1.2;}
.p-reasonCard__title2 span { font-size: 1.8rem; font-weight: 700;}
.p-reasonCard__title2 b { color: #09A3E8;}
.p-reasonCard__title3 { display: inline-block; margin-bottom: 8px; text-align: left; border-bottom: 3px solid #000; font-size: 2.2rem; font-weight: 900;}
.p-reasonCard__text { margin-bottom: 20px; text-align: left; font-size: 1.8rem;}
.p-reasonCard__text b { color: #09A3E8;}
.p-reasonCard__btn { text-align: center; pointer-events: auto;}
.p-reasonCard__btn a { display: flex; align-items: center; justify-content: center; border-radius: 100px; width: 100%; height: 65px; background: #14366E url("../image/icon_arr_002.svg") right 12px center no-repeat; text-align: center; font-size: 2.0rem; font-weight: 900; color: #fff; position: relative; cursor: pointer; box-shadow: 0px 5px 0px rgb(0 0 0 / 4%);}
.swiper-slide { pointer-events: none;}
.slide-button-next { position: absolute; top: 50%; right: 0; transform: translate(50%,-50%); z-index: 10; pointer-events: auto;}
.slide-button-prev { position: absolute; top: 50%; left: 0; transform: translate(-50%,-50%); z-index: 10; pointer-events: auto;}
.p-reasonCard__cslide.swiper-slide-active { z-index: 30;}
.p-reasonCard__cslide .slide-button-prev { left: 45px;}
.p-reasonCard__rslide.swiper-slide-prev .slide-button-next, .swiper-button-disabled { display: none;}
.p-reasonCard__cslide + .p-reasonCard__lslide {}
.p-reasonCard__lslide.swiper-slide-active { z-index: 30;}
.swiper-button-disabled { display: none;}
.reason-swiper03-1, .reason-swiper03-2 { max-width: 420px;}
.reason-swiper03-1 .swiper-slide, .reason-swiper03-2 .swiper-slide { padding: 0 21px;}
.sub-button-next { position: absolute; top: calc(50% - 26px); right: 0; transform: translateY(-50%); z-index: 10; pointer-events: auto;}
.sub-button-prev { position: absolute; top: calc(50% - 26px); left: 0; transform: translateY(-50%) scaleX(-1); z-index: 10; pointer-events: auto;}
.swiper-pagination { position: relative; margin-top: 16px;}
.swiper-pagination-bullet { width: 10px; height: 10px; background: #FFF; opacity: 1;}
.swiper-pagination-bullet-active { background: #09A3E8;}
.pu { position: relative; max-width: 1240px; margin: 40px auto; padding: 0 72px; background: #FFF; border: 5px solid #1792D1; border-radius: 10px;}
.mfp-close { font-size: 4rem; color: #09A3E8!important; opacity: 1;}
.row { display: flex; align-items: center; margin: 0 -20px;}
.row + .p-large-text { margin-top: 30px;}
.row > figure { margin: 0 20px;}
.row > div { flex: 1; margin: 0 20px;}
.row.center { justify-content: center;}
.row.center > div { flex: none;}
.reverse { flex-direction: row-reverse;}
.p-lumixBlock { position: relative; padding: 40px 0;}
.p-lumixBlock > * { position: relative; z-index: 1;}
.p-lumixBlock_title1 { font-size: 3rem; font-weight: 900;}
.p-lumixBlock_title1 span { font-size: 4rem;}
.p-lumixBlock_title1 b { color: #09A3E8;}
.p-lumixBlock_title2 { display: inline-block; margin-bottom: 24px; padding-bottom: 8px; border-bottom: 4px solid #09A3E8; font-size: 2.5rem; font-weight: 900;}
.p-lumixBlock_title2 span { font-size: 3.3rem; color: #09A3E8;}
.p-lumixBlock_text { font-size: 1.8rem; line-height: 1.8;}
.p-lumixBlock_text b { color: #09A3E8;}
.bg::before { content: ''; position: absolute; top: 0; left: -72px; width: calc(100% + 144px); height: 100%; background: #F2FAFE; z-index: 0;}
.flow { margin: 30px -30px 0;}
.flow > div { position: relative; margin: 0 30px; padding: 20px; text-align: center; background: #FFF; border: 4px solid #D0EDFA;}
.flow > div:first-child::after { content: ''; position: absolute; top: calc(50% - 16px); left: calc(100% + 8px); width: 46px; height: 33px; background: url("../image/arrow.svg") center no-repeat;}
.popup-dismiss { margin-top: 20px; text-align: center; font-size: 2.2rem; font-weight: 700; cursor: pointer;}

@media screen and (min-width: 769px) {
.reason-swiper01 > .swiper-wrapper,
.reason-swiper02 > .swiper-wrapper,
.reason-swiper03 > .swiper-wrapper { display: block;}
.reason-swiper01 > .swiper-wrapper > .swiper-slide,
.reason-swiper02 > .swiper-wrapper > .swiper-slide,
.reason-swiper03 > .swiper-wrapper > .swiper-slide { height: auto;}
.reason-swiper03 .p-reasonCard__lslide { padding-top: 0;}
.slide-button-next, .slide-button-prev { display: none;}
}

@media screen and (max-width: 768px) {
.p-reasonCard__badge { width: 80px; left: calc(50% - 40px);}
.p-reasonCard__charactor { right: 0; width: 100px;}
.p-reasonBlock__item.long .p-reasonCard__charactor { right: 50%; transform: translateX(50%); width: 200px;}
.p-reasonCard__rslide { padding: 30px 40px 30px 20px;}
.p-reasonCard__cslide { padding: 30px 40px 30px 50px;}
.p-reasonCard__lslide { padding: 30px 20px 30px 40px;}
.p-reasonCard__title { font-size: 4.8vw;}
.p-reasonCard__title span { display: block; font-size: 5.2vw;}
.p-reasonCard__title2 { min-height: initial; font-size: 2rem;}
.p-reasonCard__title3 { font-size: 1.7rem;}
.p-reasonCard__text { font-size: 1.4rem; line-height: 1.6;}
.p-reasonCard__btn a { justify-content: flex-start; padding-left: 24px; background-size: 30px auto; font-size: 1.6rem;}
.slide-button-next { width: 40px;}
.slide-button-prev { width: 40px;}
.p-reasonCard__cslide + .p-reasonCard__lslide {}
.p-reasonCard__cslide .slide-button-prev { left: 25px;}
.reason-swiper03-1 .swiper-slide, .reason-swiper03-2 .swiper-slide { padding: 0 15px;}
.sub-button-next { top: calc(50% - 22px); width: 30px;}
.sub-button-prev { top: calc(50% - 22px); width: 30px;}
.pu { margin: 20px; padding: 0 20px;}
.mfp-close { font-size: 4rem; color: #09A3E8!important; opacity: 1;}
.row { display: block; margin: 0;}
.row > figure { margin: 0 0 20px; text-align: center;}
.row > div { margin: 0 0 20px;}
.p-lumixBlock { position: relative; padding: 20px 0;}
.p-lumixBlock_title1 { font-size: 2rem;}
.p-lumixBlock_title1 span { font-size: 3rem;}
.p-lumixBlock_title2 { font-size: 2rem;}
.p-lumixBlock_title2 span { font-size: 2.4rem;}
.p-lumixBlock_text { font-size: 1.4rem;}
.bg::before { left: -20px; width: calc(100% + 40px);}
.flow { margin: 0;}
.flow > div { margin: 30px 0;}
.flow > div:first-child::after { top: 100%; left: 50%; transform: translateX(-50%) rotate(90deg) scale(0.4);}
}




/*======================================
p-greeting
======================================*/

/* p-gaboutBlock
----------------------------- */
.p-aboutBlock { margin-top: 50px;}
@media screen and (max-width: 768px) {
.p-aboutBlock { margin-top: 20px;}
}

/* p-greetingCard
----------------------------- */
.p-greetingCard { position: relative; padding: 56px 72px; background: #FFF; border: 4px solid #1792D1; border-radius: 8px; box-shadow: 0px 5px 0px rgba(0,0,0,4%); display: flex; position: relative;}
.p-large-text { font-size: 2.2rem; line-height: 1.8;}
.p-text { font-size: 1.8rem; line-height: 1.8;}
.p-large-text b { color: #09A3E8;}

/* p-aboutCard
----------------------------- */
.p-aboutCard { margin-top: 30px;}
.p-aboutCard2 { margin-top: 60px; padding-top: 60px; border-top: 4px solid #D9F2FC;}
.p-aboutCard .row > * { padding: 20px; text-align: center; background: #FFF; border: 5px solid #1BA3E8; border-radius: 10px;}
.p-aboutCard .row > * p { margin-top: 8px; font-size: 2.2rem; font-weight: 700; color: #09A3E8;}
.p-large-text { font-size: 2.2rem; line-height: 1.8;}
.p-text { font-size: 1.8rem; line-height: 1.8;}
.sign { margin-top: 30px; text-align: right; font-size: 1.8rem;}
.sign span { font-size: 3rem;}

@media screen and (max-width: 768px) {
.p-greetingCard { position: relative; padding: 30px 20px;}
.p-large-text { font-size: 1.6rem; line-height: 1.6;}
.p-text { font-size: 1.4rem; line-height: 1.6;}
.sign { font-size: 1.6rem;}
.sign span { font-size: 2.2rem;}
}




/*======================================
p-faq
======================================*/

/* p-faqBlock
----------------------------- */
.p-faqBlock { margin-top: 50px;}
@media screen and (max-width: 768px) {
.p-faqBlock { margin-top: 20px;}
}

/* p-faqCard
----------------------------- */
.p-faqBlock dl { position: relative; margin-bottom: 20px; padding: 25px 40px; background: #FFF; border: 4px solid #1792D1; border-radius: 8px; box-shadow: 0px 5px 0px rgba(0,0,0,4%);}
.p-faqBlock dt { position: relative; padding: 0 60px; background: url("../image/plus.svg") right center no-repeat; font-size: 2.4rem; font-weight: 900; cursor: pointer; transition: .2s ease-out;}
.p-faqBlock dt::before { content: 'Q'; position: absolute; top: 0; left: 0; line-height: 1.2; font-family: "Overpass"; font-weight: 900; font-size: 4rem; color: #09A3E8;}
.p-faqBlock dd { position: relative; display: none; padding: 16px 60px; font-size: 1.8rem; font-weight: 700; line-height: 1.8; color: #14366E;}
.p-faqBlock dt.on { background-image: url("../image/minus.svg");}

@media screen and (max-width: 768px) {
.p-faqBlock dl { padding: 30px 20px;}
.p-faqBlock dt { padding: 0 30px; font-size: 1.8rem;}
.p-faqBlock dt::before { font-size: 2.8rem;}
.p-faqBlock dd { padding: 16px 30px; font-size: 1.4rem; line-height: 1.6;}
}




/*======================================
p-access
======================================*/

/* p-shopBlock
----------------------------- */
.p-mapBlock { margin-top: 50px;}
.p-shopBlock { margin-top: 50px;}

.p-shopBlock .p-shopBlock__map { align-self: flex-start; text-align: center;}
.p-shopBlock .p-shopBlock__map h3 { margin: 16px 0; font-size: 2.4rem; font-weight: 700; color: #09A3E8;}
.p-shopBlock .p-shopBlock__table { flex: none; width: 55%;}
.p-shopBlock .p-shopBlock__table table { border-collapse: separate; border-spacing: 10px; margin: -10px;}
.p-shopBlock .p-shopBlock__table th { padding: 16px 24px; text-align: center; vertical-align: middle; background: #09A3E8; color: #FFF; white-space: nowrap;}
.p-shopBlock .p-shopBlock__table td { padding: 16px; background: #FFF;}
.p-shopBlock .p-shopBlock__table td ul { margin: 16px 0 0 2em; list-style: disc;}

.p-routeBlock li { position: relative; display: flex; margin-top: 72px; padding: 60px 86px; border: 5px solid #1BA3E8; border-radius: 10px;}
.p-routeBlock li:not(:first-child)::before { content: ''; position: absolute; top: -56px; left: 50%; transform: translateX(-50%); width: 41px; height: 26px; background: url("../image/flow.svg") center no-repeat;}
.p-routeBlock li figure { width: 48%; margin-right: 40px;}
.p-routeBlock li p { flex: 1; margin-top: 40px; font-size: 2.2rem;}
.p-routeBlock .num { position: absolute; top: 50%; left: 0; transform: translate(-50%,-50%); display: flex; flex-direction: column; justify-content: center; align-items: center; width: 120px; height: 120px; text-align: center; background: #09A3E8; border-radius: 50%; font-size: 1.8rem; font-weight: 700; color: #FFF;}
.p-routeBlock .num i { font-family: "Overpass"; font-size: 5rem; font-style: normal; line-height: 1;}


@media screen and (max-width: 768px) {
.p-mapBlock { margin-top: 20px;}
.p-mapBlock iframe { height: 300px;}
.p-shopBlock { margin-top: 20px;}

.p-shopBlock .p-shopBlock__map h3 { font-size: 2rem;}
.p-shopBlock .p-shopBlock__table { width: auto;}
.p-shopBlock .p-shopBlock__table th { padding: 8px;}

.p-routeBlock li { display: block; padding: 30px 20px;}
.p-routeBlock li figure { width: auto; margin: 0;}
.p-routeBlock li p { margin-top: 20px; font-size: 1.6rem;}
.p-routeBlock .num { top: 0; left: -10px; transform: translate(0,-50%); width: 60px; height: 60px; font-size: 1.2rem;}
.p-routeBlock .num i { font-size: 3rem;}
}




/*======================================
add
======================================*/
.p-top .c-block__inner { display: flex; justify-content: space-between; align-items: flex-end;}
.p-top__img { margin-bottom: -8%;}
.img-block a { display: block; pointer-events: auto;}
.p-btn {
  margin: 40px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  width: 100%;
  max-width: 450px;
  height: 65px;
  background: #14366E;
  text-align: center;
  font-size: 2.0rem;
  font-weight: 900;
  color: #fff;
  position: relative;
  cursor: pointer;
  box-shadow: 0px 5px 0px rgb(0 0 0 / 4%);
}
.p-btn::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0,-50%);
  content: "";
  background: url("../image/icon_arr_002.svg") no-repeat center center/cover;
  width: 42px;
  height: 42px;
  display: block;
}
.p-mapbtn {
  margin: 40px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  width: 100%;
  max-width: 184px;
  height: 45px;
  background: #FFF;
  text-align: center;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .p-top .c-block__inner { display: block;}
  .p-top__img { margin-top: -8%; margin-bottom: -16%;}
  .p-btn { font-size: 1.7rem; height: 55px; max-width: 350px; margin-left: auto; margin-right: auto;}
  .p-btn::after { width: 35px; height: 35px;}
}