@charset "UTF-8";
* {
  box-sizing: border-box;
}

body {
  font-size: 1rem;
}

body * {
  /* 
      font-weightは<b>タグが機能しなくなるので指定しない。
      line-heightは余計に高さが効いてしまうので指定しない。 => bxi.cssで効いてる可能性あり。
      font-weightも指定しない。
  */
  font-family: Noto Serif JP, serif;
  color: #111111;
  margin: 0;
}

img {
  vertical-align: bottom;
}

header#global_header {
  min-width: 0 !important;
}

#contents_wrap {
  min-width: 0 !important;
}

#main #col_main {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
@media only screen and (max-width: 834px) {
  #main #col_main {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

a {
  text-decoration: none;
}

button {
  padding: 0;
  border: none;
  background-color: transparent;
}

img.imgL {
  max-width: 100%;
  margin-right: 0;
}

.inner-over-full {
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%);
}

.display-block {
  display: block;
}

.display-inline-block {
  display: block;
}

.display-inline-flex {
  display: block;
}

.img-contain {
  display: block;
}
.img-contain img {
  width: 100% !important;
  object-fit: contain;
}

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

.me-1rem {
  margin-right: 1rem;
}

.mb-1rem {
  margin-bottom: 1rem;
}

.ms-1rem {
  margin-left: 1rem;
}

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

.me-2rem {
  margin-right: 2rem;
}

.mb-2rem {
  margin-bottom: 2rem;
}

.ms-2rem {
  margin-left: 2rem;
}

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

.me-3rem {
  margin-right: 3rem;
}

.mb-3rem {
  margin-bottom: 3rem;
}

.ms-3rem {
  margin-left: 3rem;
}

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

.me-4rem {
  margin-right: 4rem;
}

.mb-4rem {
  margin-bottom: 4rem;
}

.ms-4rem {
  margin-left: 4rem;
}

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

.me-5rem {
  margin-right: 5rem;
}

.mb-5rem {
  margin-bottom: 5rem;
}

.ms-5rem {
  margin-left: 5rem;
}

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

.me-6rem {
  margin-right: 6rem;
}

.mb-6rem {
  margin-bottom: 6rem;
}

.ms-6rem {
  margin-left: 6rem;
}

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

.me-7rem {
  margin-right: 7rem;
}

.mb-7rem {
  margin-bottom: 7rem;
}

.ms-7rem {
  margin-left: 7rem;
}

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

.me-8rem {
  margin-right: 8rem;
}

.mb-8rem {
  margin-bottom: 8rem;
}

.ms-8rem {
  margin-left: 8rem;
}

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

.me-9rem {
  margin-right: 9rem;
}

.mb-9rem {
  margin-bottom: 9rem;
}

.ms-9rem {
  margin-left: 9rem;
}

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

.me-10rem {
  margin-right: 10rem;
}

.mb-10rem {
  margin-bottom: 10rem;
}

.ms-10rem {
  margin-left: 10rem;
}

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

.me-1px {
  margin-right: 1px;
}

.mb-1px {
  margin-bottom: 1px;
}

.ms-1px {
  margin-left: 1px;
}

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

.me-2px {
  margin-right: 2px;
}

.mb-2px {
  margin-bottom: 2px;
}

.ms-2px {
  margin-left: 2px;
}

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

.me-3px {
  margin-right: 3px;
}

.mb-3px {
  margin-bottom: 3px;
}

.ms-3px {
  margin-left: 3px;
}

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

.me-4px {
  margin-right: 4px;
}

.mb-4px {
  margin-bottom: 4px;
}

.ms-4px {
  margin-left: 4px;
}

.mt-5px {
  margin-top: 5px;
}

.me-5px {
  margin-right: 5px;
}

.mb-5px {
  margin-bottom: 5px;
}

.ms-5px {
  margin-left: 5px;
}

.mt-6px {
  margin-top: 6px;
}

.me-6px {
  margin-right: 6px;
}

.mb-6px {
  margin-bottom: 6px;
}

.ms-6px {
  margin-left: 6px;
}

.mt-7px {
  margin-top: 7px;
}

.me-7px {
  margin-right: 7px;
}

.mb-7px {
  margin-bottom: 7px;
}

.ms-7px {
  margin-left: 7px;
}

.mt-8px {
  margin-top: 8px;
}

.me-8px {
  margin-right: 8px;
}

.mb-8px {
  margin-bottom: 8px;
}

.ms-8px {
  margin-left: 8px;
}

.mt-9px {
  margin-top: 9px;
}

.me-9px {
  margin-right: 9px;
}

.mb-9px {
  margin-bottom: 9px;
}

.ms-9px {
  margin-left: 9px;
}

.mt-10px {
  margin-top: 10px;
}

.me-10px {
  margin-right: 10px;
}

.mb-10px {
  margin-bottom: 10px;
}

.ms-10px {
  margin-left: 10px;
}

.mt-11px {
  margin-top: 11px;
}

.me-11px {
  margin-right: 11px;
}

.mb-11px {
  margin-bottom: 11px;
}

.ms-11px {
  margin-left: 11px;
}

.mt-12px {
  margin-top: 12px;
}

.me-12px {
  margin-right: 12px;
}

.mb-12px {
  margin-bottom: 12px;
}

.ms-12px {
  margin-left: 12px;
}

.mt-13px {
  margin-top: 13px;
}

.me-13px {
  margin-right: 13px;
}

.mb-13px {
  margin-bottom: 13px;
}

.ms-13px {
  margin-left: 13px;
}

.mt-14px {
  margin-top: 14px;
}

.me-14px {
  margin-right: 14px;
}

.mb-14px {
  margin-bottom: 14px;
}

.ms-14px {
  margin-left: 14px;
}

.mt-15px {
  margin-top: 15px;
}

.me-15px {
  margin-right: 15px;
}

.mb-15px {
  margin-bottom: 15px;
}

.ms-15px {
  margin-left: 15px;
}

.mt-16px {
  margin-top: 16px;
}

.me-16px {
  margin-right: 16px;
}

.mb-16px {
  margin-bottom: 16px;
}

.ms-16px {
  margin-left: 16px;
}

.mt-17px {
  margin-top: 17px;
}

.me-17px {
  margin-right: 17px;
}

.mb-17px {
  margin-bottom: 17px;
}

.ms-17px {
  margin-left: 17px;
}

.mt-18px {
  margin-top: 18px;
}

.me-18px {
  margin-right: 18px;
}

.mb-18px {
  margin-bottom: 18px;
}

.ms-18px {
  margin-left: 18px;
}

.mt-19px {
  margin-top: 19px;
}

.me-19px {
  margin-right: 19px;
}

.mb-19px {
  margin-bottom: 19px;
}

.ms-19px {
  margin-left: 19px;
}

.mt-20px {
  margin-top: 20px;
}

.me-20px {
  margin-right: 20px;
}

.mb-20px {
  margin-bottom: 20px;
}

.ms-20px {
  margin-left: 20px;
}

.mt-21px {
  margin-top: 21px;
}

.me-21px {
  margin-right: 21px;
}

.mb-21px {
  margin-bottom: 21px;
}

.ms-21px {
  margin-left: 21px;
}

.mt-22px {
  margin-top: 22px;
}

.me-22px {
  margin-right: 22px;
}

.mb-22px {
  margin-bottom: 22px;
}

.ms-22px {
  margin-left: 22px;
}

.mt-23px {
  margin-top: 23px;
}

.me-23px {
  margin-right: 23px;
}

.mb-23px {
  margin-bottom: 23px;
}

.ms-23px {
  margin-left: 23px;
}

.mt-24px {
  margin-top: 24px;
}

.me-24px {
  margin-right: 24px;
}

.mb-24px {
  margin-bottom: 24px;
}

.ms-24px {
  margin-left: 24px;
}

.mt-25px {
  margin-top: 25px;
}

.me-25px {
  margin-right: 25px;
}

.mb-25px {
  margin-bottom: 25px;
}

.ms-25px {
  margin-left: 25px;
}

.mt-26px {
  margin-top: 26px;
}

.me-26px {
  margin-right: 26px;
}

.mb-26px {
  margin-bottom: 26px;
}

.ms-26px {
  margin-left: 26px;
}

.mt-27px {
  margin-top: 27px;
}

.me-27px {
  margin-right: 27px;
}

.mb-27px {
  margin-bottom: 27px;
}

.ms-27px {
  margin-left: 27px;
}

.mt-28px {
  margin-top: 28px;
}

.me-28px {
  margin-right: 28px;
}

.mb-28px {
  margin-bottom: 28px;
}

.ms-28px {
  margin-left: 28px;
}

.mt-29px {
  margin-top: 29px;
}

.me-29px {
  margin-right: 29px;
}

.mb-29px {
  margin-bottom: 29px;
}

.ms-29px {
  margin-left: 29px;
}

.mt-30px {
  margin-top: 30px;
}

.me-30px {
  margin-right: 30px;
}

.mb-30px {
  margin-bottom: 30px;
}

.ms-30px {
  margin-left: 30px;
}

.mt-31px {
  margin-top: 31px;
}

.me-31px {
  margin-right: 31px;
}

.mb-31px {
  margin-bottom: 31px;
}

.ms-31px {
  margin-left: 31px;
}

.mt-32px {
  margin-top: 32px;
}

.me-32px {
  margin-right: 32px;
}

.mb-32px {
  margin-bottom: 32px;
}

.ms-32px {
  margin-left: 32px;
}

.mt-33px {
  margin-top: 33px;
}

.me-33px {
  margin-right: 33px;
}

.mb-33px {
  margin-bottom: 33px;
}

.ms-33px {
  margin-left: 33px;
}

.mt-34px {
  margin-top: 34px;
}

.me-34px {
  margin-right: 34px;
}

.mb-34px {
  margin-bottom: 34px;
}

.ms-34px {
  margin-left: 34px;
}

.mt-35px {
  margin-top: 35px;
}

.me-35px {
  margin-right: 35px;
}

.mb-35px {
  margin-bottom: 35px;
}

.ms-35px {
  margin-left: 35px;
}

.mt-36px {
  margin-top: 36px;
}

.me-36px {
  margin-right: 36px;
}

.mb-36px {
  margin-bottom: 36px;
}

.ms-36px {
  margin-left: 36px;
}

.mt-37px {
  margin-top: 37px;
}

.me-37px {
  margin-right: 37px;
}

.mb-37px {
  margin-bottom: 37px;
}

.ms-37px {
  margin-left: 37px;
}

.mt-38px {
  margin-top: 38px;
}

.me-38px {
  margin-right: 38px;
}

.mb-38px {
  margin-bottom: 38px;
}

.ms-38px {
  margin-left: 38px;
}

.mt-39px {
  margin-top: 39px;
}

.me-39px {
  margin-right: 39px;
}

.mb-39px {
  margin-bottom: 39px;
}

.ms-39px {
  margin-left: 39px;
}

.mt-40px {
  margin-top: 40px;
}

.me-40px {
  margin-right: 40px;
}

.mb-40px {
  margin-bottom: 40px;
}

.ms-40px {
  margin-left: 40px;
}

.mt-41px {
  margin-top: 41px;
}

.me-41px {
  margin-right: 41px;
}

.mb-41px {
  margin-bottom: 41px;
}

.ms-41px {
  margin-left: 41px;
}

.mt-42px {
  margin-top: 42px;
}

.me-42px {
  margin-right: 42px;
}

.mb-42px {
  margin-bottom: 42px;
}

.ms-42px {
  margin-left: 42px;
}

.mt-43px {
  margin-top: 43px;
}

.me-43px {
  margin-right: 43px;
}

.mb-43px {
  margin-bottom: 43px;
}

.ms-43px {
  margin-left: 43px;
}

.mt-44px {
  margin-top: 44px;
}

.me-44px {
  margin-right: 44px;
}

.mb-44px {
  margin-bottom: 44px;
}

.ms-44px {
  margin-left: 44px;
}

.mt-45px {
  margin-top: 45px;
}

.me-45px {
  margin-right: 45px;
}

.mb-45px {
  margin-bottom: 45px;
}

.ms-45px {
  margin-left: 45px;
}

.mt-46px {
  margin-top: 46px;
}

.me-46px {
  margin-right: 46px;
}

.mb-46px {
  margin-bottom: 46px;
}

.ms-46px {
  margin-left: 46px;
}

.mt-47px {
  margin-top: 47px;
}

.me-47px {
  margin-right: 47px;
}

.mb-47px {
  margin-bottom: 47px;
}

.ms-47px {
  margin-left: 47px;
}

.mt-48px {
  margin-top: 48px;
}

.me-48px {
  margin-right: 48px;
}

.mb-48px {
  margin-bottom: 48px;
}

.ms-48px {
  margin-left: 48px;
}

.mt-49px {
  margin-top: 49px;
}

.me-49px {
  margin-right: 49px;
}

.mb-49px {
  margin-bottom: 49px;
}

.ms-49px {
  margin-left: 49px;
}

.mt-50px {
  margin-top: 50px;
}

.me-50px {
  margin-right: 50px;
}

.mb-50px {
  margin-bottom: 50px;
}

.ms-50px {
  margin-left: 50px;
}

.mt-51px {
  margin-top: 51px;
}

.me-51px {
  margin-right: 51px;
}

.mb-51px {
  margin-bottom: 51px;
}

.ms-51px {
  margin-left: 51px;
}

.mt-52px {
  margin-top: 52px;
}

.me-52px {
  margin-right: 52px;
}

.mb-52px {
  margin-bottom: 52px;
}

.ms-52px {
  margin-left: 52px;
}

.mt-53px {
  margin-top: 53px;
}

.me-53px {
  margin-right: 53px;
}

.mb-53px {
  margin-bottom: 53px;
}

.ms-53px {
  margin-left: 53px;
}

.mt-54px {
  margin-top: 54px;
}

.me-54px {
  margin-right: 54px;
}

.mb-54px {
  margin-bottom: 54px;
}

.ms-54px {
  margin-left: 54px;
}

.mt-55px {
  margin-top: 55px;
}

.me-55px {
  margin-right: 55px;
}

.mb-55px {
  margin-bottom: 55px;
}

.ms-55px {
  margin-left: 55px;
}

.mt-56px {
  margin-top: 56px;
}

.me-56px {
  margin-right: 56px;
}

.mb-56px {
  margin-bottom: 56px;
}

.ms-56px {
  margin-left: 56px;
}

.mt-57px {
  margin-top: 57px;
}

.me-57px {
  margin-right: 57px;
}

.mb-57px {
  margin-bottom: 57px;
}

.ms-57px {
  margin-left: 57px;
}

.mt-58px {
  margin-top: 58px;
}

.me-58px {
  margin-right: 58px;
}

.mb-58px {
  margin-bottom: 58px;
}

.ms-58px {
  margin-left: 58px;
}

.mt-59px {
  margin-top: 59px;
}

.me-59px {
  margin-right: 59px;
}

.mb-59px {
  margin-bottom: 59px;
}

.ms-59px {
  margin-left: 59px;
}

.mt-60px {
  margin-top: 60px;
}

.me-60px {
  margin-right: 60px;
}

.mb-60px {
  margin-bottom: 60px;
}

.ms-60px {
  margin-left: 60px;
}

.mt-61px {
  margin-top: 61px;
}

.me-61px {
  margin-right: 61px;
}

.mb-61px {
  margin-bottom: 61px;
}

.ms-61px {
  margin-left: 61px;
}

.mt-62px {
  margin-top: 62px;
}

.me-62px {
  margin-right: 62px;
}

.mb-62px {
  margin-bottom: 62px;
}

.ms-62px {
  margin-left: 62px;
}

.mt-63px {
  margin-top: 63px;
}

.me-63px {
  margin-right: 63px;
}

.mb-63px {
  margin-bottom: 63px;
}

.ms-63px {
  margin-left: 63px;
}

.mt-64px {
  margin-top: 64px;
}

.me-64px {
  margin-right: 64px;
}

.mb-64px {
  margin-bottom: 64px;
}

.ms-64px {
  margin-left: 64px;
}

.mt-65px {
  margin-top: 65px;
}

.me-65px {
  margin-right: 65px;
}

.mb-65px {
  margin-bottom: 65px;
}

.ms-65px {
  margin-left: 65px;
}

.mt-66px {
  margin-top: 66px;
}

.me-66px {
  margin-right: 66px;
}

.mb-66px {
  margin-bottom: 66px;
}

.ms-66px {
  margin-left: 66px;
}

.mt-67px {
  margin-top: 67px;
}

.me-67px {
  margin-right: 67px;
}

.mb-67px {
  margin-bottom: 67px;
}

.ms-67px {
  margin-left: 67px;
}

.mt-68px {
  margin-top: 68px;
}

.me-68px {
  margin-right: 68px;
}

.mb-68px {
  margin-bottom: 68px;
}

.ms-68px {
  margin-left: 68px;
}

.mt-69px {
  margin-top: 69px;
}

.me-69px {
  margin-right: 69px;
}

.mb-69px {
  margin-bottom: 69px;
}

.ms-69px {
  margin-left: 69px;
}

.mt-70px {
  margin-top: 70px;
}

.me-70px {
  margin-right: 70px;
}

.mb-70px {
  margin-bottom: 70px;
}

.ms-70px {
  margin-left: 70px;
}

.mt-71px {
  margin-top: 71px;
}

.me-71px {
  margin-right: 71px;
}

.mb-71px {
  margin-bottom: 71px;
}

.ms-71px {
  margin-left: 71px;
}

.mt-72px {
  margin-top: 72px;
}

.me-72px {
  margin-right: 72px;
}

.mb-72px {
  margin-bottom: 72px;
}

.ms-72px {
  margin-left: 72px;
}

.mt-73px {
  margin-top: 73px;
}

.me-73px {
  margin-right: 73px;
}

.mb-73px {
  margin-bottom: 73px;
}

.ms-73px {
  margin-left: 73px;
}

.mt-74px {
  margin-top: 74px;
}

.me-74px {
  margin-right: 74px;
}

.mb-74px {
  margin-bottom: 74px;
}

.ms-74px {
  margin-left: 74px;
}

.mt-75px {
  margin-top: 75px;
}

.me-75px {
  margin-right: 75px;
}

.mb-75px {
  margin-bottom: 75px;
}

.ms-75px {
  margin-left: 75px;
}

.mt-76px {
  margin-top: 76px;
}

.me-76px {
  margin-right: 76px;
}

.mb-76px {
  margin-bottom: 76px;
}

.ms-76px {
  margin-left: 76px;
}

.mt-77px {
  margin-top: 77px;
}

.me-77px {
  margin-right: 77px;
}

.mb-77px {
  margin-bottom: 77px;
}

.ms-77px {
  margin-left: 77px;
}

.mt-78px {
  margin-top: 78px;
}

.me-78px {
  margin-right: 78px;
}

.mb-78px {
  margin-bottom: 78px;
}

.ms-78px {
  margin-left: 78px;
}

.mt-79px {
  margin-top: 79px;
}

.me-79px {
  margin-right: 79px;
}

.mb-79px {
  margin-bottom: 79px;
}

.ms-79px {
  margin-left: 79px;
}

.mt-80px {
  margin-top: 80px;
}

.me-80px {
  margin-right: 80px;
}

.mb-80px {
  margin-bottom: 80px;
}

.ms-80px {
  margin-left: 80px;
}

.mt-81px {
  margin-top: 81px;
}

.me-81px {
  margin-right: 81px;
}

.mb-81px {
  margin-bottom: 81px;
}

.ms-81px {
  margin-left: 81px;
}

.mt-82px {
  margin-top: 82px;
}

.me-82px {
  margin-right: 82px;
}

.mb-82px {
  margin-bottom: 82px;
}

.ms-82px {
  margin-left: 82px;
}

.mt-83px {
  margin-top: 83px;
}

.me-83px {
  margin-right: 83px;
}

.mb-83px {
  margin-bottom: 83px;
}

.ms-83px {
  margin-left: 83px;
}

.mt-84px {
  margin-top: 84px;
}

.me-84px {
  margin-right: 84px;
}

.mb-84px {
  margin-bottom: 84px;
}

.ms-84px {
  margin-left: 84px;
}

.mt-85px {
  margin-top: 85px;
}

.me-85px {
  margin-right: 85px;
}

.mb-85px {
  margin-bottom: 85px;
}

.ms-85px {
  margin-left: 85px;
}

.mt-86px {
  margin-top: 86px;
}

.me-86px {
  margin-right: 86px;
}

.mb-86px {
  margin-bottom: 86px;
}

.ms-86px {
  margin-left: 86px;
}

.mt-87px {
  margin-top: 87px;
}

.me-87px {
  margin-right: 87px;
}

.mb-87px {
  margin-bottom: 87px;
}

.ms-87px {
  margin-left: 87px;
}

.mt-88px {
  margin-top: 88px;
}

.me-88px {
  margin-right: 88px;
}

.mb-88px {
  margin-bottom: 88px;
}

.ms-88px {
  margin-left: 88px;
}

.mt-89px {
  margin-top: 89px;
}

.me-89px {
  margin-right: 89px;
}

.mb-89px {
  margin-bottom: 89px;
}

.ms-89px {
  margin-left: 89px;
}

.mt-90px {
  margin-top: 90px;
}

.me-90px {
  margin-right: 90px;
}

.mb-90px {
  margin-bottom: 90px;
}

.ms-90px {
  margin-left: 90px;
}

.mt-91px {
  margin-top: 91px;
}

.me-91px {
  margin-right: 91px;
}

.mb-91px {
  margin-bottom: 91px;
}

.ms-91px {
  margin-left: 91px;
}

.mt-92px {
  margin-top: 92px;
}

.me-92px {
  margin-right: 92px;
}

.mb-92px {
  margin-bottom: 92px;
}

.ms-92px {
  margin-left: 92px;
}

.mt-93px {
  margin-top: 93px;
}

.me-93px {
  margin-right: 93px;
}

.mb-93px {
  margin-bottom: 93px;
}

.ms-93px {
  margin-left: 93px;
}

.mt-94px {
  margin-top: 94px;
}

.me-94px {
  margin-right: 94px;
}

.mb-94px {
  margin-bottom: 94px;
}

.ms-94px {
  margin-left: 94px;
}

.mt-95px {
  margin-top: 95px;
}

.me-95px {
  margin-right: 95px;
}

.mb-95px {
  margin-bottom: 95px;
}

.ms-95px {
  margin-left: 95px;
}

.mt-96px {
  margin-top: 96px;
}

.me-96px {
  margin-right: 96px;
}

.mb-96px {
  margin-bottom: 96px;
}

.ms-96px {
  margin-left: 96px;
}

.mt-97px {
  margin-top: 97px;
}

.me-97px {
  margin-right: 97px;
}

.mb-97px {
  margin-bottom: 97px;
}

.ms-97px {
  margin-left: 97px;
}

.mt-98px {
  margin-top: 98px;
}

.me-98px {
  margin-right: 98px;
}

.mb-98px {
  margin-bottom: 98px;
}

.ms-98px {
  margin-left: 98px;
}

.mt-99px {
  margin-top: 99px;
}

.me-99px {
  margin-right: 99px;
}

.mb-99px {
  margin-bottom: 99px;
}

.ms-99px {
  margin-left: 99px;
}

.mt-100px {
  margin-top: 100px;
}

.me-100px {
  margin-right: 100px;
}

.mb-100px {
  margin-bottom: 100px;
}

.ms-100px {
  margin-left: 100px;
}

.p1 {
  padding: 1rem;
}

.p2 {
  padding: 2rem;
}

.p3 {
  padding: 3rem;
}

.p4 {
  padding: 4rem;
}

.p5 {
  padding: 5rem;
}

.p6 {
  padding: 6rem;
}

.p7 {
  padding: 7rem;
}

.p8 {
  padding: 8rem;
}

.p9 {
  padding: 9rem;
}

.p10 {
  padding: 10rem;
}

.border {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000000;
}

.flexbox-col1 .box {
  flex: 0 0 auto;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .flexbox-col1 .box {
    flex: 0 0 100%;
  }
}

.sns-col1 .sns_list {
  flex-wrap: wrap;
  flex-direction: row;
}
.sns-col1 .sns_list__list {
  flex: 0 0 auto;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .sns-col1 .sns_list__list {
    flex: 0 0 100%;
  }
}

.flexbox-col2 .box {
  flex: 0 0 auto;
  width: 50%;
}
@media only screen and (max-width: 640px) {
  .flexbox-col2 .box {
    flex: 0 0 100%;
  }
}

.sns-col2 .sns_list {
  flex-wrap: wrap;
  flex-direction: row;
}
.sns-col2 .sns_list__list {
  flex: 0 0 auto;
  width: 50%;
}
@media only screen and (max-width: 640px) {
  .sns-col2 .sns_list__list {
    flex: 0 0 100%;
  }
}

.flexbox-col3 .box {
  flex: 0 0 auto;
  width: 33.3333333333%;
}
@media only screen and (max-width: 640px) {
  .flexbox-col3 .box {
    flex: 0 0 100%;
  }
}

.sns-col3 .sns_list {
  flex-wrap: wrap;
  flex-direction: row;
}
.sns-col3 .sns_list__list {
  flex: 0 0 auto;
  width: 33.3333333333%;
}
@media only screen and (max-width: 640px) {
  .sns-col3 .sns_list__list {
    flex: 0 0 100%;
  }
}

.flexbox-col4 .box {
  flex: 0 0 auto;
  width: 25%;
}
@media only screen and (max-width: 640px) {
  .flexbox-col4 .box {
    flex: 0 0 100%;
  }
}
@media only screen and (max-width: 834px) {
  .flexbox-col4 .box {
    flex: 0 0 50%;
  }
}
@media only screen and (max-width: 640px) {
  .flexbox-col4 .box {
    flex: 0 0 100%;
  }
}

.sns-col4 .sns_list {
  flex-wrap: wrap;
  flex-direction: row;
}
.sns-col4 .sns_list__list {
  flex: 0 0 auto;
  width: 25%;
}
@media only screen and (max-width: 640px) {
  .sns-col4 .sns_list__list {
    flex: 0 0 100%;
  }
}
@media only screen and (max-width: 834px) {
  .sns-col4 .sns_list__list {
    flex: 0 0 50%;
  }
}
@media only screen and (max-width: 640px) {
  .sns-col4 .sns_list__list {
    flex: 0 0 100%;
  }
}

.flexbox-col5 .box {
  flex: 0 0 auto;
  width: 20%;
}
@media only screen and (max-width: 640px) {
  .flexbox-col5 .box {
    flex: 0 0 100%;
  }
}
@media only screen and (max-width: 834px) {
  .flexbox-col5 .box {
    flex: 0 0 50%;
  }
}
@media only screen and (max-width: 640px) {
  .flexbox-col5 .box {
    flex: 0 0 100%;
  }
}

.sns-col5 .sns_list {
  flex-wrap: wrap;
  flex-direction: row;
}
.sns-col5 .sns_list__list {
  flex: 0 0 auto;
  width: 20%;
}
@media only screen and (max-width: 640px) {
  .sns-col5 .sns_list__list {
    flex: 0 0 100%;
  }
}
@media only screen and (max-width: 834px) {
  .sns-col5 .sns_list__list {
    flex: 0 0 50%;
  }
}
@media only screen and (max-width: 640px) {
  .sns-col5 .sns_list__list {
    flex: 0 0 100%;
  }
}

.flexbox-col6 .box {
  flex: 0 0 auto;
  width: 16.6666666667%;
}
@media only screen and (max-width: 640px) {
  .flexbox-col6 .box {
    flex: 0 0 100%;
  }
}
@media only screen and (max-width: 834px) {
  .flexbox-col6 .box {
    flex: 0 0 50%;
  }
}
@media only screen and (max-width: 640px) {
  .flexbox-col6 .box {
    flex: 0 0 100%;
  }
}

.sns-col6 .sns_list {
  flex-wrap: wrap;
  flex-direction: row;
}
.sns-col6 .sns_list__list {
  flex: 0 0 auto;
  width: 16.6666666667%;
}
@media only screen and (max-width: 640px) {
  .sns-col6 .sns_list__list {
    flex: 0 0 100%;
  }
}
@media only screen and (max-width: 834px) {
  .sns-col6 .sns_list__list {
    flex: 0 0 50%;
  }
}
@media only screen and (max-width: 640px) {
  .sns-col6 .sns_list__list {
    flex: 0 0 100%;
  }
}

.h1 h1 {
  font-size: clamp(2.25rem, 2.5vw, 3rem);
}
.h1:not(:has(h1)) {
  font-size: clamp(2.25rem, 2.5vw, 3rem);
}

.h2 h2 {
  font-size: clamp(1.75rem, 1.875vw, 2.25rem);
}
.h2:not(:has(h2)) {
  font-size: clamp(1.75rem, 1.875vw, 2.25rem);
}

.h3 h3 {
  font-size: clamp(1.25rem, 1.25vw, 1.5rem);
}
.h3:not(:has(h3)) {
  font-size: clamp(1.25rem, 1.25vw, 1.5rem);
}

.h4 h4 {
  font-size: clamp(1.125rem, 1.0416666667vw, 1.25rem);
}
.h4:not(:has(h4)) {
  font-size: clamp(1.125rem, 1.0416666667vw, 1.25rem);
}

.h5 h5 {
  font-size: clamp(1rem, 0.9375vw, 1.125rem);
}
.h5:not(:has(h5)) {
  font-size: clamp(1rem, 0.9375vw, 1.125rem);
}

.h6 h6 {
  font-size: clamp(0.875rem, 0.8333333333vw, 1rem);
}
.h6:not(:has(h6)) {
  font-size: clamp(0.875rem, 0.8333333333vw, 1rem);
}

.h2 {
  margin-bottom: 1.875rem;
}
.h2 article > h2 {
  margin-bottom: 0.3125rem;
}
.h2 article > div {
  color: #a5925e;
}

.h3 {
  margin-bottom: 1.875rem;
}
.h3 article > h3 {
  margin-bottom: 0.3125rem;
}
.h3 article > div {
  color: #b7a87f;
}

.flexbox-txt-on-image, .flexbox-card, .flexbox-media {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  clear: both;
}
.flexbox-txt-on-image div.box, .flexbox-card div.box, .flexbox-media div.box {
  box-sizing: border-box;
  overflow: hidden;
}
.flexbox-txt-on-image div.box:last-child, .flexbox-card div.box:last-child, .flexbox-media div.box:last-child {
  margin-bottom: 0;
}

.flexbox-media .box {
  width: 100%;
}
.flexbox-media .box > article {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 834px) {
  .flexbox-media .box > article {
    flex-direction: column !important;
  }
}
.flexbox-media .box > article > h3 {
  display: none;
}
.flexbox-media .box > article > div {
  flex: 1 0 0;
}
@media only screen and (max-width: 834px) {
  .flexbox-media .box > article > div {
    width: 100%;
  }
}
.flexbox-media .box article > a {
  flex: 0 0 50%;
}
@media only screen and (max-width: 834px) {
  .flexbox-media .box article > a {
    width: 100%;
  }
}
.flexbox-media .image-wrapper {
  flex: 0 0 50%;
}
@media only screen and (max-width: 834px) {
  .flexbox-media .image-wrapper {
    width: 100%;
  }
}
.flexbox-media .box.even > article {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 834px) {
  .flexbox-media .box.even > article {
    flex-direction: column;
  }
}

@media only screen and (max-width: 834px) {
  .flexbox-media .box {
    margin-bottom: 0;
  }
}
.flexbox-media .image-wrapper {
  margin-right: 1.5rem;
}
@media only screen and (max-width: 834px) {
  .flexbox-media .image-wrapper {
    margin-right: 0;
    margin-bottom: 1.5rem;
  }
}
.flexbox-media .box.even .image-wrapper {
  margin-right: 0;
  margin-left: 1.5rem;
}
@media only screen and (max-width: 834px) {
  .flexbox-media .box.even .image-wrapper {
    margin-left: 0;
  }
}
.flexbox-media--reverse .box > article {
  flex-direction: row-reverse;
}
.flexbox-media--reverse .image-wrapper {
  margin-right: 0;
  margin-left: 1.5rem;
}
.flexbox-media--style_01 .box article {
  align-items: stretch;
}
.flexbox-media--style_01 .bg {
  display: block;
  width: 100%;
  height: 100%;
  background-color: aquamarine;
}
.flexbox-media--1_1 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-media--1_1 .image-wrapper:has(a) {
  display: block;
}
.flexbox-media--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.flexbox-media--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-media--1_1 .image-wrapper img {
  object-fit: contain;
}
.flexbox-media--4_3 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-media--4_3 .image-wrapper:has(a) {
  display: block;
}
.flexbox-media--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.flexbox-media--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-media--4_3 .image-wrapper img {
  object-fit: contain;
}
.flexbox-media--3_2 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-media--3_2 .image-wrapper:has(a) {
  display: block;
}
.flexbox-media--3_2 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
  text-align: center;
}
.flexbox-media--3_2 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-media--3_2 .image-wrapper img {
  object-fit: contain;
}
.flexbox-media--16_9 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-media--16_9 .image-wrapper:has(a) {
  display: block;
}
.flexbox-media--16_9 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  text-align: center;
}
.flexbox-media--16_9 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-media--16_9 .image-wrapper img {
  object-fit: contain;
}
.flexbox-media--2_1 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-media--2_1 .image-wrapper:has(a) {
  display: block;
}
.flexbox-media--2_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 50%;
  text-align: center;
}
.flexbox-media--2_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-media--2_1 .image-wrapper img {
  object-fit: contain;
}

.flexbox-card .box {
  width: 100%;
}
.flexbox-card .box article > h3 {
  display: none;
}

.flexbox-card--h3_show .box article > h3 {
  display: block;
}
.flexbox-card--1_1 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-card--1_1 .image-wrapper:has(a) {
  display: block;
}
.flexbox-card--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.flexbox-card--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-card--1_1 .image-wrapper img {
  object-fit: contain;
}
.flexbox-card--4_3 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-card--4_3 .image-wrapper:has(a) {
  display: block;
}
.flexbox-card--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.flexbox-card--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-card--4_3 .image-wrapper img {
  object-fit: contain;
}
.flexbox-card--3_2 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-card--3_2 .image-wrapper:has(a) {
  display: block;
}
.flexbox-card--3_2 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
  text-align: center;
}
.flexbox-card--3_2 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-card--3_2 .image-wrapper img {
  object-fit: contain;
}
.flexbox-card--16_9 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-card--16_9 .image-wrapper:has(a) {
  display: block;
}
.flexbox-card--16_9 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  text-align: center;
}
.flexbox-card--16_9 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-card--16_9 .image-wrapper img {
  object-fit: contain;
}
.flexbox-card--2_1 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-card--2_1 .image-wrapper:has(a) {
  display: block;
}
.flexbox-card--2_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 50%;
  text-align: center;
}
.flexbox-card--2_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-card--2_1 .image-wrapper img {
  object-fit: contain;
}

.flexbox-txt-on-image .box > article {
  position: relative;
  z-index: 0;
}
.flexbox-txt-on-image .box > article > h3 {
  display: none;
}
.flexbox-txt-on-image .box > article > div {
  width: 100%;
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.flexbox-txt-on-image--h3_show .box article > h3 {
  display: block;
}
@media only screen and (max-width: 834px) {
  .flexbox-txt-on-image--style_01 {
    flex-direction: column !important;
  }
}
.flexbox-txt-on-image--1_1 .box > article > a {
  position: relative;
  display: block;
}
.flexbox-txt-on-image--1_1 .box > article > a:has(a) {
  display: block;
}
.flexbox-txt-on-image--1_1 .box > article > a:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.flexbox-txt-on-image--1_1 .box > article > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-txt-on-image--1_1 .box > article > a img {
  object-fit: contain;
}
.flexbox-txt-on-image--4_3 .box > article > a {
  position: relative;
  display: block;
}
.flexbox-txt-on-image--4_3 .box > article > a:has(a) {
  display: block;
}
.flexbox-txt-on-image--4_3 .box > article > a:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.flexbox-txt-on-image--4_3 .box > article > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-txt-on-image--4_3 .box > article > a img {
  object-fit: contain;
}
.flexbox-txt-on-image--3_2 .box > article > a {
  position: relative;
  display: block;
}
.flexbox-txt-on-image--3_2 .box > article > a:has(a) {
  display: block;
}
.flexbox-txt-on-image--3_2 .box > article > a:before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
  text-align: center;
}
.flexbox-txt-on-image--3_2 .box > article > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-txt-on-image--3_2 .box > article > a img {
  object-fit: contain;
}
.flexbox-txt-on-image--16_9 .box > article > a {
  position: relative;
  display: block;
}
.flexbox-txt-on-image--16_9 .box > article > a:has(a) {
  display: block;
}
.flexbox-txt-on-image--16_9 .box > article > a:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  text-align: center;
}
.flexbox-txt-on-image--16_9 .box > article > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-txt-on-image--16_9 .box > article > a img {
  object-fit: contain;
}
.flexbox-txt-on-image--2_1 .box > article > a {
  position: relative;
  display: block;
}
.flexbox-txt-on-image--2_1 .box > article > a:has(a) {
  display: block;
}
.flexbox-txt-on-image--2_1 .box > article > a:before {
  content: "";
  display: block;
  padding-top: 50%;
  text-align: center;
}
.flexbox-txt-on-image--2_1 .box > article > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-txt-on-image--2_1 .box > article > a img {
  object-fit: contain;
}

.flexbox-image .box {
  padding: 1rem;
}
.flexbox-image--1_1 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-image--1_1 .image-wrapper:has(a) {
  display: block;
}
.flexbox-image--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.flexbox-image--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-image--1_1 .image-wrapper img {
  object-fit: contain;
}
.flexbox-image--4_3 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-image--4_3 .image-wrapper:has(a) {
  display: block;
}
.flexbox-image--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.flexbox-image--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-image--4_3 .image-wrapper img {
  object-fit: contain;
}
.flexbox-image--3_2 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-image--3_2 .image-wrapper:has(a) {
  display: block;
}
.flexbox-image--3_2 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
  text-align: center;
}
.flexbox-image--3_2 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-image--3_2 .image-wrapper img {
  object-fit: contain;
}
.flexbox-image--16_9 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-image--16_9 .image-wrapper:has(a) {
  display: block;
}
.flexbox-image--16_9 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  text-align: center;
}
.flexbox-image--16_9 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-image--16_9 .image-wrapper img {
  object-fit: contain;
}
.flexbox-image--2_1 .image-wrapper {
  position: relative;
  display: block;
}
.flexbox-image--2_1 .image-wrapper:has(a) {
  display: block;
}
.flexbox-image--2_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 50%;
  text-align: center;
}
.flexbox-image--2_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.flexbox-image--2_1 .image-wrapper img {
  object-fit: contain;
}

@media only screen and (max-width: 834px) {
  .nav {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    transition-property: opacity, background-color, visibility, transform;
    transition-duration: 0.5s;
    transition-timing-function: ease;
    z-index: 1000;
  }
}
.nav .nav__lists {
  list-style: none;
}
.nav .nav__link {
  color: inherit;
  text-decoration: none;
}
.is_open {
  overflow-y: hidden;
}
@media only screen and (max-width: 834px) {
  .is_open .nav {
    opacity: 1;
  }
}

@media only screen and (max-width: 834px) {
  .nav {
    background-color: rgba(0, 0, 0, 0.95);
  }
}
@media only screen and (max-width: 834px) {
  .nav {
    opacity: 1;
    visibility: visible;
    transform: translate(150%, 0);
    transition-property: opacity, background-color, visibility, transform;
    transition-duration: 0.5s;
    transition-timing-function: ease;
  }
}
.nav__lists {
  display: flex;
}
@media only screen and (max-width: 834px) {
  .nav__lists {
    display: block;
    padding-top: 5rem;
  }
}
.nav__list {
  text-align: left;
  position: relative;
}
.nav__list:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: #b7a87f;
  position: absolute;
  bottom: -5px;
  left: 0;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: 0.2s ease-out;
}
.nav__list:hover:before {
  transform: scale(1, 1);
}
@media only screen and (max-width: 834px) {
  .nav__list {
    margin-right: 0 !important;
    border-bottom: 1px solid #fff9ea;
    position: static;
  }
  .nav__list:before {
    content: none;
  }
}
@media only screen and (max-width: 834px) {
  .nav__link {
    display: inline-block;
    width: 100%;
    padding: 2rem 1.25rem;
  }
}
@media only screen and (max-width: 834px) {
  .is_open .nav {
    transform: translate(0, 0) !important;
  }
}

.dpdn .dpdn__lists {
  list-style: none;
}
.dpdn .dpdn__link {
  color: inherit;
  text-decoration: none;
}

.dpdn {
  position: relative;
}
@media only screen and (min-width: 835px) {
  .dpdn__lists {
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  .dpdn__link:before {
    content: "\f105";
    display: inline-block;
    margin-right: 0.625rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
  }
  .dpdn:hover .dpdn__lists {
    min-width: max-content;
    height: auto;
    opacity: 1;
    visibility: visible;
    transition: all 0.3s ease;
  }
}
.dpdn.is_checked .dpdn__lists {
  opacity: 1;
  visibility: visible;
  transition: all 0.5s ease;
}
.dpdn.is_checked .dpdn__btn::before {
  transform: rotate(45deg);
}
.dpdn__lists {
  width: max-content;
  height: 0;
  background-color: white;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease;
  position: absolute;
  top: 30px;
}
@media only screen and (max-width: 834px) {
  .dpdn__lists {
    display: block;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    overflow: hidden;
    position: static;
    transition: all 0.5s ease;
  }
}
.dpdn__list {
  border-bottom: 1px solid #fff9ea;
}
@media only screen and (max-width: 834px) {
  .dpdn__list:first-child {
    border-top: 1px solid #fff9ea;
  }
  .dpdn__list:last-child {
    border-bottom: none;
  }
}
.dpdn__btn-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 834px) {
  .dpdn__btn {
    width: 89px;
    height: 89px;
    background-color: #fff9ea;
  }
  .dpdn__btn::before {
    content: "+";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: 0.3s ease;
  }
}
.dpdn__link {
  display: block;
  padding: 1rem;
}
@media only screen and (max-width: 834px) {
  .dpdn__link {
    padding: 2rem 2rem;
  }
}

.hamburger {
  display: none;
}
@media only screen and (max-width: 834px) {
  .hamburger {
    display: inline-block;
    z-index: 1100;
  }
}

.hamburger {
  width: 40px;
  height: 30px;
  position: fixed;
  top: 15px;
  right: 15px;
}
.hamburger__line {
  width: 100%;
  height: 0.8px;
  border-radius: 1px;
  background-color: #a5925e;
  position: absolute;
  left: 0;
  transition: all 0.5s ease;
}
.hamburger .line1 {
  top: 0;
}
.hamburger .line2 {
  top: 14px;
}
.hamburger .line3 {
  bottom: 0;
}
.is_open .hamburger .line1,
.is_open .hamburger .line2,
.is_open .hamburger .line3 {
  background-color: #ffffff;
}
.is_open .hamburger .line1 {
  transform: translateY(14px) rotate(-45deg);
}
.is_open .hamburger .line2 {
  opacity: 0;
  visibility: hidden;
}
.is_open .hamburger .line3 {
  transform: translateY(-14px) rotate(45deg);
}

.mv .slider__list {
  position: relative;
  display: block;
}
.mv .slider__list:has(a) {
  display: block;
}
.mv .slider__list:before {
  content: "";
  display: block;
  padding-top: 48.6111111111%;
  text-align: center;
}
.mv .slider__list > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.mv .slider__list img {
  object-fit: contain;
}
.mv .slider__source {
  width: 100%;
  height: 100%;
}
.mv .slider__img {
  width: 100%;
  height: 100% !important;
}

.form_wrap.dl-company > dl:last-child > dt, .form_wrap.dl-news > dl:last-child > dt, .form_wrap.dl > dl:last-child > dt,
.form_wrap.dl-company > dl:last-child > dd,
.form_wrap.dl-news > dl:last-child > dd,
.form_wrap.dl > dl:last-child > dd {
  border-bottom: none;
}
.form_wrap.dl-company > dl > dt, .form_wrap.dl-news > dl > dt, .form_wrap.dl > dl > dt,
.form_wrap.dl-company > dl > dd,
.form_wrap.dl-news > dl > dd,
.form_wrap.dl > dl > dd {
  padding: 0;
  background-color: transparent;
  border: none;
}
.form_wrap.dl-company > dl > dt, .form_wrap.dl-news > dl > dt, .form_wrap.dl > dl > dt {
  justify-content: flex-start;
}

.dl--style_01 dl {
  flex-direction: column;
  margin-bottom: 3.75rem;
  text-align: center;
}
.dl--style_01 dl > dt {
  display: block !important;
  margin-bottom: 0.625rem;
  font-size: 1.25rem;
  font-family: Noto Serif JP, serif;
  font-weight: 500;
}

.dl-news {
  max-height: 180px;
  overflow-y: scroll;
}
.dl-news::-webkit-scrollbar {
  width: 5px;
}
.dl-news::-webkit-scrollbar-track {
  background-color: transparent;
}
.dl-news::-webkit-scrollbar-thumb {
  background-color: #dadada;
  border-radius: 5px;
}
.dl-news > dl {
  padding: 1.875rem 1rem;
  border-bottom: 1px solid black;
}
@media only screen and (max-width: 834px) {
  .dl-news > dl {
    flex-direction: column;
  }
}
@media only screen and (max-width: 834px) {
  .dl-news > dl > dt,
  .dl-news > dl > dd {
    width: 100% !important;
  }
}
.dl-news > dl > dt {
  color: #111111;
}

@media only screen and (max-width: 640px) {
  .dl-company > dl {
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .dl-company > dl > dt,
  .dl-company > dl > dd {
    width: 100% !important;
  }
}

.dl-company--style_01.form_wrap > dl {
  border-top: 1px solid black;
}
.dl-company--style_01.form_wrap > dl:last-child {
  border-bottom: 1px solid black;
}
@media only screen and (max-width: 640px) {
  .dl-company--style_01.form_wrap > dl:last-child {
    border-bottom: 0;
  }
}
@media only screen and (max-width: 640px) {
  .dl-company--style_01.form_wrap > dl {
    margin-bottom: 1.5625rem;
    border-top: 0;
  }
}
.dl-company--style_01.form_wrap > dl > dt {
  justify-content: center;
  align-items: center;
  padding: 1.875rem 1rem !important;
  background-color: rgb(240, 240, 240) !important;
}
@media only screen and (max-width: 640px) {
  .dl-company--style_01.form_wrap > dl > dt {
    margin-bottom: 0.390625rem;
  }
}
.dl-company--style_01.form_wrap > dl > dd {
  padding: 1.875rem 1rem !important;
  border-bottom: 1px solid black;
}
@media only screen and (max-width: 640px) {
  .dl-company--style_01.form_wrap > dl > dd {
    border-left: none !important;
  }
}

.btn {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  border: 2px solid transparent;
  transition: 0.4s ease;
}
.btn :hover {
  transition: 0.4s ease;
}

.btn {
  padding: 0 4.375rem 0.625rem 0.3125rem;
  color: #000000 !important;
  border-bottom: 1px solid #411c09;
  position: relative;
}
.btn :hover {
  opacity: 0.8;
}
.btn:before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  background-color: #411c09;
  border-radius: 3px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(50%, 55%);
}
.btn:after {
  content: "";
  display: inline-block;
  width: 60px;
  height: 60px;
  border: 0.5px solid #411c09;
  border-radius: 60px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%);
}

.sns .sns_list {
  border: none;
}
.sns .sns_list__list {
  display: block;
  border-bottom: none;
  border: none;
}
.sns .sns_list .sns_photo {
  width: 100%;
  padding: 0;
}
.sns .sns_list .sns_photo a {
  display: block;
}
.sns .sns_list .sns_photo img {
  object-fit: cover;
}
.sns .sns_list .sns_text {
  width: 100%;
  padding: 0;
  font-size: 1rem;
}
.sns .sns_list .sns_text .caption {
  word-break: break-all;
}
.sns--image-only .sns_text {
  display: none;
}
.sns--style_01 .sns_photo img {
  object-fit: cover !important;
  border-radius: 10px;
}
.sns--style_02 {
  border-bottom: 1px solid #dddddd;
}
.sns--style_02 .sns_list__list {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 640px) {
  .sns--style_02 .sns_list__list {
    flex-direction: column !important;
  }
}
.sns--style_02 .sns_list .sns_text .sns_date {
  margin-bottom: 2.5rem;
  color: #111111;
  font-size: 0.875rem;
}
.sns--style_02 .sns_list .sns_text .caption {
  margin-bottom: 2.5rem;
  font-family: Noto Serif JP, serif;
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 1.7222222222;
}
.sns--style_02 .sns_list .sns_text > ul > li > a {
  color: #111111;
}
.sns--style_02 .sns_photo {
  flex: 0 0 25%;
  margin-right: 3.125rem;
}
@media only screen and (max-width: 640px) {
  .sns--style_02 .sns_photo {
    margin-right: 0;
    margin-bottom: 1.25rem;
  }
}
.sns--style_02 .sns_photo a {
  position: relative;
  display: block;
}
.sns--style_02 .sns_photo a:has(a) {
  display: block;
}
.sns--style_02 .sns_photo a:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.sns--style_02 .sns_photo a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.sns--style_02 .sns_photo a img {
  object-fit: contain;
}
.sns--1_1 .sns_photo > a {
  position: relative;
  display: block;
}
.sns--1_1 .sns_photo > a:has(a) {
  display: block;
}
.sns--1_1 .sns_photo > a:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.sns--1_1 .sns_photo > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.sns--1_1 .sns_photo > a img {
  object-fit: contain;
}
.sns--4_3 .sns_photo > a {
  position: relative;
  display: block;
}
.sns--4_3 .sns_photo > a:has(a) {
  display: block;
}
.sns--4_3 .sns_photo > a:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.sns--4_3 .sns_photo > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.sns--4_3 .sns_photo > a img {
  object-fit: contain;
}
.sns--3_2 .sns_photo > a {
  position: relative;
  display: block;
}
.sns--3_2 .sns_photo > a:has(a) {
  display: block;
}
.sns--3_2 .sns_photo > a:before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
  text-align: center;
}
.sns--3_2 .sns_photo > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.sns--3_2 .sns_photo > a img {
  object-fit: contain;
}
.sns--16_9 .sns_photo > a {
  position: relative;
  display: block;
}
.sns--16_9 .sns_photo > a:has(a) {
  display: block;
}
.sns--16_9 .sns_photo > a:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  text-align: center;
}
.sns--16_9 .sns_photo > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.sns--16_9 .sns_photo > a img {
  object-fit: contain;
}
.sns--2_1 .sns_photo > a {
  position: relative;
  display: block;
}
.sns--2_1 .sns_photo > a:has(a) {
  display: block;
}
.sns--2_1 .sns_photo > a:before {
  content: "";
  display: block;
  padding-top: 50%;
  text-align: center;
}
.sns--2_1 .sns_photo > a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.sns--2_1 .sns_photo > a img {
  object-fit: contain;
}

.breadcrumb {
  margin-top: 1.875rem;
  margin-bottom: 3.75rem;
}
.breadcrumb li {
  margin-right: 0.625rem;
}
.breadcrumb li:last-child {
  margin-right: 0;
}
.breadcrumb li, .breadcrumb a {
  color: #111111 !important;
  font-size: 0.875rem;
  text-decoration: none;
}

.breadcrumb .pankuzu {
  display: flex;
}

.eyecatch {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 0;
}

.eyecatch {
  min-height: 650px;
}
@media only screen and (max-width: 834px) {
  .eyecatch {
    min-height: 300px;
  }
}
.eyecatch--on-image:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.eyecatch--on-image > article {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translate(0, -50%);
}
.eyecatch--on-image > article > h1 {
  color: white;
  font-weight: 500;
}
.eyecatch--sub-text > article > div {
  color: #ffffff;
  font-size: clamp(0.875rem, 1.0416666667vw, 1.25rem);
}

.ul-number li:last-child, .ul-icon li:last-child, .ul-links li:last-child, .ul-tag li:last-child, .ul li:last-child {
  margin-right: 0;
}

.ul--style_01 li {
  margin-right: 0.5rem;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;
  color: white;
  background-color: #111111;
  border-radius: 10px;
}

.ul-tag {
  display: flex;
  flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
}
.ul-tag ul {
  display: flex;
  flex-wrap: wrap;
}
.ul-tag ul > li {
  margin-right: 0.5rem;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;
  background-color: rgb(225, 242, 255);
}
.ul-tag > li {
  margin-right: 0.5rem;
  margin-bottom: 1rem;
  background-color: rgb(225, 242, 255);
}
.ul-tag > li > a {
  padding: 0.5rem 1rem;
}

.ul-links ul {
  display: flex;
  flex-wrap: wrap;
}
.ul-links ul > li {
  margin-right: 0.5rem;
  margin-bottom: 1rem;
  background-color: #111111;
}
.ul-links ul > li > a {
  display: inline-block;
  padding: 0.5rem 1rem;
  color: color(white);
}
.ul-links ul > li > a:after {
  content: "\f105";
  display: inline-block;
  margin-left: 0.625rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.ul-icon ul > li {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 1rem;
}
.ul-icon ul > li:before {
  content: "\f1b9";
  margin-right: 0.3125rem;
  color: #499aff;
  font-size: 1.25rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.ul-number ul {
  counter-reset: number;
}
.ul-number ul > li {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  padding-left: 0.5rem 1rem;
  position: relative;
}
.ul-number ul > li:before {
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  color: white;
  background-color: color(theme, light);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

@media only screen and (max-width: 640px) {
  .tbl--style_01 tbody {
    font-size: 0.625rem;
  }
}
.tbl--style_01 tr:first-child {
  background-color: #499aff;
}
.tbl--style_01 tr:first-child > td > div {
  color: #ffffff;
}

.flexbox-g1 .box {
  padding: 1rem;
}

.flexbox-g1.flexbox-media .box {
  margin-bottom: 1rem;
  padding: 0;
}

.sns-g1:not(:has(.slick-slide)) .sns_list__list {
  padding: 1rem;
}
.sns-g1:has(.slick-slide) .slick-slide {
  padding: 1rem;
}

.flexbox-g2 .box {
  padding: 2rem;
}

.flexbox-g2.flexbox-media .box {
  margin-bottom: 2rem;
  padding: 0;
}

.sns-g2:not(:has(.slick-slide)) .sns_list__list {
  padding: 2rem;
}
.sns-g2:has(.slick-slide) .slick-slide {
  padding: 2rem;
}

.flexbox-g3 .box {
  padding: 3rem;
}

.flexbox-g3.flexbox-media .box {
  margin-bottom: 3rem;
  padding: 0;
}

.sns-g3:not(:has(.slick-slide)) .sns_list__list {
  padding: 3rem;
}
.sns-g3:has(.slick-slide) .slick-slide {
  padding: 3rem;
}

.flexbox-g4 .box {
  padding: 4rem;
}

.flexbox-g4.flexbox-media .box {
  margin-bottom: 4rem;
  padding: 0;
}

.sns-g4:not(:has(.slick-slide)) .sns_list__list {
  padding: 4rem;
}
.sns-g4:has(.slick-slide) .slick-slide {
  padding: 4rem;
}

.flexbox-g5 .box {
  padding: 5rem;
}

.flexbox-g5.flexbox-media .box {
  margin-bottom: 5rem;
  padding: 0;
}

.sns-g5:not(:has(.slick-slide)) .sns_list__list {
  padding: 5rem;
}
.sns-g5:has(.slick-slide) .slick-slide {
  padding: 5rem;
}

.flexbox-g6 .box {
  padding: 6rem;
}

.flexbox-g6.flexbox-media .box {
  margin-bottom: 6rem;
  padding: 0;
}

.sns-g6:not(:has(.slick-slide)) .sns_list__list {
  padding: 6rem;
}
.sns-g6:has(.slick-slide) .slick-slide {
  padding: 6rem;
}

.flexbox-g7 .box {
  padding: 7rem;
}

.flexbox-g7.flexbox-media .box {
  margin-bottom: 7rem;
  padding: 0;
}

.sns-g7:not(:has(.slick-slide)) .sns_list__list {
  padding: 7rem;
}
.sns-g7:has(.slick-slide) .slick-slide {
  padding: 7rem;
}

.flexbox-g8 .box {
  padding: 8rem;
}

.flexbox-g8.flexbox-media .box {
  margin-bottom: 8rem;
  padding: 0;
}

.sns-g8:not(:has(.slick-slide)) .sns_list__list {
  padding: 8rem;
}
.sns-g8:has(.slick-slide) .slick-slide {
  padding: 8rem;
}

.flexbox-g9 .box {
  padding: 9rem;
}

.flexbox-g9.flexbox-media .box {
  margin-bottom: 9rem;
  padding: 0;
}

.sns-g9:not(:has(.slick-slide)) .sns_list__list {
  padding: 9rem;
}
.sns-g9:has(.slick-slide) .slick-slide {
  padding: 9rem;
}

.flexbox-g10 .box {
  padding: 10rem;
}

.flexbox-g10.flexbox-media .box {
  margin-bottom: 10rem;
  padding: 0;
}

.sns-g10:not(:has(.slick-slide)) .sns_list__list {
  padding: 10rem;
}
.sns-g10:has(.slick-slide) .slick-slide {
  padding: 10rem;
}

.form.form_wrap dl:last-of-type > dt, .form.form_wrap dl:last-of-type > dd {
  border: none;
}
.form.form_wrap dt, .form.form_wrap dd {
  border: none;
  background-color: transparent;
}
.form.form_wrap dt {
  flex-direction: row;
  justify-content: flex-start;
  background-color: transparent;
}
.form.form_wrap dd input {
  padding: 10px 5px !important;
}

#TRANS_ANNOT {
  color: rgb(255, 97, 97);
}

h2.mail.title {
  display: none;
}

.policy h2 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 500;
}
.policy p {
  margin-bottom: 3rem;
}

#global_header {
  position: relative;
}

.header .logo {
  max-width: 50%;
  position: absolute;
  top: 50%;
  left: 10%;
  z-index: 1;
  transform: translate(0, -50%);
}
@media only screen and (max-width: 1200px) {
  .header .logo {
    max-width: 30%;
  }
}
@media only screen and (max-width: 834px) {
  .header .logo {
    width: auto;
    max-width: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.header .logo img {
  display: inline-block;
  width: 100%;
  min-width: 180px;
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: 1.875rem 1.25rem;
  position: absolute;
  top: 0;
  z-index: 900;
}
.header .nav {
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translate(0, -50%);
  z-index: 900;
}
@media only screen and (max-width: 834px) {
  .header .nav {
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(100%, 0);
  }
}
.header .nav__lists {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 834px) {
  .header .nav__lists {
    display: block;
  }
}
.header .nav__list {
  margin-bottom: 2.5rem;
}
.header .nav__list:last-child {
  margin-bottom: 0;
}
.header .nav__link {
  font-size: 0.875rem;
  color: #ffffff;
}
.header .nav__link:after {
  content: attr(data-en);
  display: inline-block;
  margin-left: 0.625rem;
  font-size: 0.75rem;
}
.header .nav-cloned {
  width: 100%;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  transform: translate(0, -100%);
  transition: 0.5s;
  z-index: 1000;
}
@media only screen and (max-width: 834px) {
  .header .nav-cloned {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
}
.header .nav-cloned .nav__lists {
  flex-direction: row;
}
.header .nav-cloned .nav__list {
  flex: 1 0 0;
  margin-bottom: 0;
  text-align: center;
}
.header .nav-cloned .nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.header .nav-cloned .nav__link:after {
  margin-left: 0;
}
.header .nav-cloned.is_active {
  transform: translate(0, 0);
}
@media only screen and (max-width: 834px) {
  .header .contact {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
  }
}
.header .tel, .header .mail {
  display: inline-block;
}
@media only screen and (max-width: 834px) {
  .header .tel, .header .mail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 5px 0 0 5px;
    background-color: #411c09;
  }
}
.header .tel *, .header .mail * {
  color: #ffffff;
  font-size: 1.25rem;
}
@media only screen and (max-width: 834px) {
  .header .tel *, .header .mail * {
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 834px) {
  .header .tel__text, .header .mail__text {
    writing-mode: vertical-lr;
  }
}
.header .tel i, .header .mail i {
  margin-right: 0.3125rem;
}
@media only screen and (max-width: 834px) {
  .header .tel i, .header .mail i {
    margin-right: 0;
    margin-bottom: 0.3125rem;
  }
}
.header .tel {
  margin-right: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .header .tel {
    margin-right: 0;
    margin-bottom: 1.25rem;
    padding: 0.625rem;
  }
}
.header .mail {
  min-width: 240px;
  padding: 1.5rem;
  border: 1px solid #ffffff;
}
@media only screen and (max-width: 834px) {
  .header .mail {
    min-width: 0;
    padding: 0.625rem;
    border: none;
  }
}

.mv .slider__list {
  min-height: 600px;
}
.mv img {
  object-fit: cover !important;
}

.footer .contact {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
  background-image: url(/images/top/contact_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1000px) {
  .footer .contact {
    background-attachment: initial;
  }
}
.footer .contact * {
  text-shadow: 1px 1px 1px #5a5a5a;
}
.footer .contact:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: rgba(255, 229, 182, 0.5);
  z-index: -1;
}
.footer .contact__inner {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .footer .contact__inner {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.footer .contact * {
  color: #ffffff;
}
.footer .contact .title {
  margin-bottom: 3.75rem;
}
.footer .contact .title__main, .footer .contact .title__sub {
  display: block;
}
.footer .contact .title__main {
  font-size: clamp(1.625rem, 1.7708333333vw, 2.125rem);
}
.footer .contact .title__sub {
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer .contact .title__sub::before, .footer .contact .title__sub::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: white;
}
.footer .contact .title__sub::before {
  margin-right: 0.625rem;
}
.footer .contact .title__sub::after {
  margin-left: 0.625rem;
}
@media only screen and (max-width: 640px) {
  .footer .contact__btns {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.footer .contact__btns * {
  color: #ffffff;
  font-size: 1.25rem;
}
.footer .contact__btns i {
  margin-right: 0.3125rem;
}
@media only screen and (max-width: 834px) {
  .footer .contact__btns i {
    margin-right: 0;
    margin-bottom: 0.3125rem;
  }
}
.footer .contact .tel,
.footer .contact .mail {
  display: inline-block;
}
.footer .contact .tel *,
.footer .contact .mail * {
  color: #ffffff;
  font-size: 1.25rem;
}
.footer .contact .tel i,
.footer .contact .mail i {
  margin-right: 0.3125rem;
}
@media only screen and (max-width: 834px) {
  .footer .contact .tel i,
  .footer .contact .mail i {
    margin-right: 0;
    margin-bottom: 0.3125rem;
  }
}
.footer .contact .tel {
  margin-right: 5rem;
}
@media only screen and (max-width: 640px) {
  .footer .contact .tel {
    margin-right: 0;
    margin-bottom: 2.5rem;
  }
}
.footer .contact .mail {
  min-width: 240px;
  padding: 1.5rem;
  border: 1px solid #ffffff;
}
.footer .info {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media only screen and (max-width: 834px) {
  .footer .info {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}
.footer .info__inner {
  display: flex;
  align-items: center;
  max-width: 1706.6666666667px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .footer .info__inner {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media only screen and (max-width: 834px) {
  .footer .info__inner {
    display: block;
  }
}
.footer .info .info-map {
  flex: 0 0 53.125%;
  margin-right: 9.375%;
  position: relative;
  display: block;
}
.footer .info .info-map:has(a) {
  display: block;
}
.footer .info .info-map:before {
  content: "";
  display: block;
  padding-top: 77.9411764706%;
  text-align: center;
}
.footer .info .info-map > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.footer .info .info-map img {
  object-fit: contain;
}
@media only screen and (max-width: 834px) {
  .footer .info .info-map {
    margin-right: 0;
    margin-bottom: 2.5rem;
  }
}
.footer .info .company {
  flex: 1 0 0;
  text-align: left;
}
.footer .info .company__dl {
  margin-bottom: 2.5rem;
}
.footer .info .company__dl:last-child {
  margin-bottom: 0;
}
.footer .info .company__dt {
  margin-bottom: 1rem;
}
.footer .footer-navigation {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #411c09;
}
.footer .footer-navigation__inner {
  max-width: 1706.6666666667px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .footer .footer-navigation__inner {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.footer .footer-navigation .title {
  margin-bottom: 2.5rem;
}
.footer .footer-navigation .footer-nav {
  margin-bottom: 5rem;
}
.footer .footer-navigation .footer-nav__lists {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 834px) {
  .footer .footer-navigation .footer-nav__lists {
    flex-direction: column;
  }
}
.footer .footer-navigation .footer-nav__list {
  margin-right: 4.375rem;
}
@media only screen and (max-width: 834px) {
  .footer .footer-navigation .footer-nav__list {
    margin-right: 0;
    margin-bottom: 2.5rem;
  }
}
.footer .footer-navigation .footer-nav__list:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 834px) {
  .footer .footer-navigation .footer-nav__list:last-child {
    margin-bottom: 0;
  }
}
.footer .footer-navigation .footer-nav__link {
  color: #ffffff;
}
.footer .copyright {
  color: #ffffff;
  font-size: 0.6875rem;
}

.top #contents,
.top #main,
.top #main #col_main {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.about {
  display: flex;
  align-items: center;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 834px) {
  .about {
    display: block;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
@media only screen and (max-width: 834px) and (max-width: 834px) {
  .about {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.about__body {
  flex: 0 0 50%;
  padding-top: 3.75rem;
  padding-right: 3.75rem;
  padding-bottom: 3.75rem;
  padding-left: 8.3333333333%;
}
@media only screen and (max-width: 834px) {
  .about__body {
    margin-bottom: 2.5rem;
    padding-right: 0;
    padding-left: 0;
    flex: 0 0 100%;
  }
}
.about__title {
  margin-bottom: 3.75rem;
}
.about__title > article > h1 {
  font-size: clamp(1.75rem, 1.7708333333vw, 2.125rem);
  font-family: Noto Serif JP, serif;
  font-weight: 600;
}
.about__title > article > div {
  font-family: Noto Serif JP, serif;
  font-weight: 300;
  font-size: 0.8125rem;
}
.about__subtitle {
  margin-bottom: 2.5rem;
}
.about__subtitle article > h2 {
  font-size: clamp(1.125rem, 1.25vw, 1.5rem);
  font-family: Noto Serif JP, serif;
  font-weight: 700;
}
.about__text div {
  line-height: 3.1875;
}
.about__image {
  flex: 1 0 0;
  position: relative;
  display: block;
}
.about__image:has(a) {
  display: block;
}
.about__image:before {
  content: "";
  display: block;
  padding-top: 133.8709677419%;
  text-align: center;
}
.about__image > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.about__image img {
  object-fit: contain;
}
@media only screen and (max-width: 834px) {
  .about__image {
    flex: 0 0 100%;
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
  }
}
.about__image img {
  object-fit: cover;
}

.concept__title, .menu__title, .s-sns__title {
  margin-bottom: 3.75rem;
}
.concept__title article > h2, .menu__title article > h2, .s-sns__title article > h2 {
  font-size: clamp(1.75rem, 1.7708333333vw, 2.125rem);
}
.concept__title > article > div, .menu__title > article > div, .s-sns__title > article > div {
  font-family: Noto Serif JP, serif;
  font-weight: 300;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.concept__title > article > div::before, .concept__title > article > div::after, .menu__title > article > div::before, .menu__title > article > div::after, .s-sns__title > article > div::before, .s-sns__title > article > div::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: white;
}
.concept__title > article > div::before, .menu__title > article > div::before, .s-sns__title > article > div::before {
  margin-right: 0.625rem;
}
.concept__title > article > div::after, .menu__title > article > div::after, .s-sns__title > article > div::after {
  margin-left: 0.625rem;
}

.concept {
  padding-top: 8.75rem;
  padding-bottom: 8.75rem;
  position: relative;
  z-index: 0;
}
.concept__inner {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .concept__inner {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.concept__bg {
  width: 100%;
  height: 63.5135135135%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-attachment: fixed;
}
@media only screen and (max-width: 1000px) {
  .concept__bg {
    background-attachment: initial;
  }
}
@media only screen and (max-width: 640px) {
  .concept__bg {
    height: 100%;
  }
}
.concept__bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 229, 182, 0.5);
  position: absolute;
  top: 0;
  left: 0;
}
.concept__title {
  margin-bottom: 3.75rem;
}
.concept__title * {
  color: #ffffff;
}
.concept__conts {
  display: flex;
}
.concept__conts .box {
  flex: 1 0 calc((100% - 7.5rem) / 3);
  margin-right: 3.75rem;
}
@media only screen and (max-width: 640px) {
  .concept__conts .box {
    flex: 0 0 100%;
    margin-right: 0;
    margin-bottom: 3.75rem;
  }
}
.concept__conts .box:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 640px) {
  .concept__conts .box:last-child {
    margin-bottom: 0;
  }
}
.concept__conts .box article > div {
  font-family: Noto Serif JP, serif;
  font-weight: 500;
  font-size: 1.125rem;
  text-align: center;
}
.concept__conts .image-wrapper {
  margin-bottom: 1.25rem;
  position: relative;
  display: block;
}
.concept__conts .image-wrapper:has(a) {
  display: block;
}
.concept__conts .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 83.3333333333%;
  text-align: center;
}
.concept__conts .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.concept__conts .image-wrapper img {
  object-fit: contain;
}

.menu {
  padding-bottom: 10rem;
}
@media only screen and (max-width: 640px) {
  .menu {
    padding-top: 3.75rem;
  }
}
.menu__title > article > div {
  display: flex;
  align-items: center;
  justify-content: center;
}
.menu__title > article > div::before, .menu__title > article > div::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: #000000;
}
.menu__title > article > div::before {
  margin-right: 0.625rem;
}
.menu__title > article > div::after {
  margin-left: 0.625rem;
}
.menu .box {
  overflow: visible !important;
}
@media only screen and (max-width: 834px) {
  .menu .box {
    margin-bottom: 4.375rem;
  }
  .menu .box:last-child {
    margin-bottom: 0;
  }
}
.menu .box .image-wrapper {
  margin-right: 8.3333333333%;
  position: relative;
  display: block;
}
.menu .box .image-wrapper:has(a) {
  display: block;
}
.menu .box .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.menu .box .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.menu .box .image-wrapper img {
  object-fit: contain;
}
@media only screen and (max-width: 834px) {
  .menu .box .image-wrapper {
    margin-right: 0;
  }
}
.menu .box article > div {
  padding: 1.25rem;
}
.flexbox-media .even article > div {
  margin-left: 8.3333333333%;
}
@media only screen and (max-width: 834px) {
  .flexbox-media .even article > div {
    margin-left: 0;
  }
}

.menu .box .title {
  margin-bottom: 3.75rem;
  font-family: Noto Serif JP, serif;
  font-weight: 300;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.menu .box .title::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: #000000;
}
.menu .box .title::before {
  margin-right: 0.625rem;
}
.menu .box .text {
  margin-bottom: 3.75rem;
  line-height: 3.1875;
}

.s-sns__inner {
  max-width: 1333.3333333333px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .s-sns__inner {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.s-sns__title > article > div {
  display: flex;
  align-items: center;
  justify-content: center;
}
.s-sns__title > article > div::before, .s-sns__title > article > div::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: #000000;
}
.s-sns__title > article > div::before {
  margin-right: 0.625rem;
}
.s-sns__title > article > div::after {
  margin-left: 0.625rem;
}
.s-sns__conts {
  margin-bottom: 5rem;
}
.s-sns__facebook {
  margin-bottom: 10.625rem;
  text-align: center;
}
.s-sns .facebook-wrapper {
  width: 500px;
  height: 550px;
  margin: 0 auto;
}
@media only screen and (max-width: 640px) {
  .s-sns .facebook-wrapper {
    width: 300px;
    height: 350px;
  }
}

/* ================================================================= 
 License : e-TRUST Inc.
 File name : blog.css
 Style : reset & default
 文字コード UTF-8N 改行コード LF
 Build 20210108
================================================================= */
* {
  box-sizing: border-box;
}

.blog img {
  border: 0px;
  max-width: 100%;
}

.blog video {
  max-width: 100%;
}

.blog input,
.blog textarea,
.blog select,
.blog button {
  margin: 0;
  padding: 4px 2px;
  font-size: 1rem;
}

a {
  /*a_color*/
}

a:hover,
a:active {
  /*a_hover*/
}

a:visited {
  /*a_visit*/
}

a:focus {
  outline: none;
}

html .blog .clearfix {
  height: 1%;
}

.blog .clearfix {
  display: block;
}

.blog .clearfix:after {
  clear: both;
  display: block;
  height: 0px;
  line-height: 0px;
  content: ".";
  visibility: hidden;
}

.blog select {
  padding: 4px 2px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #ccc;
  font-size: 1rem;
  max-width: 100%;
}

.blog div.wrap {
  margin: 0 auto;
}

#main_image {
  width: 100%;
  height: 300px;
  /*main_height*/
  /*main_image*/
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.blog div.wrap {
  /*cbg_color*/
  /*cbg_image*/
  /*cbg_repeat*/
  display: flex;
}

.blog aside {
  padding: 0 10px;
  width: 25%;
  min-width: 200px;
  overflow: hidden;
}

.blog div#contents {
  width: 75%;
  overflow: hidden;
}

aside div#prof a {
  display: block;
  width: 100%;
  height: 30px;
  text-align: right;
  padding-right: 10px;
}

aside div#search {
  position: relative;
}

aside div#search input {
  width: 100%;
}

aside div#search button {
  position: absolute;
  top: 1px;
  right: 5px;
  width: 28px;
  height: 28px;
  border: none;
  background: url(../img/search.png) no-repeat;
  background-size: 22px;
  background-position: center center;
  text-indent: -9999px;
}

aside h3,
aside nav > div {
  font-size: 1rem;
  line-height: 50px;
  color: #6b6b6b;
}

aside h3:nth-of-type(2),
aside nav > div:nth-of-type(2) {
  margin-top: 20px;
}

aside nav {
  padding: 20px 0;
}

aside nav > a {
  display: block;
  text-align: right;
  padding-right: 10px;
  margin-top: 10px;
}

aside ul li {
  padding: 10px 0;
  border-bottom: 1px dashed #ccc;
}

aside ul li:first-child {
  border-top: 1px solid #ccc;
}

aside ul li a span:nth-of-type(2) {
  display: block;
}

.blog div#contents div.pager {
  line-height: 30px;
  padding: 0 10px 50px 10px;
}

.blog div#contents div.pager a.next {
  float: right;
}

.blog div#contents div#blog_detail {
  padding: 10px 10px 0 10px;
}

.blog div#contents div#prof_detail img {
  padding: 0 10px;
  float: right;
}

.blog div#contents div#prof_detail div#prof_text {
  clear: right;
  padding: 10px;
}

.blog div#contents article div.date {
  line-height: 30px;
  color: #00a2ff;
}

.blog div#contents article h1 span:nth-of-type(2),
.blog div#contents article h2 span:nth-of-type(2) {
  display: block;
  font-size: 0.75rem;
}

.blog div#contents article ul {
  margin-bottom: 10px;
}

.blog div#contents article ul li {
  float: left;
  list-style: none;
}

.blog div#contents article ul li a {
  display: block;
  line-height: 30px;
  margin-right: 10px;
}

.blog div#contents article div.flex {
  display: flex;
  flex-direction: column;
}

.blog div#contents article div.flex_images {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.blog div#contents div.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.blog div#contents div.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.blog div#contents article div.sns {
  display: flex;
  justify-content: center;
}

.blog div#contents article div.sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px;
  width: 200px;
  height: 45px;
  border-radius: 3px;
  text-decoration: none;
}

.blog div#contents article div.sns a span {
  color: #fff;
  font-size: 0.75rem;
}

.blog div#contents article div.sns a i {
  display: block;
  width: 40px;
  height: 40px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

.blog div#contents article div.sns a.tw {
  background: #1da1f2;
}

.blog div#contents article div.sns a.fb {
  background: #2f6db6;
}

.blog div#contents article div.sns a.line {
  background: #00b900;
}

.blog div#contents article div.sns a.tw i {
  background-image: url(../img/TW.png);
}

.blog div#contents article div.sns a.fb i {
  background-image: url(../img/FB.png);
  background-size: 28px;
  background-position: center 3px;
}

.blog div#contents article div.sns a.line i {
  background-image: url(../img/LINE.png);
}

.blog div#contents > dl {
  display: block;
  margin: 0 10px 20px 10px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.blog div#contents > dl dt {
  font-size: 1rem;
  line-height: 30px;
  margin-bottom: 10px;
}

.blog div#contents > dl dt span {
  display: block;
  font-size: 1rem;
}

.blog div#contents > dl ul li {
  float: left;
  list-style: none;
}

.blog div#contents > dl ul li a {
  display: block;
  line-height: 30px;
  margin-right: 10px;
}

.blog div#contents > dl dt span:nth-of-type(2) {
  display: block;
  font-size: 1rem;
}

/* ================================================================= 
 ver5 calendar
================================================================= */
div#form_calendar {
  width: 100%;
  max-width: 300px;
  margin: 10px auto 10px auto;
}

div#form_calendar div.head {
  position: relative;
  width: 100%;
  height: 30px;
  text-align: center;
}

div#form_calendar div.head span {
  position: absolute;
  display: block;
  line-height: 30px;
  font-size: 0.75rem;
  font-weight: bold;
  color: #6b6b6b;
}

div#form_calendar div.head span:nth-of-type(1) {
  top: 0;
  left: 0;
  width: 20px;
  font-size: 1.25rem;
}

div#form_calendar div.head span:nth-of-type(2) {
  top: 0;
  left: 25px;
}

div#form_calendar div.head span:nth-of-type(3) {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1rem;
}

div#form_calendar div.head span:nth-of-type(4) {
  top: 0;
  right: 25px;
}

div#form_calendar div.head span:nth-of-type(5) {
  top: 0;
  right: 0;
  width: 20px;
  font-size: 1.25rem;
}

div#form_calendar div.head span:nth-of-type(1):hover,
div#form_calendar div.head span:nth-of-type(5):hover {
  color: #6f94f5;
  cursor: pointer;
}

div#form_calendar table {
  table-layout: fixed;
  border-collapse: collapse;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
  width: 100%;
}

div#form_calendar table thead tr th {
  border: none;
  text-align: center;
  font-size: 0.75rem;
  font-weight: normal;
  color: #6b6b6b;
}

div#form_calendar table tbody tr {
  height: 30px;
}

div#form_calendar table tbody tr td {
  border: none;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  text-align: center;
  position: relative;
}

div#form_calendar table tbody tr td:first-of-type {
  border-left: 1px solid #ccc;
  background: #f1f1f1;
}

div#form_calendar table tbody tr td.other {
  background: #f9f9f9;
}

div#form_calendar table tbody tr td label {
  font-size: 0.75rem;
}

div#form_calendar table tbody tr td:last-of-type label {
  color: #6f94f5;
}

div#form_calendar table tbody tr td:first-of-type label,
div#form_calendar table tbody tr td.holiday label {
  color: #f17878;
}

div#form_calendar table tbody tr td.other label {
  font-size: 0.75rem;
  color: #ccc;
}

div#form_calendar table tbody tr td.other:last-of-type label {
  color: #92adf3;
}

div#form_calendar table tbody tr td.other:first-of-type label,
div#form_calendar table tbody tr td.other.holiday label {
  color: #f5acac;
}

div#form_calendar table tbody tr td:hover {
  background: rgba(0, 200, 255, 0.82) !important;
  cursor: pointer;
}

div#form_calendar table tbody tr td:hover label {
  cursor: pointer;
}

div#form_calendar table tbody tr td.open {
  background: rgba(120, 220, 255, 0.56);
}

div#form_calendar table tbody tr td.close {
  background: rgba(255, 180, 240, 0.56);
}

div#form_calendar table tbody tr td.blog label {
  display: inline-block;
  width: 22px;
  height: 22px;
  line-height: 22px;
  background: #ffc5c5;
  border-radius: 11px;
}

div#form_calendar dl.open,
div#form_calendar dl.close {
  display: flex;
  font-size: 0.75rem;
}

div#form_calendar dl.open label,
div#form_calendar dl.close label {
  display: inline-block;
  margin-right: 10px;
  width: 30px;
  height: 20px;
  font-size: 0.75rem;
}

div#form_calendar dl.open label {
  background: rgba(120, 220, 255, 0.56);
}

div#form_calendar dl.close label {
  background: rgba(255, 180, 240, 0.56);
}

/* ================================================================= 
 ver5 builingual
================================================================= */
div#builingual {
  background: #f1f1f1;
  padding: 5px 0;
}

div#builingual div.progress {
  display: none;
  float: left;
  line-height: 32px;
  color: #2e7200;
  font-weight: bold;
}

div#builingual div.progress img {
  float: left;
  margin-top: 4px;
  padding: 0 10px 0 20px;
}

div#builingual div.language {
  float: right;
  color: #999;
  font-weight: bold;
}

div#builingual div.language select {
  margin: 0 20px 0 10px;
}

div.translate {
  margin: 30px 0 30px 0;
}

.blog div#contents div#blog_detail + div.translate {
  margin: 10px 10px 30px 10px;
}

.blog div#contents article > p + div.translate {
  margin: 5px 0 30px 0;
}

/* ================================================================= 
 added: 190216 ver5 form ビルドコンテンツ挿入時に必要
================================================================= */
.blog div.form_wrap dl {
  display: flex;
}

.blog div.form_wrap dl dt {
  border: 1px solid #ccc;
  border-right: none;
  border-bottom: none;
  background-color: #f5f5f5;
  padding: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  box-sizing: border-box;
}

.blog div.form_wrap dl dd {
  border: 1px solid #ccc;
  border-bottom: none;
  background-color: #fff;
  padding: 8px;
  box-sizing: border-box;
}

.blog div.form_wrap dl:last-of-type dt {
  border-bottom: 1px solid #ddd;
}

.blog div.form_wrap dl:last-of-type dd {
  border-bottom: 1px solid #ddd;
}

.blog div.form_wrap dl dt label,
.blog div.form_wrap p.annot {
  color: #ff0000;
}

.blog div.form_wrap dl dd > div {
  display: flex;
}

.blog div.form_wrap dl dd input[type=text],
.blog div.form_wrap dl dd input[type=password] {
  width: 300px;
  max-width: 100%;
}

.blog div.form_wrap dl dd div input[type=text],
.blog form div.form_wrap dl dd div select {
  margin-bottom: 8px;
}

.blog div.form_wrap dl dd div:last-of-type input[type=text],
.blog div.form_wrap dl dd div:last-of-type select {
  margin-bottom: 0;
}

.blog div.form_wrap dl dd span {
  margin-right: 8px;
  line-height: 32px;
}

.blog div.form_wrap dl dd input[type=text] + span,
.blog div.form_wrap dl dd select + span {
  margin-left: 8px;
}

.blog div.form_wrap dl dd p {
  margin-top: 4px;
}

.blog div.form_wrap dl dd.addr input,
.blog div.form_wrap dl dd.ship_addr input {
  width: 100%;
}

.blog div.form_wrap dl dd.addr select,
.blog div.form_wrap dl dd.ship_addr select {
  width: 122px !important;
}

.blog div.form_wrap dl dd.addr div:nth-of-type(1) input,
.blog div.form_wrap dl dd.ship_addr div:nth-of-type(1) input {
  width: 100px !important;
  text-align: center;
}

.blog div.form_wrap dl dd.date div,
.blog div.form_wrap dl dd.birthday div,
.blog div.form_wrap dl dd.is_entry div {
  float: left;
  margin-right: 8px;
}

.blog div.form_wrap dl dd.is_entry div {
  display: flex;
  height: 32px;
  align-items: center;
}

.blog div.form_wrap dl dd.is_entry label {
  width: 80px;
}

.blog div.form_wrap dl dd.is_entry input[type=text] {
  width: 160px !important;
}

.blog div.form_wrap dl dd.date input,
.blog div.form_wrap dl dd.birthday input {
  width: 80px !important;
  text-align: center;
}

.blog div.form_wrap dl dd.date select,
.blog div.form_wrap dl dd.birthday select {
  width: 60px !important;
}

.blog div.form_wrap dl dd.date p,
.blog div.form_wrap dl dd.birthday p,
.blog div.form_wrap dl dd.is_entry p {
  padding-top: 4px;
  clear: left;
}

.blog div.form_wrap dl dd.date div:last-of-type input[type=text],
.blog div.form_wrap dl dd.birthday div:last-of-type input[type=text],
.blog div.form_wrap dl dd.date div:last-of-type select,
.blog div.form_wrap dl dd.birthday div:last-of-type select {
  margin-bottom: 8px;
}

.blog div.form_wrap dl dd.number input {
  width: 60px !important;
  text-align: right;
}

.blog div.form_wrap dl dd.radio label,
.blog div.form_wrap dl dd.checkbox label {
  display: inline-block;
  min-width: 80px;
  margin-right: 8px;
}

.blog div.form_wrap.confirm dl dd span {
  color: #ff0000;
}

.blog div.form_wrap.message {
  background: #fff;
  border: 1px solid #ddd;
  padding: 20px;
  margin: 50px 20px 20px 20px;
  border-radius: 2px;
}

.blog div.form_wrap.message ul li {
  font-size: 1.25rem;
  margin-bottom: 10px;
}

.blog div.form_wrap.message p span {
  width: 100%;
  display: block;
  margin-top: 15px;
  font-size: 0.75rem;
}

.blog div.form_wrap.error {
  background: #ff0000;
  color: #fff;
  margin-bottom: 10px;
}

.blog div.form_wrap.error p {
  padding: 5px;
}

/* ================================================================= 
 スマホ　CSS
================================================================= */
@media only screen and (max-width: 640px) {
  .blog div.wrap {
    flex-direction: column-reverse;
  }
  .blog aside {
    width: 98%;
  }
  .blog div#contents {
    width: 98%;
  }
  .blog div#contents article div.sns a {
    background: initial !important;
    width: 40px;
    width: 40px;
  }
  .blog div#contents article div.sns a span {
    display: none;
  }
  .blog div#contents article div.sns a i {
    background-size: 40px 40px !important;
    background-position: center center !important;
  }
  /*-----------------------------------------
   added: 190116 table style sp ビルドコンテンツ挿入時に必要
  ------------------------------------------- */
  .tbl_block th {
    text-align: center;
  }
  .tbl_block th,
  .tbl_block td {
    display: block;
  }
  .tbl_scroll {
    overflow-x: auto;
    white-space: nowrap;
  }
}
.imgL {
  float: left;
  margin-right: 10px;
}

.imgR {
  float: right;
  margin-left: 10px;
}

.imgC {
  margin: 0px auto 0px auto;
  display: block;
}

.blog .bl_sub-eye-catch.pankuzu {
  display: flex;
}

.blog > div.wrap {
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 640px) {
  .blog > div.wrap {
    padding: 0 20px;
  }
}

.blog > .wrap.clearfix::after {
  display: none;
}

.blog > .wrap > aside {
  flex: 25%;
  width: initial;
  min-width: 220px;
  margin-right: 5vw;
  padding: 0;
}
@media only screen and (max-width: 640px) {
  .blog > .wrap > aside {
    width: 100%;
    padding: 0;
  }
}

.blog aside div#search > form {
  position: relative;
}

.blog aside div#search button {
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translate(-2%, -50%);
}

.blog #form_calendar {
  max-width: 100%;
  min-width: 0;
}

.blog nav > div {
  text-align: left;
}

.blog .pages > li {
  text-align: left;
}

.blog div#contents {
  min-width: 0 !important;
  flex: 70%;
  width: initial;
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .blog div#contents {
    width: 100%;
    margin-bottom: 30px;
  }
}
.blog div#contents > article > div > article {
  padding: 0;
}

.blog div#contents > article {
  margin-bottom: 10px;
  padding: 0;
}
@media only screen and (max-width: 640px) {
  .blog div#contents > article {
    padding: 0;
  }
}

.blog div#contents > article:last-child {
  margin-bottom: 0px;
}

.blog div#contents .date {
  margin-bottom: 10px;
}

div#form_calendar div.head span:nth-of-type(1),
aside div#form_calendar div.head span:nth-of-type(5) {
  top: 50%;
  transform: translate(0, -50%);
}

.blog div#contents div.pager a.next {
  transform: translate(2%, 0);
}

.blog div#contents div.pager a.prev {
  left: 2%;
  transform: translate(-2%, 0);
}

div.pager a {
  margin-left: 0;
}

section.blog {
  margin-top: 2rem;
}

.blog div#contents > article h1, .blog div#contents > article h2 {
  padding: 0;
  line-height: 1.5;
}
.blog div#contents > article h1 > span:last-child, .blog div#contents > article h2 > span:last-child {
  display: none;
}
.blog div#contents > article > h1 {
  margin-bottom: 2em;
  padding: 0;
}
.blog div#contents > article > h1 > span {
  padding: 0;
  font-size: 1.5rem;
  line-height: 1.6;
}
.blog div#contents article h1,
.blog div#contents article h2,
.blog div#contents article h3 {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-all;
}

.blog :not(header *,
.blog-hdr-wrapper *,
.bl_sub-eye-catch *,
#contents > article > h1,
footer *) {
  color: #111111;
}

.blog div#contents .blog-h2 > article > h2 {
  font-size: 1.25rem;
}
.blog div#contents .blog-h3 > article > h3 {
  font-size: 1rem;
}
.blog div#contents .blog-image img {
  object-fit: cover;
}
.blog div#contents div#form_calendar dl.open label {
  background-color: rgba(207, 243, 255, 0.56);
}
.blog div#contents div#calendar #form_calendar td.open {
  background-color: rgba(207, 243, 255, 0.56);
}
.blog div#contents div#calendar #form_calendar td.close {
  background-color: rgb(230, 205, 227);
}
.blog div#contents div#contents img {
  object-fit: cover;
}
.blog div#contents div#contents > article > ul {
  margin-bottom: 60px;
}
.blog div#contents div#contents > article > ul > li {
  margin-right: 10px;
  margin-bottom: 10px;
  background-color: rgb(233, 233, 233);
}
.blog div#contents div#contents > article > ul > li > a {
  margin: 0;
  padding: 10px 15px;
}

section.blog {
  margin-bottom: 120px;
}

.wine {
  display: flex;
}
@media only screen and (max-width: 1000px) {
  .wine {
    display: block;
  }
}
.wine__wrapper {
  flex: 0 0 50%;
  padding: 1.25rem;
}
@media only screen and (max-width: 1000px) {
  .wine__wrapper {
    padding: 0;
  }
}
@media only screen and (max-width: 1000px) {
  .wine__wrapper {
    flex: 0 0 100%;
  }
}

.b div {
  line-height: 2.5;
}
.b b {
  padding: 0 0.3125rem;
  font-size: 1.25rem;
  border-bottom: 1px solid #a5925e;
}