@charset "utf-8";

:root {
  --common-width: 960px;
  --header-height: 60px;
  --bg-color-1: rgb(232, 234, 236);
  --bg-color-2: #c7dbed;
  --bg-color-3: #f8f8e7;
  --bg-color-footer: #757575;
  --bg-color-copyright: #707070;
  --bg-darck-alpha: rgba(0, 0, 0, .3);
  --font-size: 14px;
  --font-size-h1: 2.5em;
  --font-size-h2: 1.8em;
  --font-size-h3: 1.3em;
  --font-size-h4: 1.1em;
  --sec-padding: 5em 0;
  --sec-padding-top: 5em;
  --sec-padding-left-right: 0;
  --sec-item-padding-1: 1em;
  --sec1-bg-image: url(/dokushuzemi/wp-content/uploads/2021/10/名称未設定-1.png);
  --sec9-bg-image: url(/dokushuzemi/wp-content/uploads/2020/08/bg-image-sec-last.jpg);
}

@media (orientation: portrait) {
  :root {
    --font-size: 3.33333vw;
    --header-height: 3em;
    --sec-padding: 5em 2em;
    --sec-padding-left-right: 2em;
  }
}

body {
  color: #212121;
  font-family: "noto sans jp","游ゴシック","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic", sans-serif;
  font-size: var(--font-size);
  line-height: 1.6;
}

body * {
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

img {
  max-width: 100%;
}

header {
  background-color: #fff;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.inner-header {
  align-items: center;
  display: flex;
  height: var(--header-height);
  justify-content: center;
  margin: auto;
  padding-bottom: .5em;
  padding-top: .5em;
  max-width: var(--common-width);
}

header .nav-logo {
  text-align: left;
}

@media (orientation: portrait) {
  header .nav-logo {
    padding-left: .5em;
    text-align: left;
  }
}

header .logo {
  max-width: 190px;
}

header .nav-copy {
  font-weight: bold;
  text-align: center;
  width: 100%;
}

header .nav-offer {
  text-align: right;
}

@media (orientation: portrait) {
  header .nav-offer {
    padding-right: .5em;
    text-align: left;
  }
}

header::after {
  bottom: -2px;
  content: "";
  background-color: rgba(0, 0, 0, .1);
  display: block;
  height: 2px;
  position: absolute;
  width: 100%;
}

header + section {
  padding-top: var(--header-height);
}

section {
  overflow-x: hidden;
}

footer {
  background-color: var(--bg-color-footer);
  color: #fff;
  padding-top: var(--sec-padding-top);
}

footer .sec-inner {
  padding: var(--sec-padding);
}

footer li {
  text-align: left;
}

footer li > a {
  line-height: 1.2;
  padding-bottom: .8em;
  padding-top: .8em;
}

footer .sec-copy {
  color: #fff;
}

@media (orientation: portrait) {
  footer li > a {
    display: block;
    border: 1px solid #fff;
    border-top-width: 0;
    padding-left: 1em;
    width: 100%;
  }

  footer li:first-child > a {
    border-radius: 5px 5px 0 0;
    border-top-width: 1px;
  }

  footer li:last-child > a {
    border-radius: 0 0 5px 5px;
  }

  footer .flex._big-cat > *:first-child {
    text-align: center;
  }

  footer .flex._big-cat > *:first-child {
    width: 100%;
  }

  footer .flex._small-cat .sec-tit {
    font-size: var(--font-size-h1);
    text-align: center !important;
  }
  
  .small-but-essential {
    font-size: var(--font-size-h2);
    font-weight: bold;
    line-height: 1.2;
    margin: .5em 0 2em 0;
  }
}

@media (orientation: landscape) {
  footer .flex._big-cat > *:first-child * {
    text-align: left;
  }

  footer .flex._big-cat > *:first-child {
    width: 40%;
  }

  footer .flex._big-cat > *:last-child {
    width: 60%;
  }

  .small-but-essential {
    font-size: var(--font-size-h1);
    font-weight: bold;
    line-height: 1.2;
    margin-top: 1em;
  }
}

table {
  width: 100%;
}

th, td {
  padding: .6em 1em;
}

table.price-table th,
table.price-table td {
  border: 1px solid #e1e0df;
  padding: .6em 1em;
  text-align: center;
}

table.price-table thead th {
  background-color: #857f72;
  color: #fff;
}

table.price-table tbody td {
  background-color: #f2f1f0;
}

table.briefing td {
  border-top: 1px solid #e1e0df;  
}

table.briefing td,
table.briefing th {
  font-weight: bold;
  min-width: 4em;
  text-align: center;
  vertical-align: middle;
}

table.briefing td:first-child,
table.briefing th:first-child {
  text-align: left;
}

input {
  vertical-align: middle;
}

input::placeholder {
  color: rgba(0, 0, 0, .3);
}

input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="text"],
textarea {
  border-bottom: 1px solid #9e9e9e;
  width: 100%;
  padding: .5em;
}

label[for] {
  display: block;
  font-size: .75em;
}





#sec1 {
  background-color: var(--bg-color-1);
  background-image: var(--sec1-bg-image);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  box-sizing: border-box;
  position: relative;
}

#sec1::before {
  background-color: var(--bg-darck-alpha);
  content: "";
  display: block;
  position: absolute;
  height: 70vh;
  width: 100%;
}

.sec-inner1 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 70vh;
}

#sec2 {
  background-color: var(--bg-color-1);
  padding: var(--sec-padding);
}

#sec3 {
  padding: var(--sec-padding);
}

#sec4 {
  background-color: #a7bac1;
  color: #fff;
  line-height: 1.6;
  padding: var(--sec-padding);
}

#sec5 {
  padding: var(--sec-padding);
}

#sec6 {
  background-color: var(--bg-color-1);
  padding: var(--sec-padding);
}

#sec9 {
  background-image: var(--sec9-bg-image);
  background-color: var(--bg-darck-alpha);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  box-sizing: border-box;
  color: #fff;
  padding: var(--sec-padding);
}

#secform {
  padding: var(--sec-padding);
}

.common-width {
  margin: auto;
  max-width: var(--common-width);
}

.btn {
  border-radius: 1.2em;
  display: inline-block;
  font-size: .9em;
  font-weight: bold;
  line-height: 1.2;
  padding: .8em 1em;
}

.btn._bg-color-1 {
  background-color: #dfdf91;
  color: #212121;
  white-space: nowrap;
}

.btn._bg-color-2 {
  background-color: #26a69a;
  color: #fff;
  white-space: nowrap;
}

.btn._bg-color-3 {
  background-color: #D50000;
  color: #fff;
  white-space: nowrap;
}





.bold {
  font-weight: bold !important;
}

.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.red {
  color: #D50000;
}

.inline-block {
  display: inline-block;
}

.line-through {
  position: relative;
}

.line-through::before {
  background-color: #212121;
  content: "";
  left: -0.5em;
  height: 2px;
  position: absolute;
  top: calc(50% - .1em);
  width: calc(100% + 1em);
}

.line-through::after {
  background-color: #212121;
  bottom: calc(50% - .1em);
  content: "";
  height: 2px;
  left: -0.5em;
  position: absolute;
  width: calc(100% + 1em);
}

.font-size-large-1 {
  font-size: var(--font-size-h4);
}

.font-size-large-2 {
  font-size: var(--font-size-h3);
}

.font-size-large-3 {
  font-size: var(--font-size-h2);
}

.font-size-large-4 {
  font-size: var(--font-size-h1);
}

.required {
  color: #d50000;
}

.required::before {
  content: "*";
  display: inline-block;
  font-size: 1.4em;
  padding-right: .25em;
  vertical-align: middle;
}

ul.disc > li {
  list-style-type: disc;
  margin-left: 1em;
}




.contents-padding-left-right {
  padding-left: var(--sec-padding-left-right);
  padding-right: var(--sec-padding-left-right);
}

.catch-copy-wrap {
  display: inline-block;
  position: absolute;
  text-align: center;
}

.catch-copy {
  color: #fff;
  font-size: var(--font-size-h1);
  font-weight: bold;
  /* letter-spacing: .1em; */
  line-height: 1.4;
  width: 100%;
}

.catch-copy._small {
  font-size: 1.8em;
  font-weight: bold;
  letter-spacing: .1em;
  margin-top: .5em;
}

.copyright {
  background-color: var(--bg-color-copyright);
  padding: .5em 0;
  text-align: center;
}

.shape1 {
  bottom: 0;
  border-right: 100vw solid rgb(232, 234, 236);
  border-top: calc(60px + 4vw) solid transparent;
  display: block;
  position: absolute;
  left: 0;
}

.sec-tit {
  font-size: var(--font-size-h2);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.sec-tit._h1 {
  font-size: var(--font-size-h1);
}

.sec-tit._h2 {
  font-size: var(--font-size-h2);
}

.sec-tit._h3 {
  font-size: var(--font-size-h3);
}

.sec-tit._h4 {
  font-size: var(--font-size-h4);
}

.sec-tit + .sec-copy {
  line-height: 1.4;
  margin-top: 1em;
}

.sec-tit._h4 + .sec-copy {
  font-size: .9em;
  margin-top: .5em;
}

.sec-tit._h1._form {
  padding-bottom: 1em;
  padding-top: 1em;
}

.sec-copy {
  color: #063c64;
  text-align: center;
}

.sec-copy + .sec-txt {
  color: #424242;
  margin-top: .5em;
}

.sec-inner {
  margin: auto;
  max-width: var(--common-width);
}

.sec-image {
  margin-bottom: 1em;
  margin-top: 1em;
  text-align: center;
}

.sec-image:first-child {
  margin-top: 0;
}

.sec-image:last-child {
  margin-bottom: 0;
}

.sec-image + .sec-tit {
  margin-top: 1em;
}

.sec-txt {
  margin: 1em 0;
}

.sec-txt:first-child {
  margin-top: 0;
}

.sec-txt:last-child {
  margin-bottom: 0;
}

.sec-item-margin {
  margin: 2em 0;
}

.sec-item-margin:first-child {
  margin-top: 0;
}

.sec-item-margin-top {
  margin-top: 2em;
}

.sec-padding {
  padding: var(--sec-padding);
}

.flex {
  display: flex;
  justify-content: start;
  flex-wrap: nowrap;
}

.flex._justify {
  justify-content: space-between;
}

.flex._start {
  justify-content: start;
}

.flex._column-reverse {
  flex-direction: column-reverse;
}

@media (orientation: portrait) {
  .flex._column-reverse-sm {
    flex-direction: column-reverse;
  }
}

.flex._vcenter {
  align-items: center;
}

.flex._wrap {
  flex-wrap: wrap;
}

@media (orientation: portrait) {
  .flex._wrap-sm {
    flex-wrap: wrap;
  }
}

.flex._nowrap {
  flex-wrap: nowrap;
}

@media (orientation: landscape) {
  .flex._nowrap-pc {
    flex-wrap: nowrap;
  }
}

.flex > * {
  width: 100%;
}

.flex._nowrap._append-margin > * {
  margin-left: 1em;
  margin-right: 1em;
}

.flex._nowrap._append-margin > *:first-child {
  margin-left: 0;
}

.flex._nowrap._append-margin > *:last-child {
  margin-right: 0;
}

@media (orientation: portrait) {
  .flex._wrap-sm._append-margin > * {
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .flex._wrap-sm._append-margin > *:first-child {
    margin-top: 0;
  }
  
  .flex._wrap-sm._append-margin > *:last-child {
    margin-bottom: 0;
  }
}

@media (orientation: landscape) {
  .flex._wrap-sm._append-margin > * {
    margin-left: 1em;
    margin-right: 1em;
  }

  .flex._nowrap-pc._append-margin > *:first-child {
    margin-left: 0;
  }
  
  .flex._nowrap-pc._append-margin > *:last-child {
    margin-right: 0;
  }
}

.flex._price-special {
  background-color: var(--bg-color-3);
  border-radius: 5px;
  text-align: center;
}

.flex._price-special > * {
  padding: 2em 0;
}

.flex._price-special > *:nth-child(2) {
  color: #b0dac7;
  width: 30%;
}

.price-special {
  font-size: var(--font-size-h2);
  font-weight: bold;
}

ul.supplement > li::before {
  content: "※";
  display: inline-block;
}

.briefing-list-wrap li {
  align-items: center;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  font-weight: bold;
  margin-top: .5em;
}

.briefing-list-wrap li > div:last-child {
  max-width: 3em;
  min-width: 3em;
}

.card-panel {
  border-radius: 2px;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);
  margin: .5rem 0 1rem 0;
  padding: 24px;
  transition: box-shadow .25s;
}





@media (orientation: portrait) {
  .hidden-sm {
    display: none;
  }

  .pad-lr-1-sm {
    padding-left: var(--sec-item-padding-1);
    padding-right: var(--sec-item-padding-1);
  }
}

@media (orientation: landscape) {
  .hidden-pc {
    display: none;
  }
}
