@charset "UTF-8";
/*base -------------------------------------*/
:root {
  --color-darknavy: #08243D;
  --color-blue: #1D4366;
  --color-gold: #CEB991;
  --color-brown: #8A692A;
  --color-white: #fff;
  --color-gray: #707070; }

.area1 {
  margin: 0px 5%;
  margin-top: 80px;
  margin-bottom: 100px;
  padding: 100px 0 150px 0;
  border: 1px solid var(--color-gold);
  outline: 3px solid var(--color-gold);
  outline-offset: 5px;
  background-color: var(--color-darknavy); }

.area1-maintitle {
  text-align: center; }

.area1-maintitle img {
  width: 6%; }

.c-caption {
  margin: 30px 0px 50px;
  text-align: center;
  color: var(--color-white);
  font-family: "Zen Old Mincho"; }

.c-caption p {
  margin: 20px 0px;
  text-align: center;
  line-height: 2; }

.c-caption p a {
  color: var(--color-gold); }

.c-caption span {
  text-align: center;
  font-size: 12px;
  line-height: 1.75; }

@media screen and (max-width: 900px) {
  .area1 {
    margin: 0px 20px;
    margin-top: 40px;
    margin-bottom: 80px;
    padding: 50px 0 100px 0; }

  .area1-maintitle img {
    width: 50px; }

  .c-caption {
    margin: 0px 20px;
    margin-bottom: 40px; }

  .c-caption p {
    font-size: 16px;
    line-height: 1.5; }

  .c-caption span {
    font-size: 10px;
    line-height: 1; } }
/*アコーディオン*/
.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 60px auto 120px auto;
  color: var(--color-white); }

.accordion-area li:first-of-type {
  border-top: 1px solid var(--color-gold); }

.accordion-area li {
  margin: 0;
  border-bottom: 1px solid var(--color-gold); }

.title {
  position: relative;
  /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  padding: 20px 25% 20px 2%;
  font-size: 20px;
  line-height: 1.75;
  font-family: "Zen Old Mincho";
  font-weight: lighter;
  transition: all .5s ease; }

/*アイコンの＋と×*/
.title::before,
.title::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 2px;
  background-color: var(--color-white);
  z-index: 1; }

.title::before {
  top: 50%;
  right: 22px;
  transform: translate(-22px, -50%);
  transform: rotate(0deg); }

.title::after {
  top: 50%;
  right: 22px;
  transform: translate(-22px, -50%);
  transform: rotate(90deg); }

.icon-box {
  position: absolute;
  content: '';
  width: 44px;
  height: 44px;
  top: 50%;
  right: 5px;
  transform: translate(-5px, -50%);
  background-color: var(--color-brown);
  border: 1px solid var(--color-brown); }

/*　closeというクラスがついたら形状変化　*/
.title.close::before {
  transform: rotate(45deg); }

.title.close::after {
  transform: rotate(-45deg); }

.close > .icon-box {
  background-color: var(--color-darknavy); }

@media screen and (max-width: 900px) {
  .title {
    font-size: 16px; }

  .title::before,
  .title::after {
    width: 18px;
    height: 2px; }

  .title::before {
    top: 50%;
    right: 21px;
    transform: translate(-21px, -50%);
    transform: rotate(0deg); }

  .title::after {
    top: 50%;
    right: 21px;
    transform: translate(-21px, -50%);
    transform: rotate(90deg); }

  .icon-box {
    width: 40px;
    height: 40px;
    top: 50%;
    right: 5px;
    transform: translate(-5px, -50%); } }
/*アコーディオンで現れるエリア*/
.box {
  display: none;
  /*はじめは非表示*/
  border-top: 1px dotted rgba(206, 185, 145, 0.4);
  margin: 0 0 3% 0;
  padding: 3%; }

.box p {
  font-size: 16px;
  line-height: 1.75;
  font-family: "Zen Kaku Gothic New"; }

.box span {
  font-size: 12px;
  font-family: "Zen Kaku Gothic New"; }

@media screen and (max-width: 900px) {
  .box p {
    font-size: 14px; } }
/* ----------------------------------------------------------
    フォーム系
------------------------------------------------------------- */
audio:not([controls]) {
  display: none; }

[hidden] {
  display: none; }

.contact-form {
  color: var(--color-white);
  text-align: left;
  justify-content: center; }

.contact-form ul {
  margin: 0px 5%;
  font-size: 16px;
  line-height: 1.75;
  font-family: "Zen Kaku Gothic New";
  list-style: none;
  color: #C95353; }

.contact-form li {
  text-align: center; }

@media screen and (max-width: 900px) {
  .contact-form ul {
    font-size: 12px; } }
.table {
  margin: 0px 5%;
  max-width: 100%;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  border-collapse: separate;
  border-spacing: 0; }

.table th {
  padding: 15px 0px;
  font-size: 20px;
  font-family: "Zen Old Mincho";
  font-weight: lighter; }

.table td {
  padding: 15px 0px;
  margin-bottom: 30px;
  color: var(--color-white);
  font-size: 16px;
  line-height: 3;
  font-family: "Zen Kaku Gothic New";
  font-weight: lighter; }

.table th,
.table td {
  display: block;
  width: 100%; }

@media screen and (max-width: 600px) {
  .table th {
    padding: 10px 0px 5px;
    font-size: 16px; }

  .table td {
    padding: 10px 0px 5px;
    font-size: 15px; } }
/*プライバシーポリシーリンク*/
.privacypolicy-link {
  padding: 15px 0px;
  margin-bottom: 20px;
  color: var(--color-white);
  font-size: 16px;
  font-family: "Zen Kaku Gothic New";
  font-weight: lighter; }

.privacypolicy-link a {
  　border-bottom: 1px solid var(--color-gold);
  color: var(--color-gold); }

@media screen and (max-width: 600px) {
  .privacypolicy-link {
    padding: 0px;
    margin-bottom: 10px;
    color: var(--color-white);
    font-size: 14px; } }
/*確認ボタン*/
.button_box {
  clear: both;
  margin: 10px;
  color: var(--color-white);
  font-size: 16px;
  font-family: "Zen Kaku Gothic New";
  font-weight: lighter; }

.button_box a {
  text-decoration: none;
  color: var(--color-gold); }

/*必須マーク */
.red {
  color: #ffffff;
  font-size: 0; }

.red:before {
  background-color: #8a692a;
  color: #ffffff;
  padding: 3px 6px 4px;
  margin-left: 15px;
  font-size: 10px;
  content: "必須";
  font-family: "Zen Kaku Gothic New";
  position: relative;
  top: -3px; }

/*フォーム設定*/
input, textarea, select {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  *font-size: 14px; }

input, button {
  line-height: normal;
  vertical-align: middle; }

input[type=text],
input[type=password],
textarea {
  width: 700px;
  padding: 5px;
  background: var(--color-white);
  border: 1px solid #ddd;
  -moz-box-shadow: inset 3px 3px 0 0 rgba(0, 0, 0, 0.03);
  -webkit-box-shadow: inset 3px 3px 0 0 rgba(0, 0, 0, 0.03);
  box-shadow: inset 3px 3px 0 0 rgba(0, 0, 0, 0.03); }
  @media screen and (max-width: 900px) {
    input[type=text],
    input[type=password],
    textarea {
      width: 450px; } }
  @media screen and (max-width: 600px) {
    input[type=text],
    input[type=password],
    textarea {
      width: 350px; } }
  @media screen and (max-width: 400px) {
    input[type=text],
    input[type=password],
    textarea {
      width: 250px; } }

input[type=text]:focus,
input[type=password]:focus,
textarea:focus {
  border: 1px solid var(--color-gold); }

input[type=button] {
  cursor: pointer; }

.box__ttl input[type=button] {
  margin-right: 5px;
  height: 26px;
  line-height: 26px; }

input[type=submit] {
  padding: 10px 70px;
  margin: 10px;
  cursor: pointer;
  display: inline-block;
  background: var(--color-brown);
  border-radius: 30px;
  text-decoration: none;
  color: var(--color-white);
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  border: none; }

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

input[type=submit]:disabled,
input[type=button]:disabled,
input[type=checkbox]:disabled {
  cursor: default; }

textarea {
  width: 700px;
  overflow: auto;
  vertical-align: top;
  resize: vertical; }
  @media screen and (max-width: 900px) {
    textarea {
      width: 450px; } }
  @media screen and (max-width: 600px) {
    textarea {
      width: 350px; } }
  @media screen and (max-width: 400px) {
    textarea {
      width: 250px; } }

select {
  padding: 2px;
  line-height: normal;
  background: var(--color-white); }

label {
  cursor: pointer; }

legend {
  *margin-left: -7px;
  color: #333; }

input[type="radio"] {
  position: relative;
  width: 30px !important;
  height: 30px;
  border: 1px solid var(--color-white);
  border-radius: 50%;
  vertical-align: text-top;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  appearance: none; }

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--color-gold);
  content: ''; }

label {
  margin-left: 15px; }
