html {
  scroll-behavior: smooth;
  scroll-padding-top: min(9.16vw, 110px);
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(14px, 0.904vw, 16px);
  color: #000;
}
@media screen and (max-width: 779px) {
  html {
    scroll-padding-top: min(16.666vw, 130px);
  }
}
ul,li {
  list-style: none;
  margin: 0;
  padding: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

.header {
  background-color: #fff;
  height: min(9.16vw, 110px);
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
}
.logo-wrapper {
  padding-left: min(2.167vw, 26px);
}
.logo {
  width: min(25vw, 300px);
}
.logo-wrapper p {
  font-size: clamp(10px, 1vw,12px);
  padding-left: min(5.833vw, 70px);
}
button {
  display: none;
}
.nav-wrapper {
  display: flex;
  margin-left: auto;
}
.nav-wrapper nav ul {
  display: flex;
  align-items: center;
  height: 100%;
}
.nav-wrapper nav ul li {
  margin-right: 3em;
}
.nav-wrapper nav a {
  font-size: min(1.5vw, 18px);
  font-weight: 600;
}
.nav-wrapper nav a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.header-contact {
  background-color: #972725;
  color: #fff;
  font-size: min(1.25vw, 15px);
  font-weight: 600;
  width: min(23.75vw, 285px);
  height: min(9.16vw, 110px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.header-contact img {
  width: min(17.083vw, 205px);
  margin: min(0.452vw, 8px) auto;
}
.header-contact span.officetime {
  font-size: clamp(10px, 1vw,12px);
  font-weight: normal;
}

@media screen and (max-width: 1260px) {
  .menu-btn {
    appearance: none;
    border: none;
    background:none;
    padding: 0;
    margin: 0;
    display: block;
    content: "";
    width: min(4.58vw, 44px);
    height: min(4.58vw, 36px);
    cursor: pointer;
    margin-left: auto;
    margin-right: min(2.167vw, 26px);
    position: relative;
  }
  .menu-btn .menu-line {
    display: block;
    content: "";
    height: 2px;
    background-color: #000;
    position: relative;
  }
  .menu-btn .menu-line::before,
  .menu-btn .menu-line::after {
    display: block;
    content: "";
    height: 2px;
    width: 100%;
    background-color: #000;
    position: absolute;
    transition: all 0.2s;
  }
  .menu-btn .menu-line::before {
    top: -18px;
  }
  .menu-btn .menu-line::after {
    top: 18px;
  }
  .menu-btn.open .menu-line {
    background-color: transparent;
  }
  .menu-btn.open .menu-line::before {
    transform: rotate(45deg);
    top: 0;
  }
  .menu-btn.open .menu-line::after {
    transform: rotate(-45deg);
    top: 0;
  }
  .nav-wrapper {
    display: block;
    margin-left: 0;
    position: absolute;
    top: min(9.16vw, 110px);
    background-color: #972725;
    width: 100%;
    height: calc(100vh - min(9.16vw, 110px));
    z-index: 4;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s;
  }
  .nav-wrapper.open {
    opacity: 1;
    visibility: visible;
  }
  .nav-wrapper nav ul {
    flex-direction: column;
    gap: 2em;
    margin-top: 3em;
    margin-bottom: 4em;
  }
  .nav-wrapper nav ul li {
    margin-right: 0;
  }
  .nav-wrapper nav a {
    font-family: "Shippori Mincho B1", serif;
    font-size: min(5.128vw, 30px);
    font-weight: 400;
    color: #fff;
  }
  .header-contact {
    font-size: min(4.102vw, 24px);
    width: 100%;
    height: auto;
  }
  .header-contact img {
    width: min(56.666vw, 332px);
    margin: min(0.904vw, 16px) auto;
  }
  .header-contact span.officetime {
    font-size: clamp(12px, 3.333vw, 19px);
    font-weight: normal;
  }
}

@media screen and (max-width: 779px) {
  .header {
    height: min(16.666vw, 130px);
  }
  .logo-wrapper {
    padding-left: min(5.128vw, 30px);
  }
  .logo {
    width: min(47.82vw, 373px);
  }
  .logo-wrapper p {
    font-size: clamp(10px, 2.179vw, 17px);
    padding-left: min(10.512vw, 82px);
  }
  .menu-btn {
    width: min(8.589vw, 67px);
    height: min(5.8vw, 44px);
    margin-right: min(5.128vw, 30px);
  }
  .menu-btn .menu-line::before {
    top: calc(min(2.9vw, 22px) * -1);
  }
  .menu-btn .menu-line::after {
    top: min(2.9vw, 22px);
  }
  .nav-wrapper {
    top: min(16.666vw, 130px);
    height: calc(100vh - min(16.666vw, 130px));
  }
  .nav-wrapper nav ul {
    margin-top: min(11.538, 90px);
    margin-bottom: min(11.538, 90px);
  }
  .nav-wrapper nav a {
    font-size: min(5.128vw, 40px);
  }
  .header-contact {
    font-size: min(4.102vw, 32px);
  }
  .header-contact img {
    width: min(56.794vw, 443px);
    margin: min(2.564vw, 20px) auto;
  }
  .header-contact span.officetime {
    font-size: clamp(12px, 3.333vw, 26px);
  }
}

@media (orientation: landscape) and (max-width: 779px){
  .header {
    height: min(18.667vh, 70px);
  }
  .logo {
    width: min(40vw, 267px);
  }
  .logo-wrapper p {
    display: none;
  }
  .menu-btn {
    width: min(6vw, 67px);
    height: min(4vw, 44px);
  }
  .menu-btn .menu-line::before {
    top: calc(min(2vw, 22px) * -1);
  }
  .menu-btn .menu-line::after {
    top: min(2vw, 22px);
  }
  .nav-wrapper {
    top: min(18.667vh, 70px);
    height: calc(100vh - min(18.667vh, 70px));
  }
  .nav-wrapper nav ul {
    gap: 1em;
    margin-bottom: 3em;
    flex-direction: inherit;
    justify-content: center;
    flex-wrap: wrap;
  }
  .nav-wrapper nav li {
    width: auto;
  }
  .nav-wrapper nav a {
    font-size: min(3.4vw, 40px);
  }
  .header-contact {
    font-size: min(3vw, 32px);
  }
  .header-contact img {
    width: min(46vw, 443px);
  }
  .header-contact span.officetime {
    font-size: clamp(12px, 2.8vw, 26px);
  }
}


.mv-wrapper {
  height: calc(100vh - min(9.16vw, 110px));
  background: url(../images/mv_pc.png) no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.mv-cont {
  color: #fff;
  font-size: min(1.5vw, 18px);
  margin-left: min(4.6875vw, 90px);
}
.mv-cont h2 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: min(4.8vw, 85px);
}
.mv-cont h2::after {
  display: block;
  content: "";
  height: 2px;
  width: min(4.1vw, 78px);
  background-color: #fff;
  margin-top: min(1.823vw, 35px);
  margin-bottom: min(2.234375vw, 45px);
}
.mv-cont p {
  line-height: 2.1;
}
.scroll {
  position: absolute;
  bottom: 0;
  transform: rotate(90deg) translate(-40%, 150%);
}
.scroll::after {
  display: inline-block;
  content: "";
  width: 75px;
  height: 1px;
  background-color: #fff;
  margin-left: 0.8em;
  transform: translateY(-0.5ex);
}
.scroll a {
  color: #fff;
  font-size: 14px;
}
.scroll a:hover {
  text-decoration: none;
}

@media (orientation: landscape) and (max-width: 779px){
  .mv-wrapper {
    height: calc(100vh - min(18.667vh, 70px));
  }
  .mv-cont {
    margin-left: 8vw;
  }
}

@media (orientation: portrait) and (max-width: 779px){
  .mv-wrapper {
    height: calc(100vh - min(16.666vw, 130px));
    background: url(../images/mv_sp.png) no-repeat;
    background-size: cover;
    background-position: center;
    justify-content: start;
  }
  .mv-cont {
    font-size: min(3.333vw, 26px);
    margin-left: inherit;
    text-align: center;
  }
  .mv-cont h2 {
    font-size: min(9.743vw, 76px);
    margin-top: min(11.538vw, 90px);
  }
  .mv-cont h2::after {
    width: min(15.128vw, 118px);
    margin-top: min(4.487vw, 35px);
    margin-bottom: min(5.769vw, 45px);
    margin-left: auto;
    margin-right: auto;
  }
  .scroll a {
    font-size: min(2.69vw, 21px);
  }
}

.cont-inner {
  width: min(92.18vw, 1770px);
  margin: 0 auto;
}
.cont-title {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: min(4.167vw, 50px);
  color: #972725;
  text-align: center;
  margin-top: min(7.083vw, 85px);
  margin-bottom: min(5vw, 60px);
}
.cont-title span {
  display: block;
  font-weight: 700;
  font-size: min(1.833vw, 22px);
  color: #000;
  margin-top: min(0.833vw, 10px);
}

.info-wrapper {
  display: flex;
  gap: min(5%, 90px);
}
.info-img {
  width: min(35.6%, 630px);
}
.info-table {
  border-collapse: collapse;
  width: 100%;
}
.info-table tr{
  border-bottom: 1px solid #ccc;
}
.info-table th,
.info-table td {
  padding: min(1.5625vw, 30px) 0;
  font-size: min(1.5vw, 18px);
  line-height: 1.7;
}
.info-table th {
  vertical-align: sub;
  text-align: left;
  width: min(10vw, 200px);
  font-style: normal;
  font-weight: 600;
}
.info-table th::before {
  display: inline-block;
  content: "";
  width: 2px;
  height: min(1.5625vw, 30px);
  background-color: #972725;
  margin-right: min(1vw, 20px);
  vertical-align: inherit;
}
.info-table td.name {
  font-weight: 600;
  font-size: min(2vw, 24px);
  transform: translateY(-0.15em);
}

@media screen and (max-width: 779px) {
  .cont-title {
    font-size: min(6.4vw, 50px);
    margin-top: min(10.89vw, 85px);
    margin-bottom: min(7.69vw, 60px);
  }
  .cont-title span {
    font-size: min(2.82vw, 22px);
    margin-top: min(1.282vw, 10px);
  }
  
  .info-wrapper {
    flex-direction: column;
    width: min(72.18vw, 1200px);
    margin: 0 auto;
  }
  .info-img {
    width: min(50vw, 630px);
    margin: 0 auto 1em;
  }
  .info-table th,
  .info-table td {
    padding: min(3.846vw, 30px) 0;
    font-size: min(4vw, 30px);
  }
  .info-table th {
    width: auto;
    padding-right: 1em;
    white-space: nowrap;
  }
  .info-table th::before {
    height: min(4vw, 30px);
    margin-right: min(2.6vw, 20px);
  }
  .info-table td.name {
    /* font-size: 130%; */
    font-size: min(5vw, 39px);
  }
}

.service-menu {
  display: flex;
  gap: min(4vw, 50px);
  justify-content: center;
  margin-bottom: min(5.833vw, 70px);
}
.service-menu li {
  border-bottom: 1px solid #ccc;
}
.service-menu li a {
  width: min(32.3vw, 388px);
  display: block;
  font-size: clamp(10px, 1vw,12px);
  text-align: center;
  padding-bottom: min(1.25vw, 15px);
  position: relative;
}
.service-menu li a:hover {
  text-decoration: none;
}
.service-menu li a span {
  display: block;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-size: min(2.5vw, 30px);
}
.service-menu li a::after {
  display: block;
  content: "";
  width: min(0.904vw, 16px);
  height: min(0.904vw, 16px);
  border-left: 2px solid #972725;
  border-bottom: 2px solid #972725;
  position: absolute;
  right: 0;
  bottom: 50%;
  transform: rotate(-45deg) translateY(-50%);
}

@media screen and (max-width: 779px) {
  .service-menu {
    margin-bottom: min(9.33vw, 70px);
  }
  .service-menu li a {
    width: min(39vw, 388px);
    padding-bottom: min(1.923vw, 15px);
  }
  .service-menu li a span {
    font-size: min(4.26vw, 32px);
  }
  .service-menu li a::after {
    width: min(2.66vw, 20px);
    height: min(2.66vw, 20px);
  }
}

.tocorporate {
  margin-bottom: min(15vw, 190px);
}
.service-title-area {
  width: min(92.18vw, 1770px);
  margin: 0 auto;
  position: relative;
}
.service-title {
  background-color: #972725;
  color: #fff;
  width: min(31.977vw, 566px);
  padding: min(2.1vw, 40px) 0 min(1.5625vw, 30px) min(3.542vw, 68px);
  position: absolute;
  bottom: 0;
  left: 0;
  font-weight: normal;
  font-size: min(0.847vw, 15px);
}
.service-title span {
  display: block;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: min(2.825vw, 50px);
}
.service-catch {
  width: min(92.18vw, 1770px);
  margin: min(6.25vw, 75px) auto;
  text-align: center;
  font-size: min(1.5vw, 18px);
  line-height: 1.94;
}
.bg-area {
  background-color: #FCF5F5;
  padding: 1px 0 min(3.125vw, 60px);
}
.inner {
  width: min(72.18vw, 1200px);
  margin: 0 auto;
}
.menu-title {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: min(3.333vw, 40px);
  color: #972725;
  line-height: 1.25;
  border-left: 3px solid #972725;
  padding-left: 0.5em;
  margin-top: min(5vw, 60px);
  margin-bottom: min(2.5vw, 30px);
}
.r-txt {
  font-size: min(1.5vw, 18px);
  line-height: 1.94;
}
.s-txt {
  font-size: min(1.25vw, 15px);
  margin-bottom: 1em;
}
.plan-wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: min(5vw, 60px);
  
}
.plan-cont {
  width: min(31.5%, 370px);
  border: 1px solid #972725;
  background-color: #fff;

  /* display: flex;
  flex-direction: column; */
}
.plan-cont .label {
  color: #fff;
  font-size: min(2.333vw, 28px);
  font-weight: 600;
  text-align: center;
  background-color: #972725;
  padding: 7px 0;
}
.plan-inner {
  padding: min(1.56vw, 30px);
  /* display: flex;
  flex-direction: column;

  flex-grow: 1; */
}
/* .plan-inner .plan-lead {
  flex-grow: 1;
}
.plan-inner .plan-txt {
  flex-grow: 1;
} */
.plan-inner .subtitle {
  font-size: min(1.667vw, 20px);
  font-weight: 600;
  text-align: center;
  margin-top: min(1.667vw, 20px);
}
.plan-inner p {
  line-height: 2;
}
.plan-inner .price {
  font-size: min(2.25vw, 27px);
  font-weight: 600;
  text-align: center;
  border-bottom: 1px solid #ccc;
  padding-top: 5px;
  padding-bottom: min(0.833vw, 10px);
}
.plan-inner .price span {
  font-size: min(70%, 18px);
}
.price-wrapper {
  margin-top: min(5.833vw, 70px);
  display: flex;
}
.price-title {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: min(1.56vw, 30px);
  width: min(18%, 216px);
  flex-shrink: 0;
}
.price-title::before {
  display: inline-block;
  content: "";
  background-color: #972725;
  height: 1.16em;
  width: 2px;
  margin-right: 0.5em;
  vertical-align: sub;
}
.price-cont {
  width: 100%;
}
.price-cont li {
  display: flex;
  margin-bottom: min(1.25vw, 15px);
  border: 1px solid #972725;
  font-size: min(1.667vw, 20px);
  background-color: #fff;
}
.price-cont .title {
  width: min(45.92%, 450px);
  flex-shrink: 0;
  background-color: #972725;
  color: #fff;
  text-align: center;
  font-weight: 600;
  padding: 0.5em;
}
.price-cont .price {
  width: 100%;
  padding: 0.5em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.translateY-05 {
  font-size: min(1.667vw, 20px);
}
.price-doc {
  display: flex;
  gap: min(6.5%, 78px);
}
.price-doc .translateY-05 {
  margin-top: min(5vw, 60px);
  font-size: min(1.833vw, 22px);
  transform: translateY(0.5em);
}
.price-doc.mt00 .menu-title,
.price-doc.mt00 .translateY-05 {
  margin-top: 0;
  margin-bottom: min(5vw, 60px);
}

.map-area {
  width: 100%;
  height: min(29.17vw, 560px);
  margin-bottom: min(2.5vw, 30px);
}
.map-area iframe {
  width: 100%;
  height: 100%;
}
.fax {
  pointer-events: none;
}

@media screen and (max-width: 779px) {
  .service-title {
    width: min(45vw, 566px);
    font-size: min(2.8vw, 22px);
  }
  .service-title span {
    font-size: min(5vw, 39px);
  }
  .service-catch {
    font-size: min(4vw, 30px);
    text-align: left;
  }
  .bg-area {
    padding: 1px 0 min(7.69vw, 60px);
  }
  .menu-title {
    font-size: min(5.33vw, 40px);
    margin-top: min(7.69vw, 60px);
    margin-bottom: min(4vw, 30px);
  }
  .r-txt {
    font-size: min(4vw, 30px);
  }
  .s-txt {
    font-size: min(2.933vw, 22px);
  }
  .plan-wrapper {
    display: block;
    margin-top: min(5vw, 60px);
    
  }
  .plan-cont {
    width: 100%;
    margin-bottom: 1em;
  }
  .plan-cont .label {
    font-size: min(4.26vw, 32px);
  }
  .plan-inner {
    padding: min(4vw, 30px);
  }
  .plan-inner .subtitle {
    font-size: min(3.733vw, 28px);
    margin-top: 1em;
  }
  .plan-inner .price {
    font-size: min(5.33vw, 40px);
    padding-bottom: 10px;
  }
  .price-wrapper {
    display: block;
  }
  .price-title {
    font-size: min(4.8vw, 36px);
    width: auto;
    flex-shrink: inherit;
    margin-bottom: 0.5em;
  }
  .price-cont li {
    display: block;
    margin-bottom: min(1.92vw, 15px);
    font-size: min(4vw, 30px);
  }
  .price-cont .title {
    width: 100%;
  }
  .translateY-05 {
    font-size: min(4vw, 30px);
  }
  .price-doc {
    display: block;
    gap: inherit;
  }
  .price-doc .translateY-05 {
    margin-top: 0;
    font-size: min(4.26vw, 32px);
    transform: none;
  }
  .price-doc.mt00 .menu-title,
  .price-doc.mt00 .translateY-05 {
    margin-top: 0;
    margin-bottom: min(4vw, 30px);
  }
  .map-area {
    height: 50vw;
    margin-bottom: min(4vw, 30px);
  }
}




.footer {
  background-color: #972725;
  color: #fff;
  text-align: center;
  font-size: min(1.333vw, 16px);
  padding-top: min(4.333vw, 52px);
  margin-top: min(7.5vw, 90px);
  position: relative;
}
.footer h2 {
  width: min(31.666vw, 380px);
  margin: 0 auto min(2.833vw, 34px);
}
.footer-contact {
  margin: min(2.916vw, 35px) auto min(5vw, 60px);
  width: min(20.416vw, 245px);
}
.footer-contact img {
  margin-top: min(1.167vw, 14px);
  margin-bottom: 10px;
}
.copyright {
  background-color: #fff;
  color: #666;
  font-size: 12px;
  padding: 1em;
}
.pagetop {
  position: fixed;
  bottom: calc(min(3.125vw, 60px) + 1em);
  right: min(1.25vw, 24px);
}
.pagetop a {
  display: block;
  content: "";
  height: 60px;
  width: 60px;
  background-color: #999;
  border-radius: 100%;
  position: relative;
}
.pagetop a::before {
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  right: 55%;
  top: 40%;
  transform: rotate(135deg) translateX(-50%) translateY(-50%);
}
.pagetop a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 779px) {
  .footer {
    font-size: min(3.076vw, 24px);
    padding-top: min(6.66vw, 52px);
    margin-top: min(11.53vw, 90px);
  }
  .footer h2 {
    width: min(50.66vw, 380px);
    margin: 0 auto min(4.35vw, 34px);
  }
  .footer-contact {
    margin: min(4.487vw, 35px) auto min(7.69vw, 60px);
    width: min(40vw, 300px);
  }
  .footer-contact img {
    margin-top: min(1.794vw, 14px);
    margin-bottom: 8px;
  }
  .pagetop {
    position: fixed;
    right: min(3.2vw, 24px);
 