@charset "UTF-8";

/* --------------------------------------------------
 Common Block
-------------------------------------------------- */
.max-comm-blc {
  max-width: 1920px;
  margin: auto;
  padding: 0 4%;
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.large-comm-blc {
  max-width: 1512.19px;
  /* max-width: 1366px; */
  margin: auto;
  padding: 0 4%;
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.comm-blc {
  max-width: 1349.19px;
  /* max-width: 1200px; */
  margin: auto;
  padding: 0 4%;
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.min-comm-blc {
  max-width: 922px;
  margin: auto;
  padding: 0 4%;
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.narrow-comm-blc {
  max-width: 800px;
  margin: auto;
  padding: 0 4%;
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.margin-comm {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.margin-comm.first {
  margin-top: 2rem;
}


.padding-comm {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (max-width:767px) {
  .large-comm-blc{
        font-size: 12px;
  }
}
@media screen and (max-width:480px) {
  .margin-comm {
    margin-top: 5vw;
    margin-bottom: 15vw;
  }
  .padding-comm {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
}

/* --------------------------------------------------
 Title Text
-------------------------------------------------- */
/* ttl-section --------------------------------*/

.ttl-section {
  font-size: 200%;
  line-height: 1.5;
  display: block;
  text-align: center;
  margin-bottom: 2rem;
  font-family: "Yu Mincho Regular", "Noto Serif JP", "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Times New Roman", serif;
}

@media screen and (max-width:1000px) {
  .ttl-section {
    font-size: 180%;
  }
}

@media screen and (max-width:767px) {
  .ttl-section {
    font-size: 160%;
  }
}

.ttl-style-00 {
  width: 100%;
  text-align: center;
  margin: 0 auto 40px;
}

.ttl-style-00 > .ttl {
  position: relative;
  text-align: center;
  width: 100%;
  line-height: 1.5;
  font-size: 180%;
  color: #7f5c2e;
  padding:  10px 0;
}

.ttl-style-00 > .ttl::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  content: '';
  width: 85%;
  height: 1px;
  background-color: #5e3f32;
  margin: 0 auto;
}

.ttl-style-00 > .sub {
  text-align: center;
  width: 100%;
  line-height: 1.5;
  color: #131212;
  padding:  15px 0;
}

.ttl-style-00 > .sub a {
  text-decoration: none;
  color: #7b613f;
  border-bottom: 1px solid #7b613f;
  transition: 300ms ease-in-out all;
}

.ttl-style-00 > .sub a:hover {
  border-bottom: none;
}

.ttl-style-01 {
  text-align: center;
  display: block;
  font-size: 180%;
}

.ttl-style-01 > .txt{
  display: inline-block;
  line-height: 34px;
  border-bottom: 1px solid #5e3f32;
  padding: 10px 4%;
  margin-bottom: 40px;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .ttl-style-00 {
    margin: 0 auto 10px;
  }
  .ttl-style-00 > .ttl{
        font-size: 130%;
  }
}
/* --------------------------------------------------
 list-col
-------------------------------------------------- */
/* list-col-2 --------------------------------*/
.list-col-2 {
  display: flex;
  flex-wrap: wrap;
}

.list-col-2 li {
  width: calc((100% - 4rem) / 2);
  margin-right: 2rem;
  margin-top: 2rem;
  box-sizing: border-box;
}

.list-col-2 li:nth-child(2n+2),
.list-col-2 li:last-child {
  margin-right: 0;
}

.list-col-2 li:nth-child(-n+2) {
  margin-top: 0;
}

@media screen and (max-width:480px) {
  .list-col-2 {
    justify-content: center;
  }
  .list-col-2 li {
    width: 100%;
    margin-right: 0 !important;
  }
  .list-col-2 li:nth-child(-n+2) {
    margin-top: 2rem;
  }
  .list-col-2 li:first-child {
    margin-top: 0;
  }
}

/* list-col-3 --------------------------------*/
.list-col-3 {
  display: flex;
  flex-wrap: wrap;
}

.list-col-3 li {
  width: calc((100% - 4rem) / 3);
  margin-right: 2rem;
  margin-top: 2rem;
  box-sizing: border-box;
}

.list-col-3 li:nth-child(3n+3),
.list-col-3 li:last-child {
  margin-right: 0;
}

.list-col-3 li:nth-child(-n+3) {
  margin-top: 0;
}

@media screen and (max-width:767px) {
  #news .txt-blc-00 .txt-blc .ttl+.txt{
        margin-top: 0.1rem;
  }
  .list-col-3 li {
    width: calc((100% - 1rem) / 2);
    margin-right: 1rem;
    margin-top: 2rem;
  }
  .list-col-3 li:nth-child(3n+3) {
    margin-right: 1rem;
  }
  .list-col-3 li:nth-child(2n+2) {
    margin-right: 0;
  }
  .list-col-3 li:nth-child(-n+3) {
    margin-top: 2rem;
  }
  .list-col-3 li:nth-child(-n+2) {
    margin-top: 0;
  }
}

@media screen and (max-width:480px) {
  .list-col-3 {
    justify-content: center;
  }
  .list-col-3 li {
    width: 100%;
    margin-right: 0 !important;
  }
  .list-col-3 li:nth-child(-n+2) {
    margin-top: 2rem;
  }
  .list-col-3 li:first-child {
    margin-top: 0;
  }
/*NEWS部分一列にしない*/
  #news {line-height: 1.5;}
  
#news .list-col-3 {
        justify-content: space-between;
    }
#news .list-col-3 li {
                width: calc((100% - 1rem) / 2);
                margin-right: 1rem;
    }
  
#news .list-col-3 li:nth-child(-n+2) {
        margin-top: 0rem;
    }
  
  
  
  
}

.list-style-00.right > li {
  text-align: right;
}

.list-style-00 > li {
  margin-top: 10px;
}

.list-style-00 > li:nth-child(1) {
  margin-top: 0;
}

.list-style-00 > li a {
  position: relative;
  text-decoration: none;
}

.list-style-00 > li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #333;
  transition: 300ms all ease-in-out;
  opacity: 1;
}

.list-style-00 > li a:hover:after {
  opacity: 0;
}

.list-style-01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 20px;
}

.list-style-01 > .img {
  width: 450px;
}

.list-style-01 > .cont {
  width: calc(100% - 470px);
}

@media screen and (max-width:1100px) {
  .list-style-01 > .img {
    width: 370px;
  }
  
  .list-style-01 > .cont {
    width: calc(100% - 390px);
  }
}

@media screen and (max-width:1000px) {
  .list-style-01 > .img {
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
  }
  .list-style-01 > .cont {
    width: 100%;
  }
}
/* --------------------------------------------------
 TEXT Block
-------------------------------------------------- */
.txt-blc-00 .img-blc {
  position: relative;
  display: block;
}

.txt-blc-00 .img-blc .tag {
  position: absolute;
  left: 5px;
  top: 5px;
  background-color: #ff9494;
  padding: 5px 15px;
  box-sizing: border-box;
  color: #fff;
  font-size: 90%;
  line-height: 1.3;
}

.txt-blc-00 .img-blc.border {
  border: 1px solid #d7c7be;
}

.txt-blc-00 .txt-blc {
  margin-top: 1rem;
}

.txt-blc-00 .txt-blc .ttl .title {
  display: block;
  font-size: 120%;
  box-sizing: border-box;
}

.txt-blc-00 .txt-blc .ttl .category {
  display: block;
  font-size: 90%;
  box-sizing: border-box;
}

.txt-blc-00 .txt-blc .ttl+.txt {
  font-size: 90%;
  margin-top: 1rem;
}

.txt-style-00 {
  text-align: left;
  display: block;
  font-size: 100%;
  line-height: 2;
}

.txt-style-00 a {
  position: relative;
  text-decoration: none;
}

.txt-style-00 a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #333;
  transition: 300ms all ease-in-out;
  opacity: 1;
}

.txt-style-00 a:hover:after {
  opacity: 0;
}

.txt-style-00 table {
  margin: 10px 0;
}

.txt-style-00 table.gray-table th {
  width: 100px;
  background-color: #eee;
}

.txt-style-00 .overflow {
  width: 100%;
}

.txt-style-00 .overflow > .txt-alert {
  display: none;
  text-align: center;
  color: #ff0000;
}

.txt-style-00 .overflow > .inner {
  width: 100%;
  overflow-y: hidden;
}

@media screen and (max-width:767px) {
  .txt-style-00 .overflow {
    margin: 0 auto 20px;
  }
  .txt-style-00 .overflow > .txt-alert{
    display: block;
  }
  .txt-style-00 .overflow > .inner > table {
    width: 767px;
    margin: 10px auto 20px;
  }
}

.cont-blc-01 > .ttl {
  position: relative;
  line-height: 1.5;
  font-size: 180%;
  color: #7f5c2e;
  font-weight: 600;
  padding: 0 20px 10px;
  box-sizing: border-box;
}

.cont-blc-01 > .ttl::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 1px;
  background-color: #7f5c2e;
}

.cont-blc-01 > .tbl,
.cont-blc-01 > .txt {
  padding: 20px 30px 0;
}

.cont-blc-01 > .tbl > .txt {
  font-size: 100%;
}

@media screen and (max-width:480px) {
  .cont-blc-01 > .tbl,
  .cont-blc-01 > .txt {
    padding: 20px 20px 0;
  }
}

.tbl-com ,
.tbl-com th,
.tbl-com td {
  border-collapse: collapse;
  border: 1px solid #333;
}

.tbl-com table {
  margin: 1rem 0;
}

.tbl-com th, 
.tbl-com td {
  padding: 8px 10px;
  box-sizing: border-box;
}

.tbl-com th {
  font-weight: 800;
}

.tbl-style-00 {
  width: 100%;
}

.tbl-style-00 th,
.tbl-style-00 td {
  padding: 6px 15px;
  box-sizing: border-box;
}

.tbl-style-00 th {
  width: 110px;
  box-sizing: border-box;
  text-align: left;
  font-weight: 800;
  border-right: 1px solid #fff;
  padding-right: 20px;
}

.tbl-style-00 td {
  padding-left: 20px;
}

@media screen and (max-width:1000px) {
  .tbl-style-00 th {
    width: 100px;
  }
}

@media screen and (max-width:767px) {
  .tbl-style-00 th,
  .tbl-style-00 td {
    padding: 6px 8px;
  }
  .tbl-style-00 th {
    width: 80px;
  }
}

@media screen and (max-width:360px) {
  .tbl-style-00 th,
  .tbl-style-00 td {
    display: block;
    width: 100%;
  }
  .tbl-style-00 th {
    border-right: none;
    padding-bottom: 0;
  }
  .tbl-style-00 td {
    border-top: 1px solid #fff;
  }
}

.mailform {
  max-width: 1000px;
  margin: 0 auto;
}

.mailform .ttl {
  margin-bottom: 20px;
}

.mailform form {
  display: inline-block;
  width: 100%;
}

.mailform .tbl-form {
  width: 100%;
  margin-top: 20px;
}

.mailform .tbl-form tr > th,
.mailform .tbl-form tr > td {
  position: relative;
  border-bottom: 1px solid #5e3f32;
  box-sizing: border-box;
}

.mailform .tbl-form tr:nth-last-child(1) > th,
.mailform .tbl-form tr:nth-last-child(1) > td {
  border-bottom: none;
}

.mailform .tbl-form tr > th {
  width: 255px;
  color: #5e3f32;
  background-color: #fff8ff;
  padding: 30px 62px 30px 22px;
}

.mailform .tbl-form tr > td {
  padding: 25px 25px;
}

.mailform .tbl-form tr > td input::placeholder {
  font-family: "Yu Mincho Regular", "Noto Serif JP", "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Times New Roman", serif;
}

.mailform .tbl-form tr > td input[type=checkbox] {
  transform: translateY(-2px);
  margin-right: 6px;
}

.mailform .tbl-form tr > td textarea {
  max-width: 600px;
  width: 100%;
  height: 120px;
}

.mailform .tbl-form tr > td select {
  padding: 10px 15px;
}

@media screen and (max-width:767px) {
  .mailform .tbl-form tr > th {
    width: 200px;
    padding: 30px 15px;
  }
  .mailform .tbl-form tr > td {
    padding: 25px 15px;
  }
}

@media screen and (max-width:480px) {
  .mailform .tbl-form tr > th,
  .mailform .tbl-form tr > td {
    display: block;
    width: 100%;
    padding: 10px 15px;
  }
  .mailform .tbl-form tr > td select {
    width: 100%;
  }
}

#captcha {
  text-align: center;
  width: 100%;
  margin-top: 30px;
}

#captcha > div {
  margin: 0 auto;
}

/* --------------------------------------------------
 mail form
-------------------------------------------------- */

/* .focus-animation {
  border: 1px solid #dadada;
  transition: all ease-in-out 0.3s;
  box-sizing: border-box;
} */

.focus-animation {
  border: 1px solid #ddd;
  padding: 10px 10px;
  outline: 0;
  color: #000;
  transition: all ease-in 0.3s;
  box-sizing: border-box;
}

.focus-animation:focus {
  border: 1px solid #53b8df;
  box-shadow: 0 0 5px #53b8df, 0 0 10px #53b8df;
  outline: medium none;
}

select.focus-animation {
  color: #595959;
  display: inline-block;
}

.middle-width {
  width: 49% !important;
}

.full-width {
  width: 100% !important;
}

.txt-warning {
  color: #dd2e1e !important;
}

.error {
  color: #dd2e1e;
  position: relative;
  padding-left: 25px;
  margin-top: 10px;
  font-weight: 500;
}

.error:not(:empty)::before {
  font-family: "Font Awesome 5 Free";
  content: '\f06a';
  font-weight: 900;
  position: absolute;
  left: 0;
  top: -4px;
  font-size: 18px;
}

.required {
  /* float: right; */
  position: absolute;
  top: 34px;
  right: 15px;
  font-family: "Yu Mincho Regular", "Noto Serif JP", "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Times New Roman", serif;
  font-size: 90%;
  color: #fff;
  background-color: #e60012;
  border-radius: 4px;
  padding: 0 8px;
}

.form-submit {
  text-align: center;
  display: block;
  width: 100%;
  margin: 40px 0;
}

.form-submit > input {
  margin-bottom: 10px;
}

.form-submit > input[type=submit] {
  max-width: 240px;
  width: 100%;
  color: #fff;
  border: none;
  background-color: #7f5c2e;
  border: 1px solid #7f5c2e;
  padding: 20px 40px;
}

.form-submit > .back {
  max-width: 240px;
  width: 100%;
  color: #7f5c2e;
  border: 1px solid #7f5c2e;
  padding: 20px 40px;
}

@media screen and (max-width:767px) {
  .required {
    float: right;
    position: relative;
    top: auto;
    right: auto;
  }
}

@media screen and (max-width:640px) {
  .middle-width {
    width: 70% !important;
  }

  .focus-animation {
    padding: 10px 15px;
  }

  .required {
    padding-top: 0;
  }
}

@media screen and (max-width:480px) {
  .middle-width {
    width: 100% !important;
  }
}

/* --------------------------------------------------
 button
-------------------------------------------------- */
.btn-blc-01 {
  display: block;
  text-align: center;
}

.btn-blc-01 > a {
  text-decoration: none;
  font-size: 100%;
  color: #fff;
  letter-spacing: 1px;
  background-color: #7f5c2e;
  padding: 15px 80px;
  transition: all 300ms ease-in-out;
}

.btn-blc-01 > a:hover {
  opacity: .7;
}

/* --------------------------------------------------
 Image
-------------------------------------------------- */
.img-style-00 {
  text-align: center;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  flex-wrap: wrap;
}

.img-style-00 > img {
  max-width: 48%;
  margin-top: 1rem;
}

.img-style-00 > img:nth-child(-n+2) {
  margin-top: 0;
}

@media screen and (max-width:767px) {
  .img-style-00 {
    flex-direction: row;
  }
  .img-style-00 > img {
    max-width: 100%;
  }
  .img-style-00 > img:nth-child(2) {
    margin-top: 1rem;
  }
}

/* --------------------------------------------------
 OTHER
-------------------------------------------------- */
.align-center {
  text-align: center !important;
}

.txt-big {
  font-size: 120%;
  font-weight: bold;
}

/* padding --------------------------------*/

.pt-4rem {
  padding-top: 4rem;
}

/* margin --------------------------------*/

.mt-4rem {
  margin-top: 4rem;
}

.mt-3rem {
  margin-top: 3rem;
}

.mt-2rem {
  margin-top: 2rem;
}

.mt-1rem {
  margin-top: 1rem;
}

/* padding --------------------------------*/

.p-4rem {
  padding: 4rem;
  box-sizing: border-box;
}

@media screen and (max-width:767px) {
  .mt-4rem {
    margin-top: 2rem;
  }
}

@media screen and (max-width:480px) {
  .mt-3rem {
    margin-top: 2rem;
  }
}

@media screen and (min-width:768px) {
  .br-sp767 {
    display: none;
  }
}

@media screen and (min-width:481px) {
  .br-sp480 {
    display: none;
  }
}

/* --------------------------------------------------
 Hide
-------------------------------------------------- */
.hidden {
  opacity: 0;
}

.visible {
  opacity: 1;
}

.disnon {
  display: none;
}

.hide {
  opacity: 0;
}