/* Base CSS */
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,sub,sup,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}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0}input,select{vertical-align:middle}*{letter-spacing:.05em;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-size: 100%;overflow-x:hidden;}body{color:#000;line-height:2;font-size: 1rem;}a,input[type="submit"]{transition:.5s;text-decoration:none;color:#000}a:hover,input[type="submit"]:hover{opacity:0.3}input,textarea{margin:0 auto;padding:10px 10px 10px 10px;width:100%;border:1px solid #ddd;cursor:pointer;font-size:1.125em}
body{
  font-family: "UD Shin Go NT Medium",
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "BIZ UDPGothic",
    sans-serif;
    overflow-x: hidden;
}
.ud-shin-go-r {
  font-family: "UD Shin Go Regular";
}
.biz-udpgothic-regular {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.biz-udpgothic-bold {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
/* スピンボタン非表示 chrome,safari */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="date"]::-webkit-inner-spin-button {
  /*-webkit-appearance: none;
  margin: 0;*/
  display: none;
}
/* スピンボタン非表示(firefox) */
input[type="number"],
input[type="month"],
input[type="datetime-local"],
input[type="week"],
input[type="time"],
input[type="date"] {
  -moz-appearance: textfield;
}
input, textarea, select {
  /* 背景色(任意の色を指定) */
  background-color: #fff;
  /* inputの枠線を消す */
  border: 3px solid #46311e;
  transition: border 0.2s ease-out;
  /* 文字色を親から継承 */
  color: inherit;
  /*inputのフォーカス時の枠線を消す*/
  outline: 0;
}
/* inputにフォーカスが当たっている時 */
input:focus, textarea:focus, select:focus, textarea:focus {
  border: 3px solid #6d4c31;
}

/* チェックボックス：デフォルトのinputを隠す */
textarea {
  resize: vertical;
}
/* input[type='checkbox'],
input[type='radio'] {
  display: none;
} */
input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.test-yoyaku select {
  padding: 1em;
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
  appearance: menulist;
}
/*****************************************************
  基本設定、リンクカラーなど
*****************************************************/
a:link,a:visited,a:active{
  color:#46311e;
  text-decoration:underline;
}
a:hover{
  text-decoration:none;
  opacity: .7;
}
.btn{
  background-color: #fff;
  font-weight: 600;
  margin: 20px auto;
  display: inline-block;
  text-align: center;
  border-radius: 20px;
}
.btn a {
  background-color: #46311e;
  border: 2px solid #46311e;
  color: #fff;
  font-size: 17px;
  line-height: 0;
  padding: 20px;
  display: block;
  width: 100%;
  text-decoration: none;
}
.btn:hover {
  filter:alpha(opacity=70);
    -moz-opacity:0.7;
  opacity:0.7;
  text-decoration:none;
    -webkit-transition:0.2s ease-in-out;
    -moz-transition:0.2s ease-in-out;
    -o-transition:0.2s ease-in-out;
  transition:0.2s ease-in-out;
  background-color: #fff;
  border: 2px solid #46311e;
  color: #46311e;
}

/* 背景色 */
.bg_beige {
  background-color: #f7f0eb !important;
}
.bg_db {
  background-color: #46311e !important;
}
.bg_wt {
  background-color: #fff !important;
}
/* Font color */
.fc_lgray {
  color: #888 !important;
}
.fc_beige {
  color: #f7f0eb !important;
}
.fc_db {
  color: #46311e !important;
}
.fc_wt {
  color: #fff !important;
}
/* Text align */
.left {
  text-align: left !important;
}
.center {
  text-align: center !important;
}
.right {
  text-align: right !important;
}
/* Line height */
.lh-0 {
  line-height: 0;
}
/*****************************************************
  余白調整用
*****************************************************/
/* Padding */
.pad0 {
  padding: 0 !important;
}
.padB0 {
  padding-bottom: 0 !important;
}
.padT0 {
  padding-top: 0 !important;
}
/* Margin */
.marAuto {
  margin: 0 auto !important;
}
.mar0 {
  margin: 0 !important;
}
.marB0 {
  margin-bottom: 0 !important;
}
.marT0 {
  margin-top: 0 !important;
}

/*****************************************************
  ベースフォントサイズ・ボタンベース
*****************************************************/
.btn_box .btn {
  background: #46311e;
  border: 2px solid #46311e;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  line-height: 3;
  border-radius: 3em;
  padding-left: 2.5em;
  padding-right: 2.5em;
  width: auto;
}
.btn_box .btn span {
  display: block;
  font-size: 96%;
}
.btn_box .btn:hover, .btn_box .btn:focus {
  background: #fff;
  color: #46311e;
  opacity: 1;
}
@media screen and ( max-width:767px) {
  input, textarea {
    font-size: .85em;
    padding: 1.303vw;
  }
  body {
    font-size:  calc(22px - 24%);
  }
  .btn {
    width: 100%;
    max-width: 380px;
    margin: 2.607vw auto;
  }
  .btn a {
    font-size: calc(17px - 24%);
    padding: 2.607vw;
    max-width: 380px;
    width: 100%;
  }
}
@media screen and ( max-width:460px) {
  input, textarea {
    padding: 2.173vw;
  }
  body {
    font-size: 3.67vw;
    letter-spacing: .073vw;
  }
  .btn {
    border-radius: 7.32vw;
    width: 100%;
    max-width: 100vw;
    margin: 3.66vw auto;
  }
  .btn a {
    font-size: 2.83vw;
    max-width: 100vw;
    padding: 4.5vw;
  }
}

/*****************************************************
  共通レイアウトボックス
*****************************************************/
.bg_pl {
  background: #383848;
}
.col_table {
  margin: 0 0 2em 0;
}
img.circle {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius:50%;
}
.row-box {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-col-start {
  align-items: start;
}
.flex-col-base {
  align-items: baseline;
}
.flex-col-stretch {
  align-items: stretch;
}
.flex-col-end {
  align-items: end;
}
.flex-row-space_b {
  justify-content: space-between;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-d-column {
  flex-direction: column;
}
.flex-d-row {
  flex-direction: row;
}
/* 幅 */
.w-10 {
  width: 10%;
}
.w-16 {
  width: 16.665%;
}
.w-20 {
  width: 20%;
}
.w-25 {
  width: 25%;
}
.w-30 {
  width: 30%;
}
.w-33 {
  width: 33.33%;
}
.w-40 {
  width: 40%;
}
.w-50 {
  width: 50%;
}
.w-60 {
  width: 60%;
}
.w-70 {
  width: 70%;
}
.w-80 {
  width: 80%;
}
.w-90 {
  width: 90%;
}
.w-100 {
  width: 100%;
}

/*テーブルデザイン*/
.table01 {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2rem .5rem;
}
.table01 th, .table01 td {
  border-bottom: 1px solid #383847;
  padding: 0 1rem .5rem 1rem;
  position: relative;
}
.table01 th:after {
  content: "";
  height: 2.5rem;
  width: 2px;
  background: #b3232a;
  display: block;
  position: absolute;
  right: -1rem;
  top: 0;
}
.table02 {
  width: 100%;
  border-left: 1px solid;
  border-top: 1px solid;
  border-collapse: collapse;
}
.table02 th, .table02 td {
  border-right: 1px solid;
  border-bottom: 1px solid;
  padding: .5rem 1rem;
}
@media screen and ( max-width:460px) {
  .table01 {
    border-collapse: collapse;
    border-spacing: 0;
    display: flex;
  }
  .table01 tbody {
    width: 100%;
  }
  .table01 tr {
    display: flex;
    flex-direction: column;
  }
  .table01 th, .table01 td {
    border-bottom: 1px solid #383847;
    padding: .5rem 1rem;
  }
  .table01 th:after {
    content: none;
  }
  .table01 th:before {
    height: 60%;
    width: 4px;
    background: #b3232a;
    content: "";
    position: absolute;
    display: block;
    left: 0;
  }
}