@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');

body { font-family: "Zen Kaku Gothic New", sans-serif; }

.ff-serif { font-family: "Zen Old Mincho", serif; }
a, a img { transition: all .3s; }
a:hover, a:hover img { opacity: .7; }

/* ======================================================================

  Be All School LP Styles 2024

====================================================================== */
.wrapper { overflow: hidden; }
.inner {
  max-width: 980px;
  width: calc(690 / 750 * 100%);
  margin: auto;
}

/* ----------------------------------------------------------------------
  Header
---------------------------------------------------------------------- */
#header {
  height: 0;
  padding: 0 0 calc(800 / 1300 * 100%);
  background-image: url(../../img/2024/beall_main-visual_b.jpg);
  background-color: #fbf4eb !important;
}
#header .con h2 {
  padding: 13px 0 0;
  float: right;
}
.contents-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
}

/* Page Heading */
h1.page-heading {
  font-size: 58px;
  font-weight: 600;
  letter-spacing: .05em;
  text-align: center;
  line-height: calc(90 / 58);
}

@media screen and (max-width: 1300px) {
  h1.page-heading { font-size: calc(58 / 1300 * 100vw); }
}
@media screen and (max-width: 480px) {
  #header {
    height: auto;
    padding: 0;
  }
  #header .con {
    display: flex;
    flex-direction: column-reverse;
    padding: 5px 0 0;
  }
  #header .con h2 {
    padding: 10px 0 0;
    float: none;
    width: 70%;
    margin: 0 auto;
  }
  #header .con p { padding: 0; }
  #header .con h2 img { width:100%; }
  h1.page-heading {
    font-size: calc(58 / 750 * 100vw);
    font-weight: 600;
    line-height: 1.3;
  }
}

/* ----------------------------------------------------------------------
  Footer
---------------------------------------------------------------------- */
@media screen and (max-width: 480px) {
  #footer {
    text-align: center;
    margin: 0;
    padding: calc(40 / 750 * 100%) 0 calc(160 / 750 * 100%);
  }
  #footer p.copy {
    padding: calc(60 / 750 * 100%) 0 0;
    margin: calc(40 / 750 * 100%) 0 0;
    border-top: solid 1px #e4e4e4;
  }
}

/* ----------------------------------------------------------------------
  Side Fixed Button
---------------------------------------------------------------------- */
.fixed-btn {
  position: fixed;
  z-index: 2;
  right: -5px;
  width: 100px;
}
.fixed-btn a {
  display: block;
  margin: 0 0 10px;

}
.fixed-btn a img {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.25);
  transition: all .3s;
}
.fixed-btn a:hover img { opacity: 1.0; }

@media screen and (max-width:480px) {
  .fixed-btn {
    top: initial;
    right: initial;
    bottom: -5px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 10px;
  }
  .fixed-btn a {
    display: block;
    margin: 0;
  }
  .fixed-btn a:first-of-type { width: calc(460 / 750 * 100vw); }
  .fixed-btn a:nth-of-type(2) { width: calc(130 / 750 * 100vw); }
  .fixed-btn a:last-of-type { width: calc(130 / 750 * 100vw); }
  .fixed-btn a img {
    border-bottom-left-radius: 0;
    border-top-right-radius: 10px;
    width: 100%;
    height: auto;
  }
}

/* ----------------------------------------------------------------------
  Contactobi
---------------------------------------------------------------------- */
.contactObi {
  background-color: #fbf4eb;
  padding: 20px 0;
}
 .contactObi02 {
  background-color: #fff7fa;
  padding: 20px 0;
}
.contactObi a, .contactObi02 a {
  width: 800px;
  margin: auto;
  display: block;
}
.contactObi a:first-of-type {
  margin: 0 auto 20px;
  pointer-events: none;
}
.contactObi a img, .contactObi02 a img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 480px) {
  .contactObi, .contactObi02 {
    padding: 20px 0;
  }
  .contactObi02 .inner { width: 100%; }
  .contactObi a, .contactObi02 a {
    width: 100%;
    margin: auto;
  }
}

/* ----------------------------------------------------------------------
  Sec01
---------------------------------------------------------------------- */
.sec01, .sec01Obi { display: none; }

/* ----------------------------------------------------------------------
  こんなお悩みありませんか？
---------------------------------------------------------------------- */
.concerns-unit {
  padding: 100px 0 65px;
  background-color: #987559;
  text-align: center;
}
.concerns-unit h2 {
  font-size: 40px;
  font-weight: 600;
  color: #fbf4eb;
  line-height: calc(60 / 40);
}
.concerns-unit h3 {
  font-size: 38px;
  font-weight: 600;
  color: #fbf4eb;
}
.concerns-unit ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 50px;
  margin: 30px 0;
}
.concerns-unit ul li {
  width: 200px;
}
.concerns-unit ul li img {
  width: 100%;
  height: auto;
  box-shadow: 0 0 8px 4px rgba(125,85,52,.27);
}

@media screen and (max-width: 480px) {
  .concerns-unit { padding: calc(95 / 750 * 100%) 0 calc(90 / 750 * 100%); }
  .concerns-unit h2 {
    font-size: calc(40 / 750 * 100vw);
    line-height: 1.4;
    letter-spacing: -0.05em;
  }
  .concerns-unit h3 {
    font-size: calc(40 / 750 * 100vw);
    line-height: 1.4;
  }
  .concerns-unit ul {
    gap: calc(35 / 750 * 100vw);
    margin: calc(40 / 750 * 100%) 0;
  }
  .concerns-unit ul li { width: calc(300 / 750 * 100vw); }
}

/* ----------------------------------------------------------------------
  オリジナルプログラム
---------------------------------------------------------------------- */
.origin-program-unit {
  text-align: center;
  background-color: #ffffff;
  padding: 0 0 65px;
  box-shadow: 0px 0 16px 0px rgba(203,170,127,0.27);
  mix-blend-mode: multiply;
}

@media screen and (max-width: 480px) {
  .origin-program-unit { padding: 0 0 calc(60 / 750 * 100%); }
  .origin-program-unit .inner { width: 100%; }
  .origin-program-unit img {
    width: 100%;
    height: auto;
  }
  .origin-program-unit h2 {
    width: calc(520 / 750 * 100vw);
    margin: auto;
  }
  .origin-program-unit h3 { width: 100%; }
}

/* ----------------------------------------------------------------------
  コース
---------------------------------------------------------------------- */
.course-unit {
  padding: 105px 0 70px;
  background-color: #fbf4eb;
  text-align: center;
  /*box-shadow: inset 0px 0 16px 0px rgba(203,170,127,0.27);*/
}
.course:not(:first-of-type) { margin: 90px 0 0; }
.course h3 {
  font-size: 30px;
  font-weight: 600;
  color: #5f361f;
  line-height: calc(48 / 30);
  margin: 0 0 20px;
}
.course h3 span { display: inline; }
.course.c01 h3 span { background: linear-gradient(transparent 60%, #90caf9 60%); }
.course.c02 h3 span { background: linear-gradient(transparent 60%, #ccccff 60%); }
.course.c03 h3 span { background: linear-gradient(transparent 60%, #b5abba 60%); }
.course.c04 h3 span { background: linear-gradient(transparent 60%, #f4c3c3 60%); }
.course.c05 h3 span { background: linear-gradient(transparent 60%, #afbdc5 60%); }
.course figure { position: relative; }
.course figure::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -8px;
  left: 0;
  width: 144px;
  height: 166px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}
.course.c01 figure::before { background-image: url(../../img/2024/course_label001.png); }
.course.c02 figure::before { background-image: url(../../img/2024/course_label002.png); }
.course.c03 figure::before { background-image: url(../../img/2024/course_label003.png); }
.course.c04 figure::before { background-image: url(../../img/2024/course_label004.png); }
.course.c05 figure::before { background-image: url(../../img/2025/course_label005.png); }
.course img { box-shadow: 0 0 8px 4px rgba(203,170,127,.27); }

/* Add 202507 */
.popularity { display: none; }

.course-benefits {
  margin: 140px 0 0;
  padding: 0 0 50px;
  background-color: #ffffff;
}
.course-benefits h2 {
    position: relative;
    top: -92px;
    margin: 0 0 calc(-92px + -20px);
  }
.course-benefits .inner {
  display: flex;
  align-items: center;
  padding: 70px 25px 0 30px;
}
.course-benefits dl {
  text-align: left;
  margin: 0 80px 0 0;
  color: #5f361f;
}
.course-benefits dl dt {
  font-size: 24px;
  font-weight: 600;
  line-height: calc(36 / 24);
  margin: 0 0 35px;
}
.course-benefits dl dd {
  font-size: 18px;
  font-weight: 400;
  line-height: calc(28 / 18);
}
.course-benefits figure {
  width: 395px;
  height: auto;
  overflow: hidden;
  flex-shrink: 0;
}
.course-benefits figure img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 480px) {
  .course-unit { padding: calc(95 / 750 * 100%) 0 0; }
  .course-unit .inner {
    padding: 0 calc(40 / 750 * 100%);
    box-sizing: border-box;
  }
  .course:not(:first-of-type) { margin: calc(100 / 750 * 100%) 0 0; }
  .course h3 {
    font-size: calc(36 / 750 * 100vw);
    line-height: 1.5;
    letter-spacing: -0.06em;
  }
  .course figure::before {
    width: calc(144 / 750 * 100vw);
    height: calc(166 / 750 * 100vw);
  }
  .course figure img {
    width: 100%;
    height: auto;
  }

  /* Add 202507 */
  .popularity {
    position: absolute;
    z-index: 1;
    top: calc(480 / 750 * 100vw);
    left: calc((120 / 2) / 750 * 100vw * -1);
    width: calc(120 / 750 * 100vw);
    height: calc(120 / 750 * 100vw);
    display: inline-block;
  }
  .popularity img {
    width: 100%;
    height: auto;
    box-shadow: none;
  }

  .course-benefits {
    margin: calc(140 / 750 * 100%) 0 0;
    padding: 0 0 calc(45 / 750 * 100%);
  }
  .course-benefits h2 {
    position: relative;
    top: calc(112 / 750 * 100vw * -1);
    width: 100%;
    height: auto;
    margin: 0 auto calc(112 / 750 * 100vw * -1);
  }
  .course-benefits h2 img {
    width: 100%;
    height: auto;
  }
  .course-benefits .inner {
    flex-direction: column;
    padding: calc(50 / 750 * 100%) calc(45 / 750 * 100%) 0;
  }
  .course-benefits dl { margin: 0; }
  .course-benefits dl dt {
    font-size: calc(28 / 750 * 100vw);
    margin: 0 0 calc(40 / 750 * 100%);
  }
  .course-benefits dl dd { font-size: calc(22 / 750 * 100vw); }
  .course-benefits figure {
    width: calc(450 / 750 * 100%);
    margin: calc(35 / 750 * 100%) auto 0;
  }
}

/* ----------------------------------------------------------------------
  Sec02
---------------------------------------------------------------------- */
.sec02 .bg02 { background-color: #fbf4eb; }
.sec02 .con .LArea h3,
.sec02 .con .RArea h3 {
  font-weight: 600 !important;
  color: #5f361f !important;
}
.sec02 h2{ text-align:center; padding:0 0 30px; }
.sec02 .mark{ display: none;}

@media screen and (max-width: 480px) {
.sec02 h2 img{ width:70%; }
.sec02 .mark{ display: block; text-align:center; padding:30px 0 0 !important; }
.sec02 .mark img{ width: 20%;}
.sec02 .pics {
    padding: 0;
    width: 100% !important;
    text-align: right;
    line-height: initial !important;
    margin: 0;
    padding: 0 !important;
  }
.sec02 .pics img{ width: 80%;}
.LArea .pics{ text-align:left; }
.RArea .pics{ text-align:right; }
}
/* ----------------------------------------------------------------------
  Sec03
---------------------------------------------------------------------- */
.sec03 h2 {
  font-weight: 600;
  color: #5f361f;
  padding: 90px 0 30px;
}
.sec03 .aisatsu {
  position: relative;
  background: url(../../img/2024/koushibg.png) no-repeat center top, linear-gradient(to bottom, rgba(203,182,175,0.57) 0%,rgba(255,255,255,0.85) 65%,rgba(255,255,255,1) 100%);
  mix-blend-mode: multiply;
}
.sec03 .aisatsu .con h3 {
  font-weight: 600;
  color: #5f361f;
}
.sec03 .spec .con h3 {
  font-weight: 600;
  color: #5f361f;
}
.sec03 .spec .con p { border-left: 1px solid #5f361f; }
.sec03 .koushi { background-color: #fbf4eb; }
.sec03 .koushi .con h3 {
  font-weight: 600;
  color: #5f361f;
  border-bottom: 1px solid #5f361f;
}

@media screen and (max-width: 480px) {
  .sec03 .aisatsu {
    background: linear-gradient(to bottom, rgba(203,182,175,0.57) 0%,rgba(255,255,255,0.85) 65%,rgba(255,255,255,1) 100%);
  }
  .sec03 .aisatsu .con { background: none; }
  .sec03 .spec { background-color: #ece4e1; }
  .sec03 .spec .con p {
    border-top: solid 1px #5f361f;
    border-left: none;
  }
}

/* ----------------------------------------------------------------------
  Sec04
---------------------------------------------------------------------- */
.sec04 { display: none; }

/* ----------------------------------------------------------------------
  Sec05
---------------------------------------------------------------------- */
.sec05 h2 {
  font-weight: 600;
  color: #5f361f;
  padding: 100px 0 30px;
}
.sec05 h3 { color: #5f361f; }
.sec05 h4 {
  width: fit-content;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: .05em;
  color: #5f361f;
  text-align: center;
  margin: 0 auto 75px;
}
.sec05 h4 span {
  display: inline;
  background-color: #eddfda;
  padding: .125em .5em;
}
.sec05 p {
  font-weight: 700;
  color: #5f361f;
}
.sec05 p span {
  font-weight: 600;
  color: #5f361f;
}
.sec05 iframe { margin: 0 auto 75px; }

@media screen and (max-width: 480px) {
  .sec05 h2 { font-size: calc(48 / 750 * 100vw); }
  .sec05 h4 { line-height: 1.4; }
}

/* ----------------------------------------------------------------------
  Sec06 - Add 202412, Modified 202507
---------------------------------------------------------------------- */
.sec06 { padding: 0 0 200px; }
.sec06 h2 {
  margin: auto;
  text-align: center;
}
.pricelist {
  width: 100%;
  font-size: 18px; /* Modified 202507 */
  border-top: solid 1px #5f361f;
}
.pricelist.test {
  margin: 60px 0;
  display: none;
}
.pricelist.gel-test {
  margin: 0 0 120px;
  display: none;
}
.pricelist thead th {
  color: #5f361f;
  padding: .75em 0;
}
.pricelist.test thead th:last-of-type, .pricelist.gel-test thead th:last-of-type { text-align: left; }
.pricelist thead th { border-bottom: solid 1px #5f361f; }
.pricelist tbody th, .pricelist tbody td { border-bottom: solid 1px #5f361f; }
.pricelist tbody th {
  vertical-align: middle;
  font-weight: 400;
  padding: 1em 0;
}
.pricelist tbody td {
  vertical-align: middle;
  text-align: center;
  padding: 1em 0;
}

.pricelist tbody td span { font-size: 1.5em; }
.pricelist.self-nail tbody td p { font-size: .9em; }

.pricelist.new-course thead tr,
.pricelist.test thead tr,
.pricelist.self-nail thead tr { background-color: #eddfda; }
.pricelist.gel-test thead tr { background-color: #f5eadb; }
.pricelist.test tbody tr:nth-of-type(2),
.pricelist.self-nail tbody tr:nth-of-type(2) { background-color: #fffaf8; }
.pricelist.gel-test tbody tr:nth-of-type(2) { background-color: #fffaf4; }

/* New Course - Add 202507
----------------------------------------- */
.pricelist.new-course { margin: 60px 0 90px; }
.tal { text-align: left; }
.pricelist.new-course tr:nth-of-type(2) { background-color: #fffaf8; }
.pricelist.new-course tr:nth-of-type(2) td { padding: .25em 0; }
.pricelist.new-course tr:nth-of-type(2) td img {
  width: 60px;
  height: auto;
  vertical-align: middle;
}

.sec06 ul { margin: 0 0 20px; }
.sec06 ul li h4 {
  font-size: 24px;
  color: #5f361f;
}
.sec06 ul li:last-of-type {
  font-size: 18px;
  margin: .5em 0 0;
}

/* Add 202507 */
.scroll-arrow { display: none; }

@media screen and (max-width: 980px) {
  .pricelist { min-width: 980px; }
  .pricelist.new-course { margin: 60px 0 0; }
  .scroll {
    position: relative;
    width: 100%;
    overflow-x: scroll;
  }
  .scroll:nth-of-type(2) {
    display: none;
    margin: 0;
  }

  /* Add 202507 */
  .scroll-arrow {
    text-align: right;
    display: block;
    margin: 15px 0 0;
  }

  .sec06 ul { margin: 90px 0 20px; }
}
@media screen and (max-width: 480px) {
  .sec06 { padding: 0 0 calc(200 / 750 * 100%); }
  .sec06 .inner { width: 100%; }
  .sec06 h2 {
    width: calc(520 / 750 * 100%);
    margin: auto;
  }
  .sec06 h2 img {
    width: 100%;
    height: auto;
  }
  .pricelist {
    font-size: calc(24 / 750 * 100vw);
    min-width: calc(980px * (2 / 3));
  }
  .pricelist.test { margin: calc(65 / 750 * 100%) 0 0; }
  .pricelist.gel-test { margin: 0; }
  .pricelist tbody th, .pricelist tbody td { padding: .75em 0; }

  /* Modified 202507 */
  .scroll {
    padding: 0 calc(30 / 750 * 100%) 15px;
    box-sizing: border-box;
  }
  .scroll-arrow + .scroll, .scroll-arrow + .scroll + .scroll { padding: 0; }

  /* Add 202507 */
  .scroll-arrow { 
    padding: 0 4% 0 0;
    margin: 0;
   }
  .scroll-arrow img {
    width: calc(81 / 750 * 100vw);
    height: calc(15 / 750 * 100vw);
    display: inline-block;
  }
  
  .sec06 ul {
    margin: calc(75 / 750 * 100%) 0 20px;
    padding: 0 calc(30 / 750 * 100%);
  }
  .sec06 ul li h4 { font-size: calc(30 / 750 * 100vw); }
  .sec06 ul li:last-of-type {
    font-size: calc(24 / 750 * 100vw);
    line-height: calc(40 / 24);
  }

  .pricelist.new-course {
    min-width: calc(980px * (4 / 5));
    margin: calc(65 / 750 * 100%) 0 0;
  }
  .pricelist.new-course tr:nth-of-type(2) td img { width: calc(75 / 750 * 100vw); }
  .pricelist.new-course tr td p { font-size: .9em; }
}
@media screen and (max-width: 414px) {
  .pricelist.new-course { min-width: calc(980px * (3 / 4)); }
}
@media screen and (max-width: 375px) {
  .pricelist.new-course { min-width: calc(980px * (2 / 3)); }
}

/* ----------------------------------------------------------------------
  Sec07 - Add 202412
---------------------------------------------------------------------- */
.sec07 {
  position: relative;
  padding: 60px 0;
  background-color: #eddfda;
}
.sec07 h2 {
  position: relative;
  /*
  font-size: 48px;
  font-weight: 400;
  text-align: center;
  color: #5f361f;
  */
}
.sec07 h2::before {
  content: "卒業生の声";
  position: absolute;
  top: calc(-60px + -48px + -30px);
  left: 50%;
  transform: translateX(-50%);
  font-size: 48px;
  font-weight: 400;
  text-align: center;
  color: #5f361f;
}
.alumni {
  width: 100%;
  height: auto;
  background-color: #ffffff;
  box-shadow: 0 0 16px 0 rgba(125,82,52,0.19);
  display: flex;
  align-items: stretch;
  flex-direction: row-reverse;
  box-sizing: border-box;
}
.alumni.a02 { margin: 50px 0 0; }
.alumni .qa {
  padding: 45px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
.alumni.a01 .alumni-img { background-color: #e09ca9; }
.alumni.a02 .alumni-img { background-color: #b5abba; }
.alumni figure {
  width: 370px;
  height: auto;
  overflow: hidden;
  text-align: center;
  flex-shrink: 0;
}
.alumni figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 370 / 530;
  object-fit: cover;
}
.alumni figure figcaption {
  font-size: 18px;
  color: #5f361f;
  margin: 15px 0 0;
}
.alumni-name {
  height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  color: #ffffff
}
.alumni-name h3 {
  font-size: 30px;
  font-weight: 600;
  letter-spacing: .075em;
}
.alumni-name small { font-size: .8em; }
.alumni-name a {
  font-size: 16px;
  color: #ffffff;
  display: inline-block;
  vertical-align: middle;
  margin: .5em 0 0;
}
.alumni-name a .fa-brands {
  font-size: 2em;
  display: inline-block;
  vertical-align: middle;
}
.alumni dl dt {
  position: relative;
  font-size: 20px;
  padding: 0 0 0 35px;
  margin: 0 0 10px;
}
.alumni.a01 dl dt { color: #e09ca9; }
.alumni.a02 dl dt { color: #b5abba; }
.alumni dl dt::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 25px;
  height: 30px;
}
.alumni.a01 dl dt::before { content: url(../../img/2024/alumni02_q.png); }
.alumni.a02 dl dt::before { content: url(../../img/2024/alumni01_q.png); }
.alumni dl dd {
  font-size: 15px;
  line-height: calc(26 / 16);
  padding: 0 0 0 35px;
}
.alumni dl dd:not(:last-of-type) { margin: 0 0 20px; }

@media screen and (max-width: 480px) {
  .sec07 { padding: calc(60 / 750 * 100%) 0; }
  .sec07 h2::before {
    font-size: calc(48 / 750 * 100vw);
    top: calc(-20px + -48px + -30px);
  }
  .alumni {
    height: auto;
    flex-direction: column;
  }
  .alumni:last-of-type { margin: calc(60 / 750 * 100%) 0 0; }
  .alumni-img {
    height: calc(530 / 630 * 100vw);
    display: flex;
    align-items: stretch;
  }
  .alumni figure {
    width: calc(370 / 630 * 100vw);
    height: 100%;
  }
  .alumni-name {
    width: calc(260 / 630 * 100vw);
    height: 100%;
  }
  .alumni-name h3 { font-size: calc(30 / 750 * 100vw); }
  .alumni-name a { font-size: calc(20 / 750 * 100vw); }
  .alumni .qa { padding: calc(60 / 750 * 100%) calc(55 / 750 * 100%); }
  .alumni dl dt {
    font-size: calc(28 / 750 * 100vw);
    margin: 0 0 .25em;
    padding: 0 0 0 calc(70 / 750 * 100%);
  }
  .alumni dl dt::before {
    width: calc(25 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
  }
  .alumni dl dd {
    font-size: calc(24 / 750 * 100vw);
    line-height: calc(40 / 24);
    padding: 0 0 0 calc(70 / 750 * 100%);
  }
}

@media screen and (max-width: 414px) {
  .alumni-name a { font-size: calc((20 * 1.1 / 750) * 100vw); }
}

/* ----------------------------------------------------------------------
  Banner - Add 202412
---------------------------------------------------------------------- */
.bnr-unit {
  color: #ffffff;
  padding: 40px 0;
}
.bnr-unit .inner {
  max-width: 1100px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 10px;
}
.bnr-unit a, .bnr-unit a img { transition: all .3s; }
.bnr-unit a:hover, .bnr-unit a:hover img { opacity: .7; }
.bnr-unit figure img {
  width: 100%;
  height: auto;
}
.bnr-unit figure figcaption {
  font-size: 16px;
  letter-spacing: .05em;
  line-height: calc(24 / 16);
}

@media screen and (max-width: 480px) {
  .bnr-unit { padding: calc(60 / 750 * 100%) 0; }
  .bnr-unit .inner {
    max-width: initial;
    display: block;
    padding: 0 calc(75 / 750 * 100%);
    box-sizing: border-box;
  }
  .bnr-unit figure { margin: 0 0 calc(60 / 750 * 100%); }
  .bnr-unit figure figcaption {
    font-size: calc(24 / 750 * 100vw);
    line-height: calc(40 / 24);
  }
}

/* ----------------------------------------------------------------------
  Inquiry - Add 202412
---------------------------------------------------------------------- */
.inquiry-unit {
  padding: 145px 0 80px;
  border-bottom: solid 1px #e4e4e4;
}
.inquiry-unit h2 {
  font-size: 48px;
  font-weight: 600;
  letter-spacing: .05em;
  text-align: center;
  color: #5f361f;
}
.inquiry-unit h2 + p {
  font-size: 16px;
  letter-spacing: .05em;
  line-height: calc(30 / 16);
  text-align: center;
  margin: 30px 0 100px;
}
.inquiry-unit h2 + p span {
  color: #e09ca9;
  display: block;
}
/*
.birthday-unit {
  display: flex;
  align-items: center;
}
*/
.birthday-unit .select-wrap  { width: 40%; }
.select-wrap select {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  color: #000000;
  width: 100%;
  height: 50px;
}
.select-wrap {
  position: relative;
  height: 50px;
  border: solid 1px #d4d4d4;
  padding: 0 2.5em 0 .5em;
  margin: 15px 10px 0 0;
}
.select-wrap::after {
  content: "▼";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: .5em;
  color: #e09ca9;
  pointer-events: none;
}

@media screen and (max-width: 480px) {
  .inquiry-unit { padding: calc(100 / 750 * 100%) 0; }
  .inquiry-unit h2 { font-size: calc(48 / 750 * 100vw); }
  .inquiry-unit h2 + p {
    font-size: calc(24 / 750 * 100vw);
    line-height: calc(40 / 24);
    text-align: left;
    margin: calc(40 / 750 * 100%) 0 calc(100 / 750 * 100%);
  }
}

/* ----------------------------------------------------------------------
  "form.css" Overwrite 202412
---------------------------------------------------------------------- */
form {
  font-size: 16px;
  max-width: 600px;
  min-width: initial;
  margin: auto;
}
input[type="text"] { height: 50px; }
.default-btn {
  height: 64px;
  font-size: 18px;
  font-weight: 300;
  letter-spacing: .05em;
  border-radius: 32px;
}
.default-btn02 {
  width: 140px;
  height: 50px;
  letter-spacing: .15em;
  color: #ffffff;
  border-radius: 0;
  background-color: #e09ca9;
}
.submit-btn { background-color: #e09ca9; }

/* 入力エリア */
.input-area { min-width: initial; }
.input-area dt small {
  font-size: 12px;
  background-color: #e09ca9;
  border-radius: 0;
  padding: .3em .6em;
}
.input-area dd { line-height: calc(30 / 16); }
.input-area dd label input { margin-right: 0; }
.input-area dd label input#postcode { margin-right: 0.5em; }

/* Checkbox */
input[type="checkbox"] + label { padding: 0 0 0 40px; }
input[type="checkbox"] + label::before {
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: none;
  background-color: transparent;
  background: url(../../img/2024/check.png) no-repeat 50% 50%;
  background-size: cover;
  margin-top: 0;
}
input[type="checkbox"]:checked + label::after {
  left: 0;
  width: 28px;
  height: 28px;
  margin-top: 0;
  border-left: none;
  border-bottom: none;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  background: url(../../img/2024/checked.png) no-repeat 50% 50%;
  background-size: cover;
}

@media screen and (max-width:480px) {
  form {
    /*font-size: calc(24 / 750 * 100vw);*/
    line-height: calc(45 / 24);
    max-width: 100%;
  }
  .default-btn {
    font-size: calc(24 / 750 * 100vw);
    height: calc(80 / 750 * 100vw);
    border-radius: calc(40 / 750 * 100vw);
  }
  .input-area dt small {
    font-size: 10px;
    padding: .1em .5em;
  }
  .input-area dd label.add1 input#btn_postcode2address { margin: 0.5em 0 0; }
  input[type="checkbox"] + label::before { margin-top: 0; }
  input[type="checkbox"]:checked + label::after {
    width: 28px;
    height: 28px;
    margin-top: 0;
  }
  .agree label { text-align: left; }
}

/* 個人情報保護方針について */
.privacy {
  height: 220px;
  border: solid 1px #e4e4e4;
  margin: 30px 0 0;
  padding: 20px 10px 20px 20px;
  box-sizing: border-box;
  overflow: hidden;
}
.privacy > div {
  height: calc(220px - 40px);
  overflow-y: scroll;
  padding: 0 30px 0 0;
}
.privacy > div::-webkit-scrollbar-thumb {
  width: 2px;
  background-color: #909090;
}
.privacy > div::-webkit-scrollbar { width: 2px; }
.privacy > div::-webkit-scrollbar-track { background-color: #eaeaea; }
.privacy ul li {
  font-size: 14px;
  line-height: calc(24 / 14);
  text-indent: -1em;
  padding: 0 0 0 1em;
  margin: 0 0 30px;
}
.privacy ul li::before { content: "・"; }
.privacy p {
  font-size: 14px;
  line-height: calc(24 / 14);
  text-align: left;
  margin: 0;
}

@media screen and (max-width:480px) {
  .privacy { height: 180px; }
  .privacy > div { height: calc(180px - 40px); }
  .privacy ul li, .privacy p { font-size: calc(20 / 750 * 100vw); }
  .scroll-bar {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
  }
}

/* 入力確認画面
---------------------------------------------------------------------- */
.confirm #header {
  height: auto;
  padding: 0;
  background: none !important;
}
.confirm #header .con { position: relative; }
.confirm #header .con h2 {
  padding: 29px 0 0;
  font-size: 10px;
}
.confirm #header .con h2 img {
  vertical-align: middle;
  margin: 0 10px 0 0;
}
.confirm .table-01 th { line-height: 1.3; }
.confirm .table-01 th small { font-size: .7em; }
.confirm .table-01 td p {
  text-align: left;
  margin: 0;
}

@media screen and (max-width: 480px) {
  .confirm #header .con {
    padding: 20px 0;
    display: flex;
    flex-direction: column-reverse;
  }
  .confirm #header .con h2 {
    padding: 10px 0 0;
    font-size: 10px;
    width: 70%;
    margin: auto;
    float: none;
  }
  .confirm #header .con h2 img {
    width: 100%;
    margin: 0;
  }
  .confirm #header .con p {
    padding: 0;
    font-size: 10px;
    font-weight: bold;
    float: none;
  }
}

/* 送信完了画面
---------------------------------------------------------------------- */
.complete #header {
  height: auto;
  padding: 0;
  background: none !important;
}
.complete #header .con { position: relative; }
.complete #header .con h2 {
  padding: 29px 0 0;
  font-size: 10px;
}
.complete #header .con h2 img {
  vertical-align: middle;
  margin: 0 10px 0 0;
}
.complete .inquiry-unit h2 { line-height: 1.4; }
.complete form { max-width: initial; }
.complete form > .inner { width: 980px; }

@media screen and (max-width: 480px) {
  .complete #header .con {
    padding: 20px 0;
    display: flex;
    flex-direction: column-reverse;
  }
  .complete #header .con h2 {
    padding: 10px 0 0;
    font-size: 10px;
    width: 70%;
    margin: auto;
    float: none;
  }
  .complete #header .con h2 img {
    width: 100%;
    margin: 0;
  }
  .complete #header .con p {
    padding: 0;
    font-size: 10px;
    font-weight: bold;
    float: none;
  }
}