@charset "UTF-8";
/**************************************************
* パラメータ定義
**************************************************/
/**********[ ブレークポイント ]**********/
/**********[ カラー設定 ]**********/
/**********[ ページサイズ設定 ]**********/
/* 画像サイズ */
/**************************************************
* フォント設定
**************************************************/
/**********[ 使用フォント ]**********/
/**************************************************
* 初期化
**************************************************/
/**********[ 表示切替 ]**********/
.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

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

* {
  box-sizing: border-box;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #350404;
  font-weight: 500;
  position: relative;
  margin: unset;
  padding: unset;
}
body.block {
  height: 100vh;
  overflow-y: hidden;
}

h1,
h2,
h3 {
  margin: unset;
}

figure {
  margin: unset;
}
figure img {
  width: 100%;
  height: auto;
}

ul,
ol {
  list-style: none;
  padding: unset;
  margin: unset;
}
dl {
  margin: unset;
  padding: unset;
}
dl dt,
dl dd {
  margin: unset;
  padding: unset;
}

p {
  margin: unset;
}

/**********[ 画面サイズ ]**********/
.btn01 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1em;
  font-weight: 500;
  letter-spacing: 0.8px;
  border-radius: 8px;
  background: #ED6C00;
  display: flex;
  padding: clamp(4px, 0.5555555556vw, 8px) clamp(12px, 1.6666666667vw, 24px);
  color: #fff;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .btn01 {
    font-size: 16px;
    line-height: normal;
    padding: 8px 24px;
  }
}
.btn01:hover {
  filter: brightness(80%);
}

.btn02 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1em;
  border-radius: 8px;
  border: 1px solid #ED6C00;
  padding: clamp(4px, 0.5555555556vw, 8px) clamp(12px, 1.6666666667vw, 24px);
  color: #ED6C00;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .btn02 {
    padding: 8px 24px;
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.8px;
  }
}
.btn02:hover {
  filter: brightness(80%);
}

.btn03 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1em;
  font-weight: 500;
  letter-spacing: 0.8px;
  border-radius: 8px;
  background: #ED6C00;
  display: flex;
  padding: clamp(4px, 0.5555555556vw, 8px) clamp(24px, 3.3333333333vw, 48px) clamp(4px, 0.5555555556vw, 8px) clamp(12px, 1.6666666667vw, 24px);
  color: #fff;
  transition: all 0.2s;
  position: relative;
}
@media screen and (max-width: 768px) {
  .btn03 {
    font-size: 16px;
    line-height: normal;
    padding: 12.5px 62px 12.5px 38px;
  }
}
.btn03:hover {
  filter: brightness(80%);
}
.btn03::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  right: clamp(12px, 1.6666666667vw, 24px);
  background: url("../image/icon/mail.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  .btn03::after {
    width: 20px;
    right: 38px;
  }
}

.btn04 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1em;
  font-weight: 500;
  letter-spacing: 0.8px;
  border-radius: 8px;
  background: #DBD0C7;
  display: flex;
  padding: clamp(4px, 0.5555555556vw, 8px) clamp(12px, 1.6666666667vw, 24px);
  color: #fff;
  transition: all 0.2s;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .btn04 {
    font-size: 16px;
    line-height: normal;
    padding: 8px 24px;
  }
}
.btn04:hover {
  filter: brightness(90%);
}

.openbtn {
  position: relative;
  cursor: pointer;
  width: 48px;
  height: 48px;
  border-radius: 5px;
  background: white;
}
.openbtn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 7px;
  height: 2px;
  border-radius: 2px;
  background: #ED6C00;
  width: 70%;
}
.openbtn span:nth-of-type(1) {
  top: calc(50% - 8px);
  transform: translateY(-50%);
}
.openbtn span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.openbtn span:nth-of-type(3) {
  top: calc(50% + 8px);
  transform: translateY(-50%);
}
.openbtn.active span:nth-of-type(1) {
  top: 18px;
  left: 4px;
  transform: translateY(6px) rotate(-45deg);
  width: 80%;
}
.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
.openbtn.active span:nth-of-type(3) {
  top: 30px;
  left: 5px;
  transform: translateY(-6px) rotate(45deg);
  width: 80%;
}

a {
  text-decoration: none;
  color: #2C0B00;
  transition: all 0.2s;
}

.text_link:hover {
  opacity: 0.7;
}

/**************************************************
* ヘッダ
**************************************************/
header {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 100%;
  max-width: 1440px;
  height: 80px;
  z-index: 3;
  padding: 0 clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  header {
    padding: 20px;
  }
}
header section {
  display: block;
  height: 100%;
}
header section article {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
header section article .header-logo figure {
  aspect-ratio: 5.6202531646;
  width: clamp(111px, 15.4166666667vw, 222px);
  height: auto;
  width: 222px;
}
@media screen and (max-width: 768px) {
  header section article .header-logo figure {
    width: 168px;
  }
}
header section article .header-logo figure img {
  width: 100%;
}
header section article nav {
  display: flex;
  flex-direction: "row";
  justify-content: flex-start;
  align-items: center;
  gap: clamp(12px, 1.6666666667vw, 24px);
  border-radius: 16px;
  background: #FFF;
  padding: 12px clamp(12px, 1.6666666667vw, 24px);
}
@media screen and (max-width: 768px) {
  header section article nav {
    display: none;
  }
}
header section article nav .text_link {
  font-size: clamp(16px, 1.1111111111vw, 16px);
  line-height: 1em;
  font-weight: 500;
  letter-spacing: 0.8px;
}
header section article nav .btn03 {
  font-size: clamp(16px, 1.1111111111vw, 16px);
  line-height: 1em;
  padding: 12px 48px 12px 24px;
}
header section article nav .btn03::after {
  width: 20px;
  right: 24px;
}

/**************************************************
* フッタ
**************************************************/
footer {
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid #F0E8E8;
  width: 100%;
  z-index: 2;
  position: relative;
  background: #FDFAF8;
}
footer section {
  margin-left: auto;
  margin-right: auto;
  display: block;
  padding: clamp(28.5px, 3.9583333333vw, 57px) clamp(38px, 5.2777777778vw, 76px) clamp(8px, 1.1111111111vw, 16px);
  width: 100%;
  max-width: 1440px;
}
@media screen and (max-width: 768px) {
  footer section {
    padding-top: 56px;
    padding-bottom: 16px;
  }
}
footer section .top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(12px, 1.6666666667vw, 24px);
}
@media screen and (max-width: 768px) {
  footer section .top {
    flex-direction: column;
    justify-content: flex-start;
    gap: 40px;
    margin-bottom: 24px;
  }
}
footer section .top .footer-logo figure {
  aspect-ratio: 5.6923076923;
  width: clamp(111px, 15.4166666667vw, 222px);
  height: auto;
}
@media screen and (max-width: 768px) {
  footer section .top .footer-logo figure {
    width: 227px;
  }
}
footer section .top .footer-logo figure img {
  width: 100%;
}
footer section .top nav {
  display: flex;
  flex-direction: "row";
  justify-content: flex-start;
  align-items: center;
  gap: clamp(12px, 1.6666666667vw, 24px);
}
@media screen and (max-width: 768px) {
  footer section .top nav {
    flex-direction: column;
    gap: 24px;
  }
}
footer section .top nav .text_link {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1em;
  font-weight: 500;
  letter-spacing: 0.7px;
}
@media screen and (max-width: 768px) {
  footer section .top nav .text_link {
    font-size: 16px;
    line-height: normal;
    letter-spacing: 0.8px;
  }
}
footer section .top nav .btn03 {
  padding: clamp(6px, 0.8333333333vw, 12px) clamp(24px, 3.3333333333vw, 48px) clamp(6px, 0.8333333333vw, 12px) clamp(12px, 1.6666666667vw, 24px);
}
@media screen and (max-width: 768px) {
  footer section .top nav .btn03 {
    padding: 12.5px 62px 12.5px 38px;
  }
}
footer section .bottom {
  margin-bottom: clamp(12px, 1.6666666667vw, 24px);
}
@media screen and (max-width: 768px) {
  footer section .bottom {
    margin-bottom: 24px;
  }
}
footer section .bottom > div {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: start;
  gap: clamp(8px, 1.1111111111vw, 16px);
}
@media screen and (max-width: 768px) {
  footer section .bottom > div {
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
  }
}
footer section .bottom > div .isms {
  aspect-ratio: 2.3409090909;
  width: clamp(128.75px, 17.8819444444vw, 257.5px);
  height: auto;
}
@media screen and (max-width: 768px) {
  footer section .bottom > div .isms {
    width: 209px;
  }
}
footer section .bottom > div .privacy {
  aspect-ratio: 1;
  width: clamp(42.5px, 5.9027777778vw, 85px);
  height: auto;
}
@media screen and (max-width: 768px) {
  footer section .bottom > div .privacy {
    width: 79px;
  }
}
footer section .copyright p {
  font-size: clamp(6px, 0.8333333333vw, 12px);
  line-height: 2em;
  text-align: center;
  color: #350404;
  font-weight: 500;
  letter-spacing: 0.6px;
}
@media screen and (max-width: 768px) {
  footer section .copyright p {
    font-size: 10px;
    line-height: 200%; /* 20px */
    letter-spacing: 0.5px;
  }
}

/**************************************************
* NEWSリスト
**************************************************/
.list-news {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: start;
}
.list-news > li {
  width: 100%;
}
.list-news > li.not p {
  text-align: center;
}
.list-news > li > a {
  display: flex;
  flex-direction: "row";
  justify-content: flex-start;
  align-items: center;
  padding: clamp(8px, 1.1111111111vw, 16px) clamp(12px, 1.6666666667vw, 24px);
  width: 100%;
  background-image: url("../image/common/underline.svg");
  background-repeat: repeat-x;
  background-size: auto;
  background-position: bottom center;
}
@media screen and (max-width: 768px) {
  .list-news > li > a {
    flex-wrap: wrap;
    gap: 12px 20px;
    padding: 14px 16px;
  }
}
.list-news > li > a:hover .data,
.list-news > li > a:hover .detail {
  color: #ED6C00;
}
.list-news > li > a .data {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 2em;
  color: #350404;
  font-weight: 500;
  letter-spacing: 0.8px;
  margin-right: clamp(14px, 1.9444444444vw, 28px);
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .list-news > li > a .data {
    font-size: 12px;
    line-height: 200%; /* 24px */
    letter-spacing: 0.6px;
    margin-right: unset;
  }
}
.list-news > li > a .tag1 {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 2em;
  border-radius: 40px;
  background: #F3BC8E;
  padding: 0 clamp(8px, 1.1111111111vw, 16px);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.7px;
  margin-right: clamp(16px, 2.2222222222vw, 32px);
  min-width: 91px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .list-news > li > a .tag1 {
    padding: 0 12px;
    font-size: 12px;
    line-height: 200%; /* 24px */
    letter-spacing: 0.6px;
    min-width: 74px;
  }
}
.list-news > li > a .detail {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 2em;
  color: #350404;
  font-weight: 500;
  letter-spacing: 0.8px;
  flex: 1;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .list-news > li > a .detail {
    width: 100%;
    font-size: 14px;
    line-height: 160%; /* 22.4px */
    letter-spacing: 0.7px;
    flex: unset;
  }
}

.pagination .nav-links {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.pagination .nav-links span,
.pagination .nav-links a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: clamp(16px, 1.1111111111vw, 16px);
  line-height: 1.25em;
  font-weight: 500;
  width: 40px;
  aspect-ratio: 1;
  border-radius: 8px;
}
.pagination .nav-links span {
  color: #ED6C00;
}
.pagination .nav-links span.prev {
  background: #F5E9DF;
}
.pagination .nav-links span.prev::before {
  background: url("../image/icon/page_2.svg");
  background-size: cover;
  aspect-ratio: 1/1;
  width: 24px;
  height: auto;
}
.pagination .nav-links span.next {
  background: #F5E9DF;
}
.pagination .nav-links span.next::before {
  background: url("../image/icon/page_2.svg");
  transform: translate(-50%, -50%) rotateY(180deg);
  background-size: cover;
  aspect-ratio: 1/1;
  width: 24px;
  height: auto;
}
.pagination .nav-links a {
  color: #fff !important;
  background: #ED6C00;
}
.pagination .nav-links a.prev::before {
  background: url("../image/icon/page_1.svg");
  transform: translate(-50%, -50%) rotateY(180deg);
  background-size: cover;
  aspect-ratio: 1/1;
  width: 24px;
  height: auto;
}
.pagination .nav-links a.next::before {
  background: url("../image/icon/page_1.svg");
  background-size: cover;
  aspect-ratio: 1/1;
  width: 24px;
  height: auto;
}
.pagination .nav-links .next,
.pagination .nav-links .prev {
  position: relative;
}
.pagination .nav-links .next::before,
.pagination .nav-links .prev::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 16px;
  aspect-ratio: 1;
}

.sp_menu {
  transition: all 0.3s;
  position: fixed;
  top: 70px;
  left: 0;
  display: none;
  width: 100%;
  z-index: 10;
}
.sp_menu.is-start {
  display: block;
}
.sp_menu.is-start section {
  opacity: 1;
}
.sp_menu section {
  background: #FDFAF8;
  width: 400px;
  left: unset;
  opacity: 0;
  transform: unset;
  transition: all 0.3s;
  padding-top: 88px;
  display: block;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sp_menu section {
    padding-top: 80px;
  }
}
.sp_menu section nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: start;
  margin-left: auto;
  margin-right: auto;
  max-width: 280px;
  height: calc(100vh - 104px);
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
.sp_menu section nav::-webkit-scrollbar {
  display: none;
}
.sp_menu section nav .text_link {
  color: #2C0B00;
  font-size: 18px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.9px;
  padding-bottom: 28px;
  width: 200px;
  text-align: center;
  background: url("../image/common/underline.svg");
  background-repeat: repeat-x;
  background-size: contain;
  background-position: bottom center;
}
.sp_menu section nav .btn03 {
  max-width: 200px;
  width: 100%;
  height: 48px;
  padding: 12.5px 62px 12.5px 38px;
}
.sp_menu section nav .btn03 span {
  font-size: clamp(15px, 1.0416666667vw, 15px);
  line-height: 1.0666666667em;
}
@media screen and (max-width: 768px) {
  .sp_menu section nav .btn03::after {
    right: 38px;
  }
}
.sp_menu section nav .nav_link {
  margin-bottom: 8px;
  color: #fff;
  width: 100%;
}
.sp_menu section nav .nav_link:hover {
  opacity: 0.6;
}
.sp_menu section nav .nav_link span {
  color: #fff;
}
.sp_menu section nav .btn_01 {
  margin-top: 24px;
  margin-bottom: 32px;
  width: 100%;
}
.sp_menu section nav .btn_01::after {
  right: 7px;
}
.sp_menu section nav .btn_01 p {
  font-size: 16px;
  line-height: 24px;
  padding-left: 14px;
}
.sp_menu section nav .note:hover {
  opacity: 0.6;
}
.sp_menu section nav .note p {
  color: #fff;
  margin-bottom: 11px;
  font-size: 12px;
  line-height: 17.38px;
}
.sp_menu section nav .note figure {
  width: 92.36px;
}
.sp_menu section nav .note figure img {
  width: 100%;
}

.guard_spnavi {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2;
}
.guard_spnavi > div {
  opacity: 0.5;
  width: 100%;
  height: 100%;
}

/**************************************************
* TOP
**************************************************/
#top {
  padding-top: 133px;
  background: #FDFAF8;
  /**********[ mv ]**********/
  /**********[ service ]**********/
  /**********[ news ]**********/
  /**********[ others ]**********/
}
#top section {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  display: block;
}
@media screen and (max-width: 768px) {
  #top section {
    padding: 0 16px;
  }
}
#top > .title {
  margin-bottom: clamp(30px, 4.1666666667vw, 60px);
}
#top > .title > h1 {
  font-size: clamp(23px, 3.1944444444vw, 46px);
  line-height: 1em;
  line-height: normal;
  font-weight: 700;
  letter-spacing: 4.6px;
  margin-bottom: clamp(8.5px, 1.1805555556vw, 17px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top > .title > h1 {
    font-size: 32px;
    letter-spacing: 3.2px;
    margin-bottom: 20px;
    line-height: normal;
  }
}
#top > .title > p {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1em;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top > .title > p {
    font-size: 16px;
    line-height: normal;
    letter-spacing: 0.8px;
  }
}
@media screen and (max-width: 768px) {
  #top > .title {
    margin-bottom: 40px;
  }
}
#top #mv article {
  margin-bottom: clamp(66.5px, 9.2361111111vw, 133px);
}
@media screen and (max-width: 768px) {
  #top #mv article {
    margin-bottom: 133px;
  }
}
#top #mv article .container figure {
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1.7728531856;
  width: clamp(640px, 88.8888888889vw, 1280px);
  height: auto;
}
@media screen and (max-width: 768px) {
  #top #mv article .container figure {
    aspect-ratio: 340/400;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #top #mv article .container figure img {
    border-radius: 25px;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
  }
}
#top #service {
  padding-top: 80px;
  margin-top: -80px;
}
#top #service > .title {
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
}
#top #service > .title > h2 {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 4.8px;
  position: relative;
  margin-bottom: clamp(14px, 1.9444444444vw, 28px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top #service > .title > h2 {
    font-size: 48px;
    line-height: normal;
    letter-spacing: 4.8px;
  }
}
#top #service > .title > h2::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  bottom: calc(clamp(13px, 1.8055555556vw, 26px) * -1);
  background: url("../image/icon/cross.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  #top #service > .title > h2::after {
    width: 20px;
  }
}
#top #service > .title > p {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top #service > .title > p {
    font-size: 16px;
    line-height: normal;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
  }
}
@media screen and (max-width: 768px) {
  #top #service > .title {
    margin-bottom: 40px;
  }
}
#top #service article {
  margin-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #top #service article {
    margin-bottom: 160px;
  }
}
#top #service article .container .text1 {
  font-size: clamp(8.5px, 1.1805555556vw, 17px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 0.85px;
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top #service article .container .text1 {
    margin-bottom: 40px;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%; /* 21px */
    letter-spacing: 0.7px;
  }
}
#top #service article .container ul {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  gap: clamp(12px, 1.6666666667vw, 24px);
  width: clamp(540px, 75vw, 1080px);
}
@media screen and (max-width: 768px) {
  #top #service article .container ul {
    flex-direction: column;
    width: 100%;
    gap: 24px;
  }
}
#top #service article .container ul > li {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.2222222222vw, 32px);
  width: calc(33.33% - clamp(12px, 1.6666666667vw, 24px));
  padding: clamp(15px, 2.0833333333vw, 30px) clamp(17px, 2.3611111111vw, 34px) clamp(47px, 6.5277777778vw, 94px);
  border-radius: 20px;
  background: #FFF;
  box-shadow: 0px 0px 10px 0px rgba(237, 108, 0, 0.37);
  position: relative;
}
@media screen and (max-width: 768px) {
  #top #service article .container ul > li {
    width: 100%;
    padding: 30px 34px 94px;
    gap: 24px;
  }
}
#top #service article .container ul > li h3 {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1em;
  color: #350404;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top #service article .container ul > li h3 {
    font-size: 20px;
    line-height: normal;
  }
}
#top #service article .container ul > li figure {
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1.8039215686;
  width: clamp(138px, 19.1666666667vw, 276px);
  height: auto;
}
@media screen and (max-width: 768px) {
  #top #service article .container ul > li figure {
    width: 197px;
  }
}
#top #service article .container ul > li p {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1.5em;
  color: #350404;
  font-weight: 500;
  letter-spacing: 0.75px;
  flex: 1;
}
@media screen and (max-width: 768px) {
  #top #service article .container ul > li p {
    font-size: 14px;
    line-height: 150%; /* 21px */
    letter-spacing: 0.7px;
  }
}
#top #service article .container ul > li .btn01,
#top #service article .container ul > li .btn04 {
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: clamp(15px, 2.0833333333vw, 30px);
  display: inline-block;
  padding: clamp(6px, 0.8333333333vw, 12px) clamp(12px, 1.6666666667vw, 24px);
}
@media screen and (max-width: 768px) {
  #top #service article .container ul > li .btn01,
  #top #service article .container ul > li .btn04 {
    bottom: 30px;
  }
}
#top #news > .title {
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
}
#top #news > .title > h2 {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 4.8px;
  position: relative;
  margin-bottom: clamp(14px, 1.9444444444vw, 28px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top #news > .title > h2 {
    font-size: 48px;
    line-height: normal;
    letter-spacing: 4.8px;
  }
}
#top #news > .title > h2::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  bottom: calc(clamp(13px, 1.8055555556vw, 26px) * -1);
  background: url("../image/icon/cross.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  #top #news > .title > h2::after {
    width: 20px;
  }
}
#top #news > .title > p {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top #news > .title > p {
    font-size: 16px;
    line-height: normal;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
  }
}
@media screen and (max-width: 768px) {
  #top #news > .title {
    margin-bottom: 40px;
  }
}
#top #news article {
  margin-bottom: clamp(80px, 11.1111111111vw, 160px);
}
@media screen and (max-width: 768px) {
  #top #news article {
    margin-bottom: 160px;
  }
}
#top #news article .container .list-news {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
  width: clamp(540px, 75vw, 1080px);
}
@media screen and (max-width: 768px) {
  #top #news article .container .list-news {
    width: 100%;
    margin-bottom: 40px;
  }
}
#top #news article .container > div {
  text-align: center;
}
#top #news article .container > div .btn02 {
  display: inline-block;
  padding: clamp(5.5px, 0.7638888889vw, 11px) clamp(12px, 1.6666666667vw, 24px);
}
#top #others > .title {
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
}
#top #others > .title > h2 {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 4.8px;
  position: relative;
  margin-bottom: clamp(14px, 1.9444444444vw, 28px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top #others > .title > h2 {
    font-size: 48px;
    line-height: normal;
    letter-spacing: 4.8px;
  }
}
#top #others > .title > h2::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  bottom: calc(clamp(13px, 1.8055555556vw, 26px) * -1);
  background: url("../image/icon/cross.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  #top #others > .title > h2::after {
    width: 20px;
  }
}
#top #others > .title > p {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top #others > .title > p {
    font-size: 16px;
    line-height: normal;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
  }
}
@media screen and (max-width: 768px) {
  #top #others > .title {
    margin-bottom: 40px;
  }
}
#top #others article {
  padding-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #top #others article {
    padding-bottom: 80px;
  }
}
#top #others article .container .list-other {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  gap: clamp(12px, 1.6666666667vw, 24px);
  width: clamp(540px, 75vw, 1080px);
}
@media screen and (max-width: 768px) {
  #top #others article .container .list-other {
    flex-direction: column;
    width: 100%;
    gap: 24px;
  }
}
#top #others article .container .list-other > li {
  width: calc(33.33% - clamp(12px, 1.6666666667vw, 24px));
  border-radius: 20px;
  background: #FFF;
  box-shadow: 0px 0px 10px 0px rgba(237, 108, 0, 0.37);
  padding: clamp(15px, 2.0833333333vw, 30px) clamp(17px, 2.3611111111vw, 34px);
}
@media screen and (max-width: 768px) {
  #top #others article .container .list-other > li {
    width: 100%;
    padding: 30px 34px;
  }
}
#top #others article .container .list-other > li figure {
  aspect-ratio: 1.8039215686;
  width: clamp(138px, 19.1666666667vw, 276px);
  height: auto;
}
@media screen and (max-width: 768px) {
  #top #others article .container .list-other > li figure {
    margin-left: auto;
    margin-right: auto;
    width: 267px;
  }
}

/**************************************************
* ABOUT
**************************************************/
#about {
  padding-top: 110px;
  padding-bottom: 40px;
  background: #FDFAF8;
  /**********[ corporate ]**********/
  /**********[ mission ]**********/
  /**********[ vision ]**********/
  /**********[ conduct ]**********/
  /**********[ member ]**********/
  /**********[ company ]**********/
  /**********[ access ]**********/
}
@media screen and (max-width: 768px) {
  #about {
    padding-top: 100px;
  }
}
#about section {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  display: block;
}
@media screen and (max-width: 768px) {
  #about section {
    padding: 0 20px;
  }
}
#about section > .title {
  color: #2C0B00;
  margin-bottom: clamp(41px, 5.6944444444vw, 82px);
}
#about section > .title > h1 {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 4.8px;
  margin-bottom: clamp(14px, 1.9444444444vw, 28px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  #about section > .title > h1 {
    font-size: 32px;
    line-height: 48px; /* 150% */
    letter-spacing: 3.2px;
    margin-bottom: 28px;
  }
}
#about section > .title > h1::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  bottom: calc(clamp(13px, 1.8055555556vw, 26px) * -1);
  background: url("../image/icon/cross.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  #about section > .title > h1::after {
    width: 20px;
    bottom: -23px;
  }
}
#about section > .title > p {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 768px) {
  #about section > .title > p {
    font-size: 14px;
    line-height: 150%; /* 21px */
    letter-spacing: 0.7px;
  }
}
@media screen and (max-width: 768px) {
  #about section > .title {
    margin-bottom: 55px;
  }
}
#about #corporate {
  margin-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #about #corporate {
    margin-bottom: 80px;
  }
}
#about #corporate > .title {
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
}
#about #corporate > .title > p {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
  text-align: center;
  color: #ED6C00;
}
@media screen and (max-width: 768px) {
  #about #corporate > .title > p {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 8px;
  }
}
#about #corporate > .title > h2 {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #corporate > .title > h2 {
    font-size: 22px;
    line-height: 150%; /* 33px */
    letter-spacing: 2.2px;
  }
}
@media screen and (max-width: 768px) {
  #about #corporate > .title {
    margin-bottom: 40px;
  }
}
#about #corporate .container .text1 {
  font-size: clamp(14px, 1.9444444444vw, 28px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.8px;
  margin-bottom: clamp(12px, 1.6666666667vw, 24px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #corporate .container .text1 {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 24px;
  }
}
#about #corporate .container .text2 {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 1.6px;
  margin-bottom: clamp(12px, 1.6666666667vw, 24px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #corporate .container .text2 {
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 1.2px;
    margin-bottom: 24px;
  }
}
#about #corporate .container .text3 {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #corporate .container .text3 {
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 1.2px;
  }
}
#about #mission {
  margin-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #about #mission {
    margin-bottom: 80px;
  }
}
#about #mission > .title {
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
}
#about #mission > .title > p {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
  text-align: center;
  color: #ED6C00;
}
@media screen and (max-width: 768px) {
  #about #mission > .title > p {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 8px;
  }
}
#about #mission > .title > h2 {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #mission > .title > h2 {
    font-size: 22px;
    line-height: 150%; /* 33px */
    letter-spacing: 2.2px;
  }
}
@media screen and (max-width: 768px) {
  #about #mission > .title {
    margin-bottom: 40px;
  }
}
#about #mission .container .text1 {
  font-size: clamp(14px, 1.9444444444vw, 28px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.8px;
  margin-bottom: clamp(12px, 1.6666666667vw, 24px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #mission .container .text1 {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 24px;
  }
}
#about #mission .container .text2 {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 1.6px;
  margin-bottom: clamp(12px, 1.6666666667vw, 24px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #mission .container .text2 {
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 1.2px;
    margin-bottom: 24px;
  }
}
#about #mission .container .text3 {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #mission .container .text3 {
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 1.2px;
  }
}
#about #vision {
  margin-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #about #vision {
    margin-bottom: 80px;
  }
}
#about #vision > .title {
  margin-bottom: clamp(32px, 4.4444444444vw, 64px);
}
#about #vision > .title > p {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
  text-align: center;
  color: #ED6C00;
}
@media screen and (max-width: 768px) {
  #about #vision > .title > p {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 8px;
  }
}
#about #vision > .title > h2 {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #vision > .title > h2 {
    font-size: 22px;
    line-height: 150%; /* 33px */
    letter-spacing: 2.2px;
  }
}
@media screen and (max-width: 768px) {
  #about #vision > .title {
    margin-bottom: 40px;
  }
}
#about #vision .container {
  margin-left: auto;
  margin-right: auto;
  width: clamp(540px, 75vw, 1080px);
}
@media screen and (max-width: 768px) {
  #about #vision .container {
    width: 100%;
  }
}
#about #vision .container ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: clamp(24px, 3.3333333333vw, 48px);
}
@media screen and (max-width: 768px) {
  #about #vision .container ul {
    width: 100%;
    flex-direction: column;
    gap: 16px;
  }
}
#about #vision .container ul li {
  width: calc(50% - clamp(12px, 1.6666666667vw, 24px));
  text-align: center;
  background: #fff;
  padding: clamp(12px, 1.6666666667vw, 24px);
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  #about #vision .container ul li {
    width: 100%;
    padding: 24px;
  }
}
#about #vision .container ul li .sub_title {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1.5em;
  color: #ED6C00;
  font-weight: 700;
  letter-spacing: 1.4px;
  margin-bottom: clamp(2px, 0.2777777778vw, 4px);
}
@media screen and (max-width: 768px) {
  #about #vision .container ul li .sub_title {
    font-size: 14px;
    line-height: 150%; /* 21px */
    margin-bottom: 4px;
  }
}
#about #vision .container ul li figure {
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1.015625;
  width: clamp(16.25px, 2.2569444444vw, 32.5px);
  height: auto;
  margin-bottom: clamp(2px, 0.2777777778vw, 4px);
}
@media screen and (max-width: 768px) {
  #about #vision .container ul li figure {
    width: 32px;
    margin-bottom: 4px;
  }
}
#about #vision .container ul li h3 {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  color: #2C0B00;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(10px, 1.3888888889vw, 20px);
}
@media screen and (max-width: 768px) {
  #about #vision .container ul li h3 {
    font-size: 20px;
    line-height: 150%; /* 30px */
    margin-bottom: 20px;
  }
}
#about #vision .container ul li .text1 {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1.5em;
  color: #2C0B00;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #about #vision .container ul li .text1 {
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 1.2px;
  }
}
#about #conduct {
  margin-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #about #conduct {
    margin-bottom: 80px;
  }
}
#about #conduct > .title {
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
}
#about #conduct > .title > p {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
  text-align: center;
  color: #ED6C00;
}
@media screen and (max-width: 768px) {
  #about #conduct > .title > p {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 8px;
  }
}
#about #conduct > .title > h2 {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #conduct > .title > h2 {
    font-size: 22px;
    line-height: 150%; /* 33px */
    letter-spacing: 2.2px;
  }
}
@media screen and (max-width: 768px) {
  #about #conduct > .title {
    margin-bottom: 40px;
  }
}
#about #conduct .container {
  margin-left: auto;
  margin-right: auto;
  width: clamp(540px, 75vw, 1080px);
}
@media screen and (max-width: 768px) {
  #about #conduct .container {
    width: 100%;
  }
}
#about #conduct .container ul {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: start;
  gap: clamp(6px, 0.8333333333vw, 12px);
  width: clamp(516px, 71.6666666667vw, 1032px);
}
@media screen and (max-width: 768px) {
  #about #conduct .container ul {
    width: 100%;
    gap: 12px;
  }
}
#about #conduct .container ul li {
  display: flex;
  flex-direction: "row";
  justify-content: flex-start;
  align-items: center;
  gap: clamp(12px, 1.6666666667vw, 24px);
  padding: clamp(12px, 1.6666666667vw, 24px) clamp(12px, 1.6666666667vw, 24px);
  width: 100%;
  background: #fff;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  #about #conduct .container ul li {
    flex-wrap: wrap;
    gap: 16px;
    padding: 24px;
  }
}
#about #conduct .container ul li .no {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 1.5em;
  display: flex;
  flex-direction: "row";
  justify-content: center;
  align-items: center;
  background: #ED6C00;
  border-radius: 50%;
  width: clamp(24px, 3.3333333333vw, 48px);
  aspect-ratio: 1/1;
  color: #FFF;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #about #conduct .container ul li .no {
    font-size: 20px;
    line-height: 150%; /* 30px */
    width: 40px;
  }
}
#about #conduct .container ul li h3 {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  color: #2C0B00;
  font-weight: 700;
  letter-spacing: 2px;
  width: clamp(100px, 13.8888888889vw, 200px);
}
@media screen and (max-width: 768px) {
  #about #conduct .container ul li h3 {
    flex: 1;
    font-size: 20px;
    line-height: 150%; /* 30px */
    letter-spacing: 2px;
  }
}
#about #conduct .container ul li .detail {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 1.4px;
  flex: 1;
}
@media screen and (max-width: 768px) {
  #about #conduct .container ul li .detail {
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 1.2px;
    width: 100%;
    flex: unset;
  }
}
#about #member {
  margin-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #about #member {
    margin-bottom: 80px;
  }
}
#about #member > .title {
  margin-bottom: clamp(32px, 4.4444444444vw, 64px);
}
#about #member > .title > p {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
  text-align: center;
  color: #ED6C00;
}
@media screen and (max-width: 768px) {
  #about #member > .title > p {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 8px;
  }
}
#about #member > .title > h2 {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #member > .title > h2 {
    font-size: 22px;
    line-height: 150%; /* 33px */
    letter-spacing: 2.2px;
  }
}
@media screen and (max-width: 768px) {
  #about #member > .title {
    margin-bottom: 40px;
  }
}
#about #member .container {
  margin-left: auto;
  margin-right: auto;
  width: clamp(560px, 77.7777777778vw, 1120px);
}
@media screen and (max-width: 768px) {
  #about #member .container {
    width: 100%;
  }
}
#about #member .container ul {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  gap: clamp(12px, 1.6666666667vw, 24px);
  width: clamp(560px, 77.7777777778vw, 1120px);
}
@media screen and (max-width: 768px) {
  #about #member .container ul {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 24px;
  }
}
#about #member .container ul li {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: clamp(11.5px, 1.5972222222vw, 23px) clamp(11.5px, 1.5972222222vw, 23px);
  width: calc(33.33% - clamp(5.5px, 0.7638888889vw, 11px));
  background: #fff;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  #about #member .container ul li {
    width: 100%;
    padding: 24px;
  }
}
#about #member .container ul li figure {
  aspect-ratio: 1.003125;
  width: clamp(80.25px, 11.1458333333vw, 160.5px);
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(12px, 1.6666666667vw, 24px);
  border-radius: 65px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #about #member .container ul li figure {
    width: 160px;
    margin-bottom: 24px;
  }
}
#about #member .container ul li figure img {
  object-fit: cover;
}
#about #member .container ul li .post {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1.5em;
  color: #2C0B00;
  font-weight: 700;
  letter-spacing: 1.4px;
  margin-bottom: clamp(2px, 0.2777777778vw, 4px);
}
@media screen and (max-width: 768px) {
  #about #member .container ul li .post {
    margin-bottom: 4px;
    font-size: 14px;
    line-height: 150%; /* 21px */
  }
}
#about #member .container ul li .name {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  color: #2C0B00;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(10px, 1.3888888889vw, 20px);
}
@media screen and (max-width: 768px) {
  #about #member .container ul li .name {
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 150%; /* 30px */
  }
}
#about #member .container ul li .detail {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1.5em;
  color: #2C0B00;
  font-weight: 700;
  letter-spacing: 1.4px;
}
@media screen and (max-width: 768px) {
  #about #member .container ul li .detail {
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 1.2px;
  }
}
#about #company {
  margin-bottom: clamp(60px, 8.3333333333vw, 120px);
}
@media screen and (max-width: 768px) {
  #about #company {
    margin-bottom: 80x;
  }
}
#about #company > .title {
  margin-bottom: clamp(32px, 4.4444444444vw, 64px);
}
#about #company > .title > p {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
  text-align: center;
  color: #ED6C00;
}
@media screen and (max-width: 768px) {
  #about #company > .title > p {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 8px;
  }
}
#about #company > .title > h2 {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #company > .title > h2 {
    font-size: 22px;
    line-height: 150%; /* 33px */
    letter-spacing: 2.2px;
  }
}
@media screen and (max-width: 768px) {
  #about #company > .title {
    margin-bottom: 40px;
  }
}
#about #company .container {
  margin-left: auto;
  margin-right: auto;
  width: clamp(500px, 69.4444444444vw, 1000px);
  padding: clamp(20px, 2.7777777778vw, 40px);
  background: #FFFFFF;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  #about #company .container {
    width: 100%;
    padding: 40px 16px;
  }
}
#about #company .container dl {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: clamp(6px, 0.8333333333vw, 12px) 0;
  border-bottom: 1px solid #F0E8E8;
}
@media screen and (max-width: 768px) {
  #about #company .container dl {
    padding: 20px 0;
  }
}
#about #company .container dl dt {
  display: flex;
  flex-direction: "row";
  justify-content: flex-start;
  align-items: center;
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  color: #350404;
  font-weight: 700;
  letter-spacing: 0.8px;
  width: 20%;
  height: clamp(19.5px, 2.7083333333vw, 39px);
  padding-left: clamp(20px, 2.7777777778vw, 40px);
  position: relative;
}
#about #company .container dl dt::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 3px;
  height: 100%;
  background-color: #ED6C00;
  display: block;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  #about #company .container dl dt {
    height: 39px;
    padding-left: 20px;
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 0.6px;
    width: 40.92%;
  }
}
#about #company .container dl dd {
  display: flex;
  flex-direction: "row";
  justify-content: flex-start;
  align-items: center;
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  color: #350404;
  font-weight: 400;
  letter-spacing: 0.8px;
  flex: 1;
  padding-left: clamp(40px, 5.5555555556vw, 80px);
}
#about #company .container dl dd.pc {
  display: flex;
}
@media screen and (max-width: 768px) {
  #about #company .container dl dd.pc {
    display: none;
  }
}
#about #company .container dl dd.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  #about #company .container dl dd.sp {
    display: flex;
  }
}
@media screen and (max-width: 768px) {
  #about #company .container dl dd.adjust {
    font-size: 12.7px;
  }
}
@media screen and (max-width: 768px) {
  #about #company .container dl dd {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 14px;
    font-weight: 400;
    line-height: 150%; /* 21px */
    letter-spacing: 0.7px;
  }
}
#about #access > .title {
  margin-bottom: clamp(32px, 4.4444444444vw, 64px);
}
#about #access > .title > p {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
  text-align: center;
  color: #ED6C00;
}
@media screen and (max-width: 768px) {
  #about #access > .title > p {
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 1.8px;
    margin-bottom: 8px;
  }
}
#about #access > .title > h2 {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 1.5em;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about #access > .title > h2 {
    font-size: 22px;
    line-height: 150%; /* 33px */
    letter-spacing: 2.2px;
  }
}
@media screen and (max-width: 768px) {
  #about #access > .title {
    margin-bottom: 40px;
  }
}
#about #access .container {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: "row";
  justify-content: flex-start;
  align-items: start;
  gap: clamp(25px, 3.4722222222vw, 50px);
  width: clamp(540px, 75vw, 1080px);
}
@media screen and (max-width: 768px) {
  #about #access .container {
    flex-direction: column;
    gap: 26px;
    width: 100%;
  }
}
#about #access .container .map {
  width: clamp(388px, 53.8888888889vw, 776px);
  height: auto;
  aspect-ratio: 776/430;
}
@media screen and (max-width: 768px) {
  #about #access .container .map {
    width: 100%;
  }
}
#about #access .container .map iframe {
  width: 100%;
  height: 100%;
}
#about #access .container .info {
  flex: 1;
}
@media screen and (max-width: 768px) {
  #about #access .container .info {
    flex: unset;
  }
}
#about #access .container .info .text1 {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1em;
  color: #350404;
  font-weight: 700;
  letter-spacing: 0.8px;
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
}
@media screen and (max-width: 768px) {
  #about #access .container .info .text1 {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0.7px;
  }
}
#about #access .container .info .text2 {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1em;
  color: #350404;
  font-weight: 500;
  letter-spacing: 0.7px;
}
@media screen and (max-width: 768px) {
  #about #access .container .info .text2 {
    font-size: 12px;
    line-height: normal;
    letter-spacing: 0.6px;
  }
}
#about #access .container .info .text2 span {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1em;
  color: #ED6C00;
  font-weight: 700;
  letter-spacing: 0.8px;
  display: block;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
}
@media screen and (max-width: 768px) {
  #about #access .container .info .text2 span {
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0.7px;
  }
}

/**************************************************
* archive-news
**************************************************/
#archive-news {
  padding-top: 110px;
  padding-bottom: 40px;
  background: #FDFAF8;
  /**********[ corporate ]**********/
}
@media screen and (max-width: 768px) {
  #archive-news {
    padding-top: 100px;
  }
}
#archive-news section {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  display: block;
}
@media screen and (max-width: 768px) {
  #archive-news section {
    padding: 0 20px;
  }
}
#archive-news section > .title {
  color: #2C0B00;
  margin-bottom: clamp(41px, 5.6944444444vw, 82px);
}
#archive-news section > .title > h1 {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 4.8px;
  margin-bottom: clamp(14px, 1.9444444444vw, 28px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  #archive-news section > .title > h1 {
    font-size: 32px;
    line-height: 48px; /* 150% */
    letter-spacing: 3.2px;
    margin-bottom: 28px;
  }
}
#archive-news section > .title > h1::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  bottom: calc(clamp(13px, 1.8055555556vw, 26px) * -1);
  background: url("../image/icon/cross.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  #archive-news section > .title > h1::after {
    width: 20px;
    bottom: -23px;
  }
}
#archive-news section > .title > p {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 768px) {
  #archive-news section > .title > p {
    font-size: 14px;
    line-height: 150%; /* 21px */
    letter-spacing: 0.7px;
  }
}
@media screen and (max-width: 768px) {
  #archive-news section > .title {
    margin-bottom: 55px;
  }
}
#archive-news article .list-category {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #archive-news article .list-category {
    margin-bottom: 40px;
    gap: 12px;
  }
}
#archive-news article .list-category a {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 2em;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  border-radius: 40px;
  background: #ED6C00;
  padding: 0 clamp(12px, 1.6666666667vw, 24px);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.8px;
  margin-right: clamp(6px, 0.8333333333vw, 12px);
  height: clamp(22px, 3.0555555556vw, 44px);
}
@media screen and (max-width: 768px) {
  #archive-news article .list-category a {
    padding: 0 16px;
    font-size: 14px;
    line-height: 160%; /* 22.4px */
    letter-spacing: 0.7px;
    height: 34px;
  }
}
#archive-news article .list-category a:hover {
  background-color: #fff;
  color: #ED6C00;
}
#archive-news article .list-category a.current {
  background-color: #fff;
  color: #ED6C00;
  pointer-events: none;
}
#archive-news article .list-news {
  margin-left: auto;
  margin-right: auto;
  width: clamp(540px, 75vw, 1080px);
  margin-bottom: clamp(40px, 5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  #archive-news article .list-news {
    width: 100%;
    margin-bottom: 40px;
  }
}

/**************************************************
* single-news
**************************************************/
#single-news {
  padding-top: 110px;
  padding-bottom: 40px;
  background: #FDFAF8;
}
@media screen and (max-width: 768px) {
  #single-news {
    padding-top: 100px;
  }
}
#single-news section {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  display: block;
}
#single-news article {
  width: 100%;
  padding-top: 0;
}
#single-news article section {
  width: 100%;
  height: auto;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 160px clamp(40px, 5.5555555556vw, 80px) !important;
}
@media screen and (max-width: 768px) {
  #single-news article section {
    padding: 0 20px clamp(40px, 5.5555555556vw, 80px) !important;
  }
}
#single-news article section .contents {
  width: 100%;
  height: auto;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  border-radius: 20px;
  padding: 40px;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents {
    padding: 40px 20px 76px;
    border-radius: 20px;
  }
}
#single-news article section .contents .category {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 2em;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  border-radius: 40px;
  background: #F3BC8E;
  padding: 0 clamp(8px, 1.1111111111vw, 16px);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.8px;
  margin-right: clamp(6px, 0.8333333333vw, 12px);
  height: clamp(14px, 1.9444444444vw, 28px);
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .category {
    margin-bottom: 8px;
    padding: 0 16px;
    font-size: 14px;
    line-height: 200%; /* 28px */
    letter-spacing: 0.7px;
    height: 28px;
  }
}
#single-news article section .contents .title {
  font-size: clamp(12px, 1.6666666667vw, 24px);
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: left;
  color: #350404;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .title {
    font-size: clamp(20px, 1.3888888889vw, 20px);
    line-height: 1.5em;
    margin-bottom: 8px;
  }
}
#single-news article section .contents .data {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: right;
  margin-bottom: 40px;
  color: #350404;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .data {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 2em;
    margin-bottom: 24px;
  }
}
#single-news article section .contents .detail {
  text-align: left;
}
#single-news article section .contents .detail h2 {
  font-size: clamp(10px, 1.3888888889vw, 20px);
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: inline-block;
  position: relative;
  color: #350404;
}
#single-news article section .contents .detail h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(clamp(4px, 0.5555555556vw, 8px) * -1);
  width: 100%;
  height: clamp(4px, 0.5555555556vw, 8px);
  background: #A9E1CE;
  background: #FFEDDE;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .detail h2::after {
    height: 8px;
  }
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .detail h2 {
    font-size: clamp(18px, 1.25vw, 18px);
    line-height: 2em;
  }
}
#single-news article section .contents .detail h3 {
  font-size: clamp(8.5px, 1.1805555556vw, 17px);
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  margin-top: clamp(16px, 2.2222222222vw, 32px);
  padding-left: 16px;
  color: #350404;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .detail h3 {
    font-size: clamp(16px, 1.1111111111vw, 16px);
    line-height: 2em;
    margin-top: 24px;
  }
}
#single-news article section .contents .detail h3:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 8px;
  aspect-ratio: 1;
  background: #ED6C00;
  border-radius: 8px;
}
#single-news article section .contents .detail p {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: clamp(8px, 1.1111111111vw, 16px);
  color: #350404;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .detail p {
    font-size: clamp(13px, 0.9027777778vw, 13px);
    line-height: 2em;
    margin-top: 8px;
  }
}
#single-news article section .contents .detail a {
  color: #3C83CF !important;
}
#single-news article section .contents .detail figure {
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(16px, 2.2222222222vw, 32px);
  max-width: 800px !important;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .detail figure {
    margin-top: 24px;
  }
}
#single-news article section .contents .detail figure img {
  width: 100%;
  border-radius: 8px;
}
#single-news article section .contents .link {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
  position: relative;
}
#single-news article section .contents .link .prev,
#single-news article section .contents .link .next,
#single-news article section .contents .link .back {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  color: #350404;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .link .prev,
  #single-news article section .contents .link .next,
  #single-news article section .contents .link .back {
    font-size: 12px;
    line-height: 200%; /* 24px */
    letter-spacing: 0.6px;
  }
}
#single-news article section .contents .link .prev::after,
#single-news article section .contents .link .next::after,
#single-news article section .contents .link .back::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 16px;
  aspect-ratio: 1;
}
#single-news article section .contents .link .prev {
  padding-left: 24px;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .link .prev {
    padding-left: 16px;
  }
}
#single-news article section .contents .link .prev::after {
  left: 0;
  background: url("../image/icon/arrow.svg");
  transform: translate(-50%, -50%) rotateY(180deg);
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .link .prev::after {
    width: 12px;
  }
}
#single-news article section .contents .link .next {
  padding-right: 24px;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .link .next {
    padding-right: 16px;
  }
}
#single-news article section .contents .link .next::after {
  right: 0;
  background: url("../image/icon/arrow.svg");
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #single-news article section .contents .link .next::after {
    width: 12px;
  }
}
#single-news article section .contents .link .back {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  height: 28px;
  text-decoration: underline !important;
}

/**************************************************
* contact
**************************************************/
#contact {
  padding-top: 110px;
  padding-bottom: 40px;
  background: #FDFAF8;
}
@media screen and (max-width: 768px) {
  #contact {
    padding-top: 100px;
  }
}
#contact section {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  display: block;
}
@media screen and (max-width: 768px) {
  #contact section {
    padding: 0 20px;
  }
}
#contact section > .title {
  color: #2C0B00;
  margin-bottom: clamp(41px, 5.6944444444vw, 82px);
}
#contact section > .title > h1 {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 4.8px;
  margin-bottom: clamp(14px, 1.9444444444vw, 28px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  #contact section > .title > h1 {
    font-size: 32px;
    line-height: 48px; /* 150% */
    letter-spacing: 3.2px;
    margin-bottom: 28px;
  }
}
#contact section > .title > h1::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  bottom: calc(clamp(13px, 1.8055555556vw, 26px) * -1);
  background: url("../image/icon/cross.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  #contact section > .title > h1::after {
    width: 20px;
    bottom: -23px;
  }
}
#contact section > .title > p {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 768px) {
  #contact section > .title > p {
    font-size: 14px;
    line-height: 150%; /* 21px */
    letter-spacing: 0.7px;
  }
}
@media screen and (max-width: 768px) {
  #contact section > .title {
    margin-bottom: 55px;
  }
}
#contact article .text1 {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1.5em;
  color: #2C0B00;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.75px;
  margin-bottom: clamp(32px, 4.4444444444vw, 64px);
}
@media screen and (max-width: 768px) {
  #contact article .text1 {
    font-size: 12px;
    line-height: 150%; /* 18px */
    letter-spacing: 0.6px;
    margin-bottom: 32px;
    text-align: left;
  }
}
#contact article .form {
  margin-left: auto;
  margin-right: auto;
  width: clamp(320px, 44.4444444444vw, 640px);
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #contact article .form {
    width: 100%;
  }
}
#contact article .form dl {
  width: 100%;
  margin-bottom: clamp(9px, 1.25vw, 18px);
}
@media screen and (max-width: 768px) {
  #contact article .form dl {
    margin-bottom: 18px;
  }
}
#contact article .form dl.required dt {
  display: flex;
  flex-direction: row;
  gap: 8px;
}
#contact article .form dl.required dt::after {
  content: "必須";
  font-size: clamp(5.5px, 0.7638888889vw, 11px);
  line-height: 1.4545454545em;
  font-weight: bold;
  padding: clamp(1px, 0.1388888889vw, 2px) clamp(5.5px, 0.7638888889vw, 11px);
  background: #ED6C00;
  border-radius: 4px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #contact article .form dl.required dt::after {
    padding: 4.5px 10.5px;
    font-size: 11px;
    font-weight: 700;
    line-height: 100%; /* 11px */
  }
}
#contact article .form dl dt {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.25em;
  margin-bottom: clamp(4px, 0.5555555556vw, 8px);
  color: #350404;
}
@media screen and (max-width: 768px) {
  #contact article .form dl dt {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
  }
}
#contact article .form dl dd input,
#contact article .form dl dd textarea {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1.1428571429em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  width: 100%;
  padding: clamp(8px, 1.1111111111vw, 16px);
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid #9E7575;
  background: #FFF;
}
@media screen and (max-width: 768px) {
  #contact article .form dl dd input,
  #contact article .form dl dd textarea {
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%; /* 21px */
  }
}
#contact article .form dl dd input::placeholder,
#contact article .form dl dd textarea::placeholder {
  color: #D8C7C7;
  font-weight: 400;
}
#contact article .form dl dd input.err,
#contact article .form dl dd textarea.err {
  border: 1px solid #ED6C00;
}
#contact article .form dl dd input {
  height: clamp(24px, 3.3333333333vw, 48px);
}
@media screen and (max-width: 768px) {
  #contact article .form dl dd input {
    height: 45px;
  }
}
#contact article .form dl dd textarea {
  height: 176px;
  resize: none;
}
#contact article .form dl dd .privacypolicy {
  color: #350404;
  font-weight: 500;
  background: #fff8f3;
}
@media screen and (max-width: 768px) {
  #contact article .form dl dd .privacypolicy {
    font-size: 12px;
    line-height: 150%; /* 18px */
  }
}
#contact article .form dl .err_message {
  font-size: clamp(6px, 0.8333333333vw, 12px);
  line-height: 1.3333333333em;
  margin-top: clamp(4px, 0.5555555556vw, 8px);
  color: #EF5C5C;
}
@media screen and (max-width: 768px) {
  #contact article .form dl .err_message {
    font-size: 12px;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
  }
}
#contact article .form .check {
  margin-bottom: clamp(20 + px, 1.3888888889vw, 20 + px);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  /* デフォのcheckboxを消す */
  /* チェックボックス */
}
#contact article .form .check + .err_message {
  font-size: clamp(6px, 0.8333333333vw, 12px);
  line-height: 1.3333333333em;
  margin-top: clamp(4px, 0.5555555556vw, 8px);
  color: #EF5C5C;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #contact article .form .check + .err_message {
    font-size: 12px;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
  }
}
#contact article .form .check p {
  font-size: clamp(7px, 0.9722222222vw, 14px);
  line-height: 1.7142857143em;
  font-weight: 500;
  color: #350404;
}
@media screen and (max-width: 768px) {
  #contact article .form .check p {
    font-size: 14px;
    line-height: 24px; /* 171.429% */
    letter-spacing: 1.4px;
  }
}
#contact article .form .check input {
  display: none;
}
#contact article .form .check input:checked + .chk_box {
  background: #ED6C00;
  border: 1px solid #ED6C00;
}
#contact article .form .check input:checked + .chk_box::before {
  content: "✓";
}
#contact article .form .check .chk_box {
  aspect-ratio: 1/1;
  width: 16px;
  position: relative;
  box-sizing: border-box;
  border-radius: 2px;
  border: 2px solid #ED6C00;
  background: #FFF;
}
#contact article .form .check .chk_box::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 13px;
  display: block;
  color: white;
  font-weight: bold;
}
#contact article .form .btn03 {
  margin-left: auto;
  margin-right: auto;
  width: clamp(100px, 13.8888888889vw, 200px);
  aspect-ratio: 200/48;
  margin-top: clamp(32px, 4.4444444444vw, 64px);
  /*
  @include fz(16, 16, 24);
  @include mCenter;
  padding: clampVw(12, 12) clampVw('null', 48);
  display: block;
  max-width: 160px;
  @include mq(tab) {
  	width: 100%;
  	max-width: unset;;
  }
  	*/
}
@media screen and (max-width: 768px) {
  #contact article .form .btn03 {
    width: 200px;
  }
}

/**************************************************
* privacypolicy
**************************************************/
#privacypolicy {
  padding-top: 110px;
  padding-bottom: 40px;
  background: #FDFAF8;
}
@media screen and (max-width: 768px) {
  #privacypolicy {
    padding-top: 100px;
  }
}
#privacypolicy section {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  display: block;
}
@media screen and (max-width: 768px) {
  #privacypolicy section {
    padding: 0 20px;
  }
}
#privacypolicy section > .title {
  color: #2C0B00;
  margin-bottom: clamp(41px, 5.6944444444vw, 82px);
}
#privacypolicy section > .title > h1 {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 4.8px;
  margin-bottom: clamp(14px, 1.9444444444vw, 28px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  #privacypolicy section > .title > h1 {
    font-size: 32px;
    line-height: 48px; /* 150% */
    letter-spacing: 3.2px;
    margin-bottom: 28px;
  }
}
#privacypolicy section > .title > h1::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  bottom: calc(clamp(13px, 1.8055555556vw, 26px) * -1);
  background: url("../image/icon/cross.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  #privacypolicy section > .title > h1::after {
    width: 20px;
    bottom: -23px;
  }
}
#privacypolicy section > .title > p {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 768px) {
  #privacypolicy section > .title > p {
    font-size: 14px;
    line-height: 150%; /* 21px */
    letter-spacing: 0.7px;
  }
}
@media screen and (max-width: 768px) {
  #privacypolicy section > .title {
    margin-bottom: 55px;
  }
}
#privacypolicy article {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
  width: clamp(560px, 77.7777777778vw, 1120px);
}
@media screen and (max-width: 768px) {
  #privacypolicy article {
    width: 100%;
  }
}
#privacypolicy article p {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1.5em;
  color: #2C0B00;
  font-weight: 500;
  margin-top: clamp(12px, 1.6666666667vw, 24px);
}
#privacypolicy article p + ol {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #privacypolicy article p {
    font-size: 12px;
    line-height: 150%; /* 18px */
  }
}
#privacypolicy article .has-text-align-right {
  text-align: right;
}
#privacypolicy article ul,
#privacypolicy article ol {
  list-style: none;
  margin-top: clamp(12px, 1.6666666667vw, 24px);
}
#privacypolicy article ul li,
#privacypolicy article ol li {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1.5em;
  position: relative;
  padding-left: 1em;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#privacypolicy article ul li:first-child,
#privacypolicy article ol li:first-child {
  margin-top: 0;
}
#privacypolicy article ul li::before,
#privacypolicy article ol li::before {
  margin-left: -1em;
}
@media screen and (max-width: 768px) {
  #privacypolicy article ul li,
  #privacypolicy article ol li {
    font-size: 12px;
    line-height: 150%; /* 18px */
  }
}
#privacypolicy article > ol {
  counter-reset: c1;
}
#privacypolicy article > ol > li {
  counter-increment: c1;
}
#privacypolicy article > ol > li::before {
  content: counter(c1) ". ";
}
#privacypolicy article > ol > li > ul {
  counter-reset: c2;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#privacypolicy article > ol > li > ul > li {
  counter-increment: c2;
  padding-left: 1em;
}
#privacypolicy article > ol > li > ul > li::before {
  content: "(" counter(c2) "). ";
}
#privacypolicy article > ul {
  counter-reset: c1;
}
#privacypolicy article > ul > li {
  counter-increment: c1;
}
#privacypolicy article > ul > li::before {
  content: counter(c1, lower-alpha) ". ";
}
#privacypolicy article > ul > li > ul {
  counter-reset: c2;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#privacypolicy article > ul > li > ul > li {
  counter-increment: c2;
  padding-left: 1em;
}
#privacypolicy article > ul > li > ul > li::before {
  content: counter(c2, lower-roman) ". ";
}
#privacypolicy article > ul > li > ul > li > ul {
  counter-reset: c3;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#privacypolicy article > ul > li > ul > li > ul > li {
  counter-increment: c3;
  padding-left: 1em;
}
#privacypolicy article > ul > li > ul > li > ul > li::before {
  content: counter(c3) ". ";
}
#privacypolicy article .wp-block-table table {
  width: 100%;
  border-spacing: 0;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#privacypolicy article .wp-block-table table tbody tr:first-child {
  background: #F3BC8E;
}
#privacypolicy article .wp-block-table table tbody tr:first-child td {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1em;
  color: #FFF;
  font-weight: 500;
  letter-spacing: 0.75px;
  padding: clamp(4px, 0.5555555556vw, 8px) clamp(8px, 1.1111111111vw, 16px);
}
#privacypolicy article .wp-block-table table tbody tr:first-child td:first-child {
  border-radius: 4px 0 0 0;
}
#privacypolicy article .wp-block-table table tbody tr:first-child td:last-child {
  border-radius: 0 4px 0 0;
}
@media screen and (max-width: 768px) {
  #privacypolicy article .wp-block-table table tbody tr:first-child td {
    padding: 8px 12px;
    font-size: 14px;
    line-height: 100%; /* 14px */
    letter-spacing: 0.7px;
  }
}
#privacypolicy article .wp-block-table table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 4px;
}
#privacypolicy article .wp-block-table table tbody tr:last-child td:last-child {
  border-radius: 0 0 4px 0;
}
#privacypolicy article .wp-block-table table tbody tr:nth-child(n+2) td {
  border-top: none;
}
#privacypolicy article .wp-block-table table tbody tr td {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1.2em;
  color: #2C0B00;
  font-weight: 500;
  letter-spacing: 0.75px;
  width: 50%;
  border: 1px solid #2C0B00;
  padding: clamp(6px, 0.8333333333vw, 12px) clamp(8px, 1.1111111111vw, 16px);
}
#privacypolicy article .wp-block-table table tbody tr td:nth-child(n+2) {
  border-left: none;
}
@media screen and (max-width: 768px) {
  #privacypolicy article .wp-block-table table tbody tr td {
    font-size: 11px;
    line-height: 100%; /* 14px */
    letter-spacing: 0.7px;
    padding: 12px 12px;
  }
}

/**************************************************
* securitypolicy
**************************************************/
#securitypolicy {
  padding-top: 110px;
  padding-bottom: 40px;
  background: #FDFAF8;
}
@media screen and (max-width: 768px) {
  #securitypolicy {
    padding-top: 100px;
  }
}
#securitypolicy section {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  display: block;
}
@media screen and (max-width: 768px) {
  #securitypolicy section {
    padding: 0 20px;
  }
}
#securitypolicy section > .title {
  color: #2C0B00;
  margin-bottom: clamp(41px, 5.6944444444vw, 82px);
}
#securitypolicy section > .title > h1 {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 4.8px;
  margin-bottom: clamp(14px, 1.9444444444vw, 28px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  #securitypolicy section > .title > h1 {
    font-size: 32px;
    line-height: 48px; /* 150% */
    letter-spacing: 3.2px;
    margin-bottom: 28px;
  }
}
#securitypolicy section > .title > h1::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: clamp(10px, 1.3888888889vw, 20px);
  height: auto;
  display: block;
  bottom: calc(clamp(13px, 1.8055555556vw, 26px) * -1);
  background: url("../image/icon/cross.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  #securitypolicy section > .title > h1::after {
    width: 20px;
    bottom: -23px;
  }
}
#securitypolicy section > .title > p {
  font-size: clamp(8px, 1.1111111111vw, 16px);
  line-height: 1.5em;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 768px) {
  #securitypolicy section > .title > p {
    font-size: 14px;
    line-height: 150%; /* 21px */
    letter-spacing: 0.7px;
  }
}
@media screen and (max-width: 768px) {
  #securitypolicy section > .title {
    margin-bottom: 55px;
  }
}
#securitypolicy article {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(20px, 2.7777777778vw, 40px);
  width: clamp(560px, 77.7777777778vw, 1120px);
}
@media screen and (max-width: 768px) {
  #securitypolicy article {
    width: 100%;
  }
}
#securitypolicy article p {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1.5em;
  color: #2C0B00;
  font-weight: 500;
  margin-top: clamp(12px, 1.6666666667vw, 24px);
}
#securitypolicy article p + ol {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #securitypolicy article p {
    font-size: 12px;
    line-height: 150%; /* 18px */
  }
}
#securitypolicy article .has-text-align-right {
  text-align: right;
}
#securitypolicy article ul,
#securitypolicy article ol {
  list-style: none;
  margin-top: clamp(12px, 1.6666666667vw, 24px);
}
#securitypolicy article ul li,
#securitypolicy article ol li {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1.5em;
  position: relative;
  padding-left: 1em;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#securitypolicy article ul li:first-child,
#securitypolicy article ol li:first-child {
  margin-top: 0;
}
#securitypolicy article ul li::before,
#securitypolicy article ol li::before {
  margin-left: -1em;
}
@media screen and (max-width: 768px) {
  #securitypolicy article ul li,
  #securitypolicy article ol li {
    font-size: 12px;
    line-height: 150%; /* 18px */
  }
}
#securitypolicy article > ol {
  counter-reset: c1;
}
#securitypolicy article > ol > li {
  counter-increment: c1;
}
#securitypolicy article > ol > li::before {
  content: counter(c1) ". ";
}
#securitypolicy article > ol > li > ul {
  counter-reset: c2;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#securitypolicy article > ol > li > ul > li {
  counter-increment: c2;
  padding-left: 1em;
}
#securitypolicy article > ol > li > ul > li::before {
  content: "(" counter(c2) "). ";
}
#securitypolicy article > ul {
  counter-reset: c1;
}
#securitypolicy article > ul > li {
  counter-increment: c1;
}
#securitypolicy article > ul > li::before {
  content: counter(c1, lower-alpha) ". ";
}
#securitypolicy article > ul > li > ul {
  counter-reset: c2;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#securitypolicy article > ul > li > ul > li {
  counter-increment: c2;
  padding-left: 1em;
}
#securitypolicy article > ul > li > ul > li::before {
  content: counter(c2, lower-roman) ". ";
}
#securitypolicy article > ul > li > ul > li > ul {
  counter-reset: c3;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#securitypolicy article > ul > li > ul > li > ul > li {
  counter-increment: c3;
  padding-left: 1em;
}
#securitypolicy article > ul > li > ul > li > ul > li::before {
  content: counter(c3) ". ";
}
#securitypolicy article .wp-block-table table {
  width: 100%;
  border-spacing: 0;
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#securitypolicy article .wp-block-table table tbody tr:first-child {
  background: #F3BC8E;
}
#securitypolicy article .wp-block-table table tbody tr:first-child td {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1em;
  color: #FFF;
  font-weight: 500;
  letter-spacing: 0.75px;
  padding: clamp(4px, 0.5555555556vw, 8px) clamp(8px, 1.1111111111vw, 16px);
}
#securitypolicy article .wp-block-table table tbody tr:first-child td:first-child {
  border-radius: 4px 0 0 0;
}
#securitypolicy article .wp-block-table table tbody tr:first-child td:last-child {
  border-radius: 0 4px 0 0;
}
#securitypolicy article .wp-block-table table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 4px;
}
#securitypolicy article .wp-block-table table tbody tr:last-child td:last-child {
  border-radius: 0 0 4px 0;
}
#securitypolicy article .wp-block-table table tbody tr:nth-child(n+2) td {
  border-top: none;
}
#securitypolicy article .wp-block-table table tbody tr td {
  font-size: clamp(7.5px, 1.0416666667vw, 15px);
  line-height: 1.2em;
  color: #2C0B00;
  font-weight: 500;
  letter-spacing: 0.75px;
  width: 50%;
  border: 1px solid #2C0B00;
  padding: clamp(6px, 0.8333333333vw, 12px) clamp(8px, 1.1111111111vw, 16px);
}
#securitypolicy article .wp-block-table table tbody tr td:nth-child(n+2) {
  border-left: none;
}/*# sourceMappingURL=style.css.map */