/**********************************************
    font face
***********************************************/
@font-face {
  src: url("../font/eriji_subset.woff2") format("woff2");
  font-family: "eriji";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0020-007E, U+3040-309F, U+30A0-30FF, U+4E00-9FAF;
}
/**********************************************
	$breakpoints
***********************************************/
/**********************************************
	$common
***********************************************/
/**********************************************
	$mixin
***********************************************/
/**********************************************
    $front-page
***********************************************/
.mv {
  position: relative;
}

.mv_img {
  position: relative;
  z-index: -1;
  max-width: 1920px;
  margin-inline: auto;
}

.mv_cc {
  font-size: clamp(3.2rem, 8.5333333333vw, 5.6rem);
  position: absolute;
  bottom: 20px;
  left: 9.3333333333%;
  transform-origin: bottom left;
  transform: rotate(-5deg);
}
@media screen and (min-width: 1200px) {
  .mv_cc {
    font-size: clamp(4.8rem, 3.8888888889vw, 7.2rem);
    top: 40%;
    bottom: unset;
  }
}
.mv_cc .mv_lead span {
  display: block;
  font-family: "ta-mincho-gf-01", serif;
  line-height: 1.3125;
  letter-spacing: 0;
  color: #363636;
  -webkit-text-stroke: 14px #fff;
  text-stroke: 14px #fff;
  paint-order: stroke;
}
.mv_cc h1 {
  padding: 0 20px;
  font-family: "ta-mincho-gf-01", serif;
  font-size: 0.6em;
  font-weight: 400;
  color: #fff;
  background-color: #171C61;
}

.mv_cta {
  max-width: 720px;
  margin: 0 auto 80px;
}
@media screen and (min-width: 1200px) {
  .mv_cta {
    margin-top: -14vw;
    position: relative;
  }
}

.mv_banner {
  padding: 10px 13px;
  font-family: "ta-mincho-gf-01", serif;
  font-size: clamp(1.2rem, 3.2vw, 2.2rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 1px;
  color: #fff;
  background-color: #3a3a3a;
  position: absolute;
  bottom: 0;
  right: 5.3435114504%;
  z-index: 1;
}
@media screen and (min-width: 1200px) {
  .mv_banner {
    max-width: 211px;
    top: 61%;
    right: 20.8333333333%;
    bottom: unset;
  }
}

.fp_blog_sec {
  margin-bottom: 80px;
}
@media screen and (min-width: 1200px) {
  .fp_blog_sec {
    margin-bottom: 120px;
  }
}
@media screen and (min-width: 1200px) {
  .fp_blog_sec .sec_ttl {
    margin-bottom: 60px;
  }
}
.fp_blog_sec .sec_ttl .sec_ttl_wrap {
  align-items: center;
  padding: 20px 12px;
  background-image: url(../img/bg_secttl_blog.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: 2px solid #656565;
  column-gap: 0;
}
@media screen and (min-width: 1200px) {
  .fp_blog_sec .sec_ttl .sec_ttl_wrap {
    aspect-ratio: 926/197;
    column-gap: 6%;
    padding: 24px;
  }
}
.fp_blog_sec .sec_ttl .sec_ttl_img {
  width: 36.1516034985%;
  max-width: 153px;
  transform: translate(-15%, 3px) scale(1.1);
  transform-origin: bottom;
}
@media screen and (min-width: 1200px) {
  .fp_blog_sec .sec_ttl .sec_ttl_img {
    width: 27%;
    max-width: unset;
    transform: translate(0, 30px) scale(1.25);
  }
}
.fp_blog_sec .sec_ttl .sec_ttl_txt {
  width: 96.2099125364%;
}
.fp_blog_sec .sec_ttl h2 {
  font-size: clamp(1.3rem, 3.4666666667vw, 1.8rem);
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .fp_blog_sec .sec_ttl h2 span {
    display: inline-block;
  }
}
@media screen and (min-width: 1200px) {
  .fp_blog_sec .sec_ttl h2 {
    font-size: clamp(1.6rem, 1.3888888889vw, 2rem);
  }
}
.fp_blog_sec .sec_ttl p {
  font-size: clamp(2rem, 5.3333333333vw, 3.2rem);
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .fp_blog_sec .sec_ttl p span {
    display: inline-block;
  }
}
@media screen and (min-width: 1200px) {
  .fp_blog_sec .sec_ttl p {
    font-size: clamp(3.2rem, 3.3333333333vw, 4.8rem);
    line-height: 1.325;
    letter-spacing: 3px;
    margin-top: 12px;
  }
  .fp_blog_sec .sec_ttl p span {
    display: block;
  }
}
.fp_blog_sec .sec_ttl::after {
  display: none;
}

@media screen and (min-width: 768px) {
  .fp_blog_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 45px;
  }
}
.fp_blog_list > li {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .fp_blog_list > li {
    width: 47.0842332613%;
  }
}
.fp_blog_list > li a {
  transition: 0.6s;
}

.fp_blog_cattxt_img {
  width: 12.6146788991%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: translateY(12%);
}

.fp_blog_lead_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 10px;
  width: 87.3853211009%;
  margin: 0 0 0 auto;
}

.fp_blog_lead_txt {
  font-family: "ta-oonishi", serif;
  font-size: clamp(16px, 3vw, 32px);
  line-height: 1.5;
  letter-spacing: -1px;
}
@media screen and (min-width: 768px) {
  .fp_blog_lead_txt {
    font-size: clamp(14px, 0.5vw + 16px, 15px);
  }
}
@media screen and (min-width: 1024px) {
  .fp_blog_lead_txt {
    font-size: clamp(16px, 0.5vw + 16px, 18px);
  }
}
@media screen and (min-width: 1400px) {
  .fp_blog_lead_txt {
    font-size: clamp(18px, 0.5vw + 16px, 22px);
  }
}

.fp_blog_cat_img {
  width: 18.3486238532%;
}

.fp_blog_img_wrap {
  position: relative;
}

.fp_blog_img {
  overflow: hidden;
}
.fp_blog_img img {
  transition: 0.6s;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.fp_blog_cc {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 86.2385321101%;
  aspect-ratio: 376/97;
  font-size: 1.286em;
  font-weight: 500;
  background-color: rgba(255, 255, 255, 0.9);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.fp_blog_ttl {
  margin-top: 12px;
  margin-bottom: 13px;
  font-size: 1em;
  font-weight: 400;
  transition: 0.6s;
}

.fp_blog_lnk {
  width: fit-content;
  margin: 0 0 0 auto;
  transition: 0.6s;
}
.fp_blog_lnk::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-left: 10px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: translateY(0.2em);
}

.fp_blog_list li a:hover .fp_blog_img img {
  object-fit: cover;
  transform: scale(1.1);
}
.fp_blog_list li a:hover .fp_blog_ttl,
.fp_blog_list li a:hover .fp_blog_lnk {
  color: #D7BC71;
}

.fp_casestudy_sec {
  margin-bottom: 80px;
}
@media screen and (min-width: 1200px) {
  .fp_casestudy_sec {
    margin-bottom: 120px;
  }
}

@media screen and (min-width: 768px) {
  .fp_cs_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 45px;
  }
}
.fp_cs_list > li {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fp_cs_list > li {
    width: 47.0842332613%;
  }
}
.fp_cs_list > li:nth-of-type(n+2) {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .fp_cs_list > li:nth-of-type(n+2) {
    margin-top: 0;
  }
}

.fp_cs_img {
  overflow: hidden;
}
.fp_cs_img img {
  aspect-ratio: 16/9;
  object-fit: cover;
  transition: 0.6s;
}

.fp_cs_ttl {
  font-size: 1em;
  font-weight: 400;
  margin-top: 12px;
  transition: 0.6s;
}

.fp_cs_txt {
  margin-bottom: 13px;
}

.fp_cs_lnk {
  width: fit-content;
  margin: 0 0 0 auto;
  transition: 0.6s;
}
.fp_cs_lnk::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-left: 10px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: translateY(0.2em);
}

.fp_cs_list li a:hover .fp_cs_img img {
  object-fit: cover;
  transform: scale(1.1);
}
.fp_cs_list li a:hover .fp_cs_ttl,
.fp_cs_list li a:hover .fp_cs_lnk {
  color: #D7BC71;
}

.cta_asd1 {
  margin: 0 auto 80px;
}
@media screen and (min-width: 1200px) {
  .cta_asd1 {
    margin: 0 auto 120px;
  }
}

.fp_features_sec {
  margin-bottom: 80px;
}
@media screen and (min-width: 1200px) {
  .fp_features_sec {
    margin-bottom: 120px;
  }
}
.fp_features_sec .sec_ttl {
  margin-bottom: 0;
}
.fp_features_sec .sec_ttl::after {
  display: none;
}

.fp_features_ctt_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 16px;
}
.fp_features_ctt_wrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: url(../img/bg_features.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.fp_features_ctt_wrap > .inner {
  row-gap: 28px;
  padding: 36px 16px;
  background-color: #FFF6EC;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .fp_features_ctt_wrap > .inner {
    row-gap: 40px;
    padding: 25px;
  }
}

.fp_fetures_ctt {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .fp_fetures_ctt {
    width: 47.0852017937%;
  }
}

.fp_features_img {
  width: 31.1557788945%;
}

.fp_features_txt {
  width: 64.824120603%;
}
.fp_features_txt a {
  text-decoration: underline;
}

.fp_features_ttl {
  font-family: "ta-mincho-gf-01", serif;
  font-size: clamp(1.6rem, 4.2666666667vw, 2rem);
  letter-spacing: 0;
}
.fp_features_ttl > p {
  width: fit-content;
  padding: 0 7px;
  font-weight: 400;
  color: #fff;
  background-color: #171C61;
  font-size: 0.7778em;
}
.fp_features_ttl > h3 {
  font-size: 1em;
  font-weight: 400;
  margin-top: 6px;
}

.fp_knowledge_sec {
  margin-bottom: 80px;
}
@media screen and (min-width: 1200px) {
  .fp_knowledge_sec {
    margin-bottom: 120px;
  }
}

.fp_faq_sec {
  margin-bottom: 80px;
}
@media screen and (min-width: 1200px) {
  .fp_faq_sec {
    margin-bottom: 120px;
  }
}
.fp_faq_list {
  margin-bottom: 32px;
}
.fp_faq_list > dt {
  font-family: "ta-mincho-gf-01", serif;
  font-size: 1.2em;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: underline;
}
@media screen and (min-width: 1200px) {
  .fp_faq_list > dt {
    letter-spacing: 1px;
  }
}
.fp_faq_list > dt span {
  display: block;
}
.fp_faq_list > dd {
  margin-left: 1rem;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1200px) {
  .fp_faq_list > dd {
    margin-left: 2rem;
  }
}
.fp_faq_list > dd br {
  display: none;
}
@media screen and (min-width: 1200px) {
  .fp_faq_list > dd br {
    display: block;
  }
}

.fp_flow_sec {
  margin-bottom: 80px;
}
@media screen and (min-width: 1200px) {
  .fp_flow_sec {
    margin-bottom: 120px;
  }
}

.fp_flow_img {
  width: 90.3790087464%;
  max-width: 500px;
  margin: 0 auto 3rem;
}
@media screen and (min-width: 768px) {
  .fp_flow_img {
    max-width: 1000px;
  }
}

.fp_company_sec {
  margin-bottom: 80px;
}
@media screen and (min-width: 1200px) {
  .fp_company_sec {
    margin-bottom: 120px;
  }
}

@media screen and (min-width: 960px) {
  .fp_company_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

@media screen and (min-width: 960px) {
  .fp_company_left {
    width: 37.7969762419%;
    min-width: 470px;
  }
}

.fp_company_lead {
  margin-bottom: 34px;
}

.fp_company_list .inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 10px;
}
.fp_company_list dt {
  width: 4em;
  margin-right: 1em;
  font-weight: 400;
  text-align: justify;
  text-align-last: justify;
  text-transform: uppercase;
}
.fp_company_list dd {
  width: calc(100% - 4em - 1em);
}
.fp_company_list dd span {
  display: block;
}
.fp_company_list dd a {
  display: block;
  width: fit-content;
}
.fp_company_list dd a::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #3a3a3a;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 2s cubic-bezier(0.3, 1, 0.22, 1);
}
.fp_company_list dd a:hover::after {
  clip-path: inset(0);
}

@media screen and (min-width: 960px) {
  .fp_company_right {
    width: 48.8120950324%;
  }
}

.fp_company_txt_wrap {
  margin-bottom: 42px;
}

.fp_company_name {
  margin-bottom: 16px;
  font-family: "ta-mincho-gf-01", serif;
  font-size: 2.8rem;
}

.fp_company_txt {
  margin-bottom: 13px;
}

.fp_company_lnk {
  display: block;
  width: fit-content;
  text-decoration: underline;
  transition: 0.6s;
}
.fp_company_lnk::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-left: 8px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
.fp_company_lnk:hover {
  color: #D7BC71;
}

@media screen and (min-width: 960px) {
  .fp_company_access {
    aspect-ratio: 1/1;
  }
}
@media screen and (min-width: 1366px) {
  .fp_company_access {
    aspect-ratio: 452/244;
  }
}
.fp_company_access iframe {
  width: 100%;
  height: 100%;
}

.fp_news_sec {
  margin-bottom: 80px;
}
@media screen and (min-width: 1200px) {
  .fp_news_sec {
    margin-bottom: 120px;
  }
}

.news_index_list > li {
  margin-bottom: 23px;
}
.news_index_list > li a {
  text-decoration: underline;
  transition: 0.6s;
}
.news_index_list > li a:hover {
  color: #D7BC71;
}

/**********************************************
    $blog ( archive )
***********************************************/
.fp_blog_list.archive .fp_blog_cattxt_img {
  width: 12%;
  top: -6vw;
  left: -5px;
}
@media screen and (min-width: 768px) {
  .fp_blog_list.archive .fp_blog_cattxt_img {
    top: -4vw;
  }
}
@media screen and (min-width: 1200px) {
  .fp_blog_list.archive .fp_blog_cattxt_img {
    top: -2vw;
    left: -11px;
  }
}
@media screen and (min-width: 1400px) {
  .fp_blog_list.archive .fp_blog_cattxt_img {
    width: 9%;
  }
}

/**********************************************
    $blog ( post )
***********************************************/
.container:has(.blog_post) {
  padding: 0;
}
@media screen and (min-width: 1200px) {
  .container:has(.blog_post) {
    padding: 0 5.5555555556%;
  }
}

.blog_post {
  width: 91.2%;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 1200px) {
  .blog_post {
    width: 100%;
  }
}
.blog_post::after {
  content: "";
  display: block;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  background-image: url(../img/bg_blog_post.png);
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.blog_post .inner {
  padding: 16px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .blog_post .inner {
    padding: 50px 64px;
  }
}

.blog_post_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 32px;
  column-gap: 3.8709677419%;
}
@media screen and (min-width: 1200px) {
  .blog_post_wrap {
    column-gap: 4.1884816754%;
  }
}
.blog_post_wrap .blog_cattxt_img {
  width: 13.5483870968%;
  max-width: 54px;
}

.blog_post_ttl_wrap {
  width: 82.5806451613%;
}
@media screen and (min-width: 768px) {
  .blog_post_ttl_wrap {
    width: auto;
  }
}

.blog_post_ttl {
  font-size: clamp(1.8rem, 4.8vw, 2.4rem);
}

.blog_post_date_cat {
  color: #333333;
  font-size: 1.4rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 1;
}

.blog_post_cat {
  margin-left: 5px;
  padding-left: 5px;
  border-left: 1px solid #3a3a3a;
}

.blog_post_img {
  margin-bottom: 24px;
}

.share_btn {
  margin-bottom: 48px;
}

.blog_writer_sec {
  margin-bottom: 20px;
}
@media screen and (min-width: 960px) {
  .blog_writer_sec {
    display: grid;
    grid-template-columns: 16.7539267016% 1fr;
    grid-template-areas: "img ttl" "img owner" "img carrer";
    column-gap: 20px;
    row-gap: 0;
  }
}
.blog_writer_sec h2 {
  margin-bottom: 12px;
  font-size: clamp(1.4rem, 3.7333333333vw, 1.8rem);
}
@media screen and (min-width: 960px) {
  .blog_writer_sec h2 {
    grid-area: ttl;
    align-self: start;
    margin-bottom: 0;
  }
}

.blog_writer_img {
  margin-bottom: 20px;
}
@media screen and (min-width: 960px) {
  .blog_writer_img {
    grid-area: img;
    aspect-ratio: 1/1;
  }
  .blog_writer_img img {
    object-fit: cover;
  }
}

.blog_writer_owner {
  margin-bottom: 10px;
}
@media screen and (min-width: 960px) {
  .blog_writer_owner {
    grid-area: owner;
    align-self: start;
  }
}

@media screen and (min-width: 960px) {
  .blog_writer_carrer {
    grid-area: carrer;
    align-self: start;
    font-size: 1.4rem;
  }
}

.blog_post_ctt {
  margin-bottom: 30px;
}
.blog_post_ctt h2 {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin: 40px 0 30px;
  font-family: "ta-mincho-gf-01", serif;
  font-size: clamp(1.6rem, 4.2666666667vw, 2rem);
  font-weight: 400;
  background-color: #FCF3E8;
}
.blog_post_ctt h2::before {
  content: "";
  display: block;
  width: 18px;
  margin-right: 0.5em;
  background-image: url(../img/blog_h2.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100%;
}
.blog_post_ctt h3 {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin: 30px 0 20px;
  font-size: clamp(1.4rem, 3.7333333333vw, 1.8rem);
  border-bottom: 1px solid #171C61;
}
.blog_post_ctt h3::before {
  content: "";
  display: block;
  width: 10px;
  margin-right: 12px;
  background-color: #171C61;
}
.blog_post_ctt h4 {
  margin: 30px 0;
  font-size: clamp(1.3rem, 3.4666666667vw, 1.6rem);
  border-bottom: 1px solid #171C61;
}
.blog_post_ctt p {
  margin-bottom: 10px;
}

.blog_post_note {
  margin-bottom: 30px;
  padding: 12px 0;
  border-top: 1px solid #3a3a3a;
  border-bottom: 1px solid #3a3a3a;
}
.blog_post_note h2 {
  font-size: 1em;
  font-weight: 500;
}
.blog_post_navi {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.blog_nav_link {
  display: block;
  width: fit-content;
}
.blog_nav_link.blog_nav_prev {
  margin-right: 1.5em;
}
.blog_nav_link.blog_nav_prev::before {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-right: 10px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: translateY(0.2em) rotateY(180deg);
}
.blog_nav_link.blog_nav_prev.disabled::before {
  display: none;
}
.blog_nav_link.blog_nav_next {
  margin-left: 1.5em;
}
.blog_nav_link.blog_nav_next::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-left: 10px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: translateY(0.2em);
}
.blog_nav_link.blog_nav_next.disabled::after {
  display: none;
}

.blog_related_sec h2 {
  margin-bottom: 20px;
  font-family: "ta-mincho-gf-01", serif;
  font-size: clamp(1.6rem, 4.2666666667vw, 2rem);
  font-weight: 400;
}

.blog_related_list li a {
  text-decoration: underline;
}

.lnk_btn_post {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 300px;
  aspect-ratio: 240.85/54.7;
  margin: 0 auto 50px;
  font-family: "ta-mincho-gf-01", serif;
  font-weight: 400;
  text-transform: uppercase;
  background-image: url(../img/makimono_l.png);
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 100% 100%;
  position: relative;
}
.lnk_btn_post::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  aspect-ratio: 19.56/19.48;
  margin-right: 10px;
  background-image: url(../img/arrow_back.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}

/**********************************************
    $news ( archive )
***********************************************/
.container:has(.news_list) {
  padding: 0;
}
@media screen and (min-width: 1200px) {
  .container:has(.news_list) {
    padding: 0 5.5555555556%;
  }
}

.news_list li {
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #3a3a3a;
  position: relative;
  transition: 0.6s;
}
.news_list li:last-of-type {
  margin-bottom: 0;
}
.news_list li a {
  transition: 0.6s;
}
@media screen and (min-width: 768px) {
  .news_list li a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
.news_list li::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-left: 10px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: 0.6s;
}
.news_list li:hover {
  border-bottom-color: #D7BC71;
}
.news_list li:hover a {
  color: #D7BC71;
}
.news_list li:hover::after {
  transform: translate(5px, -50%);
}

.news_date {
  margin-right: 1em;
}
@media screen and (min-width: 768px) {
  .news_date {
    width: 5.5em;
  }
}

.news_ttl {
  padding-right: 2em;
}
@media screen and (min-width: 768px) {
  .news_ttl {
    width: calc(100% - 6.5em);
  }
}

/**********************************************
    $news ( post )
***********************************************/
.container:has(.news_post) {
  padding: 0;
}
@media screen and (min-width: 1200px) {
  .container:has(.news_post) {
    padding: 0 5.5555555556%;
  }
}

.news_post {
  width: 91.2%;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 1200px) {
  .news_post {
    width: 100%;
  }
}
.news_post::after {
  content: "";
  display: block;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  background-image: url(../img/bg_blog_post.png);
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.news_post .inner {
  padding: 32px 16px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .news_post .inner {
    padding: 50px 64px;
  }
}

.news_post_wrap {
  margin-bottom: 32px;
  column-gap: 3.8709677419%;
}
@media screen and (min-width: 1200px) {
  .news_post_wrap {
    column-gap: 4.1884816754%;
  }
}

.news_post_ttl {
  font-size: clamp(1.8rem, 4.8vw, 2.4rem);
}

.news_post_ctt {
  margin-bottom: 30px;
}
.news_post_ctt h2 {
  margin: 30px 0;
  font-family: "ta-mincho-gf-01", serif;
  font-size: clamp(1.6rem, 4.2666666667vw, 2rem);
  font-weight: 400;
  position: relative;
}
.news_post_ctt h2::before {
  content: "";
  display: block;
  width: 26px;
  aspect-ratio: 1/1;
  background-color: #FFEDD8;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  transform: translate(-50%, -50%) rotate(45deg);
  transform-origin: center;
}
.news_post_ctt h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 8px;
  background-image: url(../img/blog_h2_line.jpg);
  background-repeat: no-repeat;
  background-position: center left;
  background-size: cover;
}
.news_post_ctt h3 {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin: 30px 0;
  font-size: clamp(1.4rem, 3.7333333333vw, 1.8rem);
  border-bottom: 1px solid #171C61;
}
.news_post_ctt h3::before {
  content: "";
  display: block;
  width: 10px;
  margin-right: 12px;
  background-color: #171C61;
}
.news_post_ctt h4 {
  margin: 30px 0;
  font-size: clamp(1.3rem, 3.4666666667vw, 1.6rem);
  border-bottom: 1px solid #171C61;
}
.news_post_ctt p {
  margin-bottom: 10px;
}

/**********************************************
    $company
***********************************************/
.container:has(.company_ctt) {
  padding: 0;
}
@media screen and (min-width: 1200px) {
  .container:has(.company_ctt) {
    padding: 0 5.5555555556%;
  }
}

.company_ctt {
  width: 91.2%;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 1200px) {
  .company_ctt {
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .company_ctt section:not(:first-of-type) {
    margin-top: 120px;
  }
}
.company_ctt::after {
  content: "";
  display: block;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  background-image: url(../img/bg_blog_post.png);
  background-repeat: repeat-y;
  background-position: top center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.company_ctt > .inner {
  padding: 16px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .company_ctt > .inner {
    padding: 50px 64px;
  }
}
.company_ctt h2 {
  margin: 30px 0;
  font-family: "ta-mincho-gf-01", serif;
  font-size: clamp(1.6rem, 4.2666666667vw, 2rem);
  font-weight: 400;
  position: relative;
}
.company_ctt h2::before {
  content: "";
  display: block;
  width: 26px;
  aspect-ratio: 1/1;
  background-color: #FFEDD8;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  transform: translate(-50%, -50%) rotate(45deg);
  transform-origin: center;
}
.company_ctt h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 8px;
  background-image: url(../img/blog_h2_line.jpg);
  background-repeat: no-repeat;
  background-position: center left;
  background-size: cover;
}

.company_message_lead {
  margin-bottom: 18px;
  font-size: 1.23em;
}

@media screen and (min-width: 768px) {
  .company_message_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.company_message_img {
  margin-bottom: 18px;
}
@media screen and (min-width: 768px) {
  .company_message_img {
    width: 40.4699738903%;
  }
}
.company_message_img figcaption {
  margin-top: 18px;
}
.company_message_img figcaption p {
  text-align: right;
}

.company_message_txt {
  margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
  .company_message_txt {
    width: 53.6553524804%;
  }
}
.company_message_txt p {
  margin-bottom: 10px;
}
.company_message_txt p:last-of-type {
  margin-bottom: 0;
}

.company_vision_sec {
  margin-bottom: 32px;
}

.company_about_sec {
  margin-bottom: 32px;
}

.company_about_wrap {
  margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
  .company_about_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .company_about_txt {
    width: 54.046997389%;
  }
}
.company_about_txt p:not([class]) {
  margin-bottom: 10px;
}
.company_about_txt a {
  text-decoration: underline;
}

.company_about_lead {
  margin-bottom: 18px;
  font-size: 1.23em;
}

.company_lnk_txt {
  transition: 0.6s;
}
.company_lnk_txt:hover {
  color: #D7BC71;
}

.company_about_img {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .company_about_img {
    width: 42.5587467363%;
  }
}

.company_lnk_img:hover img {
  object-fit: cover;
  transform: scale(1.1);
  transition: 0.6s;
}
.company_lnk_img:not(:hover) img {
  transition: 0.6s;
}

.company_list {
  margin-bottom: 24px;
}
.company_list .inner {
  margin-bottom: 10px;
}
.company_list dt {
  font-weight: 400;
  text-transform: uppercase;
}
.company_list dd {
  margin-left: 20px;
}

.company_txt {
  margin-bottom: 24px;
}

.company_lnk {
  display: block;
  margin-bottom: 20px;
  text-decoration: underline;
}
.company_lnk::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-left: 10px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: translateY(0.2em);
}

.company_access {
  aspect-ratio: 452.46/243.87;
}
.company_access iframe {
  width: 100%;
  height: 100%;
}

/**********************************************
    $contact
***********************************************/
.contact_ctt {
  width: 91.2%;
  max-width: 1094px;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}
.contact_ctt .intro_txt {
  margin-bottom: 48px;
}
.contact_ctt::after {
  content: "";
  display: block;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  background-image: url(../img/bg_blog_post.png);
  background-repeat: repeat;
  background-position: top center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.contact_ctt > .inner {
  padding: 16px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .contact_ctt > .inner {
    padding: 50px 64px;
  }
}

.contact_form_list .inner {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #3a3a3a;
}
@media screen and (min-width: 960px) {
  .contact_form_list .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 5.6987788331%;
  }
  .contact_form_list .inner:has(.cf_detail) {
    align-items: flex-start;
  }
}
.contact_form_list dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 1.384em;
  font-weight: 500;
}
@media screen and (min-width: 960px) {
  .contact_form_list dt {
    width: 11em;
    font-size: 1em;
  }
}
.contact_form_list dt .hissu {
  margin-left: 0.5em;
  padding: 2px 10px;
  font-size: 0.6em;
  color: #fff;
  background: #3a3a3a;
}
.contact_form_list dd .cf_name,
.contact_form_list dd .cf_email,
.contact_form_list dd .cf_tel,
.contact_form_list dd .cf_type,
.contact_form_list dd .cf_postcode,
.contact_form_list dd .cf_address,
.contact_form_list dd .cf_iko {
  width: 100%;
  height: 52px;
  padding: 0 10px;
  background-color: #EFEFEF;
  border: none;
}
.contact_form_list dd .cf_address {
  margin-top: 10px;
}
.contact_form_list dd .cf_detail {
  width: 100%;
  height: 217px;
  padding: 0 10px;
  background-color: #EFEFEF;
  border: none;
}
@media screen and (min-width: 960px) {
  .contact_form_list dd {
    width: calc(100% - 11.5em);
    font-size: 1em;
  }
}

p:has(.cf_chk) {
  margin: 48px 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cf_btn:has(.cf_btn_back) p {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 16px;
    margin: 60px auto 0;
  }
}

.cf_btn_submit {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 77.4193548387%;
  max-width: 350px;
  aspect-ratio: 240/48;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  background-color: #B70000;
  border: 1px solid #B70000;
}
.cf_btn_back {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 77.4193548387%;
  max-width: 350px;
  aspect-ratio: 240/48;
  margin: 0 auto;
  text-align: center;
  color: #3a3a3a;
  border: 1px solid #3a3a3a;
}

.wpcf7-spinner {
  display: none;
}

/**********************************************
    $confirm
***********************************************/
.confirm_ctt {
  width: 91.2%;
  max-width: 1094px;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}
.confirm_ctt .intro_txt {
  margin-bottom: 48px;
}
.confirm_ctt::after {
  content: "";
  display: block;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  background-image: url(../img/bg_blog_post.png);
  background-repeat: repeat;
  background-position: top center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.confirm_ctt > .inner {
  padding: 16px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .confirm_ctt > .inner {
    padding: 50px 64px;
  }
}
.confirm_ctt .contact_form_list dt .hissu {
  display: none;
}
.confirm_ctt p:has(input[name="your_chk[data]"]) {
  display: none;
}

/**********************************************
    $thanks
***********************************************/
.thanks_ctt {
  width: 91.2%;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 700px) {
  .thanks_ctt p {
    text-align: center;
  }
}
.thanks_ctt::after {
  content: "";
  display: block;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  background-image: url(../img/bg_blog_post.png);
  background-repeat: repeat;
  background-position: top center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.thanks_ctt > .inner {
  padding: 16px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .thanks_ctt > .inner {
    padding: 50px 64px;
  }
}
.thanks_ctt .lnk_btn {
  display: block;
  width: fit-content;
  margin: 48px auto 0;
}
.thanks_ctt .lnk_btn::before {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-right: 10px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: translateY(0.2em) rotateY(180deg);
}

/**********************************************
    $contact
***********************************************/
.container:has(.policy_container) {
  padding: 0;
}
@media screen and (min-width: 1200px) {
  .container:has(.policy_container) {
    padding: 0 5.5555555556%;
  }
}

.policy_container {
  width: 91.2%;
  max-width: 1094px;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}
.policy_container::after {
  content: "";
  display: block;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  background-image: url(../img/bg_blog_post.png);
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.policy_container > .inner {
  padding: 32px 16px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .policy_container > .inner {
    padding: 80px 15.065913371%;
  }
}
.policy_container .intro_txt {
  margin-bottom: 60px;
}
@media screen and (min-width: 1200px) {
  .policy_container .intro_txt {
    margin-bottom: 48px;
  }
}

.intro_privacy {
  margin-bottom: 30px;
}

.policy_ctt {
  margin-bottom: 50px;
}
.policy_ctt h2 {
  font-size: 2rem;
}
.policy_ctt p {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .policy_ctt p {
    margin-bottom: 30px;
  }
}
.policy_ctt .contact p {
  margin-bottom: 0;
}
.policy_ctt ul li {
  margin: 0 0 10px 1.5em;
  list-style: disc;
}

.policy_ctt_detail {
  margin-bottom: 30px;
}
.policy_ctt_detail h3 {
  font-size: 1.8rem;
  text-decoration: underline;
}

.wpcf7-turnstile {
  margin-bottom: 20px;
}

/**********************************************
    $404
***********************************************/
.not_found .lnk_btn {
  display: block;
  width: fit-content;
  margin: 48px auto 0;
}
.not_found .lnk_btn::before {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 16.71/15.49;
  margin-right: 10px;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: translateY(0.2em) rotateY(180deg);
}
@media screen and (min-width: 768px) {
  .not_found p {
    text-align: center;
  }
}

.ttl_h3 {
  font-family: "ta-mincho-gf-01", serif;
  font-size: clamp(1.6rem, 4.2666666667vw, 2rem);
  margin-top: 20px;
}

.ttl_h4 {
  font-size: 1.8rem;
  margin-top: 1.5rem;
}

.lst_disc, .lst_ordered {
  margin-left: 2rem;
}

.lst_disc li {
  list-style-type: disc;
}

.lst_ordered {
  list-style: decimal;
}/*# sourceMappingURL=style.css.map */