@charset "UTF-8";

/* CSS Document */
:root {
  --header-color: #083C98;
  --basic-txt-color: #262626;
  --warm-color: #fff0de;
  /*--btn-color: #B39763;*/
  --max-width: 1900px;
  --box-shadow: 0px 3px 6px #00000029;
  --basic-font-size: clamp(15px, calc(14.25px + 0.234375vw), 18px);
  --header-font-size: clamp(22px, calc(21px + 0.3125vw), 26px);
  --subHeader-font-size: clamp(20px, calc(19px + 0.3125vw), 24px);
  --middle-font-size: clamp(16px, calc(15.5px + 0.15625vw), 18px);
  --small-font-size: clamp(12px, calc(11.5px + 0.15625vw), 14px);
  --small-font-size12-15: clamp(12px, calc(11.25px + 0.234375vw), 15px);
  --shadow-blue: 0 3px 6px rgb(116 166 216 / 16%);
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: var(--basic-txt-color);
}

a {
  text-decoration: none;
  color: var(--basic-txt-color);
  transition: all .4s ease;
}

a:hover {
  transition: all .4s ease;
}

img {
  display: inline-block;
  max-width: 100%;
}

p {
  font-size: var(--basic-font-size);
  line-height: 1.7;
  margin-block-start: 0;
}

span.small {
  font-size: 0.6em;
  margin-inline: 0.5em;
}

h4 {
  color: var(--header-color);
  font-size: var(--middle-font-size);
  margin-block: 0.6rem 0.4rem;
}

h5 {
  font-size: var(--small-font-size);
  color: var(--header-color);
  margin-block: 0 0.5rem;
  position: relative;
}

h5::before {
  content: "■";
  font-size: inherit;
  color: inherit;
  padding-inline-end: 0.5rem;
}

.notice {
  font-size: var(--small-font-size);
  color: var(--header-color);
}

.flexBox {
  /* 汎用flexbox設定　修正不可 */
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 2rem;
}

.leftBox {
  width: 50%;
}

.rightBox {
  width: 50%;
}

.rightBox img {
  display: inline-block;
  width: 100%;
  border-radius: 6px;
}

.indexImg {
  display: block;
  object-fit: cover;
  width: 100%;
  height: auto;
  max-width: 600px;
  aspect-ratio: 1.6 / 1;
}

.rowReverse {
  flex-direction: row-reverse;
}

@media screen and (max-width:768px) {
  .flexBox {
    flex-wrap: wrap;
    flex-direction: column;
    row-gap: 1.5rem;
  }

  .leftBox,
  .rightBox {
    width: 100%;
  }

  .columnReverse {
    flex-direction: column-reverse;
  }
}

/* shared style sp end */
/* ------------------------

header nav

------------------------- */
.header {
  z-index: 555;
  position: relative;
}

.headerInner {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 4vw;
  padding: 10px 1vw;
  max-width: var(--max-width);
  margin-inline: auto;
}



.headerInner.fixed {
  position: fixed;
  width: 100%;
  top: 0;
  transform: translateY(-100%);
  opacity: 0;
  transition: all 0.7s ease;
  background: transparent;
  z-index: 1000;
}

.headerInner.fixed.is-visible {
  transform: translateY(0);
  background: #fff;
  opacity: 1;
  transition: all 0.7s ease;
}

.headerInner.fixed.active::after {
  content: "";
  background: #fff;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 98;
}

.headerInner .logo {
  max-width: 300px;
  width: 35%;
  position: relative;
  margin-block: 0;
}

.headerInner .logo img {
  display: inline-block;
  width: 100%;
}

span.tagline {
  position: absolute;
  font-size: 11px;
  right: 0;
  white-space: nowrap;
}

.h_btn {
  width: 25%;
  max-width: 220px;
}

.h_btn a {
  background: transparent linear-gradient(308deg, #C33098 0%, #E82D99 100%) 0% 0% no-repeat padding-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  width: 100%;
  border-radius: 4px;
  aspect-ratio: 42 / 13;
}

.h_btn a img {
  display: inline-block;
  width: 80%;
}

.g_nav_cover {
  width: 80%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 3vw;
  flex-grow: 1;
}

.g_nav_coverInner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.g_nav_cover .g_nav_coverInner>ul,
.g_nav_cover .subBtn {
  display: flex;
  column-gap: clamp(12px, calc(-20px + 3.125vw), 30px);
  font-weight: bold;
  font-size: 14px;
  justify-content: flex-end;
}

.g_nav_cover .g_nav_coverInner>ul {
  margin-block: 0.8em 0.4em;
}

.subBtn {
  margin-block-end: 0.7em;
}

a.mini-infoBtn {
  color: #797d86;
  position: relative;
  font-size: var(--small-font-size);
  display: flex;
  align-items: center;
}

a.mini-infoBtn::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: auto;
  background: url("../img/icon_megaphone.svg") no-repeat;
  background-size: 100% auto;
  aspect-ratio: 19 / 15;
  position: relative;
  margin-inline-end: 0.5em;
}

a.mini-infoBtn.newsletter::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: auto;
  background: url("../img/icon_envelop.svg") no-repeat;
  background-size: 100% auto;
  aspect-ratio: 1 / 1;
  position: relative;
  margin-inline-end: 0.5em;
}

.g_nav_item {
  position: relative;
  display: flex;
  column-gap: clamp(12px, calc(-20px + 3.125vw), 30px);
}

.g_nav_mainItem {
  display: block;
  font-size: clamp(12px, calc(11.5px + 0.15625vw), 14px);
}

.g_nav_modal {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0px 3px 6px rgb(0 0 0 / 16%);
  padding: 0 2vw;
  position: absolute;
  left: 0;
  top: 100%;
  width: auto;
  z-index: 10;
  opacity: 0;
  transition: all .6s ease;
  pointer-events: none;
}

.g_nav_item:has(.g_nav_modal):hover .g_nav_modal {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  z-index: 1;
  transition: all .6s ease;
}

.g_nav_modal li a {
  display: flex;
  justify-content: center;
  text-decoration: none;
  column-gap: 1.2vw;
  align-items: center;
  padding-block: 1rem;
  width: 270px;
}

.g_nav_item a {
  text-decoration: none;
  color: var(--basic-txt-color);
  font-size: clamp(12px, calc(11.5px + 0.15625vw), 14px);
}

.g_nav_modal li:nth-child(n+2) {
  border-block-start: 1px solid #98A6B5;
}

.g_nav_modal li a img.g_nav_itemImg {
  display: block;
  width: 30%;
  height: auto;
  aspect-ratio: 1.3 / 1;
  background: #cfcfcf;
  border-radius: 5px;
  object-fit: cover;
}

.g_nav_modal li a .g_nav_item_txtArea {
  width: 70%;
}

.g_nav_item_txtArea {
  color: var(--basic-txt-color);
  font-size: var(--basic-font-size);
  font-size: 14px;
  font-weight: bold;
  white-space: nowrap;
  position: relative;
}

.g_nav_item_txtArea::after {
  content: "";
  display: block;
  background: url("../img/btn_arrow.svg") no-repeat center;
  background-size: 100% auto;
  width: 6px;
  height: auto;
  aspect-ratio: 2 / 3;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2px;
}

span.subT {
  color: var(--header-color);
  font-weight: bold;
  font-size: 12px;
  white-space: nowrap;
}

.g_nav_modal.wideItem {
  display: flex;
  column-gap: 2rem;
  left: 50%;
  transform: translateX(-50%);
  padding-block: 0.5rem;
}

.list_onlyTxt li:nth-child(n+2) {
  border: none;
}

.list_onlyTxt li a {
  text-decoration: none;
  text-align: left;
  display: block;
  font-size: 14px;
  color: var(--basic-txt-color);
  font-weight: bold;
  position: relative;
}

.list_onlyTxt li a::after {
  content: "";
  display: block;
  background: url("../img/btn_arrow.svg") no-repeat center;
  background-size: 100% auto;
  width: 6px;
  height: auto;
  aspect-ratio: 2 / 3;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2px;
}

.navBtn {
  display: none;
}

.overlay {
  display: none;
}

@media screen and (max-width:1024px) {
  .headerInner {
    justify-content: space-between;
    padding: 9px 2vw;
  }

  .headerInner.active {
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    top: 0 !important;
    width: 100%;
  }

  .headerInner .logo {
    width: 43%;
    margin-block: 0;
    /* ← end も明示的に0に */
    z-index: 100;
    display: block;
    font-size: 1rem;
  }

  .headerInner.active .logo {
    opacity: 0;
    pointer-events: none;
  }

  .headerInner.active a.logo {
    opacity: 0;
  }

  .overlay {
    opacity: 0;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
  }

  .overlay.on {
    opacity: 1;
    z-index: 10;
    display: block;
  }

  .navBtn {
    width: 10vw;
    max-width: 70px;
    height: auto;
    background: #fff;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    z-index: 100;
    justify-content: center;
    align-items: center;
    row-gap: 7px;
  }

  span.menu_bar {
    width: 50%;
    background: var(--header-color);
    height: 3px;
    display: inline-block;
    position: relative;
    transition: all .46s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  }

  span.menu_bar:nth-child(3) {
    background: linear-gradient(90deg, var(--header-color) 60%, transparent 60%);
  }

  .navBtn.active {
    row-gap: 0;
  }

  .navBtn.active span.menu_bar:nth-child(1) {
    transform: rotate(335deg);
    top: 3px;
  }

  .navBtn.active span.menu_bar:nth-child(2) {
    opacity: 0;
  }

  .navBtn.active span.menu_bar:nth-child(3) {
    transform: rotate(25deg);
    background: var(--header-color);
    top: -3px;
  }

  nav.g_nav_cover {}

  nav.g_nav_cover.active {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    height: 100vh;
    z-index: 90;
    overflow-y: auto;
    padding-block-start: 2rem;
  }

  ul.g_nav {
    padding-block: 3rem 0;
    padding-inline: 5vw;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 2rem;
    column-gap: 3vw;
  }

  .g_nav_item {
    width: calc((100% - 3vw) / 2);
    display: block;
  }

  .g_nav_item a {
    display: block;
  }

  .g_nav_modal {
    opacity: 1;
    position: relative;
    top: unset;
    left: unset;
  }

  .g_nav_modal.wideItem {
    left: 0;
    transform: unset;
    flex-wrap: wrap;
  }

  .g_nav_modal.wideItem ul {
    width: 100%;
  }

  .categoryBox {
    border: 2px solid #e6e6e6;
    border-radius: 8px;
    padding: 1.4rem 1.3rem 1.4rem;
    width: 100%;
  }

  .g_nav_modal li a {
    width: 100%;
  }

  .g_nav_mainItem {
    display: block;
    margin-block-end: 0.5em;
  }

  .list_onlyTxt li a {
    padding-block: 0.6rem;
  }

  a.mini-infoBtn {
    font-size: 16px;
  }

  .h_btn {
    order: unset;
    flex-grow: 0;
    width: 33%;
    max-width: unset;
    margin-inline: auto;
    margin-block: 2rem;
  }

  span.tagline {
    position: relative;
    font-size: 9px;
    display: block;
    line-height: 1.4;
    margin-block-end: 0.3rem;
  }

  .g_nav_cover {
    display: none;
  }

  a.g_nav_mainItem {
    padding-block: 7px 1.4rem;
    padding-inline: 0.6rem;
    border-bottom: 2px dotted #98a7b5;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .solo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
  }

  .g_nav_mainItem::after,
  .solo::after {
    content: "";
    display: block;
    background: url("../img/icon_arrow_blue.svg") no-repeat center;
    background-size: 100% auto;
    width: 6px;
    height: auto;
    aspect-ratio: 4 / 7;
    position: relative;
  }
}

@media screen and (max-width:768px) {
  ul.g_nav {
    flex-direction: column;
    row-gap: 1rem;
    align-items: center;
  }

  .g_nav_modal {
    /*box-shadow: 0px 3px 6px rgb(0 0 0 / 10%);*/
    box-shadow: none;
  }

  .g_nav_item {
    width: 100%;
    max-width: 400px;
    padding: 1rem 1.3rem 1.4rem;
  }

  ul.list_onlyTxt li a {
    padding-block: 1rem;
  }

  .g_nav_mainItem,
  .solo {
    position: relative;
  }

  .subBtn {
    padding-inline: 1.7rem;
    padding-block: 0.5rem;
  }
}

/* header系 style sp end */
/* -------------------------------------
    リンク系
-------------------------------------- */
a.min-linkBtn {
  position: relative;
  text-decoration: none;
  color: var(--header-color);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.5rem;
  margin-block: 1rem;
  margin-block: 3rem 1rem;
}

a.min-linkBtn:hover {}

a.min-linkBtn.white {
  color: #fff;
  justify-content: flex-end;
}

a.min-linkBtn::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_triangle.svg") no-repeat;
  background-size: 100% auto;
  width: 12px;
  height: auto;
  aspect-ratio: 4 / 5;
  position: relative;
}

a.min-linkBtn.anchor::before {
  transform: rotate(90deg);
}

a.min-linkBtn.white::before {
  background: url(../img/icon_triangle_white.svg) no-repeat;
  background-size: 100% auto;
}

.linkCover {}

.linkCover a.min-linkBtn {
  font-size: 13px;
  justify-content: flex-end;
  margin-block: 0.5rem;
}

.linkCover a.min-linkBtn::before {
  width: 8px;
}

/* -------------------------------------
    緊急連絡先
-------------------------------------- */
.emergencyLinks {
  background: #B00066;
  text-align: center;
  color: #fff;
  padding-block: 2.8rem;
}

.emergencyLinks .inner {
  padding: 4vw;
}

.emergencyLinksTtl {
  font-size: clamp(24px, calc(21.5px + 0.78125vw), 34px);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1rem;
}

.emergencyLinksTtl::before,
.emergencyLinksTtl::after {
  content: "";
  background: url("../img/icon_attention.svg") no-repeat;
  background-size: 100% auto;
  width: clamp(24px, calc(21.5px + 0.78125vw), 34px);
  height: auto;
  aspect-ratio: 47 / 42;
  position: relative;
  display: inline-block;
}

.telBtnBox {
  display: flex;
  justify-content: center;
  column-gap: 5rem;
  margin-block: 2rem;
}

.telBtnBox a {
  max-width: 530px;
  display: block;
}

.telBtnBox a img {
  display: inline-block;
  width: 100%;
}

@media screen and (max-width:850px) {
  .emergencyLinks .inner {
    padding-inline: 4vw;
  }
}

@media screen and (max-width:640px) {
  .telBtnBox {
    flex-direction: column;
    row-gap: 3rem;
    align-items: center;
    padding-inline: 4vw;
  }
}

/* -------------------------------------
    取扱保険
-------------------------------------- */
.insuranceLineup {
  text-align: center;
  padding: 2.8rem;
  box-shadow: 0 2px 6px rgb(0 0 0 / 16%);
}

.insuranceLineup_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 3rem;
  row-gap: 1rem;
}

.insuranceLineup_list img {
  display: inline-block;
  height: 60px;
}

@media screen and (max-width:640px) {
  .insuranceLineup {
    padding: 3vw 4vw 8vw;
  }

  .insuranceLineup_list {
    column-gap: 7vw;
    row-gap: 0;
  }

  .insuranceLineup_list img {
    height: 14vw;
  }
}

/* -------------------------------------
    お問い合わせ
-------------------------------------- */
#contact {
  width: 100%;
  background: #083C98;
  text-align: center;
  position: relative;
  overflow: hidden;
}

#contact::after {
  content: "";
  display: block;
  background: url("../img/contact_bg.webp") no-repeat center;
  background-size: 100% auto;
  background-blend-mode: multiply;
  width: 78%;
  height: auto;
  aspect-ratio: 1446 / 1083;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0.6;
  z-index: 0;
}

a.toTopBtn {
  position: absolute;
  top: 2vw;
  right: 2vw;
  z-index: 1;
}

#contact>.inner {
  position: relative;
  z-index: 1;
  padding: 4rem;
}

.contactBox {
  display: flex;
  justify-content: center;
  max-width: 1000px;
  margin-inline: auto;
}

a.contactBtn {
  background: #fff;
  display: inline-block;
  border-radius: 8px;
}

#contact .top-mainHeader {
  color: #fff;
  position: relative;
  margin-block-end: 7rem;
}

#contact .top-mainHeader::after {
  content: "";
  display: block;
  background: url("../img/contact_line.svg") no-repeat center;
  background-size: 100% auto;
  width: 100%;
  height: auto;
  aspect-ratio: 405 / 1;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3rem;
}

#contact .leftBox {
  width: 60%;
  padding-inline: 3rem;
  position: relative;
}

#contact .leftBox::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
}

.leftBox_inner {
  /*max-width: 490px;*/
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}

#contact .rightBox {
  width: 40%;
  padding: 46px 3rem 0;
}

.btnComment {
  color: #fff;
  font-weight: bold;
  margin-block-end: 1rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1rem;
}

.btnComment::before {
  content: "";
  display: block;
  background: url("../img/contactComment_lineLeft.svg") no-repeat center;
  background-size: 100% auto;
  width: 10px;
  height: auto;
  aspect-ratio: 5 / 13;
  position: relative;
}

.btnComment::after {
  content: "";
  display: block;
  background: url("../img/contactComment_lineRignt.svg") no-repeat center;
  background-size: 100% auto;
  width: 10px;
  height: auto;
  aspect-ratio: 5 / 13;
  position: relative;
}

.contactBtn {
  transition: all 0.4s ease;
  box-shadow: 3px 3px 17px -3px rgb(10 44 98 / 86%);
}

.contactBtn:hover {
  background: #ffe4e4;
  transition: all 0.4s ease;
}

.contactBtn img {
  width: 100%;
  display: inline-block;
}

a.telBtn.contactBtn {
  margin-block-end: 3rem;
}

a.lineBnr {
  display: block;
  margin-block-end: 2rem;
  max-width: 300px;
}

.faqBtn {
  display: block;
  aspect-ratio: 412 / 286;
  text-decoration: none;
  background: #fff;
  box-shadow: 0 3px 6px rgb(116 166 216 / 16%);
  border-radius: 8px;
  max-width: 300px;
}

.faqBtn img {
  display: inline-block;
  width: 100%;
}

.faqBtnLabel {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.5em;
  color: var(--header-color);
  margin-block: 11px;
  font-size: 16px;
}

.faqBtnLabel::after {
  content: "";
  display: inline-block;
  background: url(../img/btn_arrow-circle.svg) no-repeat;
  background-size: 100% auto;
  width: 1.3rem;
  height: auto;
  aspect-ratio: 1 / 1;
}

@media screen and (max-width:850px) {
  #contact>.inner {
    padding: 4rem 4vw 3rem;
  }

  #contact .top-mainHeader {
    margin-block-end: 5rem;
  }

  #contact .top-mainHeader::after {
    bottom: -1.8rem;
  }

  #contact .rightBox,
  #contact .leftBox {
    padding-inline: 4vw;
  }

  a.telBtn.contactBtn {
    margin-block-end: 2rem;
  }

  #contact a.min-linkBtn.white {
    font-size: 12px;
    margin-block-start: 1rem;
  }
}

@media screen and (max-width:640px) {
  .contactBox {
    flex-direction: column;
  }

  a.toTopBtn {
    width: 16vw;
    top: 3vw;
    right: 3vw;
  }

  a.toTopBtn img {
    display: inline-block;
    width: 100%;
  }

  #contact .leftBox {
    width: 100%;
    border-block-end: 2px solid #fff;
    margin-block-end: 2rem;
    padding-block-end: 2.7rem;
  }

  #contact .rightBox {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding-block: 0;
  }

  #contact .leftBox::after {
    display: none;
  }
  .btnComment {
    column-gap: 4vw;
  }
  a.telBtn.contactBtn {
    max-width: 400px;
  }

  a.formBtn.contactBtn {
    max-width: 400px;
  }

  .leftBox_inner {
    max-width: 400px;
  }

  .faqBtn {
    display: flex;
    aspect-ratio: 4 / 1;
    max-width: 300px;
    overflow: hidden;
    column-gap: 2vw;
  }

  .faqBtn img {
    display: inline-block;
    width: 43%;
    height: 100%;
    object-fit: cover;
  }

  .faqBtnLabel {
    width: calc(100% - 2vw);
    font-size: 14px;
    text-align: center;
    column-gap: 0.8em;
  }

  a.lineBnr {
    margin-block-end: 1.6rem;
  }
}

/* contact style sp end  */
/* ------------------------------
   footer style
 ------------------------------ */
.footer {
  padding-block: 4rem;
  background: url("../img/footerBg_b.webp") top right no-repeat, url("../img/footerBg_a.webp") bottom left no-repeat;
  background-size: 15vw auto;
}

.footerInner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 3rem;
}

.upperSec,
.lowerSec {
  display: flex;
  justify-content: space-between;
}

.upperSec {
  align-items: center;
  padding-block-end: 1rem;
  border-block-end: 1px solid #98A6B5;
}

.lowerSec {
  padding-block: 2rem;
  column-gap: 2rem;
}

.addressInfo {
  flex: 0 0 30%;
}

img.ofImg {
  border-radius: 4px;
  margin-block-end: 1rem;
}

.f_logo {
  width: 20vw;
  min-width: 300px;
}

.f_logo img {
  display: inline-block;
  width: 100%;
}

a.roundBtn {
  border: 1px solid var(--header-color);
  border-radius: 100vh;
  background: #fff;
  text-decoration: none;
  color: var(--header-color);
  padding: 0.8rem 3rem;
  max-width: 300px;
  display: inline-block;
  font-size: 14px;
  position: relative;
}

a.roundBtn::after {
  content: "";
  display: block;
  background: url("../img/icon_triangle.svg") no-repeat;
  background-size: 100% auto;
  width: 6px;
  aspect-ratio: 3 / 4;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}

.addressInfo address {
  font-style: normal;
  font-size: 14px;
  margin-block-end: 1.5rem;
}

span.placeTag {
  background: #98A6B5;
  color: #fff;
  font-size: 14px;
  padding: 2px 1rem;
  border-radius: 3px;
  margin-block-end: 0.3em;
  display: inline-block;
}

.sitemap {
  display: flex;
  justify-content: flex-end;
  width: 60%;
  column-gap: 2vw;
}

ul a {
  text-decoration: none;
  color: var(--basic-color)
}

ul.f_sitemapList {
  list-style: none;
  padding-inline: 0;
  flex: 0 1 200px;
  margin-block: 0;
}

ul.f_sitemapList:nth-child(2) {
  flex: 0 1 160px;
}

ul.f_sitemapList:nth-child(3) {
  flex: 0 1 150px;
}

ul.f_sitemapList>li {
  padding-block: 0.2rem;
}

ul.f_sitemapList>li>a {
  font-size: clamp(13px, calc(12.25px + 0.234375vw), 16px);
  position: relative;
  display: flex;
  column-gap: 0.6rem;
  align-items: center;
  white-space: nowrap;
}

ul.f_sitemapList>li>a::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_arrow_black.svg") no-repeat;
  background-size: 100% auto;
  width: 6px;
  height: auto;
  aspect-ratio: 2 / 3;
  flex: 0 0 6px;
}

ul.f_sitemapList>li>ul {
  margin-block: 1rem;
  list-style: none;
  padding-inline-start: 0.8rem;
}

ul.f_sitemapList>li>ul>li {
  font-size: clamp(12px, calc(11.25px + 0.234375vw), 15px);
  padding-block: 0.3rem;
}

ul.f_sitemapList>li>ul>li>a {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 0.6rem;
}

ul.f_sitemapList>li>ul>li>a::before {
  content: "";
  display: inline-block;
  background: #98A6B5;
  width: 6px;
  height: 2px;
  position: relative;
  flex: 0 0 6px;
}

ul.f_sitemapList>li>ul.importantInfo {
  padding-inline-start: 0;
}

ul.f_sitemapList>li>ul.importantInfo li a {
  font-size: 13px;
}

ul.f_sitemapList>li>ul.importantInfo li a::before {
  display: none;
}

li.singleTopic {
  margin-block-end: 1rem;
}

.certifications {
  display: flex;
  justify-content: flex-end;
  column-gap: 2rem;
  padding-block: 1rem;
  border-block-end: 1px solid #98A6B5;
}

.certifications a {
  display: flex;
  align-items: center;
}

.certifications img {
  display: block;
  max-width: 92px;
}

.certifications img.tga-icon {
  max-width: 106px;
  top: -4px;
  position: relative;
}

.certifications img.sdgs-partner {
  max-width: 180px;
}

.copyright {
  text-align: right;
  font-size: 12px;
  padding-block: 1rem;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 3rem;
}

.floatBnr {
  position: fixed;
  bottom: 2vw;
  right: 2vw;
  display: inline-block;
  z-index: 80;
  width: 30vw;
  max-width: 400px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
}

.floatBnr a img {
  display: inline-block;
  width: 100%;
}

#cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 4vw;
  right: 0px;
  background: rgb(255 255 255 / 90%);
  backdrop-filter: blur(7px);
  border: 1px solid rgb(204, 204, 204);
  padding: 4vw;
  display: none;
  z-index: 9999;
  border-radius: 10px;
  width: 43%;
}
#cookie-banner p {
    font-size: var(--small-font-size);
    font-feature-settings: "palt";
}
.btnCover {
  display: flex;
  justify-content: center;
  column-gap: 2vw;
}

.cookieBtn {
  width: 48%;
  display: block;
  padding: 0.8rem 1rem;
  text-align: center;
  border-radius: 4px;
  border: none;
  background: #083c98;
  color: #fff;
  font-weight: bold;
}
button#cookie-deny {
    background: #aaaaaa;
}
@media screen and (max-width:850px) {
  .floatBnr {
    width: 50%;
  }
}

@media screen and (max-width:768px) {
  .f_logo {
    width: 38vw;
  }

  .h_btn {
    flex-grow: unset;
    width: 80%;
    margin-block: 1rem 6rem;
  }

  .lowerSec {
    flex-direction: column;
    row-gap: 2rem;
  }

  ul.f_sitemapList>li>ul {
    padding-inline-start: 0;
  }

  .sitemap {
    width: 100%;
  }
}

@media screen and (max-width:640px) {
  #cookie-banner {
    width: calc(100% - 8vw);
  }
  .footer {
    padding-block: 2rem;
    background-size: 30vw auto;
  }

  .footerInner {
    padding-inline: 4vw;
  }

  .f_btn {
    display: none;
  }

  .f_logo {
    width: 70vw;
    display: inline-block;
    min-width: unset;
  }

  .f_logo img {
    display: inline-block;
    width: 100%;
  }

  a.f_contactBtn {
    display: none;
  }

  .lowerSec {
    flex-direction: column;
    row-gap: 2rem;
  }

  .sitemap {
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 0;
  }

  ul.f_sitemapList,
  ul.f_sitemapList:nth-child(2),
  ul.f_sitemapList:nth-child(3) {
    width: 48%;
    flex: unset;
  }

  ul.f_sitemapList>li>a {
    white-space: normal;
  }

  .floatBnr {
    width: 65%;
  }

  .certifications img {
    width: 100%;
  }

  .copyright {
    text-align: center;
  }
}

/* footer style sp end */
/* -----------------------------------
  common styles 2
------------------------------------ */
.leadTxt {
  line-height: 1.7;
  font-size: clamp(13px, calc(12.5px + 0.15625vw), 15px);
}

.blurItem {
  opacity: 0;
  filter: blur(4px);
  transition: none;
  /* GSAPで制御するため */
}

span.apdx {
  font-size: 0.85em;
}

br.sp {
  display: none;
}

br.pc {
  display: inline-block;
}

@media screen and (max-width:850px) {
  br.sp {
    display: inline-block;
  }

  br.pc {
    display: none;
  }
}

/* -----------------------------------
  subPage styles
------------------------------------ */
.headerSection {
  padding-block: 7rem 4rem;
  position: relative;
  overflow: hidden;
}

.office .headerSection {
  padding-block: 3rem 8rem;
  margin-block-end: 2rem;
}

.office .top-mainHeader img {
  height: 13vw;
  min-height: 115px;
  max-width: 800px;
}

.headerSection::before {
  content: "";
  display: block;
  width: 16vw;
  height: auto;
  aspect-ratio: 1 / 1;
  background: url("../img/subHeader_bg.webp") no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -2rem;
  left: -2vw;
  z-index: 0;
  opacity: 0.4;
}

.office .headerSection::before {
  display: none;
}

.headerSection::after {
  content: "";
  display: block;
  width: 25vw;
  height: auto;
  aspect-ratio: 602 / 555;
  background: url("../img/subHeader_bg_2.webp") no-repeat;
  background-size: 100% auto;
  position: absolute;
  bottom: -2rem;
  right: 2vw;
  z-index: 0;
}

.office .headerSection::after {
  /* each office page */
  content: "";
  display: block;
  width: 53vw;
  max-width: 940px;
  height: auto;
  aspect-ratio: 741 / 279;
  background: url("../img/corporate/bg.svg") no-repeat;
  background-size: auto 100%;
  position: absolute;
  bottom: 2rem;
  right: 2vw;
  z-index: 0;
  opacity: 0.7;
}

.subPage_headerInner {
  max-width: 1600px;
  margin-inline: auto;
  padding-inline: 3rem;
  z-index: 3;
  position: relative;
}

.subPage_headerInner .eng img {
  height: 1.4rem;
  margin-block-end: 0.3rem;
  padding-inline-start: 0.3em;
}

.top-mainHeader {
  /* Mainly for h1 */
  margin-block: 0;
  font-weight: 700;
  font-size: clamp(24px, calc(21px + 0.9375vw), 36px);
  letter-spacing: 0.05em;
}

.top-mainHeader span.small {
  font-size: 0.6em;
  color: #3b3b3b;
  margin-inline-start: 0.3em;
  letter-spacing: normal;
}

/* breadcrumb style */
.breadcrumb {
  list-style: none;
  margin: 20px auto;
  padding: 0;
  max-width: var(--max-width);
  color: var(--header-color1);
}

.breadcrumb li {
  display: inline-block;
}

.breadcrumb li a {
  margin-right: 10px;
  font-size: 12px;
  position: relative;
  letter-spacing: 0.05em;
  text-decoration: underline;
  font-weight: 600;
  color: #797d85;
}

.breadcrumb li a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: auto;
  aspect-ratio: 2 / 3;
  background: url("../img/icon_arrow_black.svg") no-repeat;
  background-size: 100% auto;
  position: relative;
  top: 0px;
  margin-left: 8px;
}

.breadcrumb li:last-child a {
  text-decoration: none;
  pointer-events: none;
}

.breadcrumb li:last-child a::after {
  display: none;
}

@media screen and (max-width:850px) {
  .headerSection {
    padding-block: 3rem 2rem;
  }
}

@media screen and (max-width:768px) {
  .office .headerSection {
    padding-block: 3rem 24vw;
    margin-block-end: 2rem;
  }

  .headerSection::before {
    width: 28vw;
    top: -6rem;
    left: -12vw;
  }

  .headerSection::after {
    width: 38vw;
    right: -6vw;
  }

  .office .headerSection::after {
    width: 80vw;
    bottom: 0;
  }
}

@media screen and (max-width:640px) {
  .subPage_headerInner {
    padding-inline: 4vw;
  }

  .subPage_headerInner .eng img {
    height: 1rem;
  }

  .headerSection::before {
    width: 33vw;
    top: -2rem;
    left: -12vw;
  }

  .headerSection::after {
    width: 44vw;
    right: 0;
  }

  .breadcrumb {
    margin-block: 3vw;
    line-height: 1.3;
  }

  .breadcrumb li a {
    font-size: 10px;
  }
}

/* subPage style bread etc... sp end */
.subPageContentWrapper.verticalBgType {
  position: relative;
}

.subPageContentWrapper.verticalBgType::after {
  content: "";
  display: block;
  background: linear-gradient(97deg, #FFF7FB, #EBF5FF);
  width: 30vw;
  height: 100%;
  position: absolute;
  top: -18vw;
  right: 0;
  border-radius: 20vw 0 0 20vw;
  z-index: -1;
}

.container.horizontalBg {
  position: relative;
}

.container.horizontalBg::before {
  content: "";
  display: block;
  background: linear-gradient(97deg, #FFF7FB, #EBF5FF);
  width: 60vw;
  height: 300px;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0 0 0 20vw;
  z-index: -1;
}

.container.horizontalBg.corpPage::before {
  background: url("../img/insurance/insurance_bg.svg") no-repeat;
  background-size: 100% auto;
  aspect-ratio: 251 / 164;
  width: 60vw;
  height: auto;
  border-radius: 0;
}

.container.horizontalBg.netPage::before {
  background: url("../img/insurance/insurance_bg.svg") no-repeat;
  background-size: 100% auto;
  aspect-ratio: 251 / 164;
  width: 60vw;
  height: auto;
  border-radius: 0;
}

.officeBg .headerSection::after,
.officeBg .headerSection::before {
  display: none;
}

.sec {
  width: 100%;
  display: block;
}

.secInner {
  margin-inline: auto;
  max-width: 1200px;
  padding-inline: 3rem;
}

.secInner

/*:not(:has(.flexBox))*/
  {
  padding-inline: 7rem;
}

.secInner:has(.docBox) {
  row-gap: 3rem;
  display: flex;
  flex-direction: column;
}

.secInner_wideBox {
  background: #F4F7F8;
  padding: 3rem 0;
}

.secSubHeader {
  /* Mainly for h2 */
  font-size: var(--header-font-size);
  font-weight: 600;
  color: #103678;
  display: inline-block;
  margin-block: 0.3rem 0.83rem;
  line-height: 1.4;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

.secSubHeader::after {
  content: "";
  display: block;
  background: linear-gradient(90deg, #1c9bfe, rgb(232 45 153 / 42%));
  width: 100%;
  height: 3px;
  position: relative;
  margin-block-start: 1.0rem;
  left: 50%;
  transform: translateX(-50%);
}

/*.office .secSubHeader::after{
  background: linear-gradient(90deg, #43ac3d, #bedb7a);
  }*/
.alignCenter {
  /* secSubHeader中央揃えしたいときこれに入れる */
  display: flex;
  justify-content: center;
  margin-block-end: 3rem;
  flex-direction: column;
  align-items: center;
}

.alignCenter img {
  display: block;
  width: 80%;
  border-radius: 4px;
}

.alignCenter img.wideImg {
  display: block;
  width: 80%;
  border-radius: 4px;
}

.alignCenter>.secSubHeader {
  text-align: center;
}

.centerPosition {
  /* sp => align left */
  text-align: center;
}

.rightPosition {
  text-align: right;
}

.secTopicHeader,
.is-style-secTopicHeader {
  color: var(--header-color);
  font-size: var(--subHeader-font-size);
  font-feature-settings: "palt";
}

.infoSingle .secTopicHeader {
  text-align: center;
}

.secTopicHeader_small {
  color: var(--header-color);
  font-size: clamp(16px, calc(15px + 0.3125vw), 20px);
}

.hasMarginTop {
  margin-block-start: 6rem;
}

@media screen and (max-width:850px) {
  .sec:has(.secInner_wideBox) {
    padding-inline: 0;
  }

  .secInner_wideBox {}

  .secInner {
    padding-inline: 2rem;
  }

  .secInner:not(:has(.flexBox)) {
    padding-inline: 2rem;
  }
}

@media screen and (max-width:640px) {
  .secInner {
    padding-inline: 4vw;
  }

  .secInner:not(:has(.flexBox)) {
    padding-inline: 4vw;
  }

  .alignCenter img.wideImg {
    display: block;
    width: 100%;
    border-radius: 4px;
  }

  .centerPosition {
    /* pc => align center */
    text-align: left;
  }

  .netPage .centerPosition {
    text-align: center;
  }

  .secSubHeader::after {
    width: calc(100% + 2.5vw);
  }
}

/* ---------------------
  subPage コンテンツ部分
---------------------- */
.subPageContentWrapper {
  position: relative;
  display: grid;
  row-gap: 6rem;
  /*padding-block-end: 3rem;*/
}

/*.subPageContentWrapper .flexBox .leftBox.txtArea {
  padding-inline: 3rem;
}
.subPageContentWrapper .flexBox .rightBox.imgArea {
  padding-inline: 1rem;
}
.subPageContentWrapper .flexBox .txtArea {
  padding-inline: 3rem;
}
.subPageContentWrapper .flexBox .imgArea {
  padding-inline: 1rem;
}*/
.subPageContentWrapper .flexBox .txtArea_wide {
  padding-inline: 1rem;
  width: calc(70% - 2rem);
}

.subPageContentWrapper .flexBox .imgArea_small {
  padding-inline: 1rem;
  width: 30%;
}

.subPageContentWrapper .flexBox .imgArea img {
  display: block;
  width: 100%;
  border-radius: 6px;
}

p.lead {
  line-height: 2;
  font-size: clamp(15px, calc(14.75px + 0.078125vw), 16px);
  color: var(--basic-txt-color);
}

.docBox {
  padding-inline: 3rem;
}

.docBox p {
  font-weight: 400;
}

@media screen and (max-width:850px) {
  .subPageContentWrapper .flexBox .txtArea {
    padding-inline: 1rem;
  }

  .subPageContentWrapper .flexBox .imgArea_small {
    padding-inline: 2vw;
    width: 50%;
  }
}

@media screen and (max-width:640px) {
  .subPageContentWrapper .flexBox .txtArea {
    padding-inline: 0;
  }

  .subPageContentWrapper .flexBox .imgArea_small {
    padding-inline: 0;
    width: 50%;
  }

  .subPageContentWrapper .flexBox .txtArea_wide {
    padding-inline: 0;
    width: 100%;
  }

  .docBox {
    padding-inline: 2vw;
  }
}

/* -----------------------------------------------
  グラデーションボタン
------------------------------------------------ */
.btnBox {
  display: flex;
  column-gap: 1.5rem;
}

.large-linkBtn {
  position: relative;
  display: inline-block;
  padding: 4px;
  border-radius: 25px;
  text-decoration: none;
  color: var(--basic-txt-color);
  width: 450px;
  right: 60px;
}

.large-linkBtn::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(90deg, #1c9bfe, #e82d99);
  position: absolute;
  inset: 0;
  z-index: 0;
  padding: 2px;
  border-radius: inherit;
}

.large-linkBtn::after {
  content: "";
  background: url("../img/about/btnLongArrow.svg") no-repeat;
  background-size: 100% auto;
  aspect-ratio: 328 / 19;
  width: 190px;
  display: block;
  position: absolute;
  top: 50%;
  right: -3vw;
  transform: translateY(-50%);
  z-index: 2;
}

.large-linkBtn_inner {
  width: 100%;
  height: 100%;
  background: #fff;
  position: relative;
  z-index: 1;
  border-radius: 22px;
  padding: 2rem;
}

.large-linkBtn_inner .eng img {
  height: 1.4rem;
  margin-block-end: 0.2rem;
}

.large-linkBtn_ttl {
  font-size: clamp(18px, calc(16.5px + 0.46875vw), 24px);
  font-weight: 700;
  letter-spacing: 0.03em;
}

.small-linkBtn {
  position: relative;
  display: inline-block;
  padding: 2px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--basic-txt-color);
  width: auto;
}

.small-linkBtn::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(90deg, #1c9bfe, #e82d99);
  position: absolute;
  inset: 0;
  z-index: 0;
  padding: 2px;
  border-radius: inherit;
}

.small-linkBtn::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: auto;
  aspect-ratio: 4 / 7;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon_arrow_pink.svg) 0% 0% / 100% no-repeat;
  z-index: 1;
}

.small-linkBtn_inner {
  width: 100%;
  height: 100%;
  background: #fff;
  position: relative;
  z-index: 1;
  border-radius: 6px;
  padding: 0.9rem 4rem 0.9rem 1.5rem;
}

.small-linkBtn_ttl {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #6077dd;
}

@media screen and (max-width:640px) {
  .btnBox {
    row-gap: 1rem;
    flex-wrap: wrap;
  }
}

/* --------------------------------
  section common style
-------------------------------- */
.sec:has(.subPageIndexStyle) {
  display: flex;
  flex-wrap: wrap;
  row-gap: 6rem;
}

.subPageIndexStyle {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  padding-inline: 30% 10%;
  padding-block-end: 3rem;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 2;
}

.about .subPageIndexStyle:nth-child(1) {
  background: url("../img/about/indexImg_01.webp") no-repeat left center;
  background-size: auto 100%;
}

.about .subPageIndexStyle:nth-child(2) {
  background: url("../img/about/indexImg_02.webp") no-repeat left center;
  background-size: auto 100%;
}

.about .subPageIndexStyle:nth-child(3) {
  background: url("../img/about/indexImg_03.webp") no-repeat left center;
  background-size: auto 100%;
}

.insurance .subPageIndexStyle:nth-child(1) {
  background: url("../img/insurance/insuranceIndex_personal.webp") no-repeat left center;
  background-size: auto 100%;
}

.insurance .subPageIndexStyle:nth-child(2) {
  background: url("../img/insurance/insuranceIndex_corp.webp") no-repeat left center;
  background-size: auto 100%;
}

.insurance .subPageIndexStyle:nth-child(3) {
  background: url("../img/insurance/insuranceIndex_net.webp") no-repeat left center;
  background-size: auto 100%;
}

img.largeBg {
  display: block;
  aspect-ratio: 25 / 17;
  width: 55%;
}

.subPageItemCover {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.subPageItemCover.reverse {
  flex-direction: row-reverse;
  justify-content: flex-start;
}

.contentBlock {
  width: 45%;
  max-width: 700px;
  padding: 3rem;
}

ul.featureList,
.is-style-featureList {
  padding-inline-start: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: 0.7rem;
}

ol.featureList {
  display: flex;
  flex-direction: column;
  row-gap: 0.7rem;
}

ul.featureList li,
.is-style-featureList li {
  position: relative;
  display: flex;
  justify-content: flex-start;
  column-gap: 0.5rem;
  align-items: center;
  font-size: var(--middle-font-size);
}

ol.featureList li {
  font-size: var(--middle-font-size);
}

ol.featureList li::marker {
  color: var(--header-color);
  font-size: 24px;
}

ul.featureList li::before,
.is-style-featureList li::before {
  content: "●";
  color: var(--header-color);
  display: inline-block;
  font-size: 13px;
  flex: 0 0 1rem;
}

.emTxt {
  color: var(--header-color);
  font-weight: 600;
}

.emTxt_red {
  color: #B00066;
  font-weight: 600;
}

.wordBox {
  background: #F4F7F8;
  border-radius: 20px;
  padding: 3rem 1rem;
}

.vision .wordBox {
  background: #fff5f5;
}

.wordBox:nth-child(n+2) {
  margin-block-start: 1.3rem;
}

.wordBox.wide:nth-child(n+2) {
  margin-block-start: 3.3rem;
}

.wordBox h3.secTopicHeader {
  margin-block: 0;
}

.wordBox p {
  margin-block: 0;
}

/* --------------------------------
        bottom nav
-------------------------------- */
.btmNavBox {
  display: flex;
  justify-content: center;
  padding: 3rem;
  column-gap: 3vw;
  position: relative;
}

.btmNavBox::before {
  content: "";
  display: block;
  background: #A9AFBA;
  width: 100%;
  max-width: 850px;
  height: 2px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

a.btmNavBtn {
  background: #deebff;
  padding: 1.3rem 2rem;
  font-size: 14px;
  min-width: 230px;
  display: flex;
  justify-content: center;
  color: var(--basic-txt-color);
  letter-spacing: 0.05em;
  border-radius: 8px;
  position: relative;
}

a.btmNavBtn.return::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_arrow_blue_return.svg") no-repeat;
  background-size: 100% auto;
  width: 6px;
  height: auto;
  aspect-ratio: 4 / 7;
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
}

a.btmNavBtn::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_arrow_blue.svg") no-repeat;
  background-size: 100% auto;
  width: 6px;
  height: auto;
  aspect-ratio: 4 / 7;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width:850px) {
  .large-linkBtn {
    width: 43%;
    top: 3vw;
    padding: 3px;
  }

  .large-linkBtn::after {
    content: "";
    background: url(../img/about/btnLongArrow_sp.svg) no-repeat;
    background-size: 100% auto;
    aspect-ratio: 103 / 19;
    width: 18%;
    right: -5vw;
  }

  .large-linkBtn_inner .eng img {
    height: 15px;
  }

  .subPageIndexStyle {
    padding: 0 3vw;
    background-size: 100% auto;
  }
}

@media screen and (max-width: 768px) {
  .container.horizontalBg::before {
    height: 220px;
  }

  a.large-linkBtn {
    position: relative;
    top: 2rem;
    right: 3vw;
    width: 80%;
  }

  a.large-linkBtn.simpleVer {
    top: 0;
    right: 0;
  }

  .large-linkBtn_inner {
    padding: 6vw;
  }

  .large-linkBtn_inner .eng img {
    height: 0.8rem;
    margin-block-end: 0.2rem;
  }

  .subPageContentWrapper.verticalBgType::after {
    width: 36vw;
    height: 94%;
    top: -40vw;
    right: 0;
    border-radius: 20vw 0 0 20vw;
  }

  .subPageContentWrapper {
    row-gap: 3rem;
    display: flex;
    flex-direction: column;
  }

  .sec:has(.subPageIndexStyle) {
    row-gap: 6rem;
    padding: 0;
  }

  .sec:has(.subPageItemCover) {
    row-gap: 6rem;
    padding: 0;
  }

  .subPageIndexStyle {
    padding: 0;
    aspect-ratio: 5 / 3;
    padding-inline-end: 5vw;
  }

  .subPageIndexStyle:nth-child(1),
  .subPageIndexStyle:nth-child(2),
  .subPageIndexStyle:nth-child(3) {
    background-size: 100% auto;
  }

  .subPageContentWrapper .flexBox .leftBox.txtArea {
    padding: 0;
  }

  .subPageItemCover,
  .subPageItemCover.reverse {
    flex-direction: column;
    align-items: flex-start;
  }

  .subPageItemCover.reverse {
    align-items: flex-end;
  }

  img.largeBg {
    width: 80%;
  }

  .contentBlock {
    width: 100%;
    padding: 0 4vw;
  }
}

@media screen and (max-width:640px) {

  .insurance .subPageIndexStyle:nth-child(1),
  .insurance .subPageIndexStyle:nth-child(2),
  .insurance .subPageIndexStyle:nth-child(3) {
    background-size: auto 90%;
  }

  /* --------------------------------
        bottom nav sp
-------------------------------- */
  .btmNavBox {
    flex-direction: column-reverse;
    row-gap: 1.5rem;
  }

  .btmNavBox::before {
    width: 80%;
  }

  a.btmNavBtn {
    padding: 1.3rem 0.5rem;
    font-size: 13px;
  }

  a.btmNavBtn.next {
    padding: 1.3rem 1.6rem 1.3rem 0.5rem;
  }
}

/* --------------------------------
        aboutPages
-------------------------------- */
.aboutPeople {
  text-align: center;
}

.people_placeBoxWrapper {
  margin-block-start: 2rem;
}

.obiHeader {
  width: 100%;
  background: #fff1f1;
  padding: 1.5rem;
  margin-block: 0 2rem;
}

.obiHeader span {
  font-size: 0.7em;
  font-weight: 500;
  margin-inline-start: 1rem;
}

.people_placeBoxCover:nth-child(n+2),
.corp_officeBoxCover:nth-child(n+2) {
  margin-block-start: 6rem;
}

.people_placeBox {
  max-width: 1200px;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.people_placeBox img {
  width: 50%;
  border-radius: 6px;
}

.people_placeBox_txt {
  width: 50%;
  padding: 3rem;
  text-align: left;
}

.people_placeBox_txt p {
  line-height: 2;
  font-size: clamp(13px, calc(12.5px + 0.15625vw), 15px);
  color: var(--basic-txt-color);
}

.dataItemsCover {
  display: flex;
  column-gap: 3rem;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 3rem;
  margin-block-start: 2rem;
}

.dataItem {
  width: calc((100% - 3rem) / 2);
  background: url(../img/gridBg.svg) repeat #fff;
  background-size: 24px;
  border-radius: 8px;
  padding: 1.6rem 2.4rem;
  border: 4px solid #82b9e9;
}

.dataItem .secTopicHeader {
  margin-block: 0 1rem;
}

.dataItem .secTopicHeader span.small {
  font-size: 0.6em;
}

.dataItem.wide {
  width: 100%;
}

.dataItem.min-wide {
  width: 65%;
}

.dataItem.narrow {
  width: calc(35% - 3rem);
  padding: 2rem 1rem 1rem;
}

.dataItem .flexBox {
  justify-content: space-around;
  column-gap: 2rem;
}

.harfItem {
  background: #f7ef9047;
  padding: 1rem;
}

.dataBox {
  display: flex;
  justify-content: center;
  width: 100%;
  flex-direction: row-reverse;
  align-items: flex-end;
}

.dataBox img {
  display: block;
  width: 60%;
  flex-shrink: 0;
  z-index: 1;
}

.dataBox img.dataImg-07 {
  width: 70%;
}

.dataImg-04 {
  width: 100%;
  display: block;
}

.dataImg-05 {
  width: 70%;
  display: block;
}

.dataBox .count {
  white-space: nowrap;
  z-index: 2;
}

span.count-num {
  color: #e82d99;
  font-size: 80px;
  font-weight: bold;
}

.unit {
  color: var(--header-color);
  font-size: 20px;
  font-weight: bold;
}

span.em {
  background: #f7ef90;
}

@media screen and (max-width:640px) {
  .people_placeBox {
    flex-direction: column;
  }

  .people_placeBox img {
    width: 80%;
  }

  .people_placeBox_txt {
    width: 100%;
    padding: 1rem 3rem;
  }

  .obiHeader {
    margin-block: 0 2rem;
    padding: 1.5rem 2vw;
  }

  .obiHeader span {
    display: block;
    margin-inline: 0;
  }

  .people_placeBoxCover {
    margin-block-end: 2rem;
  }

  .people_placeBoxCover:nth-child(n+2),
  .corp_officeBoxCover:nth-child(n+2) {
    margin-block-start: 3rem;
  }

  .dataItem,
  .dataItem.wide,
  .dataItem.min-wide,
  .dataItem.narrow {
    width: 100%;
    padding: 1.6rem 4vw;
  }

  .dataItem.min-wide .dataBox {
    flex-direction: column;
    align-items: center;
  }

  .dataItem.min-wide .dataBox img {
    width: 100%;
  }

  .halfItem {
    width: 100%;
  }

  span.count-num {
    font-size: clamp(56px, calc(44px + 3.75vw), 68px);
  }

  .unit {
    font-size: 15px;
  }

  .harfItem .unit {
    writing-mode: vertical-rl;
  }

  .dataImg-05 {
    width: 100%;
    display: block;
  }
}

/* --------------------------------
        corp pages
-------------------------------- */
.corpPage section.sec.historySec,
.corpPage section.sec.officeSec {
  margin-block-end: 6rem;
}

.linkBox {
  position: relative;
}

.corpPage .linkBox .flexBox {
  padding: 0 6rem 6rem;
  flex-wrap: wrap;
  column-gap: 5%;
  row-gap: 2rem;
}

.corpPage .linkBox .flexBox a.aboutItem {
  width: 30%;
  display: inline-block;
  aspect-ratio: 412 / 297;
  text-decoration: none;
  background: #fff;
  box-shadow: var(--shadow-blue);
  border-radius: 8px;
  border: 2px solid var(--header-color);
}

.corpPage a.aboutItem img {
  display: inline-block;
  width: 100%;
  font-size: clamp(15px, calc(14.75px + 0.078125vw), 16px);
}

.corpPage .aboutItemLabel {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.5em;
  color: var(--header-color);
  font-size: clamp(14px, calc(13.5px + 0.15625vw), 16px);
}

.corpPage .aboutItemLabel::after {
  content: "";
  display: inline-block;
  background: url("../img/btn_arrow-circle.svg") no-repeat;
  background-size: 100% auto;
  width: 1.3rem;
  height: auto;
  aspect-ratio: 1 / 1;
}

.corpPage .recruit {
  display: flex;
  justify-content: flex-end;
  margin-block-end: 5rem;
}

.corpPage a.recruitBnr {
  width: 60%;
  display: block;
  min-width: 300px;
}

.corpPage a.recruitBnr img {
  display: inline-block;
  width: 100%;
}

p.rinen {
  font-size: var(--middle-font-size);
  color: var(--header-color);
}

.purposeTag {
  display: inline-block;
  background: var(--header-color);
  color: #fff;
  font-size: 13px;
  padding: 0 0.5rem;
  border-radius: 4px;
  margin-block: 0.7rem 0.3rem;
}

p.purposeTxt {
  line-height: 1.8;
  font-weight: normal;
}

table.corpInfoTable tbody,
.wp-block-table.is-style-table-style table tbody {
  display: block;
  border: 1px solid #ccc;
}

table.corpInfoTable tr,
.wp-block-table.is-style-table-style table tr {
  display: flex;
  align-items: stretch;
}

table.corpInfoTable tr:nth-child(n+2),
.wp-block-table.is-style-table-style table tr:nth-child(n+2) {
  border-block-start: 1px solid #ccc;
}

.wp-block-table.is-style-table-style table tr,
.wp-block-table.is-style-table-style table td {
  border: none;
}

table.corpInfoTable th,
.wp-block-table.is-style-table-style table td:first-child,
.wp-block-table.is-style-table-style table th {
  width: 30%;
  background: #f3f6f9;
  color: var(--basic-txt-color);
  font-weight: 700;
  text-align: center;
  padding: 12px 10px;
  border-inline-end: 1px solid #ccc;
}

table.corpInfoTable td,
.wp-block-table.is-style-table-style table td {
  width: 70%;
  padding: 10px;
  background: #fff;
}

.exLinkBtn {
  background: #b0dffb;
  padding: 1.3rem 5rem 1.3rem 3rem;
  font-size: var(--middle-font-size);
  max-width: 600px;
  display: flex;
  justify-content: center;
  color: var(--header-color);
  letter-spacing: 0.05em;
  border-radius: 8px;
  position: relative;
  width: 100%;
  font-weight: bold;
  margin-block-start: 1rem;
}

.exLinkBtn::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_externalLink.svg") no-repeat center;
  background-size: 100% auto;
  width: 1rem;
  height: auto;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}

/* greeting--------------------------------- */
p.signature {
  text-align: right;
  font-size: var(--small-font-size);
  line-height: 1.4;
}

p.signature img {
  display: inline-block;
  margin-block-start: 0.8rem;
  max-width: 220px;
}

.secInner:has(.greetingProfile) {
  background: rgb(243 243 243 / 74%);
  padding-block: 2rem;
  border-radius: 8px;
}

.flexBox.rowReverse.greetingProfile .rightBox {
  width: 30%;
}

.flexBox.rowReverse.greetingProfile .leftBox {
  width: 70%;
}

.greetingProfile span.small {
  margin-inline: 0;
}

.greeting .spacer {
  display: block;
  height: 2rem;
}

/* history--------------------------------- */
.eventGroup {
  padding: 3rem 0;
}

.historyCover {
  display: flex;
  max-width: unset;
  column-gap: 2rem;
}

.subPageContentWrapper .historyCover.flexBox .imgArea {
  padding-inline: 1rem;
  width: 50%;
}

.subPageContentWrapper .historyCover.flexBox .txtArea {
  padding: 0;
}

p.timestamp {
  text-align: right;
}

.year {
  color: var(--header-color);
  font-weight: 700;
  font-size: var(--header-font-size);
  letter-spacing: 0.03em;
  margin-block-end: 0.5rem;
  font-style: italic;
}

.year .small {
  font-size: var(--small-font-size);
}

.hisBox .featureList {
  padding-inline-start: 1.5rem;
}

/* office--------------------------------- */
.office .secSubHeader {
  color: #ff4d84;
}

.corp_officeBoxCover {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 3rem;
  background: url(../img/gridBg.svg) repeat #fff;
  background-size: 13px;
  border: 4px solid #cfe7fd;
  padding-block: 2rem 0;
  border-radius: 8px;
}

.office .corp_officeBoxCover {
  border: none;
  background: none;
}

.corp_officeBoxCover .secSubHeader {
  display: block;
}

.corp_officeBoxCover .secSubHeader span {
  font-size: 0.5em;
  margin-inline-start: 1rem;
}

.officeObi {
  background: #F3F6FE;
  padding-inline: calc((100vw - 1200px) / 2);
  padding-block: 2rem;
  margin-block-start: 3rem;
}

.officeObi h3 {
  color: var(--header-color);
  padding-inline: 2rem;
}

.officeBtnBox {
  display: flex;
  column-gap: 2rem;
  padding-inline: 2rem;
}

.officeBtnBox a.roundBtn {
  padding-inline-start: 2.4rem;
}

a.roundBtn::after {
  background: url("../img/icon_triangle_btm.svg") no-repeat;
  background-size: 100% auto;
  width: 6px;
  aspect-ratio: 8 / 7;
}

.addressInfo a.roundBtn::after {
  background: url("../img/icon_triangle.svg") no-repeat;
  background-size: 100% auto;
  width: 6px;
  aspect-ratio: 4 / 5;
}

span.itemHeader {
  display: block;
  color: var(--header-color);
  font-weight: 700;
}

.corp_officeBox_txt {
  padding: 3rem;
}

p.tel,
p.fax {
  position: relative;
  display: inline-block;
}

p.tel {
  margin-inline-end: 1rem;
}

p.tel::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_mini_phone.svg") no-repeat;
  background-size: 100% auto;
  width: 1rem;
  aspect-ratio: 1 / 1;
  margin-inline-end: 0.5em;
}

p.fax::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_mini_fax.svg") no-repeat;
  background-size: 100% auto;
  width: 1rem;
  aspect-ratio: 1 / 1;
  margin-inline-end: 0.5em;
}

.corp_officeBox_txt p {
  line-height: 1.7;
  margin-block-end: 0.5rem;
}

.corp_officeBox {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.officeMainImgCover {
  display: flex;
  justify-content: flex-end;
  margin-block-end: 1.5rem;
}

img.officeImg {
  border-radius: 8px;
  width: 100%;
}

.corp_officeBox.each {
  /* 各営業所ページアクセススタイル */
  border: 2px solid #c5bcbc;
  border-radius: 16px;
  padding: 3rem;
  column-gap: 2rem;
  margin-block-end: 4rem;
}

.corp_officeBox iframe {
  display: block;
  width: 50%;
  aspect-ratio: 1.6 / 1;
  height: auto;
  border-radius: 4px;
  margin-block-start: 3rem;
}

.corp_officeBox_txt {
  width: 50%;
  padding: 3rem 0 2rem 2vw;
}

.corp_officeBox.each .corp_officeBox_txt {
  width: 45%;
  padding: 0;
}

.corp_officeBox.each iframe {
  width: 45%;
  aspect-ratio: 1 / 1;
  margin-block-start: 0;
}

.officeImgSubTtl.accessTtl {
  width: 180px;
}

.officeLink {
  display: flex;
  justify-content: flex-end;
  margin-block: 2rem 3rem;
  padding-inline: 0;
}

.officeLink .large-linkBtn::after {
  display: none;
}

.officeLink .large-linkBtn {
  border-radius: 26px;
  width: 60%;
  right: 0;
}

.officeLink .large-linkBtn_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.5rem;
  top: unset;
  right: unset;
}

.officeLink .large-linkBtn_inner img {
  width: 37%;
  display: block;
  flex: 0 0 30%;
  border-radius: 10px;
  background: #ccc;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1.7 / 1;
}

.inBtnInfo {
  width: 60%;
}

span.btnLabel1 {
  display: block;
  color: #7b9ad0;
  border-bottom: 2px solid #7b9ad0;
  padding-block-end: 0.5em;
  margin-block-end: 1rem;
  font-size: var(--small-font-size12-15);
}

span.btnLabel2 {
  display: block;
  color: var(--header-color);
  font-size: var(--small-font-size);
  font-weight: bold;
}

.officeLink .large-linkBtn_ttl {
  color: var(--header-color);
}

.office_coverImg {
  width: 100%;
}

.office_coverImg img {
  display: block;
  width: 100%;
}

.accessImg {
  display: inline-block;
  width: 100%;
  margin-block-end: 0.8rem;
}

.accessHasImg {
  display: flex;
  column-gap: 0.8rem;
}

.accessImg.kansai {
  width: 44%;
}

.accessHasImg p {
  width: 50%;
}

/* each office page */
.office .secSubHeader::after {
  display: none;
}

.serviceLineUps h2 {
  color: #274b66;
}

.serviceLineUps h2>span {
  display: block;
  font-size: 15px;
  color: #4f7999;
}

.office .icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 2rem;
  padding: 2rem;
  border: 6px solid #ffeee0;
  border-radius: 10px;
}

.seciveIconItem {
  text-align: center;
  width: 20%;
  max-width: 168px;
}

.seciveIconItem img {
  display: block;
  width: 100%;
}

.seciveIconItem h3 {
  color: #274b66;
  margin-block: 0.5rem 0;
  font-size: 16px;
}

.linkBox {
  display: flex;
  justify-content: flex-end;
  margin-block: 1rem 0;
  column-gap: 1.5rem;
}

.headerTag {
  display: block;
  position: relative;
}

.headerTag>span {
  background: #60bef8;
  border-radius: 100vh;
  padding-inline: 1rem;
  color: #fff;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.sec.staffVoice {
  background: #fff1f1;
}

.staffVoiceCover {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  align-items: center;
  padding-block: 3rem;
}

.staffVoiceItem {
  display: flex;
  column-gap: 2rem;
  align-items: center;
  max-width: 800px;
  background: url(../img/gridBg.svg) repeat #fff;
  background-size: 24px;
  border-radius: 8px;
  padding: 2rem 3rem;
  /*border: 6px solid #b8d169;*/
}

.staffVoiceItem img {
  flex: 0 0 150px;
  width: 150px;
}

.staffVoiceItem .secTopicHeader {
  margin-block: 0 0.8rem;
  font-size: clamp(16px, calc(15.5px + 0.15625vw), 18px);
}

.staffVoice_txt {
  width: calc((100% - 2rem) - 150px);
}

.staffVoice_txt p {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.8;
  margin-block: 0 0.5rem;
}

.officeBox {
  position: relative;
}

.officeImgTtl {
  display: block;
  height: 40px;
  width: auto;
}

.officeImgTtl.headofficeImgTtl {
  margin-block-end: 0.5rem;
  height: 30px;
}

.imgSec img {
  display: block;
  width: 60vw;
}

.fukidashiBg {
  background: url("../img/corporate/fukidashi_bg.svg") no-repeat right bottom;
  background-size: 50% auto;
}

h3.ttl {
  font-size: var(--middle-font-size);
  color: var(--header-color);
  margin-block: 0 0.4rem;
}

h3.ttl .small {
  font-size: var(--small-font-size);
  line-height: 1.5;
  display: inline-block;
}

a.mapBtn {
  position: absolute;
  top: 6px;
  right: 10px;
  display: inline-block;
  background: #60bef8;
  padding: 0.3rem 0.8rem;
  border-radius: 4px;
  color: #fff;
}

.principleCover {
  max-width: 800px;
  background: url(../img/gridBg.svg) repeat #fff;
  background-size: 24px;
  border-radius: 8px;
  padding: 2rem 3rem;
  margin-inline: auto;
  border: 2px solid #1a9afc;
}

.featureList .secTopicHeader {
  margin-block: 0 0.5rem;
}

/*　-----------------------
  line
------------------------ */
.lineQRsub {
  max-width: 500px;
  margin-block-end: 1rem;
}

img.lineQR {
  width: 320px;
  margin-block: 1rem;
}

p.lineAccount {
  color: #06c756;
  font-weight: bold;
  font-size: 53px;
  margin-block-end: 1rem;
}

a.spLineBtn {
  background: #06c756;
  display: none;
  text-align: center;
  color: #fff;
  font-size: 20px;
  padding-block: 1.3rem;
  border-radius: 6px;
}

/*　-----------------------
  fiduciary-duty tabel style
------------------------ */
.referenceChart {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  font-size: 14px;
  line-height: 1.6;
  margin-block-end: 2rem;
}

/* 見出し */
.referenceChart thead th {
  background: #f3f6f9;
  color: #333;
  font-weight: 700;
  text-align: center;
  padding: 12px 10px;
  border: 1px solid #ccc;
}

/* セル共通 */
.referenceChart th,
.referenceChart td {
  border: 1px solid #ccc;
  padding: 10px;
  vertical-align: middle;
}

.referenceChart tbody td:first-child {
  background: #fafafa;
}

/* 原則・注 の列（td2が付いているもの） */
.referenceChart .td2 {
  text-align: center;
  white-space: nowrap;
  font-weight: 600;
}

/* 非該当などの補足説明が長い列 */
.referenceChart tbody td:nth-child(4) {
  font-size: 13px;
}

/* 行間を少し広めにして可読性UP */
.referenceChart tbody tr {
  background: #fff;
}

/* hover（任意） */
.referenceChart tbody tr:hover {
  background: #f9fbfd;
}

.sdgsTtl {
  display: flex;
  justify-content: flex-start;
  column-gap: 2rem;
}

.slick-list {
  width: 100%;
}

.sdgsSliderItem {
  padding: 1rem;
}

.sdgsSliderItem.slick-slide {
  width: 50%;
}

h4.sdgsTtlTag {
  background: var(--header-color);
  display: inline-block;
  border-radius: 100vh;
  color: #fff;
  padding: 5px 1.5rem;
}

.sdgsImgBox {
  margin-block: 2rem;
}

.sdgsTxtBox .lead {
  color: var(--header-color);
  font-weight: 600;
  font-size: var(--middle-font-size);
  line-height: 1.8;
}

.sdgsLinkBox {
  margin-block-start: 3rem;
}

.sdgsLinkBox a {
  display: block;
  width: 80%;
  margin-inline: auto;
}

.scroll_note {
  display: none;
}

#kpi-list {
  margin-block-end: 2rem;
}

@media screen and (max-width:1200px) {
  .flexBox.sdgs-slider-cover {
    flex-wrap: wrap;
  }

  .flexBox.sdgs-slider-cover .leftBox.imgArea {
    width: 600px;
  }

  .flexBox.sdgs-slider-cover .rightBox.txtArea {
    width: 100%;
  }

}

@media screen and (max-width:850px) {

  /* corporate page sp style */
  .eventGroup {
    padding: 1rem;
  }

  /* officeBox */
  .corp_officeBoxCover {
    padding: 1rem 4vw;
  }

  .officeLink {
    margin: 1rem;
  }

  .corp_officeBox_txt {
    width: 50%;
    padding: 2rem 4vw 1rem;
  }

  .corp_officeBox iframe {
    margin-block-start: 2rem;
  }

  .corp_officeBox.each {
    padding: 2rem 1rem;
  }

  .officeLink .large-linkBtn {
    border-radius: 26px;
    width: 90%;
    top: unset;
    right: unset;
  }

}

@media screen and (max-width:768px) {

  /* corporate page sp style */
  /* index */
  .corpPage .linkBox .flexBox {
    flex-direction: row;
    padding: 0 8vw 4rem;
  }

  /* history */
  .eventGroup {
    padding: 1rem 0;
  }

  .subPageContentWrapper .historyCover.flexBox .imgArea {
    padding-inline: 1rem;
    width: 100%;
  }

  /* greeting */
  .secInner:has(.greetingProfile) {
    width: calc(100% - 8vw);
  }

  .flexBox.rowReverse.greetingProfile {
    gap: 0.3rem;
  }

  .flexBox.rowReverse.greetingProfile .rightBox {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-block-end: -4.5rem;
  }

  .flexBox.rowReverse.greetingProfile .rightBox img {
    width: 40%;
  }

  .flexBox.rowReverse.greetingProfile .leftBox {
    width: 100%;
  }

  /* office */
  .office .icons {
    row-gap: 2rem;
  }

  .seciveIconItem {
    width: 40%;
  }

  .serviceLineUps h2 {
    font-size: 18px;
    text-align: center;
  }

  .serviceLineUps h2>span {
    font-size: 12px;
  }

  .seciveIconItem h3 {
    margin-block: 0.2rem 0;
    font-size: 15px;
  }

  .linkBox {
    justify-content: center;
  }

  .officeLink .large-linkBtn .large-linkBtn_inner {
    /* corporate page sp style */
    padding: 3vw;
    column-gap: 3vw;
  }

  span.btnLabel1 {
    margin-block-end: 0.4rem;
  }

  .scroll_note {
    display: none;
  }

  img.lineQR {
    display: none;
  }

  a.spLineBtn {
    display: block;
    width: 90%;
  }

  /* principle */
  .principleCover {
    padding: 4vw;
  }
}

@media screen and (max-width:640px) {
  .corpPage .linkBox .flexBox {
    row-gap: 3.5vw;
    padding: 0 4vw 4rem;
  }

  .corpPage .linkBox .flexBox a.aboutItem {
    width: calc((100% - 11.5vw) / 2);
  }

  .aboutItemLabel::after {
    width: clamp(16px, 2.6vw, 22px);
  }

  .corpPage a.recruitBnr {
    width: 100%;
  }

  table.corpInfoTable tr,
  .wp-block-table.is-style-table-style table tr {
    display: flex;
    flex-direction: column;
  }

  table.corpInfoTable th,
  .wp-block-table.is-style-table-style table td:first-child {
    width: 100%;
    border-inline-end: none;
    border-block-end: 1px solid #ccc;
  }

  table.corpInfoTable td,
  .wp-block-table.is-style-table-style table td {
    width: 100%;
  }

  .officeObi {
    text-align: center;
    padding-block: 1rem 2rem;
  }

  .officeBtnBox {
    flex-direction: column;
    row-gap: 1rem;
    justify-content: center;
    align-items: center;
  }

  .officeBtnBox a.roundBtn {
    display: block;
    width: 100%;
  }

  .corp_officeBoxCover .secSubHeader span {
    display: block;
    margin-inline: 0;
    margin-block-start: 0.5rem;
    font-feature-settings: "palt";
  }

  .corp_officeBox {
    flex-direction: column-reverse;
  }

  .chichibu .corp_officeBox {
    flex-direction: column;
  }

  .corp_officeBox.each {
    width: 100%;
  }

  .corp_officeBox iframe {
    width: 100%;
    margin-block-start: 0;
  }

  .corp_officeBox_txt,
  .corp_officeBox.each .corp_officeBox_txt {
    width: 100%;
    padding: 0 1rem 1rem;
  }

  .corp_officeBox_txt {
    padding: 0 0 1rem;
  }

  .corp_officeBox.each {
    padding: 2rem 4vw;
  }

  .corp_officeBox.each iframe {
    width: 100%;
  }

  h3.topicTtl {
    color: #073c99;
  }

  .officeLink {
    margin: 0;
    padding-inline: 0;
    margin-block: 2rem;
  }

  .officeLink .large-linkBtn {
    border-radius: 15px;
    width: 100%;
    top: 0;
    left: 0;
  }

  .officeLink .large-linkBtn .large-linkBtn_inner {
    border-radius: 12px;
  }

  .officeLink .large-linkBtn_inner img {
    width: 30%;
    aspect-ratio: 1.3 / 1;
    height: auto;
  }

  .officeLink .large-linkBtn_inner {
    padding: 4vw 3vw;
  }

  /* each office page */
  .office .subPage_headerInner .eng img {
    height: auto;
    width: 70%;
    margin-block-end: 0.6rem;
    margin-inline-start: -14px;
  }

  .office .top-mainHeader img {
    max-width: 100%;
    display: inline-block;
    height: 23vw;
    min-height: unset;
  }

  .staffVoiceCover {
    row-gap: 4rem;
  }

  .staffVoiceItem {
    position: relative;
    padding: 3.5rem 4vw 4vw;
  }

  .staffVoiceItem img {
    position: absolute;
    width: clamp(90px, 20vw, 130px);
    top: clamp(-65px, -10vw, -45px);
    left: 50%;
    transform: translateX(-50%);
  }

  .staffVoice_txt {
    width: 100%;
  }

  .scroll_note {
    display: flex;
    justify-content: flex-end;
    margin-block-end: 0.5rem;
  }

  .tableCover {
    overflow-x: scroll;
  }

  .referenceChart {
    width: 100%;
    white-space: nowrap;
    border-collapse: collapse;
  }

  .referenceChart tbody td:first-child {
    background: #fafafa;
    width: 127px;
  }

  .referenceChart th,
  .referenceChart td {
    padding: 8px;
    font-size: 13px;
  }

  .referenceChart tbody td.narrowCell {}

  .referenceChart thead th {
    font-size: 13px;
  }

  .sdgsTtl {
    flex-direction: column;
    align-items: flex-start;
  }

  .sdgsTtl .secTopicHeader {
    border-block-start: 2px solid var(--header-color);
    padding-block-start: 0.9rem;
    margin-block-start: 0.9rem;
  }

  .sdgsTtl img {
    width: 30%;
  }

  .sdgsImgBox img {
    display: block;
    width: auto;
    height: 70px;
    max-width: 100%;
  }

  .sdgsSliderItem {
    padding: 0rem;
  }

  .sdgsSliderItem {
    padding: 0rem;
  }

  .flexBox.sdgs-slider-cover .leftBox.imgArea {
    width: 100%;
  }
}

/* ---------------------------------
   insurance page
---------------------------------- */
.anchorLinkBox {
  display: flex;
  justify-content: center;
  padding: 3rem;
  column-gap: 2rem;
}

.small-linkBtn.hasIcon .small-linkBtn_inner {
  display: flex;
  justify-content: center;
  align-items: center;
}

.small-linkBtn.anchor::after {
  transform: translateY(-50%) rotate(90deg);
}

.small-linkBtn.hasIcon .small-linkBtn_inner img {
  width: 43%;
}

.problemBox {
  background: #F3F6FE;
  border-radius: 4px;
  position: relative;
  padding: 2rem;
}

.problemBox .msg {
  text-align: center;
  background: #fff;
  border: 4px solid #1c9bfe;
  max-width: 900px;
  width: 90%;
  margin-inline: auto;
  padding: 2rem;
  font-size: clamp(18px, calc(17px + 0.3125vw), 22px);
  border-radius: 10px;
  color: var(--header-color);
  font-weight: 800;
  position: absolute;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
}

.problemItemCover {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  width: 80%;
  margin-inline: auto;
  margin-block-end: 8rem;
}

.problemItem {
  display: flex;
  column-gap: 2rem;
  align-items: center;
}

.problemItem .sqBox {
  background: #2e91f5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  aspect-ratio: 1 / 1;
  flex: 1 0 calc(20% - 2rem);
  letter-spacing: 0.05em;
}

.problemList {
  list-style: none;
  padding-inline-start: 0.5rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  flex: 0 1 80%;
}

.problemList li {
  position: relative;
  color: var(--header-color);
  font-weight: 700;
  font-size: clamp(14px, calc(12.5px + 0.46875vw), 20px);
  padding-inline-start: 1.4rem;
}

.problemList li::before {
  content: "";
  display: block;
  background: url("../img/icon_checked.svg") no-repeat;
  background-size: 100% auto;
  width: 1rem;
  height: auto;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.inqSec {
  background: #FF7B7B;
  text-align: center;
  color: #fff;
  position: relative;
  border-radius: 16px;
  padding: 5rem 2rem 3rem;
}

.inqSec::before {
  content: "";
  display: block;
  background: url("../img/insurance/inqSecIcon.svg") no-repeat;
  background-size: 100% auto;
  width: 20%;
  height: auto;
  aspect-ratio: 247 / 211;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -6rem;
}

.inqSec .secTopicHeader_small {
  color: #fff;
  text-align: center;
}

.inqBtnBox {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 2rem;
}

.inqBtnBoxInner {
  flex: 1 1 50%;
}

.inqBtnBox .contactBtn {
  box-shadow: 3px 3px 17px -3px rgb(172 41 23 / 52%);
}

.inqBtnBox a.telBtn.contactBtn {
  margin-block-end: 0;
}

.alignRight {
  text-align: right;
}

a.telBtn.contactBtn.repesentative {
  max-width: 80%;
  padding: 1rem 2rem;
  display: inline-block;
  margin-block-start: 1.5rem;
  color: var(--header-color);
  font-size: 20px;
  line-height: 1.0;
  font-feature-settings: "palt";
}

a.telBtn.contactBtn.repesentative span {
  font-size: 0.65em;
}

a.largeBnr {
  display: block;
  max-width: 800px;
  margin-inline: auto;
  margin-block: 3rem;
}

a.largeBnr img {
  display: block;
  width: 100%;
}

.lineupBox {
  row-gap: 0.8rem;
  display: flex;
  flex-direction: column;
}

.lineupBoxItem {
  display: flex;
  border: 2px solid #1c9bfe;
}

.lineup_type {
  width: 30%;
  background: rgb(243 246 255);
  display: flex;
  align-items: center;
  padding: 1rem;
  justify-content: center;
}

.lineup_type h3 {
  color: var(--header-color);
  font-size: var(--middle-font-size);
}

.product {
  width: 70%;
  padding: 1rem;
  border-inline-start: 2px dotted #1c9bfe;
}

.productItem p {
  line-height: 1.5;
  font-weight: normal;
}

.productItem p a.txtLink {
  font-size: 0.8em;
}

#certification .flexBox {
  margin-block-end: 3rem;
}

/* personal */
section.sec.hasInqSec {
  margin-block-start: 4rem;
}

.anxietyCover {
  max-width: var(--max-width);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  column-gap: 4%;
  row-gap: 5rem;
  justify-content: center;
}

.anxietyItem {
  width: 43%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.anxietyItem h3.secTopicHeader {
  font-size: 20px;
  text-align: center;
  margin-block: 1.5rem 1rem;
}

.insuranceNote {
  text-align: center;
  position: relative;
  margin-block-end: 5rem;
}

.insuranceNote::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_externalLink.svg") no-repeat;
  background-size: 100% auto;
  width: 1rem;
  height: auto;
  aspect-ratio: 1 / 1;
  position: relative;
  margin-inline-end: 0.5rem;
  top: 3px;
}

.insuranceLinkBox {
  display: flex;
  justify-content: center;
  align-items: center;
  row-gap: 0.5rem;
  column-gap: 0.5rem;
  flex-wrap: wrap;
}

a.externalLinkBnr,
.insType {
  font-size: 13px;
  display: inline-block;
  padding: 0.6rem 1rem;
  border-radius: 4px;
  background: #F3F6FE;
  position: relative;
  border: 1px solid var(--header-color);
}

a.externalLinkBnr::after {
  content: "";
  display: inline-block;
  background: url(../img/icon_externalLink.svg) no-repeat;
  background-size: 100% auto;
  width: 0.95rem;
  height: auto;
  aspect-ratio: 1 / 1;
  margin-inline-start: 0.5rem;
  position: relative;
  top: 2px;
}

.cover_insuranceType {
  border-radius: 13vh;
  background: linear-gradient(0deg, #FFF7FB, #fef9f5);
  padding: 4rem 5rem;
  margin-inline: auto;
  width: calc(100% - 6rem);
}

.lifeInsurance_typeBox {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2rem;
  row-gap: 2rem;
  justify-content: center;
}

.lifeInsurance_typeItem {
  background: #fff;
  border-radius: 4px;
  border: 1px solid var(--header-color);
  padding: 3rem;
  width: calc(50% - 1rem);
  position: relative;
}

/*.lifeInsurance_typeItem::after {
  content: "";
  display: block;
  background: url(../img/icon_externalLink.svg) no-repeat;
  background-size: 100% auto;
  width: 0.95rem;
  height: auto;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}*/
.lifeInsurance_typeName {
  color: var(--header-color);
  font-weight: 600;
  margin-block-end: 0.5rem;
  font-size: 20px;
}

.lifeInsurance_typeName span {
  font-size: 0.7em;
}

.lifeInsurance_typeItem p {
  margin-block: 0;
  font-size: 13px;
}

/* other insurance  */
.hasGapCover {
  display: flex;
  flex-direction: column;
  row-gap: 5rem;
}

.insuranceItemBox {
  border: 3px solid var(--header-color);
  border-radius: 20px;
  padding: 2rem;
}

.insuranceItemBox {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}

.insuranceItemBox .secTopicHeader {
  margin-block: 0;
}

.insuranceItemBox .secTopicHeader {
  margin-block-start: 0;
}

.recommendBox {
  background: #F4F7F8;
  border-radius: 4px;
  padding: 1.5rem;
}

.recommendBox h4 {
  color: var(--header-color);
  margin-block: 0;
}

.recommendBox ul {
  list-style: none;
  padding-inline: 0;
  display: flex;
  flex-direction: column;
  row-gap: 0.4rem;
  font-size: 15px;
}

.recommendBox ul li {
  display: flex;
  column-gap: 0.4rem;
  position: relative;
  align-items: center;
}

.recommendBox ul li::before {
  content: "";
  background: url("../img/icon-listCircle.svg") no-repeat;
  background-size: 100% auto;
  width: 0.7rem;
  height: auto;
  aspect-ratio: 1 / 1;
  flex: 0 0 0.7rem;
}

.apdxBox {
  background: #e8f9ff;
  border-radius: 4px;
  padding: 1.5rem;
}

@media screen and (max-width:850px) {
  .lifeInsurance_typeItem {
    padding: 3vw;
  }
}

@media screen and (max-width:768px) {
  .sec:has(.cover_insuranceType) {
    padding-inline: 4vw;
  }

  .cover_insuranceType {
    padding: 3rem 4vw 2rem;
    width: 100%;
    border-radius: 7vh;
  }

  .inqSec {
    padding: 2rem 3vw;
  }

  .anxietyItem {
    width: 88%;
  }

  .insuranceItemBox {
    padding: 2rem 4vw;
  }
}

@media screen and (max-width:640px) {
  .lifeInsurance_typeBox {
    flex-direction: column;
    align-items: center;
  }

  .lifeInsurance_typeItem {
    width: 100%;
    padding: 4vw;
    padding-inline-end: 9vw;
  }

  .lifeInsurance_typeName span {
    display: block;
  }

  .lifeInsurance_typeItem::after {
    right: 3vw;
  }
  .lineupBoxItem {
    flex-direction: column;
  }
  .lineup_type {
    width: 100%;
  }
  .product {
    width: 100%;
    border-inline-start: none;
    border-block-start: 2px dotted #1c9bfe;
  }
}

/* netIns */
.netPage .secInner {
  border: 2px solid #339cfb;
  padding-block: 2rem 4rem;
  border-radius: 16px;
  padding-inline: 0rem;
  width: 90%;
  margin-inline: auto;
}

.netInsuranceLinkCover {
  display: flex;
  align-items: center;
  justify-content: center;
}

.netInsuranceLinkCover .logoBox {
  padding: 2rem;
  width: 26%;
}

.netInsuranceLinkCover .logoBox img {
  display: block;
  width: 100%;
}

ul.onedayPointList {
  list-style: none;
  padding-inline-start: 0.5rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
}

ul.onedayPointList li {
  position: relative;
}

ul.onedayPointList li::before {
  content: "";
  background: url("../img/insurance/icon_circle_red.svg") no-repeat;
  background-size: 100% auto;
  width: 1rem;
  height: auto;
  aspect-ratio: 1 / 1;
  display: inline-block;
  position: relative;
  top: 0.3rem;
  margin-inline-end: 0.5rem;
}

.applicationBox {
  background: #F4F7F8;
  border-radius: 8px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
  margin-inline: auto;
  width: 90%;
}

.oneday_attention {
  display: inline-block;
  background: #eb020c;
  padding: 0.5rem;
  width: 70%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  border-radius: 8px;
}

.oneday_attention_inner {
  display: flex;
  justify-content: center;
  column-gap: 2rem;
}

.leftPC_env,
.rightSP_env {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2rem;
  width: 50%;
  background: #fff;
  padding: 1rem 1rem 2rem;
  border-radius: 8px;
  min-width: 400px;
}

.leftPC_env h3,
.rightSP_env h3 {
  margin-block-end: 0;
}

.leftPC_env p,
.rightSP_env p {
  margin-block: 0;
  text-align: center;
}

.leftPC_env img {
  max-width: 200px;
}

a.onedayInsBtn {
  background: #eb020c;
  display: block;
  padding: 4rem 2rem;
  text-align: center;
  border-radius: 8px;
  color: #fff;
  font-size: var(--middle-font-size);
  font-weight: 800;
}

a.onedayInsBtn .linkIcon {
  display: block;
  text-align: center;
  margin-inline: auto;
  margin-block-end: 0.8rem;
  width: 1.7rem;
}

.sec.hasBtmLine {
  position: relative;
}

/*.sec.hasBtmLine::after {
  content: "";
  width: 80%;
  height: 2px;
  background: #ccc;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3rem;
}*/
.netInsLead {
  margin-block-start: 0;
  text-align: center;
}

.netInsLead img {
  margin-block-end: 1rem;
  display: block;
  max-width: 130px;
}

.netPage .subPageContentWrapper .flexBox .imgArea {
  width: 30%;
}

@media screen and (max-width:1200px) {

  .leftPC_env,
  .rightSP_env {
    min-width: unset;
  }
}

@media screen and (max-width:850px) {
  .anchorLinkBox {
    padding: 4vw;
    column-gap: 2vw;
    margin-block-end: 3rem;
  }

  .small-linkBtn.hasIcon .small-linkBtn_inner {
    padding: 2vw 5vw 2vw 1vw;
  }

  .problemItem {
    column-gap: 1rem;
  }

  .sec.hasBtmLine::after {
    bottom: -4vw;
  }

  .netPage .secInner {
    margin-inline: 4vw;
  }

  .oneday_attention_inner {
    flex-direction: column;
    row-gap: 3rem;
  }

  .leftPC_env,
  .rightSP_env {
    width: 100%;
  }

  .netInsuranceLinkCover .logoBox {
    padding: 2rem;
    width: 40%;
  }

  a.onedayInsBtn {
    width: 80%;
  }

  a.mapBtn {
    top: unset;
    bottom: 0;
  }
}

@media screen and (max-width:640px) {
  a.small-linkBtn.hasIcon {
    width: 30%;
  }

  .small-linkBtn.hasIcon .small-linkBtn_inner {
    padding: 2vw 0.3vw 5vw;
    flex-direction: column;
  }

  .small-linkBtn.anchor::after {
    transform: translateX(-50%) rotate(90deg);
    right: unset;
    left: 50%;
    bottom: 2vw;
    top: unset;
  }

  .small-linkBtn_ttl {
    text-align: center;
  }

  .problemBox {
    padding: 2rem 2vw;
  }

  .problemBox .centerPosition {
    text-align: center;
    font-size: var(--basic-font-size);
  }

  .problemBox .msg {
    padding: 4vw 4vw;
    display: block;
    border: 3px solid var(--header-color);
    max-width: unset;
    width: 80%;
    font-size: var(--middle-font-size);
    top: -14vw;
  }

  .problemItemCover {
    width: 95%;
    margin-block-end: 28vw;
  }

  .problemItem {
    column-gap: 1%;
    flex-direction: column;
  }

  .problemList {
    width: 100%;
  }

  .problemItem .sqBox {
    width: 100%;
    font-size: 15px;
    aspect-ratio: unset;
    padding-block: 0.3rem;
    flex-direction: row;
  }

  .problemItem .sqBox span.space {
    display: block;
    width: 8px;
  }

  .sec.hasBtmLine {
    position: relative;
  }

  .sec.hasBtmLine::after {
    bottom: 0;
  }

  .inqSec {
    padding: 6vw 2vw 2rem;
  }

  .inqSec::before {
    width: 39%;
    top: -23vw;
  }

  .inqBtnBox {
    flex-direction: column;
    width: 98%;
    margin-inline: auto;
    margin-block-start: 2rem;
    row-gap: 2rem;
  }

  .inqBtnBox .btnComment {
    font-size: 14px;
  }

  .alignCenter {
    margin-block-end: 1rem;
  }

  /* netIns */
  .netInsLead img {
    width: 30vw;
  }

  .netPage .subPageContentWrapper .flexBox .imgArea {
    width: 60%;
  }

  .netInsuranceLinkCover {
    flex-direction: column;
  }

  .netInsuranceLinkCover .logoBox {
    padding: 2rem;
    width: 80%;
  }

  .applicationBox {
    width: 94%;
    padding: 4vw;
  }

  .oneday_attention {
    width: 100%;
  }

  a.onedayInsBtn {
    padding: 4vw;
    width: 100%;
  }
}

/* ---------------------------------
   faq page
---------------------------------- */
.faqSingle .secSubHeader {
  margin-block-end: 2rem;
}

.faq .post_box {
  display: flex;
  flex-direction: column;
  row-gap: 3rem;
}

.faqList {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  margin-block-start: 1.5rem;
}

.faqItem {
  padding: 2rem;
  background: var(--warm-color);
  border-radius: 6px;
  display: block;
  position: relative;
  transition: all .6s ease;
}
a.faqItem:hover {
    background: #ffd7a7;
}
.faqList .faqItem::after {
  content: "";
  display: block;
  background: url("../img/icon_triangle.svg") no-repeat;
  background-size: 100% auto;
  width: 10px;
  height: auto;
  aspect-ratio: 4 / 5;
  position: absolute;
  right: clamp(16px, 4vw, 40px);
  top: 50%;
  transform: translateY(-50%);
}

.faqCatBtn_cover {
  display: flex;
  column-gap: 4%;
  flex-wrap: wrap;
  row-gap: 2rem;
}

a.faqCatBtn {
  padding: 2rem 2rem 2rem 6rem;
  border-radius: 6px;
  border: 2px solid var(--header-color);
  font-size: var(--middle-font-size);
  color: var(--header-color);
  width: 48%;
  position: relative;
}
a.faqCatBtn:hover {
    background: rgb(255 215 167 / 54%);
}
a.faqCatBtn::after {
  content: "";
  aspect-ratio: 1 / 1;
  position: absolute;
  left: 2%;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: auto;
  height: 90%;
  z-index: -1;
}

a.faqCatBtn:nth-child(1)::after {
  background: url("../img/faq/indexIcon_after.svg") no-repeat;
  background-size: auto 100%;
}

a.faqCatBtn:nth-child(2)::after {
  background: url("../img/faq/indexIcon_types.svg") no-repeat;
  background-size: auto 100%;
}

a.faqCatBtn:nth-child(3)::after {
  background: url("../img/faq/indexIcon_contract.svg") no-repeat;
  background-size: auto 100%;
}

a.faqCatBtn:nth-child(4)::after {
  background: url("../img/faq/indexIcon_update.svg") no-repeat;
  background-size: auto 100%;
}

a.faqCatBtn:nth-child(5)::after {
  background: url("../img/faq/indexIcon_company.svg") no-repeat;
  background-size: auto 100%;
}

a.faqCatBtn:nth-child(6)::after {
  background: url("../img/faq/indexIcon_estimate.svg") no-repeat;
  background-size: auto 100%;
}

.faq_question {
  color: var(--header-color);
  position: relative;
  display: flex;
  align-items: center;
  padding-inline-end: 2.7rem;
  font-size: var(--middle-font-size);
  margin-block: 0;
  transition: all .6s;
}

.faqSingle .faq_question {
  padding: 0;
}

.faq_question.active {
  margin-block: 0 0.8rem;
  transition: all .6s;
}

.faq_question::before {
  content: "";
  flex-shrink: 0;
  width: 1em;
  height: auto;
  aspect-ratio: 51 / 49;
  margin-right: 8px;
  background: url("../img/icon_q.svg") no-repeat center / contain;
}

.faq_detail_link {
  margin-block: 0;
}

.moreLink {
  position: relative;
  text-decoration: none;
  color: var(--header-color);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  column-gap: 0.5rem;
  font-size: var(--small-font-size);
}

.moreLink::before {
  content: "";
  display: inline-block;
  background: url(../img/icon_triangle.svg) no-repeat;
  background-size: 100% auto;
  width: 8px;
  height: auto;
  aspect-ratio: 4 / 5;
  position: relative;
  top: 1px;
}

/* 開閉ボタン */
.faqItem_btn {
  position: absolute;
  /*right: 10px;
  top: 50%;
  transform: translateY(-50%);*/
  display: block;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  right: -22px;
}

.faqItem_btn::before {
  content: "";
  background-color: #4d7abc;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.faqItem_btn::after {
  content: "";
  background-color: #4d7abc;
  width: 2px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all .6s;
}

.active .faqItem_btn::after {
  transform: rotate(-90deg);
  top: 10px;
  left: 19px;
}

.toggleBox {
  display: none;
  padding-block-start: 20px;
  border-top: 1px solid #555A8F;
  margin-block-start: 20px;
}

.faq_question_detail {
  font-size: var(--middle-font-size);
  color: #3f568e;
  margin-block-end: 0.8rem;
}

.a_content {
  background: #feffff;
  border-radius: 6px;
  padding: 0.8rem;
  font-size: var(--basic-font-size);
}

.singleAnswer {
  margin-block-start: 1.2rem;
  position: relative;
  display: flex;
  padding-inline-end: 2.7rem;
}

.faqSingle .singleAnswer {
  padding: 0;
}

.singleAnswer::before {
  content: "";
  flex-shrink: 0;
  width: 1em;
  height: auto;
  aspect-ratio: 23 / 22;
  margin-right: 8px;
  background: url(../img/icon_a.svg) no-repeat center top 9px / contain;
}

@media screen and (max-width:768px) {
  .faqCatBtn_cover {
    column-gap: 3vw;
    row-gap: 3vw;
  }

  .faqItem {
    padding: 4vw;
  }
}

@media screen and (max-width:640px) {
  .faqCatBtn_cover {
    justify-content: center;
    column-gap: 4vw;
    row-gap: 4vw;
  }

  a.faqCatBtn {
    padding: 2rem 1rem;
    width: 100%;
    text-align: center;
  }

  .faqItem_btn {
    right: 0;
  }
}

/* ---------------------------------
   info page
---------------------------------- */
.infoSingle p,
.newsletterSingle p {
  font-size: clamp(15px, calc(14.75px + 0.078125vw), 16px);
  margin-block-start: 0;
  font-weight: normal;
  line-height: 1.68;
}

.info_catBtn_cover {
  width: 100%;
  display: flex;
  column-gap: 4vw;
}

a.info_catBtn {
  padding: 1.3rem 2rem;
  border-radius: 6px;
  border: 2px solid var(--header-color);
  font-size: var(--middle-font-size);
  color: var(--header-color);
  width: auto;
  position: relative;
  overflow: hidden;
}

a.info_catBtn::before {
  content: "";
  display: block;
  width: 1rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

a.info_catBtn:nth-child(1)::before {
  background: #FF7B7B;
}

a.info_catBtn:nth-child(2)::before {
  background: #ffa57b;
}

a.info_catBtn:nth-child(3)::before {
  background: #7badff;
}

.termGroup {
  padding: 5rem 3rem 2rem;
  box-shadow: var(--box-shadow);
  display: flex;
  flex-direction: column;
  row-gap: 1.6rem;
  position: relative;
}

.termGroup.categorizedList {
  /* タクソノミーページ用 */
  padding: 2rem 3rem;
  margin-block-start: 2rem;
  box-shadow: none;
  row-gap: 3rem;
}

#important {
  background: #FF7B7B;
}

#disaster {
  background: #ffa57b;
}

#topics {
  background: #7badff;
}

a.minLinkBtn {
  background: #fff;
  border-radius: 100vh;
  padding: 0.2em 0.8em;
  position: absolute;
  right: 1rem;
  font-size: 14px;
  color: #ff7b7b;
  letter-spacing: 1px;
}

#important a.minLinkBtn {
  color: #FF7B7B;
}

#disaster a.minLinkBtn {
  color: #ffa57b;
}

#topics a.minLinkBtn {
  color: #7badff;
}

.termGroup:nth-child(n+2) {
  margin-block-start: 3rem;
}

.termGroup h2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: #ccc;
  margin-block: 0;
  padding: 0.8em 1rem;
  font-size: var(--middle-font-size);
  color: #fff;
}

a.newsItem {
  display: flex;
  column-gap: 2rem;
  align-items: flex-start;
}

img.newsItem_thumbNail {
  width: 36%;
  max-width: 150px;
  aspect-ratio: 1 / 1;
  background: #fff;
  border-radius: 8px;
  object-fit: cover;
  display: inline-block;
  flex-shrink: 0;
  border: 1px solid #a2b9d1;
}

img.newsItem_thumbNail.no-img {
  background: #d2ebff;
}

.date {
  font-size: var(--small-font-size);
  color: var(--header-color);
  letter-spacing: 0.05em;
}

.newsDate {
  font-size: 14px;
  color: var(--header-color);
  position: relative;
  white-space: nowrap;
}

.newsDate::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_clock.svg") no-repeat center;
  background-size: 100% auto;
  width: 12px;
  height: auto;
  aspect-ratio: 1 / 1;
  position: relative;
  margin-inline-end: 0.4em;
}

.newsTtl {
  margin-block: 0 0.8em;
  font-size: var(--middle-font-size);
  color: var(--header-color);
}

.news_box {
  display: flex;
  justify-content: center;
  column-gap: 3%;
  row-gap: 2rem;
}

/* kawara-ban style (newsletter) */
.newsletter .secInner:not(:has(.flexBox)) {
  padding-inline: 3rem;
}

.newsletter_box {
  flex-wrap: wrap;
}

.newsletterPagenation {
  margin-block-start: 4rem;
}

.newsList.newsletterList,
.oldPostPage .newsList.newsletterList:first-child {
  width: 30%;
  text-align: center;
  background: #fff;
  padding: 1rem;
  border-radius: 8px;
  border: 2px solid #dae0e9;
  display: block;
}

a.newsletterItem,
.oldPostPage .newsList.newsletterList:first-child a.newsletterItem {
  width: 100%;
  margin-block-end: 0.6rem;
  display: inline-block;
}

.newsletterTerm {
  font-size: var(--basic-font-size);
  margin-block-end: 0;
  background: linear-gradient(90deg, #1c9bfe, rgb(232 45 153 / 42%));
  border-radius: 4px 4px 0 0;
  color: #fff;
  padding-block: 0.3em;
}

img.newsItem_thumbNail.newsLetter_thumb {
  display: block;
  width: calc(100% - 16px);
  max-width: 300px;
  margin-inline: auto;
  border: 1px solid #e8e8e8;
  border-radius: 0 0 4px 4px;
  aspect-ratio: 1 / 1.4;
  padding-inline: 7px;
  box-sizing: content-box;
}

.newsList.newsletterList:first-child {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 2%
}

.newsList.newsletterList:first-child a.newsletterItem {
  width: 63%;
}

.oldPostPage .newsList.newsletterList:first-child .newsItem_content {
  width: 100%;
  padding-block: 0;
  background: none;
}

.newsList.newsletterList:first-child .newsItem_content {
  width: 35%;
  flex-shrink: 0;
  padding-block: 3rem;
  background: #f2f7ff;
  border-radius: 4px;
}

.newsList.newsletterList:first-child a.newsletterItem img.newsItem_thumbNail.newsLetter_thumb {
  max-width: unset;
  width: calc(100% - 16px);
}

a.pdfBtn {
  width: 100%;
  display: block;
  max-width: 300px;
  margin-inline: auto;
  padding-block: 1rem;
  border-radius: 8px;
  border: 2px solid #82c7e9;
  color: var(--header-color);
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}

a.pdfBtn::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_pdf.svg") no-repeat center;
  background-size: 100% auto;
  width: 20px;
  height: auto;
  aspect-ratio: 1 / 1;
  position: relative;
  margin-inline-end: 0.4em;
  top: 4px;
}

.afterDisaster_sec {
  text-align: center;
  border: 2px solid #d7d7d7;
  padding: 2rem;
  border-radius: 8px;
}

.emergencyInqBox {
  margin-block: 3rem;
}

.emergencyInqBox a.telBtn {
  background: #ffe3cb;
  display: block;
  border-radius: 8px;
  max-width: 700px;
  margin-inline: auto;
  margin-block: 0 0.8rem;
}

.emergencyInqBox .innerTelBox {
  display: flex;
  column-gap: 2rem;
}

.to-ms-linkSec {
  margin-block: 2rem;
  text-align: center;
  background: #deecff;
  padding: 1rem;
  border-radius: 8px;
}

.to-ms-linkSec p {
  margin-block-end: 0.5rem;
}

a.txtLink {
  text-decoration: underline;
  color: #0077d4;
  position: relative;
}

a.txtLink.noIcon::after {
  display: none;
}

a.txtLink::after {
  content: "";
  display: inline-block;
  background: url("../img/icon_externalLink.svg") no-repeat;
  background-size: 100% auto;
  width: 1rem;
  height: auto;
  aspect-ratio: 1 / 1;
  position: relative;
  margin-inline: 0.4em;
  top: 3px;
}

a.txtLink.pdfLink::after {
  content: "";
  display: inline-block;
  background: url("../img/icon_pdf.svg") no-repeat center;
  background-size: 100% auto;
  width: 20px;
  height: auto;
  aspect-ratio: 1 / 1;
  position: relative;
  margin-inline-end: 0.4em;
  top: 4px;
}

.infoSingle .secTopicHeader span.small {
  display: block;
}

/* info-cat taxonomy pagenation */
.nav-links {
  display: flex;
  justify-content: center;
  column-gap: 1rem;
}

.page-numbers {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  background: #deecff;
  color: var(--header-color);
  display: flex;
  align-items: center;
}

.previous.page-numbers,
.next.page-numbers {
  font-size: var(--small-font-size);
  font-weight: bold;
}

.current.page-numbers {
  background: #e7e7e7;
}

/* info singlePage style */
.is-style-wide-image img {
  width: 100%;
  object-fit: cover;
  height: auto;
  overflow: hidden;
  aspect-ratio: 2 / 1;
  border-radius: 8px;
  margin-block: 1rem;
}

.wp-block-image img {
  border-radius: 8px;
  margin-block: 1rem;
}

figcaption.wp-element-caption {
  font-size: var(--small-font-size);
  color: #797d86;
  margin-top: -0.5rem;
  margin-bottom: 1.5rem;
}

.wp-block-group.is-style-boxed-style {
  padding: 2rem;
  border-radius: 8px;
  background: #e7e7e7;
  text-align: center;
}

.wp-block-group.is-style-pdf-image {
  max-width: 800px;
  border-radius: 8px;
}

.is-style-pdf-btn.wp-block-button {
  display: flex;
  justify-content: center;
  padding-block: 1rem;
}

.is-style-pdf-btn a.wp-block-button__link {
  color: #fff;
  background-color: #1e72c5;
  border-radius: 9999px;
  box-shadow: none;
  text-decoration: none;
  padding: calc(.667em + 9px) calc(1.333em + 2px);
  font-size: var(--middle-font-size);
  position: relative;
}

@media screen and (max-width: 768px) {
  .emergencyInqBox {
    margin-block: 1rem;
  }

  .emergencyInqBox .innerTelBox {
    row-gap: 2rem;
    flex-direction: column;
  }

  section.to-ms-linkSec {
    text-align: left;
  }

  .wp-block-group.is-style-boxed-style {
    padding: 2rem 4vw;
  }

  .newsletter_box {
    flex-wrap: wrap;
    column-gap: 4%;
  }

  .newsList.newsletterList {
    width: 48%;
  }
}

@media screen and (max-width:640px) {
  .info_catBtn_cover {
    flex-wrap: wrap;
    row-gap: 4vw;
  }

  a.info_catBtn {
    padding: 3vw 1.2rem 3vw 2rem;
    font-size: 14px;
  }

  .termGroup {
    padding: 5rem 4vw 2rem;
  }

  .termGroup.categorizedList {
    padding: 1rem 4vw 2rem;
  }

  a.newsItem {
    column-gap: 4vw;
    /*align-items: flex-start;*/
  }

  img.newsItem_thumbNail {
    width: 25%;
  }

  .afterDisaster_sec {
    padding: 2rem 4vw;
  }

  .newsletter .secInner:not(:has(.flexBox)) {
    padding-inline: 4vw;
  }

  .newsList.newsletterList:first-child {
    flex-direction: column;
    row-gap: 0;
  }

  .newsList.newsletterList,
  .oldPostPage .newsList.newsletterList:first-child {
    width: 48%;
    padding: 0;
    border: none;
  }

  .newsList.newsletterList:first-child a.newsletterItem {
    width: 100%;
    margin-block-end: 0;
  }

  .newsList.newsletterList:first-child .newsItem_content {
    width: 100%;
    flex-shrink: 0;
    padding-block: 3rem;
    background: #f2f7ff;
    border-radius: 0 0 4px 4px;
  }

  .newsList.newsletterList:first-child a.newsletterItem img.newsItem_thumbNail.newsLetter_thumb {
    border-radius: 0;
  }

  .alignCenter.newsletterImgCover img,
  .alignCenter.newsletterBnr img {
    width: 100%;
  }
}

/* ---------------------------------
   voice page
---------------------------------- */
.voice .alignCenter picture {
  text-align: center;
  display: flex;
  justify-content: center;
  width: 100%;
}

.voice .alignCenter picture img {
  display: block;
  width: 70%;
  border-radius: 4px;
}

.voice_box {
  margin-block-end: 5rem;
}

.voiceList {
  display: flex;
  flex-direction: column;
  row-gap: 3rem;
}

.voiceItem {
  display: flex;
  border-radius: 8px;
  padding: 2rem;
  align-items: center;
  border: 1px solid rgb(186 186 186);
  background: repeating-linear-gradient(0deg, transparent, transparent 5px, rgba(75, 85, 99, 0.06) 5px, rgba(75, 85, 99, 0.06) 6px, transparent 6px, transparent 15px), repeating-linear-gradient(90deg, transparent, transparent 5px, rgba(75, 85, 99, 0.06) 5px, rgba(75, 85, 99, 0.06) 6px, transparent 6px, transparent 15px), repeating-linear-gradient(0deg, transparent, transparent 10px, rgba(107, 114, 128, 0.04) 10px, rgba(107, 114, 128, 0.04) 11px, transparent 11px, transparent 30px), repeating-linear-gradient(90deg, transparent, transparent 10px, rgba(107, 114, 128, 0.04) 10px, rgba(107, 114, 128, 0.04) 11px, transparent 11px, transparent 30px) rgb(255, 255, 255);
}

a:has(img.voiceItem_thumbNail) {
  width: 32%;
  display: block;
  flex-shrink: 0;
  max-width: 500px;
}

img.voiceItem_thumbNail {
  border-radius: 8px;
  width: 100%;
  max-width: 500px;
  aspect-ratio: 3 / 2;
  height: auto;
  object-fit: cover;
}

.voiceItem_content {
  padding-inline: 2rem;
}

h2.voiceTtl {
  color: var(--header-color);
  font-size: var(--subHeader-font-size);
  margin-block: 0 0.1em;
}

span.small-kei {
  font-size: var(--middle-font-size);
  margin-inline-start: 0.5rem;
}

.voiceItem_content p {
  font-size: clamp(15px, calc(14.75px + 0.078125vw), 16px);
  margin-block-start: 1rem;
}

.voiceItem_content .txtLink {
  margin-block-end: 0.5em;
  display: inline-block;
  font-size: 13px;
}

.wp-block-group.is-style-default.apexBox {
  background: #F4F7F8;
  margin-block: 2rem;
  padding: 2rem;
  border-radius: 8px;
}

.wp-block-group.is-style-voice-comment-style {
  background: #fff1f1;
  border-radius: 8px;
  padding: 2rem;
  margin-block-start: 3rem;
}

@media screen and (max-width:640px) {
  .voice .alignCenter picture img {
    width: 100%;
  }

  .voiceItem {
    display: flex;
    flex-direction: column;
    padding: 2rem 2vw;
  }

  a:has(img.voiceItem_thumbNail) {
    width: 90%;
  }

  img.voiceItem_thumbNail {
    width: 100%;
    margin-block-end: 1rem;
  }

  .voiceItem_content {
    padding-inline: 4vw;
  }
}

.fade-in {
  animation: fadeInDown 1s ease-out forwards;
  opacity: 0;
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(20px);
    /* 下に20pxずらす */
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    /* 元の位置へ */
  }
}

/* 404ページ サイトマップ */
.secInner:has(.sitemapList) {
  max-width: 900px;
}

ul.sitemapList {
  list-style: none;
  padding-inline: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2rem;
  row-gap: 2rem;
  margin-block-end: 4rem;
  background: rgba(107, 114, 128, 0.04);
  border-radius: 8px;
  padding: 3rem 3vw;
}

.sitemapList_item {
  padding-block: 0.5rem;
}

.sitemapList_mainLink {
  font-size: clamp(13px, calc(12.25px + 0.234375vw), 16px);
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 0.6rem;
}

.sitemapList_mainLink::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_arrow_black.svg") no-repeat;
  background-size: 100% auto;
  width: 6px;
  height: auto;
  aspect-ratio: 2 / 3;
  flex: 0 0 6px;
}

ul.sitemapList_sub {
  list-style: none;
  padding-inline-start: 0.8rem;
  margin-block: 0.5rem;
}

ul.sitemapList_sub li {
  font-size: clamp(12px, calc(11.25px + 0.234375vw), 15px);
  padding-block: 0.3rem;
}

ul.sitemapList_sub li a {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 0.6rem;
}

ul.sitemapList_sub li a::before {
  content: "";
  display: inline-block;
  background: #98A6B5;
  width: 6px;
  height: 2px;
  flex: 0 0 6px;
}

@media screen and (max-width: 640px) {
  ul.sitemapList {
    grid-template-columns: 1fr;
  }
}