@charset "UTF-8";
/**********************
** font
**********************/
@font-face {
  font-family: "noto sans jp";
  src: url(../font/Noto_Sans_JP/NotoSansJP-Thin.otf);
  font-weight: 100;
  font-display: swap;
}
@font-face {
  font-family: "noto sans jp";
  src: url(../font/Noto_Sans_JP/NotoSansJP-Light.otf);
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "noto sans jp";
  src: url(../font/Noto_Sans_JP/NotoSansJP-Regular.otf);
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "noto sans jp";
  src: url(../font/Noto_Sans_JP/NotoSansJP-Medium.otf);
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "noto sans jp";
  src: url(../font/Noto_Sans_JP/NotoSansJP-Bold.otf);
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "noto sans jp";
  src: url(../font/Noto_Sans_JP/NotoSansJP-Black.otf);
  font-weight: 900;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-Light.ttf);
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-LightItalic.ttf);
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-Regular.ttf);
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-Medium.ttf);
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-MediumItalic.ttf);
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-SemiBold.ttf);
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-SemiBoldItalic.ttf);
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-Bold.ttf);
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url(../font/Cormorant_Garamond/CormorantGaramond-BoldItalic.ttf);
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url(../font/Zen_Old_Mincho/ZenOldMincho-Regular.ttf);
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url(../font/Zen_Old_Mincho/ZenOldMincho-Medium.ttf);
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url(../font/Zen_Old_Mincho/ZenOldMincho-SemiBold.ttf);
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url(../font/Zen_Old_Mincho/ZenOldMincho-Bold.ttf);
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url(../font/Zen_Old_Mincho/ZenOldMincho-Black.ttf);
  font-weight: 900;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-Thin.ttf);
  font-weight: 100;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-ExtraLight.ttf);
  font-weight: 200;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-Light.ttf);
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-Regular.ttf);
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-Medium.ttf);
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-SemiBold.ttf);
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-Bold.ttf);
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-ExtraBold.ttf);
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url(../font/Inter/Inter_18pt-Black.ttf);
  font-weight: 900;
  font-display: swap;
}
/**********************
** parameter
**********************/
/**********************
** initialize
**********************/
html {
  /* ページ内リンク繊維をスムーズにする */
  scroll-behavior: smooth;
  font-size: 62.5%;
}

h1,
h2,
h3,
h4 {
  margin: 0;
}

a {
  color: #041927;
  text-decoration: none;
}

img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

p {
  margin: 0;
}

ul,
nav {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

button {
  border: none;
}

input,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

hr {
  margin: 0;
}

/**********************
** common
**********************/
/** メディアクエリ **/
@media (min-width: 961px) {
  .only_sp {
    display: none !important;
  }
}
@media (max-width: 960px) {
  .only_pc {
    display: none !important;
  }
}
/** 共通項目 **/
.en_text {
  font-family: "Cormorant Garamond", serif;
}

.ja_text {
  font-family: "Zen Old Mincho", serif;
}

.gray_text {
  color: #929293;
}

body {
  position: relative;
  width: 100%;
  background-color: #edeef0;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #041927;
  margin: 0;
}

.container {
  width: calc(100% - 200px);
  max-width: 1400px;
  margin: 0 auto;
}

.content {
  width: 90%;
  max-width: 800px;
  line-height: 2;
  padding-top: 190px;
  padding-bottom: 190px;
  margin: 0 auto;
}
.content p {
  font-size: 1.6rem;
  font-weight: 500;
}
.content p:has(img) {
  text-align: center;
}
.content p img {
  max-width: 1000px;
  margin: 30px auto;
}

.scroll_fade {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}

.wp-caption {
  width: 100% !important;
}

/**********************
** title
**********************/
h1.page_title {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: 2.855rem;
  letter-spacing: 1.1rem;
  color: #041927;
}

.section_title_wrapper {
  display: flex;
  justify-content: space-between;
  border-bottom: 0.5px solid #041927;
  padding-bottom: 36px;
}
.section_title_wrapper.title_center {
  justify-content: center;
}
.section_title_wrapper.no_border {
  border: none;
}

h2.section_title {
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: 2.1rem;
  letter-spacing: 0.8rem;
  color: #041927;
}

/**********************
** btn
**********************/
.btn_link {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 26px;
}
.btn_link .link_url {
  display: inline-block;
  width: 100%;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.18rem;
  color: #041927;
}
.btn_link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3px;
  width: 9px;
  height: 9px;
  transform: translateY(-50%);
  background-image: url(../images/arrow_black.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: right 0.5s ease;
}
.btn_link.white_link .link_url {
  color: white;
}
.btn_link.white_link::after {
  background-image: url(../images/arrow_white.svg);
}
.btn_link:hover::after {
  right: -7px;
}

.center_link_wrapper {
  text-align: center;
  padding-top: 133px;
}
.center_link_wrapper .btn_link {
  display: inline-flex;
}

/**********************
** hamburger menu
**********************/
#hamburger_icon {
  width: 50px;
  height: 45px;
  position: relative;
  transform: rotate(0deg);
  transition: 0.5s ease-in-out;
  cursor: pointer;
  margin-left: 50px;
  z-index: 200;
}
#hamburger_icon span {
  display: block;
  position: absolute;
  height: 1px;
  width: 50%;
  background: #041927;
  opacity: 1;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
}
#hamburger_icon span:nth-child(even) {
  left: 50%;
  border-radius: 0 9px 9px 0;
}
#hamburger_icon span:nth-child(odd) {
  left: 0px;
  border-radius: 9px 0 0 9px;
}
#hamburger_icon span:nth-child(1), #hamburger_icon span:nth-child(2) {
  top: 14px;
}
#hamburger_icon span:nth-child(3), #hamburger_icon span:nth-child(4) {
  top: 31px;
}
#hamburger_icon.open span:nth-child(1), #hamburger_icon.open span:nth-child(4) {
  transform: rotate(45deg);
}
#hamburger_icon.open span:nth-child(2), #hamburger_icon.open span:nth-child(3) {
  transform: rotate(-45deg);
}
#hamburger_icon.open span:nth-child(1) {
  left: 4px;
  top: 9px;
}
#hamburger_icon.open span:nth-child(2) {
  left: calc(50% - 4px);
  top: 9px;
}
#hamburger_icon.open span:nth-child(3) {
  left: 4px;
  top: 26px;
}
#hamburger_icon.open span:nth-child(4) {
  left: calc(50% - 4px);
  top: 26px;
}
#hamburger_icon + #nav_panel {
  position: absolute;
  top: 0;
  right: -630px;
  width: calc(100% - 130px);
  max-width: 500px;
  background-color: white;
  height: calc(100vh - 105px);
  opacity: 0;
  transition: 0.5s ease-in-out;
  padding-top: 105px;
  padding-left: 65px;
  padding-right: 65px;
  margin: 0 auto;
  z-index: 100;
}
#hamburger_icon + #nav_panel .logo_wrapper {
  width: 89px;
}
#hamburger_icon + #nav_panel .menu-global_menu-container {
  margin-top: 93px;
  margin-left: 16px;
}
#hamburger_icon + #nav_panel .menu-global_menu-container li.menu-item {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.76rem;
  font-weight: 500;
  letter-spacing: 0.35rem;
  margin-top: 27px;
}
#hamburger_icon + #nav_panel .nav_bottom {
  display: flex;
  flex-direction: column;
  row-gap: 44px;
  margin-top: 74px;
  margin-left: 16px;
}
#hamburger_icon + #nav_panel .nav_bottom a.nav_bottom_link {
  display: inline-flex;
  align-items: center;
  font-family: "Inter", sans-serif;
  font-size: 0.96rem;
  font-weight: 400;
  letter-spacing: 0.15rem;
  color: #707070;
}
#hamburger_icon + #nav_panel .nav_bottom a.nav_bottom_link img.instagram_logo {
  width: 15px;
  margin-right: 15px;
}
#hamburger_icon.open + #nav_panel {
  right: 0;
  opacity: 1;
}

/**********************
** header
**********************/
header#header {
  position: fixed;
  display: flex;
  top: 0;
  width: calc(100% - 100px);
  height: 150px;
  justify-content: space-between;
  align-items: center;
  padding: 0 50px;
  z-index: 100;
}
header#header a.custom-logo-link,
header#header .no_header_logo {
  width: 110px;
  height: 80px;
}
header#header .header_title a.header_title_link {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.3rem;
}

/**********************
** footer
**********************/
footer#footer {
  padding-bottom: 163px;
}
footer#footer .footer_content {
  border-bottom: 1px solid #c4c5c5;
  padding-top: 122px;
  padding-bottom: 134px;
}
footer#footer .footer_content .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
footer#footer .footer_content .container p.office {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.03rem;
}
footer#footer .footer_content .container p.address {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  line-height: 2.4;
  margin-top: 55px;
}
footer#footer .footer_content .container p.address a {
  font-family: "Inter", sans-serif;
  font-size: 1.5rem;
  font-weight: 300;
  margin-left: 31px;
}
footer#footer .footer_content .container p.mail {
  font-family: "Inter", sans-serif;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.06rem;
  margin-top: 53px;
}
footer#footer .footer_content .container p.mail a {
  margin-left: 33px;
}
footer#footer .footer_content .container a.link_border {
  display: inline-block;
  line-height: 1;
  border-bottom: 1px solid #c4c5c5;
  padding-bottom: 6px;
}
footer#footer .footer_content .container .footer_logo_wrapper {
  width: 110px;
}
footer#footer .footer_bottom .container {
  display: flex;
  justify-content: space-between;
  font-family: "Inter", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.18rem;
  color: #707070;
  padding-top: 28px;
}
footer#footer .footer_bottom .container p {
  width: 420px;
}
footer#footer .footer_bottom .container a.footer_link {
  display: inline-flex;
  align-items: center;
  color: #707070;
}
footer#footer .footer_bottom .container a.footer_link:last-of-type {
  margin-left: auto;
}
footer#footer .footer_bottom .container a.footer_link img.instagram_logo {
  width: 18px;
  height: auto;
  margin-right: 18px;
}

body.is-chrome footer#footer .footer_content .container p.office,
body.is-chrome footer#footer .footer_content .container p.address {
  font-weight: 400;
}

/**********************
** contact cta
**********************/
section#contact_cta {
  padding-top: 125px;
}
section#contact_cta .contact_cta_wrapper {
  text-align: center;
  border-top: 1px solid #c4c5c5;
  border-bottom: 1px solid #c4c5c5;
  padding-top: 46px;
  padding-bottom: 45px;
  margin-top: 47px;
}
section#contact_cta .contact_cta_wrapper p.contact_lead {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
}
section#contact_cta .contact_cta_wrapper .btn_link {
  display: inline-flex;
  margin-top: 29px;
}
section#contact_cta .contact_cta_wrapper .btn_link .link_url {
  font-size: 2.1rem;
}

/**********************
** main
**********************/
main#main {
  margin-top: 100px;
}
main#main section {
  position: relative;
  width: 100%;
  overflow-x: hidden;
}
main#main section .container {
  width: 84%;
  margin: 0 auto;
}

/**********************
** single
**********************/
body.single .single_content {
  margin-top: 100px;
  margin-bottom: 100px;
}
body.single .single_content h1.page_title {
  margin-left: 0;
}

/**********************
** content journal
**********************/
ul.journal_content {
  display: flex;
  flex-wrap: wrap;
  width: 94%;
  row-gap: 94px;
  -moz-column-gap: 5.75%;
       column-gap: 5.75%;
  margin: 79px auto 0;
}
ul.journal_content li.journal_item {
  display: flex;
  width: 29.5%;
  flex-direction: column;
  justify-content: space-between;
}
ul.journal_content li.journal_item a.link_url .journal_main_item .journal_img_wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 0.8;
  background-color: #929293;
  overflow: hidden;
}
ul.journal_content li.journal_item a.link_url .journal_main_item .journal_img_wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(146, 146, 147, 0);
  transition: background 0.5s;
}
ul.journal_content li.journal_item a.link_url .journal_main_item .journal_img_wrapper img {
  display: block;
  transition: transform 0.5s;
}
ul.journal_content li.journal_item a.link_url .journal_main_item .tag_wrapper {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 10px;
       column-gap: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  color: #929293;
  margin-top: 30px;
}
ul.journal_content li.journal_item a.link_url .journal_main_item h3.journal_title {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.08rem;
  line-height: 1.5;
  margin-top: 17px;
}
ul.journal_content li.journal_item a.link_url .btn_link {
  margin-top: 48px;
}
ul.journal_content li.journal_item a.link_url:hover .journal_main_item .journal_img_wrapper::after {
  background: rgba(146, 146, 147, 0.5);
}
ul.journal_content li.journal_item a.link_url:hover .journal_main_item .journal_img_wrapper img {
  transform: scale(1.02);
}
ul.journal_content li.journal_item a.link_url:hover .btn_link::after {
  right: -7px;
}

/**********************
** related posts
**********************/
.related_content .related_swiper_wrapper {
  overflow-x: hidden;
  margin-top: 100px;
  padding-bottom: 100px;
}
.related_content .related_swiper_wrapper .related_swiper_inner {
  width: 81%;
  margin: 0 auto;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper {
  position: relative;
  overflow: visible;
  padding-bottom: 163px;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url .slide_img_wrapper {
  width: 100%;
  aspect-ratio: 0.8;
  background-color: #929293;
  overflow: hidden;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url .slide_img_wrapper img {
  display: block;
  transform: scale(1);
  transition: transform 0.5s;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url .slide_info .slide_tags {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 10px;
       column-gap: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.2rem;
  color: #929293;
  margin-top: 34px;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url .slide_info p.slide_title {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  line-height: 1.5;
  margin-top: 16px;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url .btn_link {
  margin-top: 47px;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url:hover .slide_img_wrapper img {
  transform: scale(1.02);
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url:hover .btn_link::after {
  right: -7px;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-scrollbar {
  width: 385px !important;
  left: 50%;
  transform: translateX(-50%);
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-prev,
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-next {
  width: 54px;
  height: 54px;
  border: 1px solid #041927;
  border-radius: 100%;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-prev::after,
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translate(-50%, -50%);
  background-image: url(../images/arrow_black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-prev {
  top: calc(100% - 11px);
  left: 79.8%;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-prev .hover-prev-ring {
  transform: rotate(-90deg);
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-next {
  top: calc(100% - 11px);
  right: 9.2%;
}
.related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-next .hover-next-ring {
  transform: rotate(-90deg);
}

/** スマホ版 **/
@media (max-width: 960px) {
  /**********************
  ** common
  **********************/
  /** 共通項目 **/
  .container {
    width: 85%;
  }
  /**********************
  ** title
  **********************/
  h1.page_title {
    font-size: 1.8rem;
    letter-spacing: 0.7rem;
  }
  .section_title_wrapper {
    padding-bottom: 18px;
  }
  h2.section_title {
    font-size: 1.6rem;
    letter-spacing: 0.12rem;
  }
  /**********************
  ** btn
  **********************/
  .btn_link {
    padding-right: 20px;
  }
  .btn_link .link_url {
    font-size: 1rem;
    letter-spacing: 0.13rem;
  }
  .btn_link::after {
    right: 3px;
    width: 9px;
    height: 9px;
  }
  .center_link_wrapper {
    padding-top: 68px;
  }
  /**********************
  ** header
  **********************/
  header#header {
    width: calc(100% - 36px);
    height: 67px;
    padding: 0 18px;
  }
  header#header a.custom-logo-link,
  header#header .no_header_logo {
    display: none;
  }
  header#header .header_title a.header_title_link {
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
  }
  header#header #hamburger_icon {
    transform: rotate(0deg) scale(0.5);
    transform-origin: right;
  }
  /**********************
  ** footer
  **********************/
  footer#footer {
    padding-bottom: 40px;
  }
  footer#footer .footer_content {
    padding-top: 122px;
    padding-bottom: 28px;
  }
  footer#footer .footer_content .container {
    width: 90%;
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  footer#footer .footer_content .container .footer_info {
    margin-top: 89px;
  }
  footer#footer .footer_content .container p.office {
    font-size: 1.427rem;
  }
  footer#footer .footer_content .container p.address {
    font-size: 1.11rem;
    margin-top: 33px;
  }
  footer#footer .footer_content .container p.address a {
    font-size: 1.189rem;
    margin-left: 23px;
  }
  footer#footer .footer_content .container p.mail {
    font-size: 1.189rem;
    margin-top: 33px;
  }
  footer#footer .footer_content .container p.mail a {
    margin-left: 28px;
  }
  footer#footer .footer_content .container .footer_logo_wrapper {
    width: 90px;
  }
  footer#footer .footer_content .container a.footer_link {
    font-family: "Inter", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0.18rem;
    color: #707070;
    margin-top: 165px;
  }
  footer#footer .footer_bottom .container {
    width: 90%;
    padding-top: 86px;
  }
  footer#footer .footer_bottom .container p {
    width: auto;
  }
  footer#footer .footer_bottom .container a.footer_link img.instagram_logo {
    margin-right: 20px;
  }
  /**********************
  ** contact cta
  **********************/
  section#contact_cta {
    position: relative;
    padding-top: 430px;
  }
  section#contact_cta::before {
    content: "";
    position: absolute;
    top: 264px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 1px;
    background-color: #c4c5c5;
  }
  section#contact_cta h2.section_title {
    letter-spacing: 0.5rem;
  }
  section#contact_cta .contact_cta_wrapper {
    padding-top: 51px;
    padding-bottom: 52px;
    margin-top: 43px;
  }
  section#contact_cta .contact_cta_wrapper p.contact_lead {
    font-size: 1.3rem;
    letter-spacing: 0.2rem;
    line-height: 2.2;
  }
  section#contact_cta .contact_cta_wrapper .btn_link {
    margin-top: 15px;
  }
  section#contact_cta .contact_cta_wrapper .btn_link .link_url {
    font-size: 1.5rem;
  }
  /**********************
  ** content journal
  **********************/
  ul.journal_content {
    width: 100%;
    row-gap: 68px;
    -moz-column-gap: 8%;
         column-gap: 8%;
    margin: 54px auto 0;
  }
  ul.journal_content li.journal_item {
    width: 46%;
  }
  ul.journal_content li.journal_item a.link_url .journal_main_item .journal_img_wrapper {
    width: 100%;
    aspect-ratio: 0.8;
    background-color: #929293;
  }
  ul.journal_content li.journal_item a.link_url .journal_main_item .journal_img_wrapper img {
    display: block;
  }
  ul.journal_content li.journal_item a.link_url .journal_main_item .tag_wrapper {
    -moz-column-gap: 8px;
         column-gap: 8px;
    font-size: 0.9rem;
    letter-spacing: 0.02rem;
    line-height: 1.7;
    margin-top: 7px;
  }
  ul.journal_content li.journal_item a.link_url .journal_main_item h3.journal_title {
    font-size: 1.2rem;
    letter-spacing: 0rem;
    line-height: 1.65;
    margin-top: 13px;
  }
  ul.journal_content li.journal_item a.link_url .btn_link {
    margin-top: 3px;
  }
  /**********************
  ** related posts
  **********************/
  .related_content .related_swiper_wrapper {
    margin-top: 57px;
    padding-bottom: 100px;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner {
    width: 85%;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper {
    padding-bottom: 89px;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url .slide_info .slide_tags {
    -moz-column-gap: 8px;
         column-gap: 8px;
    font-size: 0.9rem;
    letter-spacing: 0.1rem;
    line-height: 1.7;
    margin-top: 1px;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url .slide_info p.slide_title {
    font-size: 1.2rem;
    letter-spacing: 0rem;
    line-height: 1.6;
    margin-top: 15px;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-slide a.link_url .btn_link {
    margin-top: 3px;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-scrollbar {
    width: 54% !important;
    left: 6%;
    transform: none;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-prev,
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-next {
    width: 32px;
    height: 32px;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-prev::after,
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-next::after {
    width: 10px;
    height: 10px;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-prev {
    top: calc(100% - 1px);
    left: 68.8%;
  }
  .related_content .related_swiper_wrapper .related_swiper_inner .related_swiper .swiper-button-next {
    top: calc(100% - 1px);
    right: 5.5%;
  }
}
body.home section#key_visual {
  width: 100%;
}
body.home section#key_visual .key_slider .swiper-slide {
  width: 100%;
  height: 100vh;
  /* 各スライドに再適用されるようにリセット */
}
body.home section#key_visual .key_slider .swiper-slide img.slide_img {
  width: 100%;
  animation: zoomIn 6s linear forwards;
}
@keyframes zoomIn {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.03);
  }
}
body.home section#key_visual .key_slider .swiper-slide:not(.swiper-slide-active) img.slide_img {
  animation: none;
}
body.home section#key_visual .key_slider .swiper-slide.swiper-slide-prev img.slide_img {
  transform: scale(1.03);
}
body.home section#key_visual .key_slider .swiper-slide .slide_info {
  position: absolute;
  bottom: 27px;
  left: calc(7% - 20px);
  padding: 20px;
}
body.home section#key_visual .key_slider .swiper-slide .slide_info .slide_tags {
  display: flex;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.5rem;
  letter-spacing: 0.2rem;
}
body.home section#key_visual .key_slider .swiper-slide .slide_info .slide_tags span:last-child {
  position: relative;
  margin-left: 22px;
}
body.home section#key_visual .key_slider .swiper-slide .slide_info .slide_tags span:last-child::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -13px;
  width: 1px;
  height: 77%;
  transform: translateY(-50%);
  background-color: #041927;
}
body.home section#key_visual .key_slider .swiper-slide .slide_info hr {
  width: 110%;
  height: 1px;
  background: #041927;
  border: none;
  margin-top: 27px;
}
body.home section#key_visual .key_slider .swiper-slide .slide_info p.project_title {
  font-size: 2.3rem;
  font-weight: 400;
  letter-spacing: 0.55rem;
  margin-top: 28px;
}
body.home section#key_visual .key_slider .swiper-slide .slide_info p.project_work {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  margin-top: 33px;
}
body.home section#key_visual .key_slider .swiper-pagination {
  width: auto;
  bottom: 46px;
  right: 104px;
  text-align: right;
}
body.home section#key_visual .key_slider .swiper-pagination span.swiper-pagination-bullet {
  width: 3px;
  height: 3px;
  background: #041927;
  opacity: 1;
  margin: 0 7px;
}
body.home section#key_visual .key_slider .swiper-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  position: relative;
}
body.home section#key_visual .key_slider .swiper-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 50%;
  left: 50%;
  border-radius: 100%;
  border: 1px solid #041927;
  transform: translate(-50%, -50%);
}
body.home section#key_visual .key_slider .swiper-button-next {
  position: absolute;
  width: 54px;
  height: 54px;
  top: calc(100% - 175px);
  right: 7%;
}
body.home section#key_visual .key_slider .swiper-button-next::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../images/arrow_black.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
body.home section#key_visual .key_slider .swiper-button-next .progress-ring {
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
  transform: rotate(-90deg);
  /* 開始位置を12時に */
  pointer-events: none;
}
body.home section#key_visual .key_slider .swiper-button-next .progress-ring__circle {
  stroke-dasharray: 170;
  /* 2πr = 2*π*27 ≒ 113 */
  stroke-dashoffset: 170;
  transition: stroke-dashoffset linear;
}
body.home section#key_visual .key_event_wrapper {
  margin-top: 131px;
}
body.home section#key_visual h3.sub_section_wrapper {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0.85rem;
}
body.home section#key_visual .event_link_wrapper {
  display: flex;
  justify-content: space-between;
  font-size: 1.5rem;
  margin-top: 31px;
  margin-bottom: 31px;
}
body.home section#key_visual .event_link_wrapper span.event_date {
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.2rem;
}
body.home section#key_visual .event_link_wrapper span.event_title {
  letter-spacing: 0.3rem;
  margin-left: 29px;
}
body.home section#projects {
  padding-top: 102px;
  padding-bottom: 118px;
}
body.home section#projects .projects_wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 82px;
  margin-top: 86px;
}
body.home section#projects .projects_wrapper .project_wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1.92;
  overflow: hidden;
  z-index: 0;
}
body.home section#projects .projects_wrapper .project_wrapper:hover img {
  transform: scale(1.02);
}
body.home section#projects .projects_wrapper .project_wrapper:hover .overlay {
  background: rgba(207, 208, 208, 0.66);
}
body.home section#projects .projects_wrapper .project_wrapper:hover .project_text {
  opacity: 1;
}
body.home section#projects .projects_wrapper .project_wrapper img {
  transition: transform 1s ease-in;
  transform: scale(1);
}
body.home section#projects .projects_wrapper .project_wrapper .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(207, 208, 208, 0);
  transition: background 1s ease;
  z-index: 10;
}
body.home section#projects .projects_wrapper .project_wrapper .project_text {
  position: absolute;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
  transition: opacity 1s ease;
  z-index: 20;
}
body.home section#projects .projects_wrapper .project_wrapper .project_text h3.project_title {
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.5rem;
}
body.home section#projects .projects_wrapper .project_wrapper .project_text p.project_lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.32rem;
  line-height: 2;
  width: 90%;
  max-width: 800px;
  margin: 35px auto 0;
}
body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 39px;
       column-gap: 39px;
  margin-top: 60px;
}
body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p {
  position: relative;
}
body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p:nth-child(2):before, body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p:last-child:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
  width: 1px;
  height: 100%;
  background-color: #041927;
}
body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p.project_work {
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
}
body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p.project_cat,
body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p.location {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
}
body.home section#journal {
  padding-top: 102px;
  padding-bottom: 100px;
}
body.home section#journal .center_link_wrapper {
  padding-top: 114px;
}
body.home section#client_voices {
  padding-top: 88px;
  padding-bottom: 100px;
}
body.home section#client_voices ul.client_voices_content {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 6%;
       column-gap: 6%;
  margin-top: 77px;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item {
  display: flex;
  width: 47%;
  flex-direction: column;
  justify-content: space-between;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item .voice_img_wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 1.95;
  overflow: hidden;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item .voice_img_wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(146, 146, 147, 0);
  transition: background 0.5s;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item .voice_img_wrapper img {
  display: block;
  transform: scale(1);
  transition: transform 0.5s;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item h3.voice_title {
  display: flex;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.25rem;
  -moz-column-gap: 44px;
  column-gap: 44px;
  margin-top: 26px;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item h3.voice_title p.work {
  width: auto;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item h3.voice_title p.voice_title {
  position: relative;
  flex: 1;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item h3.voice_title p.voice_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -21px;
  transform: translateY(-50%);
  width: 1px;
  height: 75%;
  background-color: #041927;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item p.voice_lead_text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.3rem;
  line-height: 1.8;
  margin-top: 20px;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .btn_link {
  margin-top: 45px;
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url:hover .voice_main_item .voice_img_wrapper::after {
  background: rgba(146, 146, 147, 0.5);
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url:hover .voice_main_item .voice_img_wrapper img {
  transform: scale(1.02);
}
body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url:hover .btn_link::after {
  right: -7px;
}
body.home section#instagram {
  padding-top: 118px;
  padding-bottom: 321px;
}
body.home section#instagram .center_link_wrapper {
  padding-top: 50px;
}
body.home section#greetings {
  position: relative;
  color: white;
  background-image: url(../images/greetings_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 139px;
  padding-bottom: 217px;
  z-index: 0;
}
body.home section#greetings::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #3f4349;
  opacity: 0.66;
  z-index: 10;
}
body.home section#greetings .container {
  position: relative;
  z-index: 20;
}
body.home section#greetings .section_title_wrapper {
  border-bottom: 0.5px solid white;
}
body.home section#greetings h2.section_title {
  color: white;
}
body.home section#greetings p.greeting {
  font-size: 2.3rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  margin-top: 102px;
}
body.home section#greetings .greeting_content {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
}
body.home section#greetings .greeting_content p.greeting_ja,
body.home section#greetings .greeting_content p.greeting_en {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 100;
  line-height: 2;
}
body.home section#greetings .greeting_content p.greeting_ja {
  width: 489px;
  letter-spacing: 0.17rem;
}
body.home section#greetings .greeting_content p.greeting_en {
  width: 492px;
  letter-spacing: 0.15rem;
}
body.home section#greetings .greeting_content .greeting_links_wrapper {
  display: flex;
  flex: 1;
  flex-direction: column;
  row-gap: 65px;
  transition: right 0.5s ease;
  margin-top: 22px;
}
body.home section#greetings .greeting_content .greeting_links_wrapper .greeting_link {
  width: 155px;
  color: white;
  margin-left: auto;
  margin-right: 0;
}
body.home section#greetings .greeting_content .greeting_links_wrapper .greeting_link p.link_title {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
}
body.home section#greetings .greeting_content .greeting_links_wrapper .greeting_link .btn_link {
  display: inline-flex;
  margin-top: 21px;
}
body.home section#greetings .greeting_content .greeting_links_wrapper .greeting_link .btn_link .link_url {
  color: white;
}
body.home section#greetings .greeting_content .greeting_links_wrapper .greeting_link:hover .btn_link::after {
  right: -7px;
}

/** スマホ版 **/
@media (max-width: 960px) {
  body.home section#key_visual .key_slider .swiper-slide {
    position: relative;
    z-index: 0;
  }
  body.home section#key_visual .key_slider .swiper-slide::after {
    content: "";
    position: absolute;
    top: 56%;
    left: calc(50% + 25px);
    transform: translate(-50%, -50%);
    width: 110px;
    height: 80px;
    background-image: url(../images/logo_white.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
  }
  body.home section#key_visual .key_slider .swiper-slide .slide_info {
    bottom: 56px;
    left: calc(5% - 20px);
  }
  body.home section#key_visual .key_slider .swiper-slide .slide_info .slide_tags {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  body.home section#key_visual .key_slider .swiper-slide .slide_info hr {
    width: 100%;
    margin-top: 10px;
  }
  body.home section#key_visual .key_slider .swiper-slide .slide_info p.project_title {
    font-size: 1.3rem;
    letter-spacing: 0.35rem;
    margin-top: 10px;
  }
  body.home section#key_visual .key_slider .swiper-slide .slide_info p.project_work {
    font-size: 1rem;
    letter-spacing: 0.3rem;
    margin-top: 10px;
  }
  body.home section#key_visual .key_slider .swiper-pagination {
    display: flex;
    flex-direction: column;
    row-gap: 14px;
    width: 20px;
    height: auto;
    bottom: 29px;
    left: auto;
    right: 13px;
  }
  body.home section#key_visual .key_slider .swiper-button-next {
    width: 32px;
    height: 32px;
    top: calc(100% - 40px);
    left: 5%;
    right: auto;
  }
  body.home section#key_visual .key_slider .swiper-button-next::after {
    width: 8px;
    height: 8px;
  }
  body.home section#key_visual .key_slider .swiper-button-next .progress-ring__circle {
    stroke-dasharray: 100;
    /* 2πr = 2*π*16 ≒ 113 */
    stroke-dashoffset: 100;
  }
  body.home section#key_visual .key_event_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 45px;
  }
  body.home section#key_visual h3.sub_section_wrapper {
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
  }
  body.home section#key_visual .event_link_wrapper {
    width: 100%;
    line-height: 2.6;
    margin-top: 17px;
    margin-bottom: 31px;
  }
  body.home section#key_visual .event_link_wrapper .event_single_wrapper {
    width: calc(100% - 20px);
  }
  body.home section#key_visual .event_link_wrapper .btn_link {
    width: 100%;
  }
  body.home section#key_visual .event_link_wrapper .btn_link::after {
    top: calc(50% + 21px);
  }
  body.home section#key_visual .event_link_wrapper a.event_link {
    display: inline-block;
    width: 100%;
  }
  body.home section#key_visual .event_link_wrapper span.event_title {
    font-size: 1.3rem;
    letter-spacing: 0.28rem;
    margin-left: 0;
  }
  body.home section#projects {
    padding-top: 91px;
    padding-bottom: 35px;
  }
  body.home section#projects .projects_wrapper {
    row-gap: 10px;
    margin-top: 109px;
  }
  body.home section#projects .projects_wrapper .project_wrapper {
    aspect-ratio: 0.8;
  }
  body.home section#projects .projects_wrapper .project_wrapper:hover img {
    transform: scale(1.02);
  }
  body.home section#projects .projects_wrapper .project_wrapper:hover .project_text {
    opacity: 1;
  }
  body.home section#projects .projects_wrapper .project_wrapper .project_text {
    position: absolute;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    row-gap: 27px;
    width: 100%;
    height: 150px;
    text-align: center;
    color: white;
    opacity: 1;
    background: linear-gradient(rgb(207, 208, 208), rgba(207, 208, 208, 0));
    padding-top: 55px;
    z-index: 20;
  }
  body.home section#projects .projects_wrapper .project_wrapper .project_text h3.project_title {
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.4rem;
  }
  body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags {
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
  body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p {
    position: relative;
  }
  body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p:nth-child(2):before, body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p:last-child:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -15px;
    transform: translateY(-50%);
    width: 1px;
    height: 100%;
    background-color: white;
  }
  body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p.project_work {
    font-size: 1.085rem;
    font-weight: 400;
    letter-spacing: 0.3rem;
  }
  body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p.project_cat,
  body.home section#projects .projects_wrapper .project_wrapper .project_text .project_tags p.location {
    font-family: "Cormorant Garamond", serif;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.1rem;
  }
  body.home section#journal {
    padding-top: 102px;
    padding-bottom: 75px;
  }
  body.home section#journal .center_link_wrapper {
    padding-top: 63px;
  }
  body.home section#client_voices {
    padding-top: 63px;
    padding-bottom: 77px;
  }
  body.home section#client_voices ul.client_voices_content {
    row-gap: 60px;
    margin-top: 54px;
  }
  body.home section#client_voices ul.client_voices_content li.client_voice_item {
    width: 100%;
  }
  body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item .voice_img_wrapper {
    aspect-ratio: 1.45;
  }
  body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item h3.voice_title {
    font-size: 1.6rem;
    -moz-column-gap: 40px;
         column-gap: 40px;
    margin-top: 36px;
  }
  body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .voice_main_item p.voice_lead_text {
    font-size: 1rem;
    letter-spacing: 0.26rem;
    line-height: 2;
  }
  body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url .btn_link {
    margin-top: 10px;
  }
  body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url:hover .voice_main_item .voice_img_wrapper img {
    transform: scale(1);
  }
  body.home section#client_voices ul.client_voices_content li.client_voice_item a.link_url:hover .btn_link::after {
    right: 0;
  }
  body.home section#instagram {
    padding-top: 75px;
    padding-bottom: 144px;
  }
  body.home section#instagram h2.section_title {
    letter-spacing: 0.5rem;
  }
  body.home section#instagram .center_link_wrapper {
    padding-top: 50px;
  }
  body.home section#greetings {
    padding-top: 63px;
    padding-bottom: 93px;
  }
  body.home section#greetings h2.section_title {
    letter-spacing: 0.5rem;
  }
  body.home section#greetings p.greeting {
    font-size: 1.8rem;
    letter-spacing: 0.3rem;
    margin-top: 75px;
  }
  body.home section#greetings .greeting_content {
    flex-direction: column;
    margin-top: 33px;
  }
  body.home section#greetings .greeting_content p.greeting_ja,
  body.home section#greetings .greeting_content p.greeting_en {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 100;
    line-height: 2;
  }
  body.home section#greetings .greeting_content p.greeting_ja {
    width: 100%;
    letter-spacing: 0.15rem;
    line-height: 2.24;
  }
  body.home section#greetings .greeting_content p.greeting_en {
    width: 492px;
    letter-spacing: 0.15rem;
  }
  body.home section#greetings .greeting_content .greeting_links_wrapper {
    width: 100%;
    row-gap: 47px;
    margin-top: 85px;
  }
  body.home section#greetings .greeting_content .greeting_links_wrapper .greeting_link {
    width: 100%;
    margin-left: 0;
    margin-right: auto;
  }
  body.home section#greetings .greeting_content .greeting_links_wrapper .greeting_link p.link_title {
    font-size: 1.5rem;
  }
  body.home section#greetings .greeting_content .greeting_links_wrapper .greeting_link .btn_link {
    margin-top: 6px;
  }
}/*# sourceMappingURL=top.css.map */