.pc_LL_display {
  display: none;
}
@media screen and (max-width: 1600px) {
  .pc_LL_display {
    display: block;
  }
}

.pc_L_display {
  display: none;
}
@media screen and (max-width: 1400px) {
  .pc_L_display {
    display: block;
  }
}

.pc_M_display {
  display: none;
}
@media screen and (max-width: 1200px) {
  .pc_M_display {
    display: block;
  }
}

.pc_S_display {
  display: none;
}
@media screen and (max-width: 1000px) {
  .pc_S_display {
    display: block;
  }
}

.tab_display {
  display: none;
}
@media screen and (max-width: 800px) {
  .tab_display {
    display: block;
  }
}

.sp_LL_display {
  display: none;
}
@media screen and (max-width: 600px) {
  .sp_LL_display {
    display: block;
  }
}

.sp_L_display {
  display: none;
}
@media screen and (max-width: 430px) {
  .sp_L_display {
    display: block;
  }
}

.sp_ML_display {
  display: none;
}
@media screen and (max-width: 400px) {
  .sp_ML_display {
    display: block;
  }
}

.sp_M_display {
  display: none;
}
@media screen and (max-width: 375px) {
  .sp_M_display {
    display: block;
  }
}

.sp_S_display {
  display: none;
}
@media screen and (max-width: 350px) {
  .sp_S_display {
    display: block;
  }
}

body {
  width: 100%;
  background-color: #FFF;
  font-family: "Zen Old Mincho", serif;
  color: #151515;
  position: relative;
}

main {
  padding-top: 140px;
}
@media screen and (max-width: 600px) {
  main {
    padding-top: 90px;
  }
}

img {
  display: block;
  width: 100%;
}

a {
  text-decoration: none;
}

.contact_wrap {
  padding: 40px 0 200px;
}
@media screen and (max-width: 600px) {
  .contact_wrap {
    padding: 20px 0 80px;
  }
}

.contact.contact-thanks .contact_wrap {
  padding: 60px 0 200px;
}
@media screen and (max-width: 600px) {
  .contact.contact-thanks .contact_wrap {
    padding: 40px 0 80px;
  }
}
.contact.contact-thanks .btn {
  margin-top: 40px;
}
@media screen and (max-width: 600px) {
  .contact.contact-thanks .btn {
    margin: 40px auto 0;
  }
}

@media screen and (max-width: 375px) {
  .contact_thanks_heading {
    line-height: 1.6;
  }
}

.contact_toggle {
  width: 720px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 auto 64px;
}
@media screen and (max-width: 800px) {
  .contact_toggle {
    width: 100%;
    max-width: 460px;
    margin: 0 auto 40px;
  }
}
@media screen and (max-width: 600px) {
  .contact_toggle {
    margin: 0 auto 24px;
  }
}

.contact_toggle_btn {
  width: 100%;
  height: 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #C3C3C3;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  font-size: 24px;
}
@media screen and (max-width: 800px) {
  .contact_toggle_btn {
    font-size: 16px;
    height: 50px;
  }
}
@media screen and (max-width: 600px) {
  .contact_toggle_btn {
    font-size: 14px;
  }
}
@media screen and (max-width: 350px) {
  .contact_toggle_btn {
    font-size: 13px;
  }
}
.contact_toggle_btn.active {
  background-color: #151515;
  cursor: default;
}

.contact_content {
  display: grid;
  grid-template-columns: 200px 1fr;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1000px) {
  .contact_content {
    grid-template-columns: 140px 1fr;
  }
}
@media screen and (max-width: 800px) {
  .contact_content {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

.contact_group {
  display: none;
}

.contact_group.active {
  display: block;
}

.contact_list {
  margin-bottom: 64px;
}
@media screen and (max-width: 600px) {
  .contact_list {
    margin-bottom: 40px;
  }
}

.contact_item {
  display: grid;
  grid-template-columns: 300px 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 16px;
}
@media screen and (max-width: 1200px) {
  .contact_item {
    grid-template-columns: 1fr;
  }
}
.contact_item:not(:last-child) {
  padding-bottom: 32px;
  border-bottom: 1px dashed #C3C3C3;
  margin-bottom: 32px;
}

.contact_item.contact_item-start {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.contact_item.contact_item-start .contact_ttl {
  padding-top: 4px;
}
@media screen and (max-width: 1200px) {
  .contact_item.contact_item-start .contact_ttl {
    padding-top: 0;
  }
}

.contact_ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.contact_ttl h3 {
  font-size: 16px;
  font-weight: 700;
}
.contact_ttl span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  font-size: 14px;
  background-color: #B4975E;
  padding: 2px 8px;
}

.contact_input input,
.contact_input textarea {
  border: 1px solid #EBEBEB;
  background-color: #fff;
  padding: 22px 32px;
  border-radius: 4px;
  width: 100%;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .contact_input input,
  .contact_input textarea {
    padding: 16px 16px;
  }
}
.contact_input input::-webkit-input-placeholder, .contact_input textarea::-webkit-input-placeholder {
  color: #C3C3C3;
}
.contact_input input::-moz-placeholder, .contact_input textarea::-moz-placeholder {
  color: #C3C3C3;
}
.contact_input input:-ms-input-placeholder, .contact_input textarea:-ms-input-placeholder {
  color: #C3C3C3;
}
.contact_input input::-ms-input-placeholder, .contact_input textarea::-ms-input-placeholder {
  color: #C3C3C3;
}
.contact_input input::placeholder,
.contact_input textarea::placeholder {
  color: #C3C3C3;
}

.contact_input.contact_radio input,
.contact_input.contact_check input {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.contact_input.contact_radio label,
.contact_input.contact_check label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}

.contact_radio_inner,
.contact_check_inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
@media screen and (max-width: 600px) {
  .contact_radio_inner,
  .contact_check_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.contact_radio_inner span,
.contact_check_inner span {
  display: block;
  padding-bottom: 2px;
}

.contact_check_inner {
  margin-bottom: 16px;
}

.contact_note {
  line-height: 1.8;
  color: #ff0000;
}

.contact_bango input {
  width: 164px;
}

.contact_policy .contact_check_inner {
  padding-top: 4px;
}

.contact_policy_txt {
  margin-top: 24px;
}
.contact_policy_txt p {
  line-height: 2;
  font-size: 14px;
}
@media screen and (max-width: 600px) {
  .contact_policy_txt p {
    line-height: 1.6;
  }
}
.contact_policy_txt span {
  display: block;
  font-size: 14px;
  margin-bottom: 16px;
}
.contact_policy_txt a {
  color: #006fcd;
}
.contact_policy_txt a:hover {
  text-decoration: underline;
}

.contact_address p {
  margin-bottom: 16px;
}

.contact_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: 240px;
  height: 64px;
  background-color: #151515;
  margin: 0 auto;
  color: #fff;
  font-size: 20px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .contact_btn {
    width: 100%;
    max-width: 320px;
    height: 60px;
    font-size: 16px;
  }
}

.contact_btn:hover {
  opacity: 0.6;
}

.contact_btn.backbtn {
  background-color: #c0c0c0;
  color: #333;
}

.confirm_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

p.error {
  display: block;
  font-size: 14px;
  margin-top: 8px;
  padding: 8px 16px;
  width: 100%;
  background-color: #ff0000;
  color: #fff;
  font-weight: 900;
}

.contact_thanks h3 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 32px;
}
@media screen and (max-width: 600px) {
  .contact_thanks h3 {
    font-size: 20px;
  }
}

.header {
  padding: 20px 24px;
  height: 70px;
  background-color: #fff;
  width: 100%;
  border-bottom: 1px solid #ccc;
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 800px) {
  .header {
    padding: 16px 12px;
  }
}
@media screen and (max-width: 600px) {
  .header {
    height: 54px;
  }
}

.header_logo {
  width: 270px;
  display: block;
}
@media screen and (max-width: 600px) {
  .header_logo {
    width: 150px;
  }
}

.footer {
  padding: 20px 20px 20px;
  background-color: #333;
}
.footer small {
  font-size: 12px;
  color: #fff;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.tenken_heading {
  width: 100%;
  border-bottom: 3px solid #333;
  padding-bottom: 10px;
}
.tenken_heading h1 {
  font-size: 30px;
  font-weight: 700;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  .tenken_heading h1 {
    font-size: 20px;
  }
}

.tenken_wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 0 90px;
  width: 90%;
}
@media screen and (max-width: 600px) {
  .tenken_wrap {
    padding: 40px 0 80px;
  }
}

.tenken_desc {
  margin-bottom: 60px;
}
@media screen and (max-width: 600px) {
  .tenken_desc .nosp {
    display: none;
  }
}

.tenken_desc p {
  line-height: 1.8;
  text-align: justify;
}
@media screen and (max-width: 600px) {
  .tenken_desc p {
    line-height: 1.6;
  }
}
.tenken_desc p .bold_txt {
  font-weight: 900;
}
.tenken_desc p .red_txt {
  color: #ff0000;
  font-weight: 900;
}