@charset "UTF-8";
@import url("../css/reset.css");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
/*-------------------------------------------/
    ページ共通要素
/-------------------------------------------*/
/* 表示切替 ----------------------------- */
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
/* Font設定 ---------------------------------*/
/* カラー設定 ---------------------------------*/
:root {
  --white: #fff;
  --main-color: #2c5963;
  --accent-color: #8fc31f;
  --base-color: #ddeaed;
  --second-color: #668e98;
  --second-color: #668e98;
  --txt-red: #df1724;
  --txt-gray66: #666;
  --txt-gray44: #444444;
  --table-line: #b2d5de;
}

/* 基本設定　----------------------------------*/
html {
  scroll-behavior: auto !important;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
  font-size: clamp(16px, 1.1111111111vw, 18px);
  overflow-x: hidden;
  width: 100%;
}

/* アンカー（#）がついた要素の「到着地点」をヘッダー分だけ上にずらす */
[id] {
  scroll-margin-top: 4.375rem;
}

body {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-rendering: optimizeLegibility;
  color: #444444;
  animation: fade 0.8s ease forwards;
}
body:not(.index) {
  padding-top: 4.375rem;
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*=================================================
		tel　リンク
==================================================*/
@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  a[href*="tel:"] {
    cursor: pointer;
  }
}
.nolink,
.nolink a {
  pointer-events: none;
  text-decoration: none;
}

/*-------------------------------------------/
    レイアウト
/-------------------------------------------*/
ul,
li {
  list-style: none;
}

.indent {
  text-indent: -1em;
  margin-left: 1em;
}

/*-------------------------------------------/
    ヘッダー
/-------------------------------------------*/
#header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.4s ease;
  padding: 0.625rem 1.25rem;
}
#header .site-branding {
  width: 18.5rem;
}
body.index #header .site-branding {
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  #header .site-branding {
    width: 14.0625rem;
  }
}
#header .navigation-wrap {
  position: fixed;
  top: 0;
  bottom: 0;
  right: calc(-100% + 0.625rem);
  width: 18.625rem;
  padding: 5rem 2.5rem;
  background: var(--white);
  transition: 0.3s all ease;
  overflow-y: auto;
}
#header .navigation-wrap .main-navigation {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5rem;
  color: var(--main-color);
}
#header .navigation-wrap .main-navigation li a {
  display: flex;
  padding: 0 0.5rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
}
#header .navigation-wrap .main-navigation li a:hover {
  opacity: 0.8;
}
#header .contact-tel {
  position: absolute;
  top: 1.6875rem;
  right: 6.0625rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--main-color);
  -webkit-text-stroke: 3px var(--white);
  paint-order: stroke;
}
#header .contact-tel a {
  display: flex;
  align-items: baseline;
  gap: 0.1875rem;
}
#header .contact-tel a span {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  #header .contact-tel {
    top: 0;
    right: 5rem;
    font-size: 0.75rem;
    font-weight: 600;
  }
  #header .contact-tel a {
    width: 4.375rem;
    height: 4.375rem;
    padding: 0.625rem 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    text-decoration: none;
    border-radius: 0 0 0.3125rem 0.3125rem;
    border-top: none;
    border-right: 1px solid var(--main-color, #2c5963);
    border-bottom: 1px solid var(--main-color, #2c5963);
    border-left: 1px solid var(--main-color, #2c5963);
    background: var(--white);
  }
  #header .contact-tel a .icon {
    width: 1.625rem;
    height: 1.625rem;
    flex-shrink: 0;
    background: url("../images/icon_tel.svg") center center no-repeat;
    background-size: contain;
  }
  body.index #header .contact-tel {
    top: 5.1875rem;
    right: 0;
  }
  body.index #header .contact-tel a {
    border-radius: 0.3125rem 0 0 0.3125rem;
    border-top: 1px solid var(--main-color, #2c5963);
    border-right: none;
    border-bottom: 1px solid var(--main-color, #2c5963);
    border-left: 1px solid var(--main-color, #2c5963);
  }
}
#header.scroll {
  background-color: rgba(255, 255, 255, 0.9);
}
body.index #header.scroll .site-branding {
  opacity: 1;
  pointer-events: auto;
}
#header.open .navigation-wrap {
  right: 0;
}

/*-------------------------------------
　ハンバーガー
-------------------------------------*/
.nav_toggle {
  position: fixed;
  top: 0;
  right: 0;
  display: block;
  width: 4.375rem;
  height: 4.375rem;
  cursor: pointer;
  z-index: 999;
  pointer-events: auto;
  display: flex;
  padding: 0.625rem 1.25rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0 0 0 0.3125rem;
  border-bottom: 1px solid var(--main-color, #2c5963);
  border-left: 1px solid var(--main-color, #2c5963);
  background: var(--white);
  transition: 0.3s all ease;
}
.nav_toggle div.toggle {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 1.8125rem;
}
.nav_toggle div.toggle span {
  width: 100%;
  height: 1px;
  background: #2c5963;
}
.nav_toggle::after {
  content: "menu";
  color: var(--main-color);
  font-size: 0.75rem;
  font-weight: 500;
}

#header.open .nav_toggle div.toggle span {
  position: absolute;
  content: "";
  display: inline-block;
  width: 1.8125rem;
  height: 0.125rem;
  background: #2c5963;
  transition: 0.2s ease;
}
#header.open .nav_toggle div.toggle span:first-child {
  transform: rotate(45deg);
}
#header.open .nav_toggle div.toggle span:nth-child(2) {
  display: none;
}
#header.open .nav_toggle div.toggle span:nth-child(3) {
  transform: rotate(-45deg);
}
#header.open .nav_toggle::after {
  display: none;
}

/*-------------------------------------------/
    footer
/-------------------------------------------*/
#footer {
  position: relative;
  width: 100%;
  padding: 5rem 2.5rem;
  background: url("../images/bg_footer.png") top center no-repeat;
  background-size: 120rem auto;
}
#footer .footer_inner {
  width: min(100%, 80rem);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  align-self: stretch;
  gap: 2.5rem;
}
#footer .footer-txt .logo {
  width: 25.75rem;
  margin-bottom: 2.5rem;
}
#footer .footer-txt .logo img {
  width: 100%;
}
#footer .footer-txt .info-box {
  display: flex;
  flex-direction: column;
  gap: 0.5625rem;
}
#footer .footer-txt .info-box p {
  color: var(--txt-gray66);
  font-weight: 700;
  font-size: 1rem;
}
#footer .footer-txt .info-box p a {
  text-decoration: none;
}
#footer .footer-txt .copyright {
  color: var(--txt-gray66);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 1.5625rem;
}
#footer .footer-navigation {
  margin-left: auto;
}
#footer .footer-navigation ul {
  writing-mode: vertical-rl;
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 1.75rem;
}
#footer .footer-navigation ul a {
  color: var(--main-color);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  display: inline-flex;
  padding: 0 0.5rem;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.625rem;
  border-right: 1px solid var(--second-color, #668e98);
}
#footer .footer-navigation ul a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  #footer {
    padding: 2.5rem 1.25rem;
    background: url("../images/bg_footer_sp.png") top left no-repeat;
    background-size: 25.875rem auto;
  }
  #footer .footer_inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.875rem;
    align-self: stretch;
  }
  #footer .footer-txt .logo {
    width: min(100%, 23.125rem);
  }
  #footer .footer-navigation {
    display: none;
  }
}

/*-------------------------------------------/
    ボタン・リンク
/-------------------------------------------*/
a {
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
}

.btn-nomal {
  position: relative;
  display: inline-flex;
  padding: 1.25rem 2.5rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  border-radius: 100vmax;
  background: var(--main-color, #2c5963);
  color: var(--white);
  font-size: 1.125rem;
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  min-width: 23.375rem;
}
.btn-nomal span {
  flex-grow: 1;
}
.btn-nomal::after {
  content: "";
  width: 0.5rem;
  height: 1rem;
  background: rgba(255, 255, 255, 0.7);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.btn-nomal:hover {
  background: var(--accent-color);
}
@media screen and (max-width: 767px) {
  .btn-nomal {
    padding: 0.625rem 1.875rem;
    line-height: 1.5;
  }
}

img {
  vertical-align: middle;
  max-width: 100%;
}

/*-------------------------------------------/
   共通
/-------------------------------------------*/
main {
  position: relative;
}

.bgContent {
  position: relative;
}
.bgContent::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  background-color: var(--base-color, #ddeaed);
  background: url("../images/bg_content.jpg") center top repeat;
  background-size: 1440px auto;
  pointer-events: none;
}

.red {
  color: var(--txt-red);
}

.bgColor {
  background: var(--base-color);
}

.contentTitle {
  width: auto;
  text-align: center;
  margin: 0 auto;
  font-size: 2.25rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: 500;
  background-color: var(--main-color);
  background-image: url("../images/bg_title.png");
  background-size: auto 3.875rem;
  background-position: center;
  background-repeat: repeat-y;
  -webkit-background-clip: text; /* Safari/Chrome用 */
  background-clip: text;
  color: transparent;
  padding: 0.8125rem 0 0.375rem;
}
.contentTitle.txt-l {
  background-image: url("../images/bg_title2.png");
}

.sectionTitle {
  color: var(--main-color);
  font-feature-settings: "palt" on;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .sectionTitle {
    font-size: 1.5rem;
  }
}

.subTitle {
  color: var(--main-color);
  font-feature-settings: "palt" on;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-align: center;
}

.contentWrapper {
  padding: 5rem 2.5rem;
}
.contentWrapper .innerBox {
  width: min(100%, 75rem);
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .contentWrapper {
    padding: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .contentWrapper {
    padding: 1.875rem 1.25rem;
  }
  .contentWrapper#page-header {
    padding: 1.875rem 0;
  }
}

.leadBox {
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  align-self: stretch;
}
.leadBox .imageBox-service {
  width: min(100%, 22.625rem);
}
.leadBox p.txt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  color: var(--txt-gray66);
  font-feature-settings: "palt" on;
}
@media screen and (max-width: 1199px) {
  .leadBox {
    padding-left: 14.375rem;
  }
}
@media screen and (max-width: 1023px) {
  .leadBox p.txt {
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .leadBox {
    padding: 2.5rem 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  #sideNavi {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    margin: 0 auto;
    pointer-events: none;
  }
  #sideNavi .innerBox {
    position: sticky;
    top: 8.75rem;
    left: 0;
    padding-bottom: 2.5rem;
  }
  #sideNavi ul.sideNaviList {
    pointer-events: auto;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.5rem;
    margin-left: -1.25rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--main-color);
  }
  #sideNavi ul.sideNaviList li a {
    position: relative;
    display: flex;
    width: 14.375rem;
    height: 4.375rem;
    padding: 0.625rem 0.625rem 0.625rem 1.875rem;
    align-items: center;
    gap: 0.625rem;
    border-radius: 0.625rem;
    border: 1px solid var(--second-color, #668e98);
    background: var(--white);
    box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.08);
    overflow: hidden;
  }
  #sideNavi ul.sideNaviList li a .icon {
    width: 4.25rem;
    aspect-ratio: 34/25;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: 50%;
    background-size: contain;
  }
  #sideNavi ul.sideNaviList li a:hover {
    border: 1px solid var(--main-color, #2c5963);
  }
  #sideNavi ul.sideNaviList li.navItem01 a .icon {
    background-image: url("../images/img_inheritance_t.png");
  }
  #sideNavi ul.sideNaviList li.navItem02 a .icon {
    background-image: url("../images/img_will_t.png");
  }
  #sideNavi ul.sideNaviList li.navItem03 a .icon {
    background-image: url("../images/img_real-estate_t.png");
  }
  #sideNavi ul.sideNaviList li.navItem04 a .icon {
    background-image: url("../images/img_guardianship_t.png");
  }
  #sideNavi ul.sideNaviList li.navItem05 a .icon {
    background-image: url("../images/img_family-trust_t.png");
  }
  #sideNavi ul.sideNaviList li.navItem06 a .icon {
    background-image: url("../images/img_corporate_t.png");
  }
  #sideNavi ul.sideNaviList li {
    /*カレント設定*/
  }
  body.inheritance #sideNavi ul.sideNaviList li.navItem01 a::after, body.will #sideNavi ul.sideNaviList li.navItem02 a::after, body.real-estate #sideNavi ul.sideNaviList li.navItem03 a::after, body.guardianship #sideNavi ul.sideNaviList li.navItem04 a::after, body.family-trust #sideNavi ul.sideNaviList li.navItem05 a::after, body.corporate #sideNavi ul.sideNaviList li.navItem06 a::after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    content: "";
    width: 1.3125rem;
    background: var(--main-color);
  }
}
@media screen and (max-width: 767px) {
  #sideNavi {
    width: 100%;
    padding: 1.25rem;
  }
  #sideNavi ul.sideNaviList {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--main-color);
  }
  #sideNavi ul.sideNaviList li {
    width: min(50% - 0.25rem, 11.4375rem);
  }
  #sideNavi ul.sideNaviList li a {
    position: relative;
    display: flex;
    width: 100%;
    padding: 0.625rem;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    border-radius: 0.625rem;
    border: 1px solid var(--second-color, #668e98);
    background: var(--white);
    box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.08);
    overflow: hidden;
    text-align: center;
  }
  #sideNavi ul.sideNaviList li a:hover {
    border: 1px solid var(--main-color, #2c5963);
  }
  #sideNavi ul.sideNaviList li a .icon {
    display: none;
  }
  #sideNavi ul.sideNaviList li {
    /*カレント設定*/
  }
  body.inheritance #sideNavi ul.sideNaviList li.navItem01 a, body.will #sideNavi ul.sideNaviList li.navItem02 a, body.real-estate #sideNavi ul.sideNaviList li.navItem03 a, body.guardianship #sideNavi ul.sideNaviList li.navItem04 a, body.family-trust #sideNavi ul.sideNaviList li.navItem05 a, body.corporate #sideNavi ul.sideNaviList li.navItem06 a {
    border: 1px solid var(--main-color, #2c5963);
  }
  body.inheritance #sideNavi ul.sideNaviList li.navItem01 a::after, body.will #sideNavi ul.sideNaviList li.navItem02 a::after, body.real-estate #sideNavi ul.sideNaviList li.navItem03 a::after, body.guardianship #sideNavi ul.sideNaviList li.navItem04 a::after, body.family-trust #sideNavi ul.sideNaviList li.navItem05 a::after, body.corporate #sideNavi ul.sideNaviList li.navItem06 a::after {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    content: "";
    height: 0.3125rem;
    background: var(--main-color);
  }
}

.lower {
  position: relative;
}
@media screen and (min-width: 768px) {
  .lower::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--white);
    background: url("../images/bg_circle01.png") center top no-repeat;
    background-size: 90rem auto;
    pointer-events: none;
  }
}

/*-------------------------------------------/
    Index トップページ
/-------------------------------------------*/
.top-discription {
  padding: 0.25rem 0.625rem;
}
.top-discription h1 {
  color: var(--txt-gray66);
  font-size: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .top-discription {
    padding-right: 4.6875rem;
  }
}

#mv {
  position: relative;
  width: 100%;
  aspect-ratio: 1440/630;
  overflow-x: clip;
}
#mv .bgBox {
  position: absolute;
  z-index: -1;
  top: -4.375rem;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  mix-blend-mode: multiply;
  opacity: 0.6;
}
#mv .bgBox .deco {
  position: absolute;
}
#mv .bgBox .deco.deco01 {
  top: 1.9047619048%;
  left: 1.7361111111%;
  width: 6.875%;
  aspect-ratio: 1/1;
  background: url("../images/deco-circle/circleA.png") 50%/cover no-repeat;
  animation: fuwafuwa4 7s infinite;
  animation-delay: 0.5s;
}
#mv .bgBox .deco.deco02 {
  top: 82.0707936508%;
  left: 32.1241666667%;
  width: 3.0555555556%;
  aspect-ratio: 1/1;
  background: url("../images/deco-circle/circleA.png") 50%/cover no-repeat;
  rotate: -98.612deg;
  animation: fuwafuwa5 8s infinite;
  animation-delay: -0.5s;
}
#mv .bgBox .deco.deco03 {
  top: -7.7777777778%;
  left: 19.0277777778%;
  width: 8.3333333333%;
  aspect-ratio: 24/25;
  background: url("../images/deco-circle/circleB.png") 50%/cover no-repeat;
  animation: fuwafuwa3 7s infinite;
  animation-delay: -1s;
}
#mv .bgBox .deco.deco04 {
  top: 37.1428571429%;
  left: 17.5694444444%;
  width: 4.5833333333%;
  aspect-ratio: 22/21;
  background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
  animation: fuwafuwa4 6s infinite;
}
#mv .bgBox .deco.deco05 {
  top: 19.3650793651%;
  left: 23.248125%;
  width: 2.1092361111%;
  aspect-ratio: 23/22;
  background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
  rotate: 83.07deg;
}
#mv .bgBox .deco.deco06 {
  top: 6.1504444444%;
  left: 70.9590277778%;
  width: 2.1092361111%;
  aspect-ratio: 23/22;
  background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
  rotate: -15.063deg;
}
#mv .bgBox .deco.deco07 {
  top: 57.4603174603%;
  left: 62.3484722222%;
  width: 2.7658680556%;
  aspect-ratio: 23/22;
  background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
  rotate: 4.243deg;
  animation: fuwafuwa 8s infinite;
  animation-delay: -1s;
}
#mv .bgBox .deco.deco08 {
  top: 78.0952380952%;
  left: 96.1361111111%;
  width: 3.2981458333%;
  aspect-ratio: 23/22;
  background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
  rotate: 4.243deg;
}
#mv .bgBox .deco.deco09 {
  top: 12.5396825397%;
  left: 54.0972222222%;
  width: 3.4722222222%;
  aspect-ratio: 25/24;
  background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
  rotate: -90deg;
}
#mv .bgBox .deco.deco10 {
  top: 37.3015873016%;
  left: 97.1527777778%;
  width: 2.6388888889%;
  aspect-ratio: 19/18;
  background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
  rotate: -90deg;
}
#mv .bgBox .deco.deco11 {
  top: 30.4761904762%;
  left: -8.1944444444%;
  width: 12.7588194444%;
  aspect-ratio: 43/44;
  background: url("../images/deco-circle/circleD.png") 50%/cover no-repeat;
  animation: fuwafuwa3 5s infinite;
  animation-delay: -1.5s;
}
#mv .bgBox .deco.deco12 {
  top: 48.5714285714%;
  left: 0.625%;
  width: 9.7222222222%;
  aspect-ratio: 35/33;
  background: url("../images/deco-circle/circleE.png") 50%/cover no-repeat;
  animation: fuwafuwa2 5s infinite;
  animation-delay: 1s;
}
#mv .bgBox .deco.deco13 {
  top: 88.4126984127%;
  left: 10.7638888889%;
  width: 1.875%;
  aspect-ratio: 27/25;
  background: url("../images/deco-circle/circleE.png") 50%/cover no-repeat;
}
#mv .bgBox .deco.deco14 {
  top: 31.5873015873%;
  left: 39.67125%;
  width: 7.7083333333%;
  aspect-ratio: 37/35;
  background: url("../images/deco-circle/circleE.png") 50%/cover no-repeat;
  rotate: 65.134deg;
}
#mv .bgBox .deco.deco15 {
  top: 12.2222222222%;
  left: 75.2777777778%;
  width: 9.375%;
  aspect-ratio: 135/136;
  background: url("../images/deco-circle/circleF.png") 50%/cover no-repeat;
  animation: fuwafuwa2 4s infinite;
  animation-delay: -1.5s;
}
#mv .bgBox .deco.deco16 {
  top: 27.1428571429%;
  left: 24.2361111111%;
  width: 5.6944444444%;
  aspect-ratio: 41/39;
  background: url("../images/deco-circle/circleH.png") 50%/cover no-repeat;
  animation: fuwafuwa3 5s infinite;
  animation-delay: -0.5s;
}
#mv .bgBox .deco.deco17 {
  top: 43.0158730159%;
  left: 73.4027777778%;
  width: 3.8194444444%;
  aspect-ratio: 55/59;
  background: url("../images/deco-circle/circleI.png") 50%/cover no-repeat;
  animation: fuwafuwa 5s infinite;
  animation-delay: -1.5s;
}
#mv .bgBox .deco.deco18 {
  top: 57.619047619%;
  left: 78.6805555556%;
  width: 3.4027777778%;
  aspect-ratio: 49/53;
  background: url("../images/deco-circle/circleI.png") 50%/cover no-repeat;
  animation: fuwafuwa 7s infinite;
  animation-delay: 1.5s;
}
#mv .bgBox .deco.deco19 {
  top: 6.1904761905%;
  left: 93.6111111111%;
  width: 7.1527777778%;
  aspect-ratio: 103/98;
  background: url("../images/deco-circle/circleJ.png") 50%/cover no-repeat;
  animation: fuwafuwa4 6s infinite;
  animation-delay: -0.5s;
}
#mv .bgBox .deco.deco20 {
  top: 88.253968254%;
  left: 20.8333333333%;
  width: 7.1527777778%;
  aspect-ratio: 103/98;
  background: url("../images/deco-circle/circleJ.png") 50%/cover no-repeat;
  animation: fuwafuwa2 6s infinite;
  animation-delay: 0.5s;
}
#mv .bgBox .deco.deco21 {
  top: 44.9206349206%;
  left: 31.1805555556%;
  width: 6.5972222222%;
  aspect-ratio: 95/96;
  background: url("../images/deco-circle/circleK.png") 50%/cover no-repeat;
  animation: fuwafuwa3 6s infinite;
  animation-delay: 1.5s;
}
#mv .bgBox .deco.deco22 {
  top: 78.4126984127%;
  left: 74.5138888889%;
  width: 2.3611111111%;
  aspect-ratio: 17/18;
  background: url("../images/deco-circle/circleL.png") 50%/cover no-repeat;
  animation: fuwafuwa4 8s infinite;
  animation-delay: 0.5s;
}
#mv .bgBox .deco.deco23 {
  top: -2.6984126984%;
  left: 73.3333333333%;
  width: 2.6388888889%;
  aspect-ratio: 38/41;
  background: url("../images/deco-circle/circleL.png") 50%/cover no-repeat;
  rotate: -90deg;
}
#mv .subImage {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  aspect-ratio: 1440/630;
  pointer-events: none;
}
#mv .subImage .imgBox {
  position: absolute;
  clip-path: inset(0 0 round 0.3125rem);
}
#mv .subImage .imgBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mv .subImage .imgBox.img01 {
  top: 29.3650793651%;
  left: 76.5277777778%;
  width: 24.0277777778%;
  aspect-ratio: 346/204;
}
#mv .subImage .imgBox.img02 {
  top: 56.9841269841%;
  right: 83.125%;
  width: 19.8611111111%;
  aspect-ratio: 286/191;
}
#mv .subImage .imgBox.img03 {
  top: 53.3333333333%;
  left: 37.9861111111%;
  width: 22.9166666667%;
  aspect-ratio: 330/194;
}
#mv .subImage .imgBox.img04 {
  z-index: -1;
  top: 74.126984127%;
  left: 58.8888888889%;
  width: 13.3333333333%;
  aspect-ratio: 192/139;
}
#mv .mainImage {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 45.8333333333%;
  margin: 0 auto;
}
#mv .mainImage .slider-item {
  width: 100%;
  aspect-ratio: 660/320;
  clip-path: inset(0 0 round 0.3125rem);
}
#mv .mainImage .slider-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mv .mv-logo {
  position: absolute;
  top: 13.1746031746%;
  left: 4.8611111111%;
  width: 17.0138888889%;
}
#mv .mv-navigation {
  position: absolute;
  right: 4.5833333333%;
  bottom: 6.0317460317%;
}
#mv .mv-navigation ul {
  writing-mode: vertical-rl;
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 1.9444444444vw;
}
#mv .mv-navigation ul a {
  color: var(--main-color);
  font-size: max(15px, 1.3888888889vw);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  display: inline-flex;
  padding: 0 0.5555555556vw;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.6944444444vw;
  border-right: 1px solid var(--second-color, #668e98);
}
#mv .mv-navigation ul a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  #mv {
    width: 100%;
    height: 52.5rem;
    padding-top: 14.1875rem;
  }
  #mv .bgBox .deco.deco01 {
    top: -2.375rem;
    left: -2.8125rem;
    width: 6.1875rem;
    aspect-ratio: 1/1;
    background: url("../images/deco-circle/circleA.png") 50%/cover no-repeat;
    animation: fuwafuwa4 7s infinite;
    animation-delay: 0.5s;
  }
  #mv .bgBox .deco.deco02 {
    top: 29.184375rem;
    left: 27.875rem;
    width: 2.75rem;
    aspect-ratio: 1/1;
    background: url("../images/deco-circle/circleA.png") 50%/cover no-repeat;
    rotate: -98.612deg;
    animation: fuwafuwa5 8s infinite;
    animation-delay: -0.5s;
  }
  #mv .bgBox .deco.deco03 {
    top: -2.0625rem;
    left: 16.875rem;
    width: 7.5rem;
    aspect-ratio: 24/25;
    background: url("../images/deco-circle/circleB.png") 50%/cover no-repeat;
    animation: fuwafuwa3 7s infinite;
    animation-delay: -1s;
  }
  #mv .bgBox .deco.deco04 {
    top: 15.8125rem;
    left: 14.625rem;
    width: 4.125rem;
    aspect-ratio: 22/21;
    background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
    animation: fuwafuwa4 6s infinite;
  }
  #mv .bgBox .deco.deco05 {
    top: 7.625rem;
    left: 19.120625rem;
    width: 1.8983125rem;
    aspect-ratio: 23/22;
    background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
    rotate: 83.07deg;
  }
  #mv .bgBox .deco.deco06 {
    top: 2.4217375rem;
    left: 63.863125rem;
    width: 1.8983125rem;
    aspect-ratio: 23/22;
    background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
    rotate: -15.063deg;
  }
  #mv .bgBox .deco.deco07 {
    top: 22.625rem;
    left: 55.9375rem;
    width: 2.489375rem;
    aspect-ratio: 23/22;
    background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
    rotate: 4.243deg;
    animation: fuwafuwa 8s infinite;
    animation-delay: -1s;
  }
  #mv .bgBox .deco.deco08 {
    top: 30.75rem;
    left: 86.3125rem;
    width: 2.968125rem;
    aspect-ratio: 23/22;
    background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
    rotate: 4.243deg;
  }
  #mv .bgBox .deco.deco09 {
    top: 4.9375rem;
    left: 48.6875rem;
    width: 3.125rem;
    aspect-ratio: 25/24;
    background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
    rotate: -90deg;
  }
  #mv .bgBox .deco.deco10 {
    top: 14.6875rem;
    left: 87.4375rem;
    width: 2.375rem;
    aspect-ratio: 19/18;
    background: url("../images/deco-circle/circleC.png") 50%/cover no-repeat;
    rotate: -90deg;
  }
  #mv .bgBox .deco.deco11 {
    top: 12rem;
    left: -7.375rem;
    width: 11.4829375rem;
    aspect-ratio: 43/44;
    background: url("../images/deco-circle/circleD.png") 50%/cover no-repeat;
    animation: fuwafuwa3 5s infinite;
    animation-delay: -1.5s;
  }
  #mv .bgBox .deco.deco12 {
    top: 19.125rem;
    left: 0.5625rem;
    width: 8.75rem;
    aspect-ratio: 35/33;
    background: url("../images/deco-circle/circleE.png") 50%/cover no-repeat;
    animation: fuwafuwa2 5s infinite;
    animation-delay: 1s;
  }
  #mv .bgBox .deco.deco13 {
    top: 34.8125rem;
    left: 9.6875rem;
    width: 1.6875rem;
    aspect-ratio: 27/25;
    background: url("../images/deco-circle/circleE.png") 50%/cover no-repeat;
  }
  #mv .bgBox .deco.deco14 {
    top: 41.8125rem;
    left: 0.375rem;
    width: 6.9375rem;
    aspect-ratio: 37/35;
    background: url("../images/deco-circle/circleE.png") 50%/cover no-repeat;
    rotate: 65.134deg;
  }
  #mv .bgBox .deco.deco15 {
    top: 34.1875rem;
    left: 12.125rem;
    width: 8.4375rem;
    aspect-ratio: 135/136;
    background: url("../images/deco-circle/circleF.png") 50%/cover no-repeat;
    animation: fuwafuwa2 4s infinite;
    animation-delay: -1.5s;
  }
  #mv .bgBox .deco.deco16 {
    top: 10.6875rem;
    left: 21.8125rem;
    width: 5.125rem;
    aspect-ratio: 41/39;
    background: url("../images/deco-circle/circleH.png") 50%/cover no-repeat;
    animation: fuwafuwa3 5s infinite;
    animation-delay: -0.5s;
  }
  #mv .bgBox .deco.deco17 {
    top: 46.3125rem;
    left: 10.4375rem;
    width: caremlc(3.8194444444%);
    aspect-ratio: 55/59;
    background: url("../images/deco-circle/circleI.png") 50%/cover no-repeat;
    animation: fuwafuwa 5s infinite;
    animation-delay: -1.5s;
  }
  #mv .bgBox .deco.deco18 {
    top: 37.3125rem;
    left: 23.375rem;
    width: 3.0625rem;
    aspect-ratio: 49/53;
    background: url("../images/deco-circle/circleI.png") 50%/cover no-repeat;
    animation: fuwafuwa 7s infinite;
    animation-delay: 1.5s;
  }
  #mv .bgBox .deco.deco19 {
    top: 31.8125rem;
    left: 28.625rem;
    width: 6.4375rem;
    aspect-ratio: 103/98;
    background: url("../images/deco-circle/circleJ.png") 50%/cover no-repeat;
    animation: fuwafuwa4 6s infinite;
    animation-delay: -0.5s;
  }
  #mv .bgBox .deco.deco20 {
    top: 31.1875rem;
    left: -2.625rem;
    width: 6.4375rem;
    aspect-ratio: 103/98;
    background: url("../images/deco-circle/circleJ.png") 50%/cover no-repeat;
    animation: fuwafuwa2 6s infinite;
    animation-delay: 0.5s;
  }
  #mv .bgBox .deco.deco21 {
    top: 47.0625rem;
    left: -1.3125rem;
    width: 5.9375rem;
    aspect-ratio: 95/96;
    background: url("../images/deco-circle/circleK.png") 50%/cover no-repeat;
    animation: fuwafuwa3 6s infinite;
    animation-delay: 1.5s;
  }
  #mv .bgBox .deco.deco22 {
    display: none;
  }
  #mv .bgBox .deco.deco23 {
    top: 28.3125rem;
    left: 10.375rem;
    width: 2.375rem;
    aspect-ratio: 38/41;
    background: url("../images/deco-circle/circleL.png") 50%/cover no-repeat;
    rotate: -90deg;
  }
  #mv .subImage {
    position: relative;
    width: 25.875rem;
    aspect-ratio: 414/353;
    margin: 1.5rem auto 0;
  }
  #mv .subImage .imgBox {
    position: absolute;
    clip-path: inset(0 0 round 0.3125rem);
  }
  #mv .subImage .imgBox img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #mv .subImage .imgBox.img01 {
    top: 0;
    left: 13.75rem;
    width: 15rem;
  }
  #mv .subImage .imgBox.img02 {
    z-index: -2;
    top: 13.8125rem;
    right: auto;
    left: 15.75rem;
    width: 12.375rem;
  }
  #mv .subImage .imgBox.img03 {
    top: 4.4375rem;
    left: auto;
    right: 13.125rem;
    width: 14.3125rem;
  }
  #mv .subImage .imgBox.img04 {
    z-index: -1;
    top: 11.25rem;
    left: 11.3125rem;
    width: 6.3125rem;
  }
  #mv .mainImage {
    position: relative;
    top: 0;
    left: 0;
    transform: unset;
    width: 25.875rem;
    margin: 0 auto;
    padding-left: 2.1875rem;
  }
  #mv .mainImage .slider-item {
    width: 100%;
    aspect-ratio: 660/320;
    clip-path: inset(0 0 round 0.3125rem);
  }
  #mv .mainImage .slider-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #mv .mv-logo {
    position: absolute;
    top: 1.375rem;
    left: 1.25rem;
    width: 13.375rem;
  }
  #mv .mv-navigation {
    display: none;
  }
}

#indexNews .newsItem {
  display: flex;
  width: 100%;
  padding: 0.5rem 2.5rem;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  color: #fff;
  background: #668e98;
}
#indexNews .newsItem a:hover {
  opacity: 0.7;
}
#indexNews .newsItem .newsDate {
  display: inline-block;
  line-height: 1.2;
  font-size: 0.9375rem;
  font-weight: 600;
  flex-shrink: 0;
}
#indexNews .newsItem .newsTitle {
  display: inline-block;
  line-height: 1.2;
  font-size: 1.125rem;
  font-weight: 400;
}
#indexNews .newsItem .icon_new {
  display: inline-block;
  width: 2.5625rem;
  aspect-ratio: 41/19;
  flex-shrink: 0;
  background: url("../images/icon_new.svg") center center no-repeat;
  background-size: 100% 100%;
}
#indexNews .newsItem .icon {
  display: inline-block;
  position: relative;
  width: 1.625rem;
  aspect-ratio: 26/30;
  background-position: center;
  background-repeat: none;
  background-size: 100% 100%;
  flex-shrink: 0;
}
#indexNews .newsItem .icon.icon_pdf {
  background-image: url("../images/icon_pdf.svg");
}
#indexNews .newsItem .icon.icon_xlsx {
  background-image: url("../images/icon_xlsx.svg");
}
#indexNews .newsItem .icon.icon_docx {
  background-image: url("../images/icon_docx.svg");
}
#indexNews .newsItem .icon.icon_pptx {
  background-image: url("../images/icon_pptx.svg");
}
#indexNews .newsItem .icon.icon_jpg {
  background-image: url("../images/icon_jpg.svg");
}
@media screen and (max-width: 767px) {
  #indexNews .newsItem {
    padding: 0.5rem 1.25rem;
    flex-wrap: wrap;
    gap: 0.25rem;
  }
  #indexNews .newsItem .newsDate {
    line-height: 1.2;
  }
  #indexNews .newsItem .newsTitle {
    width: 100%;
    display: block;
    line-height: 1.2;
  }
}

#indexServices .servicesContent {
  width: min(100%, 75rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  align-self: stretch;
}
#indexServices .servicesContent .serviceList {
  display: flex;
  align-items: center;
  align-content: center;
  gap: 3.5rem;
  flex-wrap: wrap;
}
#indexServices .servicesContent .serviceList .listItem {
  width: calc((100% - 7rem) / 3);
  padding: 1.875rem 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  flex-shrink: 0;
  border-radius: 1.25rem;
  background: var(--white);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.08);
  transition: 0.3s ease all;
}
#indexServices .servicesContent .serviceList .listItem:hover {
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.3);
}
#indexServices .servicesContent .serviceList .listItem .ttl {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--main-color);
}
@media screen and (max-width: 1023px) {
  #indexServices .servicesContent {
    gap: 1rem;
  }
  #indexServices .servicesContent .serviceList {
    gap: 1rem;
  }
  #indexServices .servicesContent .serviceList .listItem {
    width: calc((100% - 1rem) / 2);
    border-radius: 0.625rem;
    padding: 1.875rem 0.625rem;
  }
  #indexServices .servicesContent .serviceList .listItem .imgBox {
    width: 8.6875rem;
  }
  #indexServices .servicesContent .serviceList .listItem .ttl {
    font-size: 1.25rem;
  }
}

#indexContact {
  display: flex;
  width: 100%;
  height: 21.375rem;
  padding: 0.9375rem 5.75rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  background: url("../images/index/bg_contact.jpg") center center no-repeat;
  background-size: cover;
}
#indexContact .innerBox {
  display: flex;
  padding: 1.25rem 2.5rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--main-color);
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-decoration: none;
}
#indexContact .innerBox h3 {
  font-size: 1.5rem;
  font-weight: 700;
}
#indexContact .innerBox .link-tel {
  font-size: 1.25rem;
  font-weight: 600;
  display: flex;
  align-items: baseline;
  gap: 0.1875rem;
}
#indexContact .innerBox .link-tel span {
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  #indexContact {
    height: 13.75rem;
    padding: 0.9375rem 2.5rem;
    background: url("../images/index/bg_contact_sp.jpg") center bottom no-repeat;
    background-size: cover;
  }
}

/*-------------------------------------------/
    代表挨拶
/-------------------------------------------*/
#message {
  padding-bottom: 6.25rem;
}

.messageBox {
  position: relative;
  width: min(100%, 90rem);
  margin: 0 auto;
  padding-top: 5rem;
  padding-right: 5rem;
}
.messageBox p {
  color: var(--txt-gray66);
  font-size: 1.125rem;
  line-height: 1.8;
  font-weight: 500;
  font-feature-settings: "palt" on;
}
.messageBox p.name {
  align-self: stretch;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: right;
}
.messageBox .txtBox {
  margin-left: auto;
  width: 36.25rem;
  display: flex;
  padding: 2.5rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.9);
}
.messageBox .imageBox {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: min(81.8382352941%, 69.5625rem);
}
@media screen and (max-width: 1279px) {
  .messageBox {
    padding-right: 0;
  }
}
@media screen and (max-width: 1023px) {
  .messageBox {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-top: 2.5rem;
  }
  .messageBox .txtBox {
    padding: 0 1.25rem;
    width: 100%;
  }
  .messageBox .imageBox {
    position: relative;
    width: 100%;
  }
}

.profileBox {
  width: min(100%, 60rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5rem;
}
.profileBox .itemBox {
  display: flex;
  padding: 2.5rem;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 1rem;
  border-radius: 1.25rem;
  background: var(--white);
}
@media screen and (max-width: 767px) {
  .profileBox .itemBox {
    padding: 2.5rem 1.25rem;
    gap: 1.5rem;
  }
}

ul.list-dot {
  color: var(--txt-gray66);
  font-size: 1.125rem;
  font-feature-settings: "palt" on;
  font-weight: 500;
  line-height: 1.8;
}
ul.list-dot li {
  position: relative;
  padding-left: 1em;
}
ul.list-dot li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

/*-------------------------------------------/
    事務所紹介
/-------------------------------------------*/
.accessBox {
  width: min(100%, 75rem);
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  gap: 2.5rem;
}
.accessBox .gmap {
  width: 27.5rem;
  flex-shrink: 0;
  background-color: lightgray;
  clip-path: inset(0 0 round 2rem);
}
.accessBox .gmap iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.accessBox .tableBox {
  flex: 1 0 0;
}
.accessBox .tableBox table {
  width: 100%;
  color: var(--txt-gray44);
  font-size: 1.125rem;
  line-height: 1.8;
  font-feature-settings: "palt" on;
}
.accessBox .tableBox table tr th {
  padding: 0.75rem 1.25rem;
  font-weight: 700;
  width: 9.0625rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--table-line);
}
.accessBox .tableBox table tr td {
  padding: 0.75rem 1.25rem;
  font-weight: 500;
  width: calc(100% - 9.0625rem);
  border-bottom: 1px solid var(--table-line);
  vertical-align: top;
}
@media screen and (max-width: 1023px) {
  .accessBox {
    flex-direction: column-reverse;
    gap: 1.25rem;
  }
  .accessBox .gmap {
    width: 100%;
    height: 20rem;
  }
  .accessBox .tableBox table tr th {
    display: block;
    width: 100%;
    padding-bottom: 0;
    border-bottom: none;
  }
  .accessBox .tableBox table tr td {
    display: block;
    width: 100%;
    padding-top: 0.25rem;
  }
}

.galleryBox {
  width: min(100%, 75rem);
  margin: 0 auto;
  display: flex;
  gap: 2.5rem;
}
.galleryBox .imgBox {
  clip-path: inset(0 0 round 2rem);
}
.galleryBox .imgBox img {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .galleryBox {
    gap: 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  #gallery.contentWrapper {
    padding: 1.25rem;
  }
}

/*-------------------------------------------/
    業務案内
/-------------------------------------------*/
.contentArea-service {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  align-self: stretch;
}
@media screen and (max-width: 1439px) {
  .contentArea-service {
    padding-left: 11.875rem;
  }
}
@media screen and (max-width: 767px) {
  .contentArea-service {
    gap: 1.5rem;
    padding-left: 0;
  }
}
.contentArea-service .listBox {
  width: min(100%, 60rem);
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
  align-self: center;
  flex-wrap: wrap;
}
.contentArea-service .listBox .listItem {
  width: 19rem;
  padding: 1.875rem 1.5rem;
  align-content: center;
  flex-grow: 1;
  border-radius: 1.25rem;
  background: var(--white);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  font-feature-settings: "palt" on;
  color: var(--txt-gray44);
}
.contentArea-service .listBox .listItem .innerTxt {
  position: relative;
  padding-left: 2.3125rem;
}
.contentArea-service .listBox .listItem .innerTxt::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 2.3125rem;
  height: 2.3125rem;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  background: url("../images/icon_list.svg") center center no-repeat;
  background-size: cover;
}
.contentArea-service .listBox.col2 .listItem {
  width: min(50% - 0.75rem, 29.25rem);
}
.contentArea-service .listBox.col1 .listItem {
  width: 100%;
}
.contentArea-service .listBox.list-red .listItem .innerTxt::before {
  background: url("../images/icon_list-red.svg") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1023px) {
  .contentArea-service .listBox.col2 .listItem {
    width: min(100%, 29.25rem);
  }
}
@media screen and (max-width: 767px) {
  .contentArea-service .listBox {
    gap: 1rem;
  }
  .contentArea-service .listBox .listItem {
    padding: 0.625rem 1.25rem;
  }
}
.contentArea-service p.txt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  color: var(--txt-gray44);
  font-feature-settings: "palt" on;
}
@media screen and (max-width: 767px) {
  .contentArea-service p.txt.sp-left {
    text-align: left;
  }
}
.contentArea-service .layoutBox {
  width: min(100%, 60rem);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 2.5rem;
}
.contentArea-service .layoutBox .txtBox {
  flex-grow: 1;
}
.contentArea-service .layoutBox .imgBox {
  width: min(50%, 28.75rem);
  clip-path: inset(0 0 round 2rem);
  flex-shrink: 0;
  align-self: flex-start;
}
.contentArea-service .layoutBox .imgBox img {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .contentArea-service .layoutBox {
    flex-direction: column;
    align-items: center;
  }
  .contentArea-service .layoutBox .txtBox {
    flex-grow: unset;
    width: 100%;
  }
  .contentArea-service .layoutBox .imgBox {
    width: min(100%, 28.75rem);
    align-self: center;
  }
}

.ruleBox {
  width: min(100%, 60rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
}
@media screen and (max-width: 1023px) {
  .ruleBox {
    gap: 2.5rem;
  }
}
.ruleBox .itemBox {
  display: flex;
  padding: 2.5rem 5rem;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  border-radius: 1.25rem;
  background: var(--white);
}
@media screen and (max-width: 1023px) {
  .ruleBox .itemBox {
    padding: 2.5rem;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .ruleBox .itemBox {
    padding: 2.5rem 1.25rem;
    gap: 1rem;
  }
}

p {
  color: var(--txt-gray66);
  font-size: 1.125rem;
  font-feature-settings: "palt" on;
  font-weight: 500;
  line-height: 1.8;
}

ul.list-red {
  font-size: 1rem;
  line-height: 1.8;
  font-weight: 700;
  color: var(--txt-gray66);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
ul.list-red li {
  padding-left: 2.3125rem;
  background: url("../images/icon_list-red.svg") left center no-repeat;
  background-size: 2.3125rem auto;
}
@media screen and (max-width: 767px) {
  ul.list-red {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
}

/*-------------------------------------------/
    よくある質問
/-------------------------------------------*/
.contentArea-faq .faqList {
  width: min(100%, 65rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2rem;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .contentArea-faq .faqList {
    gap: 1.5rem;
  }
}
.contentArea-faq .faqList .faqItem {
  display: flex;
  padding: 2.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  flex-grow: 1;
  border-radius: 1.25rem;
  background: var(--white);
}
.contentArea-faq .faqList .faqItem p.faqTitle {
  color: var(--main-color);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" on;
}
.contentArea-faq .faqList .faqItem p.faqTxt {
  color: var(--txt-gray66);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
}

/*-------------------------------------------/
    パンくず
/-------------------------------------------*/
.breadcrumb {
  width: 100%;
  margin: 0 auto;
  padding: 0.625rem 5rem;
  background: var(--second-color);
}
.breadcrumb ul {
  width: min(100%, 90rem);
  font-size: 0.9375rem;
  line-height: 1.7;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem 0.625rem;
}
.breadcrumb ul li {
  position: relative;
  color: var(--white);
}
.breadcrumb ul li a {
  display: inline-block;
  color: rgba(255, 255, 255, 0.7);
}
.breadcrumb ul li a:hover {
  color: var(--white);
}
.breadcrumb ul li span {
  display: inline-block;
}
.breadcrumb ul li.current {
  color: var(--white);
}
.breadcrumb ul li:not(:last-child) {
  display: inline-flex;
  align-items: center;
}
.breadcrumb ul li:not(:last-child)::after {
  font-size: 0.75rem;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  content: "/";
  margin-left: 0.625rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/*=====================================================
		アニメーション
======================================================*/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fuwafuwa {
  0%, 100% {
    translate: 0 0;
    scale: 1;
  }
  50% {
    translate: 2rem -1.25rem;
    scale: 1.09;
  }
}
@keyframes fuwafuwa2 {
  0%, 100% {
    translate: 0 0;
    scale: 1;
  }
  50% {
    translate: -1.25rem 2rem;
    scale: 1.08;
  }
}
@keyframes fuwafuwa3 {
  0%, 100% {
    translate: 0 -2rem;
    scale: 1;
  }
  50% {
    translate: -1.25rem 0;
    scale: 0.8;
  }
}
@keyframes fuwafuwa4 {
  0%, 100% {
    translate: 0 0;
    scale: 1;
  }
  50% {
    translate: -1.25rem -2rem;
    scale: 1.03;
  }
}
@keyframes fuwafuwa5 {
  0%, 100% {
    translate: 0 0;
    scale: 1;
  }
  50% {
    translate: -2rem -2rem;
    scale: 1.05;
  }
}/*# sourceMappingURL=style.css.map */