@charset "UTF-8";

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

  Osaka Ohsho LP 2026 SP Style

=========================================== */
body { min-width: initial; }
.l-container {
  max-width: initial;
  width: 100%;
}

/*
  Header
=========================================== */
.l-header h1 { padding: calc(20 / 640 * 100vw) 0; }

/*
  Button Unit
=========================================== */
.btn-unit { flex-direction: column; }
.fcs04 .btn-unit { padding: 20px 0; }
.btn-unit h2 {
  width: 48%;
  margin: 0 0 20px;
}
.btn-unit > div {
  width: 90%;
  margin: 0 auto;
}
.btn-unit > div ul li:first-of-type { margin: 0 0 15px; }

@media screen and (max-width:480px) {
  .btn-unit h2 {
    width: 60%;
    margin: 0 0 15px;
  }
  .btn-unit > div {
    width: 100%;
    flex-direction: column;
  }
  .btn-unit > div ul li:first-of-type { margin: 0 0 10px; }
  .btn-unit > div p { width: 80%; }
}

/*
  Section
=========================================== */
.heading-next {
  height: 65px;
  line-height: 65px;
  font-size: calc(32px * 0.85);
}

@media screen and (max-width:480px) {
  .heading-next {
    height: 60px;
    line-height: 60px;
    font-size: 5.625vw; /* 27/480 */
  }
}
@media screen and (max-width:414px) {
  .heading-next {
    height: 55px;
    line-height: 55px;
  }
}

/* Yellow Contents */
.yellow-contents {
  padding: calc(30 / 640 * 100vw);
  margin: 0 0 40px;
}
.yellow-contents::after {
  bottom: calc(40 / 640 * 100vw * -1);
  border-width: calc(40 / 640 * 100vw) 50vw 0 50vw;
}
.yellow-contents p { font-size: calc(26 / 640 * 100vw); }
.yellow-contents figure { margin: calc(30 / 640 * 100vw) 0; }

/* 資料請求
------------------------------------------- */
.request-btn { width: 80%; }
@media screen and (max-width:480px) {
  .request-btn { width: 90%; }
}



/* Section01
------------------------------------------- */
.sec-header .contents-area { padding: 0 0 0 calc(30 / 640 * 100vw); }
.sec-header .contents-area h3 { font-size: calc(32 / 640 * 100vw); }

/* Section02
------------------------------------------- */
.sec02 { padding: calc(40 / 640 * 100vw) 0 calc(20 / 640 * 100vw); }
.sec02 h3 { margin: 0 0 calc(30 / 640 * 100vw); }
.sec02 p {
  font-size: calc(39 / 640 * 100vw);
  margin: 0 0 calc(40 / 640 * 100vw);
}

/* Section03
------------------------------------------- */
.sec03 h3 {
  font-size: calc(40 / 640 * 100vw);
  padding: calc(30 / 640 * 100vw) 0;
  margin: 0 0 calc(60 / 640 * 100vw);
}
.sec03 h3::after {
  bottom: -20px;
  border-width: 20px 20px 0 20px;
}

/* 独立支援制度 */
.iss { padding: 0 calc(30 / 640 * 100vw); }
.iss dl { margin: calc(50 / 640 * 100vw) 0 0; }
.iss dl dt {
  font-size: calc(32 / 640 * 100vw);
  padding: calc(15 / 640 * 100vw) 0;
}
.iss dl dd {
  display: grid;
  grid-template-columns: 60% 30%;
  padding: calc(30 / 640 * 100vw) calc(20 / 640 * 100vw);
}
.iss dl:first-of-type dd figure { width: calc( 227 / 1080 * 100vw); }
.iss dl:nth-of-type(2) dd figure { width: calc( 241 / 1080 * 100vw); }
.iss dl:last-of-type dd figure { width: calc( 309 / 1080 * 100vw); }
.iss dl dd p {
  width: auto;
  font-size: calc(32 / 640 * 100vw);
}
.iss dl dd figure { width: auto; }
.iss > p { font-size: calc(17 / 640 * 100vw); }

/* 経営継続率 */
.bcr {
  padding: calc(35 / 640 * 100vw) calc(30 / 640 * 100vw);
  margin: calc(50 / 640 * 100vw) 0 0;
}
.bcr h4 { font-size: calc(37 / 640 * 100vw); }
.bcr h4 span {
  width: calc(441 / 1080 * 100vw);
  margin: calc(30 / 640 * 100vw) auto 0;
}
.bcr p {
  font-size: calc(18 / 640 * 100vw);
  margin: calc(30 / 640 * 100vw) 0 0;
}
.bcr figure {
  right: calc(30 / 640 * 100vw);
  bottom: calc(20 / 640 * 100vw);
  width: calc( (141 * .65) / 640 * 100vw);
  height: calc( (499 * .65) / 640 * 100vw);
}

/* Section04
------------------------------------------- */
.sec04 .yellow-contents { margin: 0 0 calc(40 / 640 * 100vw * -1); }

/* Section05
------------------------------------------- */
.sec05 { padding: calc(40 / 640 * 100vw) 0; }
.sec05 .sec-header { padding: calc(75 / 640 * 100vw) calc(30 / 640 * 100vw) calc(35 / 640 * 100vw); }
.sec05 .sec-header::after {
  bottom: -20px;
  border-width: 20px 20px 0 20px;
}
.sec05 .sec-header h3 {
  font-size: calc(40 / 640 * 100vw);
  margin: 0 0 calc(20 / 640 * 100vw);
}
.sec05 .sec-header h4 {
  font-size: calc(30 / 640 * 100vw);
  padding: calc(20 / 640 * 100vw) 0;
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.step-container {
  padding: 0 calc(30 / 640 * 100vw);
  margin: calc(75 / 640 * 100vw) 0 0;
}
.step-container > p { font-size: calc(24 / 640 * 100vw); }
.step:not(:first-of-type) { margin: calc(30 / 640 * 100vw) 0 0; }
.step dl dt {
  font-size: calc(32 / 640 * 100vw);
  padding: .15em 0;
  border-width: 3px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.step dl dd {
  border-width: 3px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.step dl dd figure img { border-bottom-left-radius: 15px; }
.step dl dd p {
  font-size: calc(26 / 640 * 100vw);
  padding: 0 0 0 .75em;
}

/* Section06
------------------------------------------- */
.sec06 .sec-header { padding: calc(30 / 640 * 100vw) 0 calc(40 / 640 * 100vw); }
.sec06 .sec-header h3 { font-size: calc(40 / 640 * 100vw); }
.sec06 figure img { height: auto; }
.red-arrow {
  padding: calc(25 / 640 * 100vw) 0;
  margin: 0 0 calc(60 / 640 * 100vw);
}
.red-arrow h4 { font-size: calc(32 / 640 * 100vw); }
.sec06 h5 { font-size: calc(40 / 640 * 100vw); }
.support { padding: 0 calc(30 / 640 * 100vw) calc(30 / 640 * 100vw); }
.support dl:first-of-type { margin: calc(30 / 640 * 100vw) 0 0; }
.support dl:first-of-type dt::after {
  top: calc(216 / 1080 * 100vw * -1);
  right: calc(30 / 1080 * 100vw);
  width: calc(273 / 1080 * 100vw);
  height: calc(267 / 1080 * 100vw);
}
.support dl dt { font-size: calc(30 / 640 * 100vw); }
.support dl dd { font-size: calc(24 / 640 * 100vw); }

.management { padding: 0 calc(30 / 640 * 100vw) calc(45 / 640 * 100vw); }
.management dl { margin: calc(40 / 640 * 100vw) 0 0; }
.management dl dt { font-size: calc(30 / 640 * 100vw); }
.management dl dd p { font-size: calc(24 / 640 * 100vw); }

/* Section07
------------------------------------------- */
.sec07 h3 {
  font-size: calc(32px * 0.85);
  height: 65px;
  line-height: 65px;
}
#inquiry {
  font-size: 16px;
  font-size: 1.6rem;
}
#inquiry [type="tel"].zipcode { width: 100%; }
#inquiry table th {
  width: 30%;
}
#inquiry table td {
  width: 70%;
}
::-webkit-input-placeholder {
  font-size: 14px;
  font-size: 1.4rem;
}
::-moz-placeholder {
  font-size: 14px;
  font-size: 1.4rem;
}
:-ms-input-placeholder {
  font-size: 14px;
  font-size: 1.4rem;
}
.zipcode-search { margin: 10px 0 0; }
#inquiry table label {
  margin: 0;
  display: block;
}
.agreement > span {
  margin: 5px 0 30px;
}
#inquiry [type="submit"] {
  font-size: 18px;
  font-size: 1.8rem;
  width: 80%;
  height: 60px;
  border-radius: 30px;
}

/* Date Pick */
.preferred-date label {
  width: 100%;
  display: block !important;
  margin: 0 0 10px !important;
}
.preferred-date [type="text"] {
  width: 48.5% !important;
  margin: 0;
}
.preferred-date .select-unit {
  width: 48.5% !important;
}
@media screen and (max-width:480px) {
  .sec07 h3 {
    height: 60px;
    line-height: 60px;
    font-size: 5.625vw; /* 27/480 */
  }
  #inquiry [type="text"],
  #inquiry [type="email"],
  #inquiry [type="tel"] {
    font-size: 16px;
    font-size: 1.6rem;
    height: 50px;
    padding: 0 1em;
  }
  #inquiry textarea {
    padding: 1em;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #inquiry select {
    font-size: 16px;
    font-size: 1.6rem;
    height: 50px;
    padding: 0 0 0 1em;
  }
  #inquiry .select-unit::after {
    top: 13px;
    right: 16px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #inquiry table th {
    width: 100%;
    display: block;
    padding: 10px 0 2.5px;
  }
  #inquiry table th br { display: none; }
  #inquiry table td {
    width: 100%;
    display: block;
    padding: 2.5px 0 10px;
  }
  .zipcode-search {
    height: 50px;
    line-height: 50px;
  }
  .agreement {
    padding: 20px 0 0;
    margin: 20px 0 0;
  }
  .agreement p {
    font-size: 15px;
    font-size: 1.5rem;
  }
  .agreement > label {
    font-size: 15px;
    font-size: 1.5rem;
    margin: 20px 0 0;
  }
  #inquiry [type="submit"] {
    font-size: 16px;
    font-size: 1.6rem;
    width: 100%;
    height: 55px;
    border-radius: calc(55px / 2);
  }
  .pd-unit th { display: none !important; }
  .preferred-date .select-unit select {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width:414px) {
  .sec07 h3 {
    height: 55px;
    line-height: 55px;
  }
  #inquiry .select-unit::after {
    top: 15px;
    right: 13px;
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media screen and (max-width:375px) {
  .agreement p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .agreement > label {
    font-size: 13px;
    font-size: 1.3rem;
  }
  #inquiry [type="submit"] {
    font-size: 15px;
    font-size: 1.5rem;
    height: 50px;
    border-radius: calc(50px / 2);
  }
}

/* Section08
------------------------------------------- */
.sec08 {
  padding: calc(20 / 640 * 100vw) calc(20 / 640 * 100vw) calc(30 / 640 * 100vw);
  margin: 0 0 calc(120 / 640 * 100vw);
}
.sec08::after {
  bottom: calc(40 / 640 * 100vw * -1);
  border-width: calc(40 / 640 * 100vw) 50vw 0 50vw;
}
.sec08 h3 {
  width: 85vw;
  margin: calc(30 / 640 * 100vw) auto calc(25 / 640 * 100vw);
}
.sec08 p { font-size: calc(32 / 640 * 100vw); }