@charset "utf-8";

/*reset---------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, var, 
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, 
tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary, time, mark, audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: none;
  word-break: break-all;
}

table {
  border-spacing: 0px !important;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

a {
  text-decoration: none;
  color: #333333;
}

ul {
  list-style: none;
}

input[type="text"]:focus {
  outline: 0;
}

input[type="checkbox"] {
  outline: none;
  cursor: pointer;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

::-ms-expand {
  /* select要素のデザインを無効にする（IE用） */
  display: none;
}

sub {
  vertical-align: baseline;
}

input[type="text"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}

input[type="radio"] {
  display: none;
}

input[type="checkbox"] {
  display: none;
}

input {
  outline: none;
  background: transparent;
}

input:-internal-autofill-selected {
  background: transparent;
}

input[type="checkbox"]:checked+label {
  background: #ff0000;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: #333;
  -webkit-box-shadow: 0 0 0px 40rem #ffff inset;
}

input::placeholder {
  font-weight: 400;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@media screen and (min-width: 601px) {
  .spOnly {
    display: none !important;
  }
}

@media screen and (max-width: 600px) {
  .pcOnly {
    display: none !important;
  }
}

html {
  font-size: 62.5%;
}

body {
  color: #333;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

@media screen and (min-width: 601px) {
  body {
    min-width: 1140px;
  }
}

body.is-fixed {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: fixed;
}

h1, h2, h3, h4, h5, h6, p, a, span, li, dt, dd, strong, label,
caption {
  letter-spacing: 0.1rem;
  font-feature-settings: "palt";
}

button,
select {
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: "palt";
}

.main {
  position: relative;
}

@media screen and (max-width: 600px) {
  .main {
    margin-top: 41px;
  }

  main.main {
    padding-bottom: 80px;
    /*パンくず用*/
  }

  .main.main_spSearch {
    margin-top: 166px;
    /*margin-top: 146px;*/
  }
}

.main .container {
  padding: 60px;
}

@media screen and (max-width: 600px) {
  .main .container {
    padding: 20px;
  }
}

p {
  font-size: 1.3rem;
  line-height: 1.9;
  color: #333;
}

img {
  width: 100%;
}

figure {
  line-height: 1;
  position: relative;
}

/* 土地活用 */
main * {
  box-sizing: border-box;
}

html {
  overflow: overlay;
}

img {
  vertical-align: bottom;
}

body.addressModalBody {
  overflow: overlay !important;
}

body.fixed {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
}

main.main {
  margin: 0 auto;
}

main.main.error {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .main .complete-wrapper {
    padding: 45px 0 10px;
  }
}

@media screen and (min-width: 768px) {
  body {
    overflow-x: hidden;
  }

  main.main {
    margin: 0 auto;
    width: auto;
    padding: 0 0 50px;
    box-sizing: border-box;
  }

  main.main.error {
    padding: 0 0 20px;
  }

  main.error .not-found-wrapper {
    width: 1080px;
    margin: 0 auto;
  }
}

/* コピーライト */
.copyright {
  padding: 15px 0 50px;
}

@media screen and (max-width: 767px) {
  .copyright {
    padding: 15px 0 80px;
  }
}

.copyright p {
  color: #707070;
  font-size: 1rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .main.form div.section {
    width: 900px;
    margin: 0 auto;
  }
}

.main.form .section:not(:first-of-type) {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .main.form .section:not(:first-of-type) {
    margin-top: 30px;
  }
}

.main.form .section:last-of-type {
  margin-top: 20px;
}

/* サイトポリシー */
.policy-txt {
  margin-bottom: -10px;
  font-size: 1.2rem;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .policy-txt {
    text-align: center;
    margin-bottom: -20px;
    padding-top: 3px;
  }
}

@media screen and (max-width: 767px) {
  .policy-txt {
    text-align: center;
    letter-spacing: -0.05em;
  }
}

.policy-txt a {
  color: #3C83CC;
  text-decoration: underline;
}

.policy-txt-wrapper {
  margin: 42px -100px 52px;
  border: solid 1px #e5e5e5;
  box-sizing: border-box;
  background-color: #FFF;
}

@media screen and (min-width: 768px) {
  .policy-txt-wrapper {
    width: 900px;
    margin: 20px auto 30px;
  }
}

@media screen and (max-width: 767px) {
  .policy-txt-wrapper {
    margin: 34px 0 30px;
  }
}

.policy-txt-wrapper .Ttl-txt {
  font-size: 2rem;
  font-weight: 500;
  color: #333;
  padding: 6px 15px 6px 10px;
  position: relative;
  text-align: center;
  cursor: pointer;
}

.policy-txt-wrapper .policy-inner {
  display: none;
}

@media screen and (max-width: 767px) {
  .policy-txt-wrapper .Ttl-txt {
    font-size: 1.4rem;
    padding: 6px 15px 6px 10px;
  }
}

.policy-txt-wrapper .Ttl-txt::before,
.policy-txt-wrapper .Ttl-txt::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: calc(50% - 1px);
  right: 8px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #727272;
  transform: translateX(-50%);
  z-index: 20;
  pointer-events: none;
  transition: .2s all;
}

.policy-txt-wrapper .Ttl-txt::after {
  top: calc(50% - 6px);
  right: 18px;
  transform: rotate(90deg);
}

.policy-txt-wrapper.active .Ttl-txt::after {
  top: calc(50% + 1px);
  right: 13px;
  width: 10px;
  transform: rotate(0);
  transition: 0.5s;
  opacity: 0;
}

@media screen and (min-width: 768px) {

  .policy-txt-wrapper .Ttl-txt::before,
  .policy-txt-wrapper .Ttl-txt::after {
    border-top: 2px solid #727272;
    right: 15px;
    width: 15px;
  }

  .policy-txt-wrapper .Ttl-txt::after {
    right: 27px;
  }

  .policy-txt-wrapper.active .Ttl-txt::after {
    right: 23px;
    width: 15px;
  }
}

.policy-txt-wrapper iframe {
  border: solid 1px #e5e5e5;
  width: 780px;
  height: 150px;
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .policy-txt-wrapper iframe {
    width: calc(100% - 20px);
    height: 150px;
  }
}

.policy-txt-wrapper .policy-none-btn {
  margin: 10px 0 10px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .policy-txt-wrapper .policy-none-btn {
    margin: 8px 0;
  }
}

.policy-txt-wrapper .policy-none-btn a {
  font-size: 1.2rem;
  padding-right: 10px;
  position: relative;
  cursor: pointer;
}

.policy-txt-wrapper .policy-none-btn a:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 4px;
  height: 4px;
  border-top: 1px solid #CDCDCD;
  border-right: 1px solid #CDCDCD;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
