@charset "UTF-8";
/*
Theme Name: Arkhe Child
Template: arkhe
Version: 1.0.0
*/
body {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-style: normal; }

a {
  transition: all ease 0.3s; }
  a:hover {
    opacity: 0.8; }

.p-fixBtnWrap {
  display: none; }

.c_contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0px 80px; }

@media screen and (max-width: 840px) {
  .c_contents {
    padding: 0px 48px; } }
@media screen and (max-width: 540px) {
  .c_contents {
    padding: 0px 20px; } }
.blue_bk {
  padding: 48px 0px;
  background: #171c60; }

#c_header {
  box-shadow: 0px 2px 16px rgba(0, 0, 0, 0.1);
  background: none !important;
  z-index: 60; }
  #c_header .header_top {
    height: 28px;
    justify-content: flex-start;
    padding: 5px 0px 0px 48px;
    width: 100%;
    background: #EEEEEE; }
    #c_header .header_top h1, #c_header .header_top p {
      color: #000000;
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 1.4;
      text-align: left; }
  #c_header .header_bottom {
    padding: 0px 48px;
    background: #fff;
    height: 52px; }
    #c_header .header_bottom a img {
      width: auto;
      height: 46px;
      margin-top: 3px !important; }
    @media screen and (max-width: 840px) {
      #c_header .header_bottom a img {
        width: auto;
        height: 44px !important;
        margin-top: 3px !important; } }
  #c_header .header_nav {
    background: rgba(255, 255, 255, 0.88);
    -webkit-backdrop-filter: blur(25px);
    backdrop-filter: blur(25px);
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0px;
    height: 48px;
    padding: 0 40px;
    padding-bottom: 0; }
    #c_header .header_nav nav {
      margin: 0 0 0 auto;
      display: table;
      height: 100%; }
      #c_header .header_nav nav ul {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 0 auto;
        padding: 0;
        height: 100%; }
        #c_header .header_nav nav ul li {
          display: flex;
          list-style: none;
          margin: 0;
          padding: 0px 20px;
          height: 100%;
          vertical-align: middle; }
          #c_header .header_nav nav ul li a {
            color: #000000;
            text-decoration: none;
            font-size: 15px;
            font-weight: 500;
            height: auto;
            letter-spacing: 0.05em;
            line-height: 1.4;
            height: 100%;
            justify-content: center;
            align-items: center;
            align-content: center;
            vertical-align: middle;
            height: 48px; }
          #c_header .header_nav nav ul li.link_type2 {
            padding: 6px 0px 4px 20px; }
            #c_header .header_nav nav ul li.link_type2 a {
              border: 1px solid #171c60;
              padding: 10px 15px;
              color: #171c60;
              line-height: 1;
              height: auto; }
              #c_header .header_nav nav ul li.link_type2 a:hover {
                background: #171c60;
                color: #fff;
                opacity: 1; }
        @media screen and (max-width: 1093px) {
          #c_header .header_nav nav ul li {
            padding: 0px 10px; } }
  @media screen and (max-width: 952px) {
    #c_header .header_nav {
      display: none; } }

@media screen and (max-width: 540px) {
  #c_header .header_top {
    padding: 5px 16px 0;
    height: 24px; }
    #c_header .header_top h1 {
      font-size: 10px; }
  #c_header .header_bottom {
    padding: 0px 16px;
    height: 48px; }
    #c_header .header_bottom a img {
      height: 48px; }
  #c_header .header_nav {
    display: none; } }
#c_footer {
  padding: 48px 0px; }
  #c_footer .c_contents {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    justify-content: space-between; }
  #c_footer .footer_logo_area {
    margin-right: 72px; }
    #c_footer .footer_logo_area a {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      text-decoration: none;
      color: #000000; }
      #c_footer .footer_logo_area a .img_box {
        height: 72px;
        width: 72px;
        background: url("images/logo_footer.webp") no-repeat;
        background-size: cover;
        background-position: center;
        margin-right: 20px; }
      #c_footer .footer_logo_area a .text_box {
        padding-top: 5px; }
        #c_footer .footer_logo_area a .text_box .text1 {
          font-size: 24px;
          font-weight: 500;
          margin-bottom: 8px;
          line-height: 1.4; }
        #c_footer .footer_logo_area a .text_box .text2 {
          font-size: 13px;
          font-weight: 500; }
    #c_footer .footer_logo_area .c_access_area {
      padding-top: 20px; }
  #c_footer .footer_menu_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #c_footer .footer_menu_area .c_box {
      margin-right: 64px; }
      #c_footer .footer_menu_area .c_box ul {
        margin: 0;
        padding: 0; }
        #c_footer .footer_menu_area .c_box ul li {
          list-style: none;
          margin-bottom: 20px; }
          #c_footer .footer_menu_area .c_box ul li a {
            text-decoration: none;
            color: #171c60;
            font-weight: 500; }
          #c_footer .footer_menu_area .c_box ul li ul {
            margin-top: 20px; }
            #c_footer .footer_menu_area .c_box ul li ul li {
              margin-bottom: 16px; }
              #c_footer .footer_menu_area .c_box ul li ul li a {
                padding-left: 20px;
                position: relative; }
                #c_footer .footer_menu_area .c_box ul li ul li a::before {
                  content: "";
                  background: #171c60;
                  flex: none;
                  height: 1px;
                  width: 6px;
                  max-width: 100%;
                  display: block;
                  position: absolute;
                  top: 50%;
                  left: 0; }
  #c_footer .footer_bottom_area {
    width: 100%;
    padding: 8px 0 0; }
    @media screen and (max-width: 1140px) {
      #c_footer .footer_bottom_area .inner {
        width: 100%;
        max-width: 530px;
        margin: 0 auto; } }
    #c_footer .footer_bottom_area a {
      color: #757586ff;
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      display: table;
      margin-bottom: 16px; }
    #c_footer .footer_bottom_area p {
      color: #aeaeb7;
      font-size: 14px;
      font-weight: 400; }

@media screen and (max-width: 1140px) {
  #c_footer .footer_logo_area {
    margin-right: 0;
    width: 100%;
    border-bottom: 1px solid #dbdbe3;
    padding-bottom: 40px;
    margin-bottom: 40px; }
    #c_footer .footer_logo_area a {
      width: 290px;
      margin: 0 auto; }
    #c_footer .footer_logo_area .c_access_area {
      text-align: center; }
  #c_footer .footer_menu_area {
    margin: 0 auto; }
    #c_footer .footer_menu_area .c_box {
      margin-right: 64px; }
      #c_footer .footer_menu_area .c_box:last-child {
        margin-right: 0; }
  #c_footer .footer_bottom_area {
    width: 100%; }
    #c_footer .footer_bottom_area a {
      color: #757586ff;
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      display: table;
      margin-bottom: 16px; }
    #c_footer .footer_bottom_area p {
      color: #aeaeb7;
      font-size: 14px;
      font-weight: 400; } }
.header_fixedBtnSpArea {
  position: absolute;
  top: 0;
  right: 0;
  background: rgba(23, 28, 96, 0.95);
  width: auto;
  height: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 40px;
  z-index: 2; }
  .header_fixedBtnSpArea::before {
    content: "";
    position: absolute;
    top: 0;
    left: -46px;
    width: 46px;
    height: 100%;
    border-top: 80px solid transparent;
    border-right: 46px solid rgba(23, 28, 96, 0.95); }
  .header_fixedBtnSpArea .left_box {
    width: 56px;
    height: 56px;
    border: 1px solid #ffffff;
    border-radius: 4px;
    margin-right: 16px; }
    .header_fixedBtnSpArea .left_box p {
      padding-top: 8px;
      color: #ffffff;
      font-size: 15px;
      font-weight: 700;
      height: auto;
      letter-spacing: 0.1em;
      line-height: 1.3;
      text-align: center;
      width: auto;
      justify-content: center;
      max-width: 100%;
      min-width: auto; }
  .header_fixedBtnSpArea .right_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px; }
    .header_fixedBtnSpArea .right_box .tel_link {
      align-items: center;
      background: #FFFFFF url("images/tel.webp") no-repeat;
      background-position: left 12px center;
      background-size: 24px;
      display: block;
      padding: 10px 14px 10px 44px;
      width: auto;
      height: 56px;
      text-decoration: none;
      font-family: "EB Garamond", serif;
      border: 1px solid #fff; }
      .header_fixedBtnSpArea .right_box .tel_link p {
        color: #171c60;
        font-size: 20px;
        font-weight: 500;
        line-height: 1; }
        .header_fixedBtnSpArea .right_box .tel_link p .fs10 {
          color: #171c60;
          font-weight: 500;
          font-size: 10px;
          font-family: "Shippori Mincho B1", serif; }
      .header_fixedBtnSpArea .right_box .tel_link:hover {
        border: 1px solid #fff;
        background: rgba(23, 28, 96, 0.95) url("images/tel_w.webp") no-repeat;
        background-position: left 12px center;
        background-size: 24px; }
        .header_fixedBtnSpArea .right_box .tel_link:hover p {
          color: #fff; }
          .header_fixedBtnSpArea .right_box .tel_link:hover p .fs10 {
            color: #fff; }
    .header_fixedBtnSpArea .right_box .mail_link {
      background: #0087e3 url("images/mail.webp") no-repeat;
      background-size: 28px;
      background-position: left 24px center;
      border: 1px solid #0087e3;
      display: block;
      text-align: left;
      color: #fff;
      padding: 11px 28px 8px 70px;
      text-decoration: none;
      font-size: 12px;
      line-height: 1.2;
      height: 56px; }
      .header_fixedBtnSpArea .right_box .mail_link .tl_text {
        font-size: 16px; }
      .header_fixedBtnSpArea .right_box .mail_link .sp_text {
        font-size: 16px;
        display: none; }
      .header_fixedBtnSpArea .right_box .mail_link:hover {
        border: 1px solid #fff;
        background: rgba(23, 28, 96, 0.95) url("images/mail.webp") no-repeat;
        background-size: 28px;
        background-position: left 24px center; }

@media screen and (max-width: 1140px) {
  .header_fixedBtnSpArea {
    padding: 10px 72px 10px 40px; } }
@media screen and (max-width: 887px) {
  .header_fixedBtnSpArea .mail_link {
    background: #0087e3 url(images/mail.webp) no-repeat !important;
    background-size: 28px !important;
    background-position: top 7px center !important;
    border: 1px solid #0087e3;
    display: block !important;
    text-align: center !important;
    color: #fff !important;
    padding: 36px 10px 8px !important;
    text-decoration: none !important;
    font-size: 11px !important;
    line-height: 1.2 !important; }
    .header_fixedBtnSpArea .mail_link .tl_text {
      display: none; }
    .header_fixedBtnSpArea .mail_link .sp_text {
      font-size: 11px !important;
      display: inline-block !important; }
    .header_fixedBtnSpArea .mail_link br {
      display: none; } }
@media screen and (max-width: 773px) {
  .header_fixedBtnSpArea {
    display: none; } }
.sp_fixedBtnSpArea {
  position: fixed;
  bottom: 0;
  left: 0;
  background: rgba(23, 28, 96, 0.95);
  width: 100%;
  height: 76px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 12px;
  z-index: 500; }
  .sp_fixedBtnSpArea .left_box {
    width: 56px;
    height: 56px;
    border: 1px solid #ffffff;
    border-radius: 4px; }
    .sp_fixedBtnSpArea .left_box p {
      padding-top: 8px;
      color: #ffffff;
      font-size: 15px;
      font-weight: 700;
      height: auto;
      letter-spacing: 0.1em;
      line-height: 1.3;
      text-align: center;
      width: auto;
      justify-content: center;
      max-width: 100%;
      min-width: auto; }
  .sp_fixedBtnSpArea .right_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px; }
    .sp_fixedBtnSpArea .right_box .tel_link {
      align-items: center;
      background: #FFFFFF url("images/tel.webp") no-repeat;
      background-position: left 12px center;
      background-size: 24px;
      display: block;
      padding: 10px 14px 10px 44px;
      width: auto;
      height: 56px;
      text-decoration: none;
      font-family: "EB Garamond", serif; }
      .sp_fixedBtnSpArea .right_box .tel_link p {
        color: #171c60;
        font-size: 20px;
        font-weight: 500;
        line-height: 1; }
        .sp_fixedBtnSpArea .right_box .tel_link p .fs10 {
          color: #171c60;
          font-weight: 500;
          font-size: 10px;
          font-family: "Shippori Mincho B1", serif; }
      .sp_fixedBtnSpArea .right_box .tel_link:hover {
        border: 1px solid #fff;
        background: rgba(23, 28, 96, 0.95) url("images/tel_w.webp") no-repeat;
        background-position: left 12px center;
        background-size: 24px; }
        .sp_fixedBtnSpArea .right_box .tel_link:hover p {
          color: #fff; }
          .sp_fixedBtnSpArea .right_box .tel_link:hover p .fs10 {
            color: #fff; }
    .sp_fixedBtnSpArea .right_box .mail_link {
      background: #0087e3 url("images/mail.webp") no-repeat;
      background-size: 28px;
      background-position: top 7px center;
      border: 1px solid #0087e3;
      display: block;
      text-align: center;
      color: #fff;
      padding: 36px 10px 8px;
      text-decoration: none;
      font-size: 11px;
      line-height: 1.2; }
      .sp_fixedBtnSpArea .right_box .mail_link:hover {
        border: 1px solid #fff;
        background: rgba(23, 28, 96, 0.95) url("images/mail.webp") no-repeat;
        background-size: 28px;
        background-position: top 7px center; }

@media screen and (min-width: 540px) {
  .sp_fixedBtnSpArea {
    display: none; } }
@media screen and (max-width: 540px) {
  #c_footer {
    margin-bottom: 76px; } }
.pc_fixedBtnSpArea {
  position: fixed;
  bottom: 40px;
  right: 0; }
  .pc_fixedBtnSpArea a {
    background: #171c60 url("images/arrow_w.webp") no-repeat;
    background-position: right 20px center;
    background-size: 28px;
    border: 1px solid #FFFFFF;
    border-right: none;
    padding: 20px 24px 20px 44px;
    position: relative;
    width: 220px;
    height: 64px;
    display: block;
    margin-bottom: 8px;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
    .pc_fixedBtnSpArea a:last-child {
      background: #deeafbff url("images/arrow.webp") no-repeat;
      background-position: right 20px center;
      background-size: 28px;
      border: 1px solid #FFFFFF;
      padding: 12px 24px 20px 34px;
      color: #171c60;
      line-height: 1.2; }
    .pc_fixedBtnSpArea a:hover {
      transform: translate(-10px, 0px) scale(1, 1);
      opacity: 1; }

@media screen and (max-width: 840px) {
  .pc_fixedBtnSpArea {
    bottom: auto;
    right: 0px;
    top: 88px; } }
@media screen and (max-width: 540px) {
  .pc_fixedBtnSpArea {
    display: none; } }
#c_h_menu_Btn {
  position: absolute;
  top: 10px;
  right: 8px;
  z-index: 800;
  width: 56px;
  height: 56px; }
  #c_h_menu_Btn button {
    width: 100%;
    height: 100%;
    border: none;
    background: no-repeat; }
    #c_h_menu_Btn button .c-iconBtn__icon {
      margin: 0 auto;
      display: block;
      font-size: 32px;
      height: 20px;
      line-height: 1;
      position: relative;
      width: 32px;
      border-top: 1px solid #FFFFFF;
      border-bottom: 1px solid #FFFFFF; }
      #c_h_menu_Btn button .c-iconBtn__icon svg {
        display: none; }
      #c_h_menu_Btn button .c-iconBtn__icon::after {
        content: "";
        width: 32px;
        height: 1px;
        background: #fff;
        position: absolute;
        top: 50%;
        left: 0; }

@media screen and (max-width: 773px) {
  #c_h_menu_Btn {
    top: 27px; }
    #c_h_menu_Btn button .c-iconBtn__icon {
      border-top: 1px solid #171c60;
      border-bottom: 1px solid #171c60; }
      #c_h_menu_Btn button .c-iconBtn__icon::after {
        background: #171c60; } }
@media screen and (max-width: 773px) {
  #c_h_menu_Btn {
    top: 20px; } }
@media screen and (min-width: 1140px) {
  #c_h_menu_Btn {
    display: none; } }
#c_h_menu_area {
  display: block;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  z-index: 900;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(23, 28, 96, 0.9);
  transition: all ease 0.3s; }
  #c_h_menu_area #c_clause_btn {
    position: absolute;
    font-size: 34px;
    color: #fff;
    right: 24px;
    top: 24px;
    line-height: 1;
    cursor: pointer; }
  #c_h_menu_area .inner {
    overflow-y: auto;
    padding: 64px 0px;
    height: 100%; }
    #c_h_menu_area .inner nav ul {
      margin: 0;
      padding: 0; }
      #c_h_menu_area .inner nav ul li {
        margin: 0 0 32px;
        padding: 0;
        text-align: center;
        list-style: none; }
        #c_h_menu_area .inner nav ul li a {
          text-align: center;
          color: #fff;
          text-decoration: none;
          font-size: 18px; }
    #c_h_menu_area .inner .info_Area {
      width: 100%;
      max-width: 474px;
      height: 76px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding: 10px 0;
      z-index: 2;
      margin: 0 auto 40px; }
      #c_h_menu_area .inner .info_Area .left_box {
        width: 56px;
        height: 56px;
        border: 1px solid #ffffff;
        border-radius: 4px;
        margin-right: 16px; }
        #c_h_menu_area .inner .info_Area .left_box p {
          padding-top: 8px;
          color: #ffffff;
          font-size: 15px;
          font-weight: 700;
          height: auto;
          letter-spacing: 0.1em;
          line-height: 1.3;
          text-align: center;
          width: auto;
          justify-content: center;
          max-width: 100%;
          min-width: auto; }
      #c_h_menu_area .inner .info_Area .right_box {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 12px; }
        #c_h_menu_area .inner .info_Area .right_box .tel_link {
          align-items: center;
          background: #FFFFFF url("images/tel.webp") no-repeat;
          background-position: left 12px center;
          background-size: 24px;
          display: block;
          padding: 10px 14px 10px 44px;
          width: auto;
          height: 56px;
          text-decoration: none;
          font-family: "EB Garamond", serif;
          border: 1px solid #fff; }
          #c_h_menu_area .inner .info_Area .right_box .tel_link p {
            color: #171c60;
            font-size: 20px;
            font-weight: 500;
            line-height: 1; }
            #c_h_menu_area .inner .info_Area .right_box .tel_link p .fs10 {
              color: #171c60;
              font-weight: 500;
              font-size: 10px;
              font-family: "Shippori Mincho B1", serif; }
          #c_h_menu_area .inner .info_Area .right_box .tel_link:hover {
            border: 1px solid #fff;
            background: rgba(23, 28, 96, 0.95) url("images/tel_w.webp") no-repeat;
            background-position: left 12px center;
            background-size: 24px; }
            #c_h_menu_area .inner .info_Area .right_box .tel_link:hover p {
              color: #fff; }
              #c_h_menu_area .inner .info_Area .right_box .tel_link:hover p .fs10 {
                color: #fff; }
        #c_h_menu_area .inner .info_Area .right_box .mail_link {
          background: #0087e3 url("images/mail.webp") no-repeat;
          background-size: 28px;
          background-position: left 24px center;
          border: 1px solid #0087e3;
          display: block;
          text-align: left;
          color: #fff;
          padding: 11px 28px 8px 70px;
          text-decoration: none;
          font-size: 12px;
          line-height: 1.2; }
          #c_h_menu_area .inner .info_Area .right_box .mail_link .tl_text {
            font-size: 16px; }
          #c_h_menu_area .inner .info_Area .right_box .mail_link .sp_text {
            display: none; }
          #c_h_menu_area .inner .info_Area .right_box .mail_link:hover {
            border: 1px solid #fff;
            background: rgba(23, 28, 96, 0.95) url("images/mail.webp") no-repeat;
            background-size: 28px;
            background-position: left 24px center; }
        @media screen and (max-width: 540px) {
          #c_h_menu_area .inner .info_Area .right_box .mail_link {
            background: #0087e3 url(images/mail.webp) no-repeat;
            background-size: 28px;
            background-position: top 7px center;
            border: 1px solid #0087e3;
            display: block;
            text-align: center;
            color: #fff;
            padding: 35px 10px 6px;
            text-decoration: none;
            font-size: 11px;
            line-height: 1.2; }
            #c_h_menu_area .inner .info_Area .right_box .mail_link span {
              font-size: 11px; }
            #c_h_menu_area .inner .info_Area .right_box .mail_link .tl_text {
              display: none; }
            #c_h_menu_area .inner .info_Area .right_box .mail_link .sp_text {
              font-size: 11px;
              display: inline-block; }
            #c_h_menu_area .inner .info_Area .right_box .mail_link br {
              display: none; } }
    @media screen and (max-width: 540px) {
      #c_h_menu_area .inner .info_Area {
        max-width: 366px; } }
    #c_h_menu_area .inner .link_type2 {
      background: url("images/arrow_w.webp") no-repeat;
      background-position: center right 32px;
      background-size: 28px;
      border: 1px solid #FFFFFF;
      padding: 14px 78px 14px 32px;
      width: auto;
      max-width: 100%;
      min-width: auto;
      margin: 0 auto;
      display: table;
      text-decoration: none;
      color: #fff;
      font-size: 16px; }

#c_h_menu_area.open {
  opacity: 1;
  pointer-events: auto; }

#top_title_area {
  background: #171c60;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: auto;
  min-height: auto;
  justify-content: center;
  padding: 56px 0px;
  width: 100%;
  max-width: 100%; }
  #top_title_area h1 {
    font-size: 28px;
    font-weight: 600 !important;
    line-height: 1.4; }

@media screen and (max-width: 540px) {
  #top_title_area {
    padding: 40px 0px; }
    #top_title_area h1 {
      font-size: 20px; } }
#breadcrumb {
  padding: 16px 80px;
  width: 100%;
  max-width: 1280px; }
  #breadcrumb .p-breadcrumb__list {
    margin: 0;
    padding: 0; }
    #breadcrumb .p-breadcrumb__list .p-breadcrumb__item {
      font-size: 15px !important;
      font-family: 'Zen Kaku Gothic New'; }
      #breadcrumb .p-breadcrumb__list .p-breadcrumb__item a {
        font-size: 15px;
        color: rgba(67, 71, 124, 0.6);
        font-family: 'Zen Kaku Gothic New'; }
        #breadcrumb .p-breadcrumb__list .p-breadcrumb__item a:hover {
          color: #43477c;
          text-decoration: none; }
        #breadcrumb .p-breadcrumb__list .p-breadcrumb__item a svg {
          display: none; }
      #breadcrumb .p-breadcrumb__list .p-breadcrumb__item .p-breadcrumb__text {
        font-size: 15px !important;
        font-family: 'Zen Kaku Gothic New'; }

@media screen and (max-width: 540px) {
  #breadcrumb {
    padding: 16px 20px; }
    #breadcrumb .p-breadcrumb__list .p-breadcrumb__item {
      font-size: 13px !important; }
      #breadcrumb .p-breadcrumb__list .p-breadcrumb__item a {
        font-size: 13px !important; }
      #breadcrumb .p-breadcrumb__list .p-breadcrumb__item .p-breadcrumb__text {
        font-size: 13px !important; } }
/*top*/
.home .l-container {
  max-width: 100%;
  padding: 0;
  margin: 0; }

.c_top_section_1 {
  position: relative; }
  .c_top_section_1::after {
    content: "";
    background: #deeafbff;
    bottom: 0px;
    flex: none;
    height: 400px;
    left: 0px;
    margin: 0;
    position: absolute;
    right: auto;
    top: auto;
    width: 400px;
    z-index: 0;
    max-width: 400px; }
  .c_top_section_1 .img_box {
    height: calc(95% - 100px);
    justify-content: center;
    margin: 0 0 0 auto;
    width: 95%;
    max-width: 95%;
    position: relative;
    z-index: 2;
    height: calc(100vh - 128px);
    overflow: hidden; }
    .c_top_section_1 .img_box img {
      position: absolute;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit: cover;" !important;
      transition: all ease 0.3s; }
  .c_top_section_1 .text_box {
    align-items: flex-start;
    background: #171c60;
    bottom: 40px;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 16px;
    height: auto;
    justify-content: center;
    left: 0px;
    margin: 0;
    opacity: 1;
    padding: 56px 56px 64px 64px;
    position: absolute;
    right: auto;
    top: auto;
    width: auto;
    max-width: 100%;
    min-width: auto;
    display: flex;
    z-index: 2; }
    .c_top_section_1 .text_box .text1 {
      background: rgba(255, 255, 255, 0);
      color: #a8b7d4ff;
      font-family: "Tangerine", cursive;
      font-size: 72px;
      font-weight: 700;
      height: auto;
      letter-spacing: normal;
      line-height: 1;
      margin: 0px 0px 0px -24px;
      overflow-x: visible;
      overflow-y: visible;
      padding: 0px;
      position: relative;
      text-align: left;
      width: auto;
      justify-content: flex-start;
      max-width: calc(100% + 24px);
      min-width: auto; }
    .c_top_section_1 .text_box .text2 {
      background: rgba(255, 255, 255, 0);
      color: #FFFFFF;
      font-family: 'Shippori Mincho B1';
      font-size: 32px;
      font-weight: 500;
      height: auto;
      letter-spacing: 0.04em;
      line-height: 1.8;
      margin: 0;
      overflow-x: visible;
      overflow-y: visible;
      padding: 0px;
      position: relative;
      text-align: left;
      width: auto;
      justify-content: flex-start;
      max-width: 100%;
      min-width: auto; }

@media screen and (max-width: 540px) {
  .c_top_section_1 .img_box {
    height: 0;
    padding-bottom: 520px; }
  .c_top_section_1 .text_box {
    gap: 8px;
    left: 0px;
    padding: 24px 16px 24px 20px; }
    .c_top_section_1 .text_box .text1 {
      font-size: 40px;
      margin: 0px 0px 0px -8px; }
    .c_top_section_1 .text_box .text2 {
      font-size: 18px; } }
.c_top_section_2 {
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 80px 0px;
  width: 100%;
  max-width: 100%;
  position: relative; }
  .c_top_section_2::after {
    content: "";
    background: #deeafbff;
    height: 400px;
    left: 0px;
    margin: 0;
    position: absolute;
    right: auto;
    top: 0px;
    width: 400px; }
  .c_top_section_2 .inner {
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 80px;
    justify-content: space-between;
    padding: 0px 0px 0px 80px;
    width: 1280px;
    z-index: 1;
    max-width: 100%;
    display: flex;
    position: relative;
    z-index: 2;
    margin: 0 auto; }
    .c_top_section_2 .inner .text_box {
      align-content: flex-start;
      align-items: flex-start;
      flex: 1;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 32px;
      justify-content: center;
      padding: 0px;
      width: auto;
      max-width: 100%;
      min-width: auto;
      display: flex; }
      .c_top_section_2 .inner .text_box h2 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        font-family: 'Shippori Mincho B1';
        font-size: 20px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.6;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_2 .inner .text_box .text1 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        font-family: 'Shippori Mincho B1';
        font-size: 32px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.6;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_2 .inner .text_box .text2 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        flex: none;
        font-family: 'Zen Kaku Gothic New';
        font-size: 15px;
        font-weight: 400;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 2;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: 100%;
        justify-content: flex-start;
        max-width: 100%; }
    .c_top_section_2 .inner .img_box {
      flex: none;
      height: 600px;
      margin: 0;
      position: relative;
      width: 480px;
      z-index: 0;
      max-width: 100%; }
      .c_top_section_2 .inner .img_box img {
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover;" !important;
        transition: all ease 0.3s; }

@media screen and (max-width: 1140px) {
  .c_top_section_2 .inner .text_box {
    width: calc(55% - 56px * 0.45);
    max-width: calc(55% - 56px * 0.45); }
  .c_top_section_2 .inner .img_box {
    flex: none;
    width: calc(45% - 56px * 0.55);
    max-width: calc(45% - 56px * 0.55); } }
@media screen and (max-width: 840px) {
  .c_top_section_2 {
    padding-bottom: 0 !important; }
    .c_top_section_2 .inner {
      display: block;
      width: 100%;
      max-width: 100%;
      padding: 0; }
      .c_top_section_2 .inner .text_box {
        padding: 0px 80px;
        flex: none;
        width: 100%;
        max-width: 100%;
        margin-bottom: 56px; }
      .c_top_section_2 .inner .img_box {
        flex: none;
        height: 400px;
        width: 480px;
        max-width: 100%;
        margin-left: auto; } }
@media screen and (max-width: 540px) {
  .c_top_section_2 {
    padding: 50px 0px 80px; }
    .c_top_section_2::after {
      flex: none;
      width: 240px;
      max-width: 240px; }
    .c_top_section_2 .inner {
      display: block;
      width: 100%;
      max-width: 100%;
      padding: 0; }
      .c_top_section_2 .inner .text_box {
        padding: 0px 20px !important; }
        .c_top_section_2 .inner .text_box h2 {
          font-size: 16px; }
        .c_top_section_2 .inner .text_box .text1 {
          font-size: 22px; }
        .c_top_section_2 .inner .text_box .text2 {
          font-size: 14px; }
      .c_top_section_2 .inner .img_box {
        flex: none;
        height: 360px;
        width: calc(80% - 56px * 0.2);
        max-width: calc(80% - 56px * 0.2); } }
.c_top_section_3 {
  align-content: center;
  align-items: center;
  background: #171c60;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 40px;
  height: auto;
  justify-content: center;
  padding: 80px 0px;
  width: 100%;
  max-width: 100%;
  display: flex; }
  .c_top_section_3 h2 {
    background: rgba(255, 255, 255, 0);
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 500;
    height: auto;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin: 0;
    overflow-x: visible;
    overflow-y: visible;
    padding: 0px;
    position: relative;
    text-align: center;
    width: auto;
    justify-content: center;
    max-width: 100%;
    min-width: auto; }
  .c_top_section_3 .column_box {
    align-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 64px;
    justify-content: center;
    padding: 0px;
    display: flex; }
    .c_top_section_3 .column_box .c_box {
      align-content: center;
      align-items: center;
      flex: none;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 24px;
      justify-content: center;
      padding: 0px;
      width: 320px;
      max-width: 100%;
      display: flex; }
      .c_top_section_3 .column_box .c_box .img_box {
        width: 120px;
        margin: 0 auto; }
      .c_top_section_3 .column_box .c_box h3 {
        color: #FFFFFF;
        flex: none;
        font-size: 20px;
        font-weight: 400;
        height: 56px;
        line-height: 1.4;
        text-align: center;
        width: auto;
        justify-content: center;
        max-width: 100%;
        min-width: auto;
        display: flex;
        align-items: center; }
      .c_top_section_3 .column_box .c_box p {
        color: #FFFFFF;
        flex: none;
        font-family: 'Zen Kaku Gothic New';
        font-size: 15px;
        font-weight: 400;
        height: auto;
        letter-spacing: 0.02em;
        line-height: 1.8;
        text-align: left;
        width: 100%;
        justify-content: flex-start;
        max-width: 100%; }

@media screen and (max-width: 1140px) {
  .c_top_section_3 .column_box {
    lign-items: flex-start;
    gap: 40px;
    justify-content: space-between;
    padding: 0px 48px !important; }
    .c_top_section_3 .column_box .c_box {
      flex: none;
      width: calc(33% - (40px * 0.67));
      max-width: calc(33% - (40px * 0.67)); } }
@media screen and (max-width: 840px) {
  .c_top_section_3 .column_box {
    align-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 48px 40px;
    justify-content: space-around; }
    .c_top_section_3 .column_box .c_box {
      flex: none;
      width: calc(50% - (40px * 0.5));
      max-width: calc(50% - (40px * 0.5)); } }
@media screen and (max-width: 540px) {
  .c_top_section_3 h2 {
    font-size: 19px; }
  .c_top_section_3 .column_box {
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 0px 20px !important; }
    .c_top_section_3 .column_box .c_box {
      flex: none;
      gap: 20px;
      width: 100%;
      max-width: 100%; } }
.c_top_section_4 {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 80px 0px;
  width: 100%;
  max-width: 100%;
  position: relative; }
  .c_top_section_4::after {
    content: "";
    background: #deeafbff;
    bottom: auto;
    flex: none;
    height: 400px;
    left: auto;
    margin: 0;
    position: absolute;
    right: 0px;
    top: 0px;
    width: 400px;
    z-index: 0;
    max-width: 400px; }
  .c_top_section_4 .inner {
    position: relative;
    z-index: 2;
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 80px;
    justify-content: space-between;
    padding: 0px 80px 0px 0px;
    width: 1280px;
    z-index: 1;
    max-width: 100%;
    display: flex;
    margin: 0 auto; }
    .c_top_section_4 .inner .img_box {
      flex: none;
      height: 440px;
      margin: 0;
      position: relative;
      width: 560px;
      z-index: 0;
      max-width: 100%; }
      .c_top_section_4 .inner .img_box img {
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover;" !important;
        transition: all ease 0.3s; }
    .c_top_section_4 .inner .text_box {
      align-content: flex-start;
      align-items: flex-start;
      flex: 1;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 48px;
      justify-content: center;
      padding: 0px;
      width: auto;
      max-width: 100%;
      min-width: auto; }
      .c_top_section_4 .inner .text_box .text1 {
        background: rgba(255, 255, 255, 0);
        color: #171c60;
        font-size: 48px;
        font-weight: 500;
        font-family: 'EB Garamond';
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.4;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_4 .inner .text_box .text2 {
        background: rgba(255, 255, 255, 0);
        color: #171c60;
        font-size: 15px;
        font-weight: 600;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.4;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_4 .inner .text_box .text3 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        flex: none;
        font-family: 'Zen Kaku Gothic New';
        font-size: 15px;
        font-weight: 400;
        height: auto;
        letter-spacing: 0.02em;
        line-height: 2;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: 100%;
        justify-content: flex-start;
        max-width: 100%;
        margin-bottom: 48px; }
      .c_top_section_4 .inner .text_box h2 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        font-family: 'Shippori Mincho B1';
        font-size: 26px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.8;
        margin: 32px 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_4 .inner .text_box a {
        align-content: center;
        align-items: center;
        background: #171c60;
        flex: none;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 20px;
        height: 56px;
        justify-content: center;
        padding: 0px;
        width: 200px;
        max-width: 100%;
        display: table;
        color: #FFFFFF;
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 1.4;
        line-height: 56px;
        padding: 0 20px;
        text-decoration: none;
        border: 1px solid #171c60;
        position: relative; }
        .c_top_section_4 .inner .text_box a::after {
          content: "";
          position: absolute;
          width: 56px;
          height: 56px;
          background: url("images/arrow2.webp") no-repeat;
          background-size: 20px;
          background-position: center;
          top: 0;
          right: 12px;
          z-index: 2; }
        .c_top_section_4 .inner .text_box a:hover {
          background: #fff;
          color: #171c60; }
          .c_top_section_4 .inner .text_box a:hover::after {
            background: url("images/arrow2_b.png") no-repeat;
            background-size: 20px;
            background-position: center; }

@media screen and (max-width: 1140px) {
  .c_top_section_4 .inner .img_box {
    width: calc(50% - (56px * 0.5));
    max-width: calc(50% - (56px * 0.5)); }
  .c_top_section_4 .inner .text_box {
    width: calc(50% - (56px * 0.5));
    max-width: calc(50% - (56px * 0.5)); } }
@media screen and (max-width: 840px) {
  .c_top_section_4 {
    padding: 0px 0px 80px; }
    .c_top_section_4::after {
      width: 440px;
      max-width: 440px; }
    .c_top_section_4 .inner {
      align-content: flex-end;
      align-items: flex-end;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 0px;
      justify-content: flex-start;
      padding: 0px; }
      .c_top_section_4 .inner .img_box {
        flex: none;
        height: 240px;
        margin: 0px 0px -120px;
        width: 360px;
        max-width: 100%; }
      .c_top_section_4 .inner .text_box {
        flex: none;
        gap: 40px;
        padding: 0px 80px;
        width: 100%;
        max-width: 100%; } }
@media screen and (max-width: 540px) {
  .c_top_section_4 {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 32px;
    margin: 0px;
    padding: 48px 0px 0px;
    width: 100%;
    max-width: 100%; }
    .c_top_section_4::after {
      width: 240px;
      max-width: 240px; }
    .c_top_section_4 .inner {
      flex: none;
      flex-direction: column-reverse;
      flex-wrap: nowrap;
      gap: 40px;
      padding: 0px;
      width: 100%;
      max-width: 100%; }
      .c_top_section_4 .inner .img_box {
        flex: none;
        height: 220px;
        margin: 0px;
        width: calc(95%);
        max-width: calc(95%); }
      .c_top_section_4 .inner .text_box {
        align-content: center;
        align-items: center;
        gap: 40px;
        justify-content: center;
        padding: 0px 20px; }
        .c_top_section_4 .inner .text_box .text1 {
          font-size: 36px; }
        .c_top_section_4 .inner .text_box .text2 {
          font-size: 14px; }
        .c_top_section_4 .inner .text_box .text3 {
          font-size: 14px;
          min-width: auto; }
        .c_top_section_4 .inner .text_box h2 {
          font-size: 19px;
          line-height: 1.8; }
        .c_top_section_4 .inner .text_box a {
          margin: 0 auto;
          height: 56px;
          width: 232px;
          padding: 0 58px; } }
.c_top_section_5 {
  align-content: center;
  align-items: center;
  background: #deeafbff;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 40px 40px;
  height: auto;
  justify-content: center;
  padding: 80px 0px;
  width: 100%;
  max-width: 100%;
  display: flex; }
  .c_top_section_5 .inner {
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px 40px;
    justify-content: center;
    padding: 0px;
    width: 1280px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap; }
    .c_top_section_5 .inner .c_box {
      align-content: flex-start;
      align-items: flex-start;
      flex: none;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 28px;
      height: 352px;
      justify-content: center;
      width: 480px;
      max-width: 100%; }
      .c_top_section_5 .inner .c_box a {
        background: #FFFFFF;
        display: block;
        padding: 40px;
        width: 100%;
        height: 100%;
        text-decoration: none;
        position: relative; }
        .c_top_section_5 .inner .c_box a .in_txt {
          bottom: 16px;
          color: #deeafbff;
          font-family: 'EB Garamond';
          font-size: 48px;
          font-weight: 500;
          height: auto;
          left: auto;
          letter-spacing: 0.05em;
          line-height: 1;
          margin: 0;
          padding: 1px;
          position: absolute;
          right: 0px;
          text-align: left;
          top: auto;
          width: auto;
          z-index: 0;
          justify-content: flex-end;
          max-width: 100%;
          min-width: auto;
          z-index: 0; }
        .c_top_section_5 .inner .c_box a h3 {
          color: #333;
          font-family: 'Shippori Mincho B1';
          font-size: 22px;
          font-weight: 500;
          height: auto;
          letter-spacing: 0.05em;
          line-height: 1.4;
          text-align: left;
          width: auto;
          justify-content: flex-start;
          max-width: 100%;
          min-width: auto;
          margin: 8px 0 28px;
          z-index: 2;
          position: relative; }
        .c_top_section_5 .inner .c_box a .text1 {
          color: #171c60;
          font-size: 18px;
          font-family: 'EB Garamond';
          font-weight: 500;
          height: auto;
          letter-spacing: 0.1em;
          line-height: 1.4;
          padding: 0px;
          text-align: left;
          width: auto;
          justify-content: flex-start;
          max-width: 100%;
          min-width: auto;
          position: relative;
          padding-left: 17px;
          z-index: 2;
          position: relative; }
          .c_top_section_5 .inner .c_box a .text1::after {
            position: absolute;
            content: "";
            left: 0;
            top: 10px;
            background: #171c60;
            border-radius: 4px;
            flex: none;
            height: 6px;
            width: 6px;
            max-width: 100%; }
        .c_top_section_5 .inner .c_box a .text2 {
          background: rgba(255, 255, 255, 0);
          color: #000000;
          flex: none;
          font-family: 'Zen Kaku Gothic New';
          font-size: 14px;
          font-weight: 400;
          height: auto;
          letter-spacing: 0.02em;
          line-height: 1.8;
          margin: 0;
          overflow-x: visible;
          overflow-y: visible;
          padding: 0px;
          position: relative;
          text-align: left;
          width: 100%;
          justify-content: flex-start;
          max-width: 100%;
          z-index: 2;
          position: relative; }
        .c_top_section_5 .inner .c_box a .t_btn {
          align-content: center;
          align-items: center;
          background: #171c60;
          flex: none;
          flex-direction: row;
          flex-wrap: nowrap;
          gap: 20px;
          height: 52px;
          justify-content: center;
          padding: 0px;
          width: 160px;
          max-width: 100%;
          display: table;
          color: #FFFFFF;
          font-size: 16px;
          font-weight: 500;
          letter-spacing: 0.05em;
          line-height: 1.4;
          line-height: 56px;
          padding: 0 24px;
          text-decoration: none;
          border: 1px solid #171c60;
          position: relative;
          margin-top: 28px;
          z-index: 2;
          position: relative; }
          .c_top_section_5 .inner .c_box a .t_btn:after {
            content: "";
            position: absolute;
            width: 56px;
            height: 56px;
            background: url(images/arrow2.webp) no-repeat;
            background-size: 20px;
            background-position: center;
            top: 0;
            right: 2px;
            z-index: 2; }
        .c_top_section_5 .inner .c_box a:hover {
          background: #171c60;
          color: #fff;
          opacity: 1; }
          .c_top_section_5 .inner .c_box a:hover h3 {
            color: #fff; }
          .c_top_section_5 .inner .c_box a:hover .in_txt {
            color: #43477c; }
          .c_top_section_5 .inner .c_box a:hover .text1 {
            color: #fff; }
            .c_top_section_5 .inner .c_box a:hover .text1::after {
              background: #fff; }
          .c_top_section_5 .inner .c_box a:hover .text2 {
            color: #fff; }
          .c_top_section_5 .inner .c_box a:hover .t_btn {
            background: #fff;
            color: #171c60; }
            .c_top_section_5 .inner .c_box a:hover .t_btn::after {
              background: url(images/arrow2_b.png) no-repeat;
              background-size: 20px;
              background-position: center; }

@media screen and (max-width: 1140px) {
  .c_top_section_5 .inner .c_box {
    width: calc(42% - (40px * 0.58));
    max-width: calc(42% - (40px * 0.58));
    height: 352px; } }
@media screen and (max-width: 840px) {
  .c_top_section_5 .inner {
    min-width: 100%;
    width: 100%;
    gap: 20px 20px;
    align-content: flex-start;
    align-items: flex-start;
    gap: 20px 20px;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap; }
    .c_top_section_5 .inner .c_box {
      height: 376px;
      width: calc(45% - (20px * 0.55));
      max-width: calc(45% - (20px * 0.55));
      padding: 0 0 !important; }
      .c_top_section_5 .inner .c_box a {
        padding: 40px 36px; }
      .c_top_section_5 .inner .c_box .in_txt {
        bottom: auto !important;
        font-size: 44px !important;
        top: 16px !important; } }
@media screen and (max-width: 540px) {
  .c_top_section_5 {
    padding: 48px 16px; }
    .c_top_section_5 .inner {
      gap: 20px 0 !important; }
      .c_top_section_5 .inner .c_box {
        align-content: center;
        align-items: center;
        flex: none;
        gap: 24px;
        height: auto;
        justify-content: center;
        padding: 40px 24px;
        width: 100%;
        max-width: 100%; }
        .c_top_section_5 .inner .c_box a {
          padding: 40px 36px; }
        .c_top_section_5 .inner .c_box .in_txt {
          bottom: auto !important;
          font-size: 44px !important;
          top: 16px !important; }
        .c_top_section_5 .inner .c_box .t_btn {
          margin: 0 auto;
          height: 52px !important;
          width: 180px !important;
          padding: 0 36px; } }
.top_link_list {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 20px;
  justify-content: center;
  margin: 64px auto 0px;
  padding: 0px;
  width: auto;
  max-width: 100%;
  min-width: auto;
  display: flex; }
  .top_link_list a {
    align-content: center;
    align-items: center;
    background: #FFFFFF;
    border-bottom: 1px solid #171c60;
    border-left: 1px solid #171c60;
    border-right: 1px solid #171c60;
    border-top: 1px solid #171c60;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
    height: 100px;
    justify-content: center;
    width: 320px;
    max-width: 100%;
    color: #171c60;
    font-size: 18px;
    font-weight: 500;
    text-align: center; }
    .top_link_list a span {
      padding: 0 30px 0 72px;
      background: url("images/top/icon4.webp") no-repeat;
      background-size: 56px;
      background-position: left center;
      height: 100px;
      display: inline-block;
      line-height: 100px;
      position: relative; }
      .top_link_list a span::after {
        position: absolute;
        top: 0;
        right: 0;
        width: 20px;
        height: 100%;
        content: "";
        background: url("images/arrow2_b.png") no-repeat;
        background-size: 24px;
        background-position: center; }
    .top_link_list a:hover {
      background: #171c60;
      color: #fff;
      opacity: 1; }
      .top_link_list a:hover span::after {
        background: url("images/arrow2.webp") no-repeat;
        background-size: 24px;
        background-position: center; }
    .top_link_list a.icon2 span {
      padding: 0 30px 0 72px;
      background: url("images/top/icon2.webp") no-repeat;
      background-size: 56px;
      background-position: left center; }
    .top_link_list a.icon3 span {
      padding: 0 30px 0 72px;
      background: url("images/top/icon5.webp") no-repeat;
      background-size: 56px;
      background-position: left center; }

@media screen and (max-width: 1140px) {
  .top_link_list {
    flex: none;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 32px 20px;
    width: 88%;
    max-width: 88%; }
    .top_link_list a {
      width: 320px;
      max-width: 100%; } }
@media screen and (max-width: 840px) {
  .top_link_list {
    margin: 48px auto 0px;
    width: 88%;
    max-width: 88%; }
    .top_link_list a {
      width: 320px;
      max-width: 100%; } }
@media screen and (max-width: 540px) {
  .top_link_list {
    flex: none;
    gap: 20px 20px;
    margin: 40px auto 0px;
    width: 85%;
    max-width: 85%; }
    .top_link_list a {
      flex: none;
      gap: 20px !important;
      height: 80px;
      width: 100% !important;
      max-width: 100% !important; }
      .top_link_list a span {
        line-height: 80px;
        height: 80px; } }
.s_info_link {
  align-content: center;
  align-items: center;
  background: linear-gradient(45deg, #171c60, #0b4fa8);
  border-bottom: 1px solid #171c60;
  border-left: 1px solid #171c60;
  border-right: 1px solid #171c60;
  border-top: 1px solid #171c60;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 16px;
  height: auto;
  justify-content: center;
  margin: 40px auto 0px;
  padding: 32px 0px;
  width: 88%;
  max-width: 1000px;
  display: block;
  text-align: center;
  text-decoration: none;
  text-align: center; }
  .s_info_link:hover {
    background: linear-gradient(45deg, #004bac 0%, #0082db 100%);
    opacity: 1;
    transform: translate(0px, 0px) scale(1, 1); }
  .s_info_link .text1 {
    color: #ffffffff;
    font-size: 20px;
    font-weight: 600;
    height: auto;
    letter-spacing: 0.03em;
    line-height: 1.4;
    text-align: center;
    width: auto;
    justify-content: flex-start;
    max-width: 100%;
    min-width: auto;
    margin-bottom: 16px;
    padding-bottom: 16px;
    position: relative; }
    .s_info_link .text1::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 80px;
      height: 1px;
      background: #fff;
      margin-left: -40px; }
  .s_info_link .c_box {
    display: flex;
    align-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 24px;
    justify-content: center;
    padding: 0px 50px 0 0;
    min-width: auto;
    background: url("images/arrow_w.webp") no-repeat;
    background-position: right center;
    background-size: 40px;
    max-width: 616px;
    margin: 0 auto; }
    .s_info_link .c_box .text2 {
      align-content: center;
      align-items: center;
      background: #FFFFFF;
      border-radius: 24px;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 16px;
      justify-content: center;
      padding: 8px 16px;
      min-width: auto;
      color: #171c60;
      display: inline-block;
      font-size: 16px;
      font-weight: 500; }
    .s_info_link .c_box h2 {
      color: #FFFFFF;
      display: inline-block;
      font-size: 28px;
      font-weight: 600;
      height: auto;
      letter-spacing: 0.05em;
      line-height: 1.4;
      text-align: left;
      padding-bottom: 5px; }

@media screen and (max-width: 840px) {
  .s_info_link .c_box {
    max-width: 560px; }
    .s_info_link .c_box .text2 {
      font-size: 16px; }
    .s_info_link .c_box h2 {
      font-size: 24px; } }
@media screen and (max-width: 540px) {
  .s_info_link {
    margin: 32px auto 0px;
    padding: 24px 0px;
    width: 92%; }
    .s_info_link .text1 {
      font-size: 16px; }
    .s_info_link .c_box {
      display: block;
      padding: 0px 0 0 0;
      background: none; }
      .s_info_link .c_box .text2 {
        margin-bottom: 16px !important; }
      .s_info_link .c_box h2 {
        font-size: 19px;
        background: url("images/arrow_w.webp") no-repeat;
        background-position: right center;
        background-size: 40px;
        padding-right: 46px;
        min-height: 40px;
        padding-top: 5px; } }
.top_img_list {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 6px;
  height: 200px;
  justify-content: center;
  margin: 64px 0px 0px;
  padding: 0px;
  width: 100%;
  max-width: 100%;
  display: flex; }
  .top_img_list .c_box {
    position: relative;
    width: 100%;
    height: 100%; }
    .top_img_list .c_box img {
      position: absolute;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit: cover;" !important;
      transition: all ease 0.3s; }

@media screen and (max-width: 840px) {
  .top_img_list {
    height: 160px; }
    .top_img_list .c_box:last-child {
      display: none; } }
@media screen and (max-width: 540px) {
  .top_img_list {
    flex: none;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2px;
    height: 240px;
    margin: 40px 0px 0px;
    width: 100%;
    max-width: 100%; }
    .top_img_list .c_box {
      flex: none;
      height: calc(50% - (2px * 0.5));
      width: calc(50% - (2px * 0.5));
      max-width: calc(50% - (2px * 0.5)); }
      .top_img_list .c_box:last-child {
        display: block; } }
.c_top_section_6 {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 48px;
  justify-content: center;
  margin: 24px 0px 0px;
  padding: 80px 0px;
  width: 100%;
  max-width: 100%;
  display: flex;
  position: relative; }
  .c_top_section_6::after {
    content: "";
    background: #deeafbff;
    bottom: auto;
    flex: none;
    height: 400px;
    left: 0px;
    margin: 0;
    position: absolute;
    right: auto;
    top: 40px;
    width: 400px;
    z-index: 0;
    max-width: 400px; }
  .c_top_section_6 .inner {
    align-content: flex-end;
    align-items: flex-end;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 80px;
    justify-content: space-between;
    padding: 0px 0px 0px 80px;
    width: 1280px;
    z-index: 1;
    max-width: 100%;
    display: flex; }
    .c_top_section_6 .inner .text_box {
      align-content: flex-start;
      align-items: flex-start;
      flex: 1;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 32px;
      justify-content: center;
      padding: 0px;
      width: auto;
      max-width: 100%;
      min-width: auto; }
      .c_top_section_6 .inner .text_box h2 {
        background: rgba(255, 255, 255, 0);
        color: #171c60;
        font-size: 15px;
        font-weight: 600;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.4;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_6 .inner .text_box .text1 {
        background: rgba(255, 255, 255, 0);
        color: #171c60;
        font-family: 'EB Garamond';
        font-size: 48px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.4;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_6 .inner .text_box .text2 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        font-size: 20px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.6;
        margin: 32px 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_6 .inner .text_box .text3 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        font-size: 26px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.6;
        margin: 32px 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_6 .inner .text_box .text4 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        flex: none;
        font-family: 'Zen Kaku Gothic New';
        font-size: 15px;
        font-weight: 400;
        height: auto;
        letter-spacing: 0.02em;
        line-height: 2;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: 100%;
        justify-content: flex-start;
        max-width: 100%; }
    .c_top_section_6 .inner .img_box {
      flex: none;
      height: 486px;
      margin: 0px;
      position: relative;
      width: 440px;
      z-index: 0;
      max-width: 100%; }
      .c_top_section_6 .inner .img_box img {
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover;" !important;
        transition: all ease 0.3s; }
  .c_top_section_6 .p_text {
    align-content: flex-start;
    align-items: flex-start;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 48px;
    justify-content: center;
    padding: 0px 80px;
    width: 1280px;
    max-width: 100%; }
    .c_top_section_6 .p_text .p_inner {
      align-content: flex-start;
      align-items: flex-start;
      background: #f4f4f6;
      flex: none;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 20px;
      justify-content: center;
      margin: 0px;
      padding: 48px;
      width: 100%;
      max-width: 100%;
      display: flex; }
      .c_top_section_6 .p_text .p_inner .text1 {
        color: #333;
        font-family: 'Shippori Mincho B1';
        font-size: 18px;
        font-weight: 500;
        height: auto;
        line-height: 1.4;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_6 .p_text .p_inner .text2 {
        color: #333;
        flex: none;
        font-family: 'Zen Kaku Gothic New';
        font-size: 14px;
        font-weight: 400;
        height: auto;
        line-height: 1.8;
        text-align: left;
        width: 100%;
        justify-content: flex-start;
        max-width: 100%; }

@media screen and (max-width: 1140px) {
  .c_top_section_6 .inner {
    flex: none;
    gap: 56px;
    width: 100%;
    max-width: 100%; }
    .c_top_section_6 .inner .text_box {
      flex: none;
      width: calc(60% - (56px * 0.4));
      max-width: calc(60% - (56px * 0.4)); }
    .c_top_section_6 .inner .img_box {
      flex: none;
      width: calc(40% - (56px * 0.6));
      max-width: calc(40% - (56px * 0.6));
      height: 486px;
      margin: 0px; } }
@media screen and (max-width: 840px) {
  .c_top_section_6 {
    gap: 0px;
    margin: 48px 0px 0px;
    padding: 0px 0px 80px;
    width: 100%;
    max-width: 100%; }
    .c_top_section_6 .inner {
      align-content: flex-end;
      align-items: flex-end;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 64px;
      justify-content: flex-start;
      padding: 0px;
      min-width: auto; }
      .c_top_section_6 .inner .text_box {
        flex: none;
        padding: 0px 80px;
        width: 100%;
        max-width: 100%; }
      .c_top_section_6 .inner .img_box {
        width: 340px;
        max-width: 100%; }
    .c_top_section_6 .p_text {
      flex: none;
      margin: -424px 0px 0px;
      padding: 0px 40px;
      width: 100%;
      z-index: 0;
      max-width: 100%; }
      .c_top_section_6 .p_text .p_inner {
        flex: none;
        padding: 48px 80px 48px 48px;
        width: 480px;
        max-width: calc(100% - 242px); } }
@media screen and (max-width: 540px) {
  .c_top_section_6 {
    flex-direction: column;
    flex-wrap: nowrap;
    margin: 40px 0px 0px;
    padding: 0px 0px 48px;
    width: 100%;
    max-width: 100%;
    gap: 0px;
    margin: 48px 0px 0px;
    padding: 0px 0px 80px;
    width: 100%;
    max-width: 100%; }
    .c_top_section_6::after {
      flex: none;
      width: 240px;
      max-width: 240px; }
    .c_top_section_6 .inner {
      flex: none;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 32px;
      padding: 0px;
      width: 100%;
      max-width: 100%; }
      .c_top_section_6 .inner .text_box {
        gap: 24px;
        padding: 0px 20px;
        min-width: auto; }
        .c_top_section_6 .inner .text_box h2 {
          font-size: 14px; }
        .c_top_section_6 .inner .text_box .text1 {
          font-size: 36px; }
        .c_top_section_6 .inner .text_box .text2 {
          font-size: 16px;
          line-height: 1.6; }
        .c_top_section_6 .inner .text_box .text3 {
          font-size: 19px;
          line-height: 1.6; }
        .c_top_section_6 .inner .text_box .text4 {
          font-size: 14px; }
      .c_top_section_6 .inner .img_box {
        flex: none;
        height: 380px;
        margin: 0px;
        width: 90%;
        max-width: 90%;
        overflow: hidden; }
        .c_top_section_6 .inner .img_box img {
          object-fit: !important;
          font-family: none !important;
          position: absolute;
          width: 100%;
          height: auto;
          -o-object-fit: fill;
          object-fit: fill;
          font-family: "object-fit: fill;" !important;
          top: 0; }
    .c_top_section_6 .p_text {
      flex-direction: column;
      margin: 0px;
      padding: 0px 16px;
      width: 100%;
      max-width: 100%; }
      .c_top_section_6 .p_text .p_inner {
        flex: none;
        flex-direction: column;
        gap: 16px;
        padding: 32px 24px;
        width: 100%;
        max-width: 100%; } }
.c_top_section_7 .title_box {
  align-content: center;
  align-items: center;
  background: #171c60;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: auto;
  justify-content: center;
  padding: 48px 0px;
  width: 100%;
  max-width: 100%; }
  .c_top_section_7 .title_box p {
    background: rgba(255, 255, 255, 0);
    color: #FFFFFF;
    font-family: 'EB Garamond';
    font-size: 48px;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin: 0;
    overflow-x: visible;
    overflow-y: visible;
    padding: 0px;
    position: relative;
    text-align: center;
    width: auto;
    justify-content: center;
    max-width: 100%;
    min-width: auto; }
  .c_top_section_7 .title_box h2 {
    background: rgba(255, 255, 255, 0);
    color: #FFFFFF;
    font-family: 'Shippori Mincho B1';
    font-size: 15px;
    font-weight: 600;
    height: auto;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin: 0;
    overflow-x: visible;
    overflow-y: visible;
    padding: 0px;
    position: relative;
    text-align: center;
    width: auto;
    justify-content: center;
    max-width: 100%;
    min-width: auto; }
.c_top_section_7 .c_box {
  gap: 64px;
  justify-content: center;
  padding: 64px 80px 64px 0px;
  width: 1280px;
  max-width: 100%;
  display: flex;
  align-items: center;
  margin: 0 auto; }
  .c_top_section_7 .c_box .img_box {
    flex: none;
    height: 320px;
    width: 320px;
    max-width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-items: center; }
    .c_top_section_7 .c_box .img_box img {
      position: absolute;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit: cover;" !important;
      transition: all ease 0.3s; }
  .c_top_section_7 .c_box .text_box {
    align-content: flex-start;
    align-items: flex-start;
    flex: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 32px;
    justify-content: center;
    padding: 0px;
    width: auto;
    max-width: 100%;
    min-width: auto;
    display: flex; }
    .c_top_section_7 .c_box .text_box .text_i_box {
      align-content: flex-start;
      align-items: flex-start;
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 16px;
      justify-content: center;
      padding: 0px;
      min-width: auto;
      display: flex; }
      .c_top_section_7 .c_box .text_box .text_i_box .text1 {
        background: rgba(255, 255, 255, 0);
        color: #171c60 !important;
        font-family: 'EB Garamond';
        font-size: 24px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.4;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: center;
        width: auto;
        justify-content: center;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_7 .c_box .text_box .text_i_box h3 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        font-family: 'Shippori Mincho B1';
        font-size: 28px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.4;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: center;
        max-width: 100%;
        min-width: auto; }
      .c_top_section_7 .c_box .text_box .text_i_box .text1 {
        background: rgba(255, 255, 255, 0);
        color: #000000;
        font-family: 'Shippori Mincho B1';
        font-size: 20px;
        font-weight: 500;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.8;
        margin: 0;
        overflow-x: visible;
        overflow-y: visible;
        padding: 0px;
        position: relative;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
    .c_top_section_7 .c_box .text_box .text_g_box {
      align-content: flex-start;
      align-items: flex-start;
      flex: none;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 20px;
      min-height: 294px;
      justify-content: center;
      padding: 0px;
      min-width: auto;
      display: flex; }
      .c_top_section_7 .c_box .text_box .text_g_box .cc_box {
        align-content: center;
        align-items: center;
        background: #deeafbff;
        flex: none;
        flex-direction: column;
        flex-wrap: nowrap;
        height: 100%;
        justify-content: flex-start;
        padding: 32px;
        width: calc(50% - (20px * 0.5));
        max-width: calc(50% - (20px * 0.5));
        display: flex; }
        .c_top_section_7 .c_box .text_box .text_g_box .cc_box .text1 {
          background: rgba(255, 255, 255, 0);
          color: #171c60;
          font-family: 'Shippori Mincho B1';
          font-size: 16px;
          font-weight: 500;
          height: auto;
          letter-spacing: 0.05em;
          line-height: 1.4;
          margin: 0;
          overflow-x: visible;
          overflow-y: visible;
          padding: 0px;
          position: relative;
          text-align: center;
          width: auto;
          justify-content: center;
          max-width: 100%;
          min-width: auto;
          align-content: center;
          align-items: center;
          flex: none;
          flex-direction: column;
          flex-wrap: nowrap;
          gap: 8px;
          justify-content: center;
          padding: 0px;
          width: 100%;
          max-width: 100%;
          padding: 8px 0;
          border-top: 1px solid rgba(23, 28, 96, 0.6);
          border-bottom: 1px solid rgba(23, 28, 96, 0.6);
          text-align: center;
          margin-bottom: 18px; }
        .c_top_section_7 .c_box .text_box .text_g_box .cc_box .text2 {
          background: rgba(255, 255, 255, 0);
          color: #000000;
          flex: 1;
          font-size: 16px;
          font-weight: 500;
          height: auto;
          letter-spacing: 0.05em;
          line-height: 1.4;
          margin: 0 0 18px;
          overflow-x: visible;
          overflow-y: visible;
          padding: 0px 0 0 30px;
          position: relative;
          text-align: left;
          width: 100%;
          justify-content: flex-start;
          max-width: 100%;
          min-width: auto;
          background: url("images/top/check.png") no-repeat;
          background-size: 24px;
          background-position: top left; }
        .c_top_section_7 .c_box .text_box .text_g_box .cc_box .text3 {
          background: rgba(255, 255, 255, 0);
          color: #000000;
          font-family: 'Zen Kaku Gothic New';
          font-size: 14px;
          font-weight: 400;
          height: auto;
          letter-spacing: 0.05em;
          line-height: 1.8;
          margin: 0;
          overflow-x: visible;
          overflow-y: visible;
          padding: 0px;
          position: relative;
          text-align: left;
          width: auto;
          justify-content: flex-start;
          max-width: 100%;
          min-width: auto; }
  .c_top_section_7 .c_box.type2 {
    background: #deeafbff; }
    .c_top_section_7 .c_box.type2 .text_box .text_g_box .cc_box {
      background: #fff; }

@media screen and (max-width: 1140px) {
  .c_top_section_7 .c_box {
    flex: none;
    gap: 64px;
    padding: 64px 0px;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    position: relative; }

  .c_top_section_7 .c_box .img_box {
    flex: none;
    left: 0;
    margin: 0;
    position: absolute;
    top: 64px;
    width: 320px;
    max-width: 320px;
    height: 320px; }

  .c_top_section_7 .c_box .text_box {
    flex: none;
    gap: 40px;
    margin: 40px 0px 0px;
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 3; }
    .c_top_section_7 .c_box .text_box .text_i_box {
      margin: 0px 0px 0px 368px;
      max-width: calc(100% - 368px); }
    .c_top_section_7 .c_box .text_box .text_g_box {
      align-content: flex-start;
      align-items: flex-start;
      flex: none;
      flex-direction: row;
      flex-wrap: nowrap;
      height: 264px;
      justify-content: center;
      min-width: auto; }
      .c_top_section_7 .c_box .text_box .text_g_box .cc_box {
        flex: none;
        height: 100%;
        width: calc(45% - (20px * 0.55));
        max-width: calc(45% - (20px * 0.55)); } }
@media screen and (max-width: 540px) {
  .c_top_section_7 .title_box p {
    font-size: 36px;
    min-width: auto; }

  .c_top_section_7 .c_box {
    align-content: flex-end;
    align-items: flex-end;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 40px;
    justify-content: center;
    padding: 40px 16px 40px 20px;
    min-width: auto; }

  .c_top_section_7 .c_box .img_box {
    bottom: auto;
    flex: none;
    height: 208px;
    left: 0px;
    margin: 0;
    position: absolute;
    right: auto;
    top: 32px;
    width: 128px;
    max-width: 128px; }

  .c_top_section_7 .c_box .text_box {
    gap: 28px;
    margin: 0px;
    width: 100%;
    max-width: 100%; }
    .c_top_section_7 .c_box .text_box .text_i_box {
      background: rgba(255, 255, 255, 0);
      flex: none !important;
      gap: 12px;
      margin: 0px 0px 0px 136px;
      padding: 0px 8px 0px 0px;
      width: calc(100% - 136px);
      max-width: calc(100% - 136px); }
      .c_top_section_7 .c_box .text_box .text_i_box h3 {
        font-size: 16px !important; }
    .c_top_section_7 .c_box .text_box .text_g_box {
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 16px;
      min-width: auto;
      height: auto; }
      .c_top_section_7 .c_box .text_box .text_g_box .cc_box {
        flex: none;
        padding: 28px 24px;
        width: 100%;
        max-width: 100%; } }
.c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 {
  align-items: flex-start;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 40px;
  height: auto;
  justify-content: center;
  padding: 0px;
  min-width: auto; }

.c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 .cc_box {
  width: 100%;
  max-width: 456px; }

.c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 .cc_box.img_type {
  background: none;
  width: 320px;
  max-width: 100%;
  padding: 0;
  margin: -120px 0px 0px; }

@media screen and (max-width: 1140px) {
  .c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 {
    margin: 0 32px;
    width: 100%; }

  .c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 .cc_box.img_type {
    width: 280px;
    max-width: 100%;
    margin: 0px; } }
@media screen and (max-width: 840px) {
  .c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 .cc_box {
    max-width: calc(45% - (20px * 0.55)) !important; } }
@media screen and (max-width: 540px) {
  .c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 {
    display: block;
    margin-left: 0; }

  .c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 .cc_box {
    max-width: 100% !important; }

  .c_top_section_7 .c_box.type2 .text_box .text_g_box.type3 .cc_box.img_type {
    background: none;
    width: 264px;
    max-width: 100%;
    padding: 0;
    margin: 20px auto 0px; } }
.link_banner_1 {
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
  justify-content: space-between;
  margin: 64px auto 0px;
  padding: 80px;
  width: 90%;
  max-width: 1200px;
  display: block;
  text-decoration: none;
  color: #fff;
  display: flex;
  position: relative; }
  .link_banner_1::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("images/top/link_banner_1.webp") no-repeat;
    background-position: center;
    background-size: cover;
    text-decoration: none;
    filter: brightness(0.8); }
  .link_banner_1 .inner {
    position: relative;
    z-index: 2; }
  .link_banner_1 h2 {
    background: rgba(255, 255, 255, 0);
    color: #FFFFFF;
    font-family: 'Shippori Mincho B1';
    font-size: 16px;
    font-weight: 600;
    height: auto;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin: 0;
    overflow-x: visible;
    overflow-y: visible;
    padding: 0px;
    position: relative;
    text-align: left;
    width: auto;
    justify-content: flex-start;
    max-width: 100%;
    min-width: auto; }
  .link_banner_1 .text1 {
    background: rgba(255, 255, 255, 0);
    color: #FFFFFF;
    font-family: 'EB Garamond';
    font-size: 44px;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin: 0;
    overflow-x: visible;
    overflow-y: visible;
    padding: 0px;
    position: relative;
    text-align: left;
    width: auto;
    justify-content: flex-start;
    max-width: 100%;
    min-width: auto;
    margin-bottom: 8px; }
  .link_banner_1 .text2 {
    align-content: center;
    align-items: center;
    background: rgba(23, 28, 96, 0.28);
    border-bottom: 1px solid #FFFFFF;
    border-left: 1px solid #FFFFFF;
    border-right: 1px solid #FFFFFF;
    border-top: 1px solid #FFFFFF;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
    height: 52px;
    justify-content: center;
    padding: 0px 20px;
    width: 160px;
    max-width: 100%;
    position: relative;
    margin-top: 20px;
    z-index: 2; }
    .link_banner_1 .text2::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 52px;
      height: 52px;
      background: url("images/arrow2.webp") no-repeat;
      background-position: center;
      background-size: 16px; }
  .link_banner_1:hover {
    opacity: 1; }

@media screen and (max-width: 540px) {
  .link_banner_1 {
    margin: 48px 16px 0px;
    padding: 48px 32px;
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    display: block; }
    .link_banner_1 .inner {
      align-items: center !important;
      flex: none;
      gap: 4px;
      justify-content: center;
      width: 100%;
      max-width: 100%; }
    .link_banner_1 h2 {
      font-size: 14px;
      min-width: auto;
      text-align: center; }
    .link_banner_1 .text1 {
      font-size: 30px;
      text-align: center;
      justify-content: center;
      min-width: auto; }
    .link_banner_1 .text2 {
      margin: 32px auto 0; } }
.link_banner_2 {
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
  justify-content: space-between;
  margin: 64px auto 0px;
  padding: 80px;
  width: 90%;
  max-width: 1200px;
  display: block;
  background: url("images/top/link_banner_2.webp") no-repeat;
  background-position: center;
  background-size: cover;
  text-decoration: none;
  color: #fff;
  display: flex;
  align-items: flex-end; }
  .link_banner_2 h2 {
    background: rgba(255, 255, 255, 0);
    color: #FFFFFF;
    font-family: 'Shippori Mincho B1';
    font-size: 16px;
    font-weight: 600;
    height: auto;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin: 0;
    overflow-x: visible;
    overflow-y: visible;
    padding: 0px;
    position: relative;
    text-align: left;
    width: auto;
    justify-content: flex-start;
    max-width: 100%;
    min-width: auto; }
  .link_banner_2 .text1 {
    background: rgba(255, 255, 255, 0);
    color: #FFFFFF;
    font-family: 'EB Garamond';
    font-size: 44px;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin: 0;
    overflow-x: visible;
    overflow-y: visible;
    padding: 0px;
    position: relative;
    text-align: left;
    width: auto;
    justify-content: flex-start;
    max-width: 100%;
    min-width: auto;
    margin-bottom: 8px; }
  .link_banner_2 .text2 {
    font-size: 22px;
    margin: 24px 0; }
  .link_banner_2 .text3 {
    font-size: 15px;
    font-weight: 400;
    font-family: 'Zen Kaku Gothic New'; }
  .link_banner_2 .text4 {
    align-content: center;
    align-items: center;
    background: rgba(23, 28, 96, 0.28);
    border-bottom: 1px solid #FFFFFF;
    border-left: 1px solid #FFFFFF;
    border-right: 1px solid #FFFFFF;
    border-top: 1px solid #FFFFFF;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
    height: 52px;
    justify-content: center;
    padding: 0px 20px;
    width: 160px;
    max-width: 100%;
    position: relative;
    margin-top: 20px; }
    .link_banner_2 .text4::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 52px;
      height: 52px;
      background: url("images/arrow2.webp") no-repeat;
      background-position: center;
      background-size: 16px; }
  .link_banner_2:hover {
    opacity: 1; }

@media screen and (max-width: 840px) {
  .link_banner_2 {
    display: block; }
    .link_banner_2 .inner {
      align-items: center !important;
      flex: none;
      gap: 4px;
      justify-content: center;
      width: 100%;
      max-width: 100%; }
    .link_banner_2 .text4 {
      margin: 32px auto 0; } }
@media screen and (max-width: 540px) {
  .link_banner_2 {
    margin: 48px 16px 0px;
    padding: 48px 32px;
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    display: block; }
    .link_banner_2 .inner {
      align-items: center !important;
      flex: none;
      gap: 4px;
      justify-content: center;
      width: 100%;
      max-width: 100%; }
    .link_banner_2 h2 {
      font-size: 14px;
      min-width: auto;
      text-align: center; }
    .link_banner_2 .text1 {
      font-size: 30px;
      text-align: center;
      justify-content: center;
      min-width: auto; }
    .link_banner_2 .text2 {
      font-size: 18px;
      text-align: center; }
    .link_banner_2 .text3 {
      font-size: 15px;
      font-weight: 400;
      font-family: 'Zen Kaku Gothic New'; }
    .link_banner_2 .text4 {
      margin: 32px auto 0; } }
.c_contact_box {
  align-content: center;
  align-items: center;
  background: #171c60;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 40px;
  height: auto;
  justify-content: center;
  margin: 64px 0px 0px;
  padding: 64px 0px;
  width: 100%;
  max-width: 100%; }
  .c_contact_box .c_contact_inner {
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 0px 80px;
    width: 1280px;
    max-width: 100%;
    display: flex;
    margin: 0 auto; }
    .c_contact_box .c_contact_inner .text_box .text1 {
      background: rgba(255, 255, 255, 0);
      color: #FFFFFF;
      font-family: 'EB Garamond';
      font-size: 48px;
      font-weight: 400;
      height: auto;
      letter-spacing: 0.05em;
      line-height: 1.4;
      margin: 0;
      overflow-x: visible;
      overflow-y: visible;
      padding: 0px;
      position: relative;
      text-align: left;
      width: auto;
      justify-content: flex-start;
      max-width: 100%;
      min-width: auto; }
    .c_contact_box .c_contact_inner .text_box .text2 {
      background: rgba(255, 255, 255, 0);
      color: #FFFFFF;
      font-family: 'Shippori Mincho B1';
      font-size: 16px;
      font-weight: 600;
      height: auto;
      letter-spacing: 0.05em;
      line-height: 1.4;
      margin: 0;
      overflow-x: visible;
      overflow-y: visible;
      padding: 0px;
      position: relative;
      text-align: left;
      width: auto;
      justify-content: flex-start;
      max-width: 100%;
      min-width: auto; }
    .c_contact_box .c_contact_inner .link_box {
      align-content: center;
      align-items: center;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 20px;
      justify-content: center;
      padding: 0px;
      min-width: auto;
      display: flex; }
      .c_contact_box .c_contact_inner .link_box a {
        text-decoration: none; }
      .c_contact_box .c_contact_inner .link_box .link1 {
        align-content: center;
        align-items: center;
        background: #FFFFFF url("images/tel.webp") no-repeat;
        background-position: center left 25px;
        background-size: 32px;
        flex: none;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 20px;
        height: 96px;
        justify-content: center;
        padding: 9px 14px 8px 81px;
        width: 304px;
        max-width: 100%;
        border: 1px solid #fff; }
        .c_contact_box .c_contact_inner .link_box .link1 .text1 {
          color: #171c60;
          font-size: 15px;
          font-weight: 600;
          height: auto;
          letter-spacing: 0.05em;
          line-height: 1; }
        .c_contact_box .c_contact_inner .link_box .link1 .text2 {
          color: #171c60;
          font-family: 'EB Garamond';
          font-size: 30px;
          font-weight: 500;
          height: auto;
          letter-spacing: 0.05em;
          line-height: 1;
          margin: 6px 0; }
        .c_contact_box .c_contact_inner .link_box .link1 .text3 {
          color: #171c60;
          font-size: 12px;
          font-weight: 500;
          letter-spacing: 0.05em; }
        .c_contact_box .c_contact_inner .link_box .link1:hover {
          background: #171c60 url("images/tel_w.webp") no-repeat;
          background-position: center left 25px;
          background-size: 32px;
          border: 1px solid #fff; }
          .c_contact_box .c_contact_inner .link_box .link1:hover .text1 {
            color: #fff; }
          .c_contact_box .c_contact_inner .link_box .link1:hover .text2 {
            color: #fff; }
          .c_contact_box .c_contact_inner .link_box .link1:hover .text3 {
            color: #fff; }
      .c_contact_box .c_contact_inner .link_box .link2 {
        align-content: center;
        align-items: center;
        background: #0087e3 url("images/mail.webp") no-repeat;
        background-position: center left 25px;
        background-size: 32px;
        border: 1px solid #0087e3;
        flex: none;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 20px;
        height: 96px;
        justify-content: center;
        padding: 9px 14px 8px 81px;
        width: 304px;
        max-width: 100%; }
        .c_contact_box .c_contact_inner .link_box .link2 .text1 {
          color: #ffffff;
          font-size: 17px;
          font-weight: 600;
          height: auto;
          letter-spacing: 0.05em;
          line-height: 1.5; }
        .c_contact_box .c_contact_inner .link_box .link2 .text2 {
          color: #deeafbff;
          font-family: 'EB Garamond';
          font-size: 16px;
          font-weight: 500;
          height: auto;
          letter-spacing: 0.05em;
          line-height: 1.5;
          text-align: left;
          width: auto;
          justify-content: flex-start;
          max-width: 100%;
          min-width: auto; }
        .c_contact_box .c_contact_inner .link_box .link2:hover {
          background: #171c60 url("images/mail.webp") no-repeat;
          background-position: center left 25px;
          background-size: 32px;
          border: 1px solid #fff; }
          .c_contact_box .c_contact_inner .link_box .link2:hover .text1 {
            color: #fff; }
          .c_contact_box .c_contact_inner .link_box .link2:hover .text2 {
            color: #fff; }
          .c_contact_box .c_contact_inner .link_box .link2:hover .text3 {
            color: #fff; }

@media screen and (max-width: 1140px) {
  .c_contact_box .c_contact_inner {
    width: 90%;
    max-width: 90%; } }
@media screen and (max-width: 840px) {
  .c_contact_box .c_contact_inner {
    display: block; }
    .c_contact_box .c_contact_inner .text_box {
      margin-bottom: 40px; }
      .c_contact_box .c_contact_inner .text_box .text1 {
        text-align: center; }
      .c_contact_box .c_contact_inner .text_box .text2 {
        text-align: center; } }
@media screen and (max-width: 540px) {
  .c_contact_box .c_contact_inner {
    display: block; }
    .c_contact_box .c_contact_inner .text_box {
      margin-bottom: 40px; }
      .c_contact_box .c_contact_inner .text_box .text1 {
        font-size: 36px; }
      .c_contact_box .c_contact_inner .text_box .text2 {
        font-size: 14px; }
    .c_contact_box .c_contact_inner .link_box {
      display: grid; } }
.c_gmp {
  align-content: center;
  align-items: center;
  background: #171c60;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 40px;
  height: auto;
  justify-content: center;
  margin: 0 0px 0px;
  padding: 0 0px 64px;
  width: 100%;
  max-width: 100%; }
  .c_gmp .c_inner {
    flex: none;
    height: 320px;
    width: 1120px;
    max-width: 100%;
    position: relative;
    margin: 0 auto; }
    .c_gmp .c_inner iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit: cover;" !important;
      transition: all ease 0.3s; }

@media screen and (max-width: 1140px) {
  .c_gmp .c_inner {
    flex: none;
    width: 90%;
    max-width: 90%; } }
.pc {
  display: block; }

.sp {
  display: none; }

@media screen and (max-width: 540px) {
  .pc {
    display: none; }

  .sp {
    display: block; } }
.btn_type3 {
  align-content: center;
  align-items: center;
  background: #FFFFFF;
  border: 1px solid #171c60 !important;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 16px;
  height: 100px;
  justify-content: center;
  margin: 80px 0px 0px !important;
  width: 480px;
  max-width: 100%;
  display: block;
  padding: 0 15px !important;
  text-align: center; }
  .btn_type3 h2 {
    text-align: center;
    padding-right: 50px;
    font-size: 20px;
    font-weight: 500;
    color: #171c60;
    background: url("images/arrow.webp") no-repeat;
    background-size: 32px;
    background-position: center right 5px;
    font-family: 'Shippori Mincho B1';
    line-height: 32px;
    display: inline-block;
    transition: all ease 0.3s; }
  .btn_type3:hover {
    background: linear-gradient(45deg, #171c60, #0b4fa8);
    color: #fff !important; }
    .btn_type3:hover h2 {
      background: url("images/arrow_w.webp") no-repeat;
      background-size: 32px;
      background-position: center right 0;
      padding-right: 50px;
      color: #fff !important; }

@media screen and (max-width: 540px) {
  .btn_type3 {
    max-width: 90%;
    height: 80px;
    margin-top: 40px !important; }
    .btn_type3 h2 {
      font-size: 16px; } }
.inheritance_area {
  background: #fff;
  border-radius: 0;
  height: 100%;
  margin: 0;
  opacity: 1;
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  overflow: clip;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* --- Common Base Styles --- */
  /* Restore text decoration for semantic HTML elements */
  /* --- Rich Text --- */
  /* --- Section --- */
  /* section-inner のスタイル
   * position: static は studio-preview との表示互換性のために維持している。
   * 元々は考慮漏れで設定されたものだが、既に使用されているため互換性維持のために必要。
   * .box クラスも同時に付与されるため、display: flex 等の基本レイアウトは継承される。
   */
  /* --- Dialog --- */
  /* --- Modal Transition --- */
  /* 開いた直後の初期状態: dialogとmodal-containerをopacity 0に */
  /* 準備完了: トランジションでopacity 1, transform noneへ */
  /* 閉じるアニメーション */
  /* アクセシビリティ: モーション軽減 */
  /* --- Image Background Element --- */
  /* .image__bg-container 単体構造で::before疑似要素を使用 */
  /* DPR 1x: 背景画像用 - 閾値（600px/1000px/1801px） */
  /* --- Shift Classes for Background Images --- */
  /* 注意: shift classesはDPR非依存で、常にDPR 1x相当の閾値（600px/1000px）を使用 */
  /* shift-1: 1段階上のバリエーション */
  /* shift-2: 2段階上のバリエーション */
  /* DPR 2x: 背景画像用 - 閾値（300px/500px/900px） */
  /* --- Text Specific --- */
  /* --- Frame --- */
  /* biome-ignore lint/style/noDescendingSpecificity: 異なるコンテキストでのiframeスタイル */
  /* --- Studio Specific --- */
  /* --- Toggle --- */
  /* --- Input File --- */
  /* --- Video Container --- */
  /* Video inside video-container - disable text selection */
  /* Video label toggle based on container state */
  /* --- Carousel Slot Controls --- */
  /* is-playing属性に基づくslot表示制御 */
  /** root-element */
  /* --- CSS Custom Properties for Gradient Animation --- */
  /* --- Container Query Responsive Images --- */
  /* 構造: div.sd-img-horizontal/vertical > div.sd-img__inner > (img.sd-img__sizer + figure.sd-img__figure) */
  /* DPR 1x: sd-img要素用 - 閾値（600px/1000px/1801px） */
  /* DPR 2x: sd-img要素用 - 閾値（300px/500px/901px） */
  /* RichText内のContainer Query画像 */ }
  .inheritance_area html {
    height: 100%;
    padding: 0;
    margin: 0;
    scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) {
    .inheritance_area html {
      scroll-behavior: auto; } }
  .inheritance_area body {
    display: block;
    min-height: 100vh;
    background: #fff;
    font-family: sans-serif;
    transition: background 0.5s cubic-bezier(0.4, 0.4, 0, 1);
    padding: 0;
    margin: 0; }
  .inheritance_area a {
    background: transparent;
    color: #333333;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: none;
    text-decoration: none; }
  .inheritance_area button {
    background: transparent;
    color: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: none; }
  .inheritance_area button,
  .inheritance_area summary {
    pointer-events: all;
    cursor: pointer;
    user-select: none; }
  .inheritance_area hr {
    border: 0;
    border-top: 1px solid #ccc;
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0; }
  .inheritance_area .img,
  .inheritance_area .box,
  .inheritance_area .text,
  .inheritance_area .frame,
  .inheritance_area .section,
  .inheritance_area .section-inner,
  .inheritance_area .input,
  .inheritance_area .toggle,
  .inheritance_area .icon,
  .inheritance_area .video-container {
    border: 0;
    box-sizing: border-box;
    max-width: 100%;
    z-index: 0;
    position: relative;
    margin: 0;
    padding: 0;
    flex: none;
    min-width: 0; }
  .inheritance_area .img,
  .inheritance_area .box,
  .inheritance_area .text,
  .inheritance_area .frame,
  .inheritance_area .section,
  .inheritance_area .section-inner,
  .inheritance_area .toggle,
  .inheritance_area .icon,
  .inheritance_area .video-container {
    transition: all 0.3s cubic-bezier(0.4, 0.4, 0, 1);
    transition-property: all;
    list-style: none;
    margin: 0;
    padding: 0;
    text-decoration: none;
    align-content: center; }
  .inheritance_area .input,
  .inheritance_area .richText * {
    transition: all 0.3s cubic-bezier(0.4, 0.4, 0, 1);
    transition-property: all;
    list-style: none;
    margin: 0;
    padding: 0;
    text-decoration: none;
    align-content: normal;
    z-index: 0; }
  .inheritance_area .richText s,
  .inheritance_area .richText del,
  .inheritance_area .richText u {
    text-decoration: revert; }
  .inheritance_area .box,
  .inheritance_area .frame,
  .inheritance_area .section,
  .inheritance_area .video-container {
    display: flex;
    flex-direction: column;
    align-items: center; }
  .inheritance_area .img,
  .inheritance_area .text,
  .inheritance_area .icon {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    overflow-wrap: anywhere;
    word-break: break-word;
    z-index: 0; }
  .inheritance_area .box::-webkit-scrollbar {
    display: none; }
  .inheritance_area .richText {
    display: flex;
    flex-direction: column;
    flex: none;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
    line-height: 1;
    /* Table of Contents */
    /* Images & Videos */
    /* Links */
    /* Embedded Code */ }
    .inheritance_area .richText * {
      border: 0;
      list-style: none;
      margin: 0;
      padding: 0;
      text-decoration: none;
      -webkit-font-smoothing: antialiased;
      -webkit-backface-visibility: hidden;
      box-sizing: border-box;
      word-spacing: 1px;
      backface-visibility: visible;
      color: inherit;
      font-family: inherit;
      font-size: inherit;
      font-style: inherit;
      font-weight: inherit;
      letter-spacing: inherit;
      line-height: inherit;
      text-align: inherit; }
    .inheritance_area .richText h1 {
      font-size: 3em;
      font-weight: 700;
      margin: 20px 0; }
    .inheritance_area .richText h2,
    .inheritance_area .richText h3 {
      font-weight: 700;
      margin: 10px 0; }
    .inheritance_area .richText h2 {
      font-size: 2em; }
    .inheritance_area .richText h3 {
      font-size: 1em; }
    .inheritance_area .richText h4,
    .inheritance_area .richText h5,
    .inheritance_area .richText h6 {
      display: block;
      font-size: 1em;
      margin: 10px 0; }
    .inheritance_area .richText h4,
    .inheritance_area .richText h5 {
      font-weight: 600; }
    .inheritance_area .richText h6 {
      font-weight: 500; }
    .inheritance_area .richText > p {
      margin: 10px 0;
      min-height: 1em; }
    .inheritance_area .richText hr {
      border-top: 1px solid #ccc;
      margin: 10px 0; }
    .inheritance_area .richText em {
      font-style: italic; }
    .inheritance_area .richText > blockquote {
      border-left: 3px solid rgba(0, 0, 0, 0.15);
      font-style: italic;
      margin: 10px 0;
      padding: 10px 15px; }
    .inheritance_area .richText strong {
      color: inherit;
      display: inline;
      font-family: inherit;
      font-weight: 900; }
    .inheritance_area .richText > [data-type="table_of_contents"] {
      list-style: none;
      padding: 24px 24px 8px;
      margin: 0;
      border-radius: 2px;
      font-size: 16px;
      background-color: #f5f5f5;
      text-decoration: underline;
      color: #616161; }
      .inheritance_area .richText > [data-type="table_of_contents"] .toc_list {
        margin: 0;
        padding: 0; }
      .inheritance_area .richText > [data-type="table_of_contents"] .toc_item {
        font-size: inherit;
        font-weight: inherit;
        color: currentColor;
        list-style: none;
        margin: 0 0 16px 0;
        /* Default padding */
        padding-left: 2rem; }
        .inheritance_area .richText > [data-type="table_of_contents"] .toc_item.toc_item--1 {
          margin: 0 0 16px 0;
          /* Level 1 items might not need extra padding beyond the default */
          padding-left: 0;
          /* Reset or adjust as needed */ }
        .inheritance_area .richText > [data-type="table_of_contents"] .toc_item.toc_item--2 {
          margin: 0 0 16px 0;
          padding-left: 2rem;
          /* Already default, explicit for clarity */ }
        .inheritance_area .richText > [data-type="table_of_contents"] .toc_item.toc_item--3 {
          margin: 0 0 16px 0;
          padding-left: 4rem; }
        .inheritance_area .richText > [data-type="table_of_contents"] .toc_item > a {
          font-size: inherit;
          font-weight: inherit;
          color: currentColor;
          border: none;
          text-decoration: none; }
    .inheritance_area .richText > [data-type="table"] {
      overflow-x: auto; }
      .inheritance_area .richText > [data-type="table"] p {
        white-space: pre-line;
        word-break: break-all; }
    .inheritance_area .richText table {
      table-layout: auto;
      border-collapse: collapse;
      border-spacing: unset;
      margin: 10px 0 10px 0;
      font-size: 14px;
      border: 1px solid #f2f2f2;
      color: #1a1a1a;
      line-height: 1.4; }
    .inheritance_area .richText th {
      background: rgba(245, 245, 245, 0.5); }
    .inheritance_area .richText th,
    .inheritance_area .richText td {
      min-width: 100px;
      max-width: 240px;
      border: 1px solid #f2f2f2;
      padding: 12px; }
      .inheritance_area .richText th p,
      .inheritance_area .richText td p {
        margin: 0; }
    .inheritance_area .richText > code {
      background: #eee;
      border: 1px solid rgba(0, 0, 0, 0.1);
      border-radius: 6px;
      display: inline;
      margin: 2px;
      padding: 0 5px; }
    .inheritance_area .richText ol {
      margin: 0 0 0 20px;
      padding: 0;
      list-style: none; }
      .inheritance_area .richText ol li {
        list-style: decimal;
        margin: 10px 0; }
    .inheritance_area .richText ul {
      margin: 0 0 0 20px;
      padding: 0;
      list-style: none; }
      .inheritance_area .richText ul li {
        list-style: disc;
        margin: 10px 0; }
    .inheritance_area .richText li > p {
      margin: 0; }
    .inheritance_area .richText pre {
      margin: 20px 0 20px 0;
      padding: 25px 35px 25px 35px;
      background: #eeeeee;
      border-radius: 6px;
      white-space: pre-wrap;
      font-family: Menlo, Monaco, "Courier New", monospace; }
      .inheritance_area .richText pre code {
        padding: 0;
        border: none; }
    .inheritance_area .richText img,
    .inheritance_area .richText video {
      height: auto;
      max-width: 100%;
      vertical-align: bottom; }
    .inheritance_area .richText a {
      color: #007cff;
      display: inline;
      text-decoration: underline; }
    .inheritance_area .richText [data-type="embed_code"] .height-adjuster {
      max-width: 1280px;
      position: relative; }
      .inheritance_area .richText [data-type="embed_code"] .height-adjuster .wrapper {
        position: relative; }
      .inheritance_area .richText [data-type="embed_code"] .height-adjuster .wrapper[style*='padding-top'] iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
  .inheritance_area .section {
    width: 100%; }
  .inheritance_area .section-inner {
    position: static; }
  .inheritance_area dialog {
    border: none;
    background-color: transparent;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    max-width: none;
    max-height: none;
    box-sizing: border-box; }
    .inheritance_area dialog[open] {
      display: flex; }
    .inheritance_area dialog::backdrop {
      background: transparent; }
  .inheritance_area .modal-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    /* backdropクリックをdialogに透過 */ }
  .inheritance_area .modal-container > * {
    pointer-events: auto;
    /* コンテンツ内のクリックを有効化 */ }
  .inheritance_area dialog[open][data-modal-transition-base] {
    opacity: 0; }
  .inheritance_area dialog[open][data-modal-transition-base] > .modal-container {
    opacity: 0;
    /* transformはdata-modal-transition-baseのJSON値を使用するためJSで設定 */ }
  .inheritance_area dialog[open][data-modal-transition-base].modal-ready {
    opacity: 1;
    transition: opacity 400ms cubic-bezier(0.4, 0.4, 0, 1); }
  .inheritance_area dialog[open][data-modal-transition-base].modal-ready > .modal-container {
    opacity: 1;
    transform: none;
    transition: opacity 400ms cubic-bezier(0.4, 0.4, 0, 1), transform 400ms cubic-bezier(0.4, 0.4, 0, 1); }
  .inheritance_area dialog[data-modal-transition-base].modal-closing {
    opacity: 0;
    transition: opacity 400ms cubic-bezier(0.4, 0.4, 0, 1); }
  .inheritance_area dialog[data-modal-transition-base].modal-closing > .modal-container {
    opacity: 0;
    transition: opacity 400ms cubic-bezier(0.4, 0.4, 0, 1), transform 400ms cubic-bezier(0.4, 0.4, 0, 1); }
  @media (prefers-reduced-motion: reduce) {
    .inheritance_area dialog[open][data-modal-transition-base],
    .inheritance_area dialog[open][data-modal-transition-base].modal-ready,
    .inheritance_area dialog[data-modal-transition-base].modal-closing {
      transition: none;
      opacity: 1; }
    .inheritance_area dialog[open][data-modal-transition-base] > .modal-container,
    .inheritance_area dialog[open][data-modal-transition-base].modal-ready > .modal-container,
    .inheritance_area dialog[data-modal-transition-base].modal-closing > .modal-container {
      transition: none;
      opacity: 1;
      transform: none !important; } }
  .inheritance_area .image__bg-container {
    container-type: size;
    /* 幅と高さを監視（aspect-ratioクエリに必要） */
    container-name: image-container;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -2;
    border-radius: inherit; }
  .inheritance_area .image__bg-container::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: var(--img-current);
    background-position: 50%;
    background-size: cover;
    border-radius: inherit;
    transition: inherit; }
  @media (max-resolution: 1.99dppx) {
    .inheritance_area {
      /* --- horizontal (横長/正方形) - DPR 1x --- */
      /* デフォルト: < 600px → small */
      /* aspect-ratio < 1 補正: small → middle (600px未満) */
      /* aspect-ratio < 0.5 補正: small → regular (600px未満、2段階アップ) */
      /* 600px以上 + aspect-ratio >= 1 → middle */
      /* 600px以上 + aspect-ratio < 1 補正: middle → regular */
      /* 600px以上 + aspect-ratio < 0.5 補正: middle → origin (2段階アップ) */
      /* 1000px以上 + aspect-ratio >= 1 → regular */
      /* 1000px以上 + aspect-ratio < 1 補正: regular → origin */
      /* 1000px以上 + aspect-ratio < 0.5: origin で上限キャップ（aspect-ratio < 1 と同じ結果） */
      /* 1801px以上 → origin */
      /* --- vertical (縦長) - DPR 1x --- */
      /* デフォルト: < 600px → small */
      /* 600-999px → middle */
      /* 1000-1800px → regular */
      /* 1801px以上 → origin */ }
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-small); }
    @container (aspect-ratio < 1) and (max-width: 599px) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-middle); } }
    @container (aspect-ratio < 0.5) and (max-width: 599px) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-regular); } }
    @container (min-width: 600px) and (aspect-ratio >= 1) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-middle); } }
    @container (min-width: 600px) and (max-width: 999px) and (aspect-ratio < 1) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-regular); } }
    @container (aspect-ratio < 0.5) and (min-width: 600px) and (max-width: 999px) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-origin); } }
    @container (min-width: 1000px) and (aspect-ratio >= 1) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-regular); } }
    @container (min-width: 1000px) and (max-width: 1800px) and (aspect-ratio < 1) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-origin); } }
    @container (min-width: 1801px) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-origin); } }
      .inheritance_area .image--vertical .image__bg-container::before {
        --img-current: var(--img-small); }
    @container (min-width: 600px) and (max-width: 999px) {
      .inheritance_area .image--vertical .image__bg-container::before {
        --img-current: var(--img-middle); } }
    @container (min-width: 1000px) and (max-width: 1800px) {
      .inheritance_area .image--vertical .image__bg-container::before {
        --img-current: var(--img-regular); } }
    @container (min-width: 1801px) {
      .inheritance_area .image--vertical .image__bg-container::before {
        --img-current: var(--img-origin); } } }
  .inheritance_area .image--shift-1 .image__bg-container::before {
    --img-current: var(--img-middle); }
@container (min-width: 600px) {
  .inheritance_area .image--shift-1 .image__bg-container::before {
    --img-current: var(--img-regular); } }
@container (min-width: 1000px) {
  .inheritance_area .image--shift-1 .image__bg-container::before {
    --img-current: var(--img-origin); } }
  .inheritance_area .image--shift-2 .image__bg-container::before {
    --img-current: var(--img-regular); }
@container (min-width: 600px) {
  .inheritance_area .image--shift-2 .image__bg-container::before {
    --img-current: var(--img-origin); } }
  @media (min-resolution: 2dppx) {
    .inheritance_area {
      /* --- horizontal (横長/正方形) - DPR 2x --- */
      /* デフォルト: < 300px → small */
      /* aspect-ratio < 1 補正: small → middle (300px未満) */
      /* aspect-ratio < 0.5 補正: small → regular (300px未満、2段階アップ) */
      /* 300px以上 + aspect-ratio >= 1 → middle */
      /* 300px以上 + aspect-ratio < 1 補正: middle → regular */
      /* 300px以上 + aspect-ratio < 0.5 補正: middle → origin (2段階アップ) */
      /* 500px以上 + aspect-ratio >= 1 → regular */
      /* 500px以上 + aspect-ratio < 1 補正: regular → origin */
      /* 500px以上 + aspect-ratio < 0.5: origin で上限キャップ（aspect-ratio < 1 と同じ結果） */
      /* 901px以上 → origin */
      /* --- vertical (縦長) - DPR 2x --- */
      /* デフォルト: ≤ 300px → small */
      /* 301px以上 → middle */
      /* 601px以上 → regular */
      /* 901px以上 → origin */ }
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-small); }
    @container (aspect-ratio < 1) and (max-width: 299px) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-middle); } }
    @container (aspect-ratio < 0.5) and (max-width: 299px) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-regular); } }
    @container (min-width: 300px) and (aspect-ratio >= 1) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-middle); } }
    @container (min-width: 300px) and (max-width: 499px) and (aspect-ratio < 1) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-regular); } }
    @container (aspect-ratio < 0.5) and (min-width: 300px) and (max-width: 499px) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-origin); } }
    @container (min-width: 500px) and (aspect-ratio >= 1) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-regular); } }
    @container (min-width: 500px) and (max-width: 900px) and (aspect-ratio < 1) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-origin); } }
    @container (min-width: 901px) {
      .inheritance_area .image--horizontal .image__bg-container::before {
        --img-current: var(--img-origin); } }
      .inheritance_area .image--vertical .image__bg-container::before {
        --img-current: var(--img-small); }
    @container (min-width: 301px) {
      .inheritance_area .image--vertical .image__bg-container::before {
        --img-current: var(--img-middle); } }
    @container (min-width: 601px) {
      .inheritance_area .image--vertical .image__bg-container::before {
        --img-current: var(--img-regular); } }
    @container (min-width: 901px) {
      .inheritance_area .image--vertical .image__bg-container::before {
        --img-current: var(--img-origin); } } }
  .inheritance_area .text {
    /* Note: Base styles are defined above in common group */
    /* Specific styles for .text */
    -webkit-font-smoothing: antialiased;
    position: relative;
    /* Already defined in base, maybe redundant */
    line-height: 1;
    word-spacing: 1px;
    /* margin: 0; is already defined in base */ }
  .inheritance_area .frame {
    display: block;
    overflow: hidden;
    /* Note: Base styles are defined above in common group */ }
  .inheritance_area .frame > iframe {
    border: none;
    width: 100%; }
  .inheritance_area .toggle {
    display: flex;
    /* Note: Base styles are defined above in common group */ }
    .inheritance_area .toggle > summary {
      width: 100%; }
      .inheritance_area .toggle > summary::marker, .inheritance_area .toggle > summary::-webkit-details-marker {
        display: none; }
    .inheritance_area .toggle .toggle-content {
      /* Assuming .toggle-content is a child of .toggle */
      overflow: hidden; }
    .inheritance_area .toggle::details-content {
      display: contents; }
  .inheritance_area .file {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    flex-direction: row;
    word-break: break-word;
    overflow-wrap: anywhere;
    cursor: pointer;
    outline: 2px solid transparent;
    outline-offset: -1px;
    position: relative; }
  .inheritance_area .file:focus-within {
    outline-color: rgba(56, 110, 220, 0.5); }
  .inheritance_area .file > input[type='file'] {
    opacity: 0;
    position: absolute;
    pointer-events: none;
    inset: 0;
    width: 100%;
    height: 100%; }
  .inheritance_area .toggle[data-toggle-closing] [data-show-toggle="open"],
  .inheritance_area .toggle[open]:not([data-toggle-closing]) [data-show-toggle="close"],
  .inheritance_area .toggle:not([open]):not([data-toggle-closing]) [data-show-toggle="open"] {
    display: none; }
  .inheritance_area .video-container {
    user-select: none; }
  .inheritance_area .video-container[data-video-state="paused"] [data-video-label="pause"],
  .inheritance_area .video-container[data-video-state="playing"] [data-video-label="play"] {
    display: none; }
  .inheritance_area .video-container[data-video-state="paused"] [data-video-label="play"],
  .inheritance_area .video-container[data-video-state="playing"] [data-video-label="pause"] {
    display: inline; }
  .inheritance_area .sd-carousel:not([is-playing]) [slot="pause"],
  .inheritance_area .sd-carousel[is-playing] [slot="play"] {
    display: none !important; }
  .inheritance_area .sd-1 {
    min-height: 100vh;
    overflow: clip; }
@property --g-angle {
  .inheritance_area {
    syntax: "<angle>";
    inherits: false;
    initial-value: 180deg; } }
@property --g-color-0 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-0 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 0.01%; } }
@property --g-color-1 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-1 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-2 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-2 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-3 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-3 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-4 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-4 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-5 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-5 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-6 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-6 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-7 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-7 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-8 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-8 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-9 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-9 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-10 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-10 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
@property --g-color-11 {
  .inheritance_area {
    syntax: "<color>";
    inherits: false;
    initial-value: transparent; } }
@property --g-position-11 {
  .inheritance_area {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%; } }
  .inheritance_area .sd-img-horizontal,
  .inheritance_area .sd-img-vertical {
    box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: flex-start;
    overflow: hidden;
    min-width: 0; }
  .inheritance_area .sd-img__inner {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    height: 100%; }
  .inheritance_area .sd-img__sizer {
    display: block;
    /* デフォルトは固有サイズ（SVG viewBox）を使用 */
    /* width/heightはブレークポイントごとにオーバーライドで制御 */
    max-width: 100%;
    max-height: 100%; }
  .inheritance_area .sd-img__figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    container-type: size; }
  .inheritance_area .sd-img__actual {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%; }
  .inheritance_area .sd-img__actual--small,
  .inheritance_area .sd-img__actual--middle,
  .inheritance_area .sd-img__actual--regular,
  .inheritance_area .sd-img__actual--origin {
    display: none; }
  @media (max-resolution: 1.99dppx) {
    .inheritance_area {
      /* --- horizontal (DPR 1x) --- */
      /* < 600px: small, 600-999px: middle, 1000-1800px: regular, >= 1801px: origin */
      /* --- vertical (DPR 1x) --- */
      /* < 600px: small, 600-999px: middle, 1000-1800px: regular, >= 1801px: origin */
      /* --- Shift Classes (DPR 1x) --- */
      /* shift-1: 1段階上のバリエーション（regularが最大） */
      /* shift-2: 2段階上のバリエーション（regularが最大） */
      /* --- Aspect Ratio Based Variation Selection for sd-img --- */
      /* 横長画像(horizontal) + 縦長コンテナ → より大きいバリエーション */ }
      .inheritance_area .sd-img-horizontal .sd-img__actual--small {
        display: block; }
    @container (min-width: 600px) and (aspect-ratio >= 1) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--small {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--middle {
        display: block; } }
    @container (min-width: 1000px) and (aspect-ratio >= 1) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--middle {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--regular {
        display: block; } }
    @container (min-width: 1801px) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--regular {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--origin {
        display: block; } }
      .inheritance_area .sd-img-vertical .sd-img__actual--small {
        display: block; }
    @container (min-width: 600px) {
      .inheritance_area .sd-img-vertical .sd-img__actual--small {
        display: none; }
      .inheritance_area .sd-img-vertical .sd-img__actual--middle {
        display: block; } }
    @container (min-width: 1000px) {
      .inheritance_area .sd-img-vertical .sd-img__actual--middle {
        display: none; }
      .inheritance_area .sd-img-vertical .sd-img__actual--regular {
        display: block; } }
    @container (min-width: 1801px) {
      .inheritance_area .sd-img-vertical .sd-img__actual--regular {
        display: none; }
      .inheritance_area .sd-img-vertical .sd-img__actual--origin {
        display: block; } }
      .inheritance_area .sd-img--shift-1 .sd-img__actual--small {
        display: none; }
      .inheritance_area .sd-img--shift-1 .sd-img__actual--middle {
        display: block; }
    @container (min-width: 600px) {
      .inheritance_area .sd-img--shift-1 .sd-img__actual--middle {
        display: none; }
      .inheritance_area .sd-img--shift-1 .sd-img__actual--regular {
        display: block; } }
      .inheritance_area .sd-img--shift-2 .sd-img__actual--small {
        display: none; }
      .inheritance_area .sd-img--shift-2 .sd-img__actual--regular {
        display: block; }
    @container (aspect-ratio < 1) and (max-width: 599px) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--small {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--middle {
        display: block; } }
    @container (aspect-ratio < 0.5) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--middle {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--regular {
        display: block; } } }
  @media (min-resolution: 2dppx) {
    .inheritance_area {
      /* horizontal: < 300px: small, 300-499px: middle, 500-900px: regular, >= 901px: origin */
      /* vertical: ≤ 300px: small, 301-600px: middle, 601-900px: regular, >= 901px: origin */
      /* --- Aspect Ratio Based Variation Selection for sd-img (DPR 2x) --- */
      /* 横長画像(horizontal) + 縦長コンテナ → より大きいバリエーション */ }
      .inheritance_area .sd-img-horizontal .sd-img__actual--small {
        display: block; }
    @container (min-width: 300px) and (aspect-ratio >= 1) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--small {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--middle {
        display: block; } }
    @container (min-width: 500px) and (aspect-ratio >= 1) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--middle {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--regular {
        display: block; } }
    @container (min-width: 901px) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--regular {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--origin {
        display: block; } }
      .inheritance_area .sd-img-vertical .sd-img__actual--small {
        display: block; }
    @container (min-width: 301px) {
      .inheritance_area .sd-img-vertical .sd-img__actual--small {
        display: none; }
      .inheritance_area .sd-img-vertical .sd-img__actual--middle {
        display: block; } }
    @container (min-width: 601px) {
      .inheritance_area .sd-img-vertical .sd-img__actual--middle {
        display: none; }
      .inheritance_area .sd-img-vertical .sd-img__actual--regular {
        display: block; } }
    @container (min-width: 901px) {
      .inheritance_area .sd-img-vertical .sd-img__actual--regular {
        display: none; }
      .inheritance_area .sd-img-vertical .sd-img__actual--origin {
        display: block; } }
    @container (aspect-ratio < 1) and (max-width: 299px) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--small {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--middle {
        display: block; } }
    @container (aspect-ratio < 0.5) {
      .inheritance_area .sd-img-horizontal .sd-img__actual--middle {
        display: none; }
      .inheritance_area .sd-img-horizontal .sd-img__actual--regular {
        display: block; } } }
  .inheritance_area .sd-img--richtext {
    display: inline-block;
    max-width: 100%;
    vertical-align: bottom; }
  .inheritance_area .richText .sd-img--richtext {
    margin: 0.5em 0; }
  .inheritance_area :root {
    --s-color-e98421e5: linear-gradient(45deg, #171c60, #0b4fa8);
    --s-color-46a0b382: #171c60;
    --s-color-b7a76e02: #dbdbe3;
    --s-color-5c9b3e04: #ffffffff;
    --s-color-b1af63a9: #f4f4f6;
    --s-color-76b2b463: #43477c;
    --s-color-d28aa7a0: #333;
    --s-color-e9ab9dd8: #e0e0e8ff;
    --s-color-b481a5c8: #deeafbff; }

.link_btn_area_common {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px 8px;
  justify-content: center;
  margin: 80px auto 16px;
  padding: 0px 80px;
  width: 1280px;
  max-width: 100%;
  display: flex; }
  .link_btn_area_common .a_box {
    transition: all ease 0.3s;
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px 16px;
    height: 160px;
    justify-content: center;
    overflow-x: hidden;
    overflow-y: hidden;
    padding: 0px;
    width: calc(50% - (8px * 0.5));
    max-width: calc(50% - (8px * 0.5));
    display: flex;
    position: relative; }
    .link_btn_area_common .a_box .img_box {
      align-content: flex-end;
      align-items: flex-end;
      flex: none;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 12px;
      height: 100%;
      justify-content: flex-end;
      padding: 0px;
      width: 100%;
      max-width: 100%;
      position: relative;
      transition: all ease 0.3s; }
      .link_btn_area_common .a_box .img_box .image_filter {
        container-type: size;
        container-name: image-container;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 2;
        border-radius: inherit; }
        .link_btn_area_common .a_box .img_box .image_filter::after {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          background: #000;
          opacity: 0.5;
          z-index: 2; }
    .link_btn_area_common .a_box .text_box {
      align-content: center;
      align-items: center;
      bottom: 24px;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 12px;
      justify-content: flex-end;
      left: auto;
      margin: 0;
      padding: 0px;
      position: absolute;
      right: 24px;
      top: auto;
      z-index: 3;
      display: flex; }
      .link_btn_area_common .a_box .text_box p {
        color: #FFFFFF;
        transition: all ease 0.3s;
        font-size: 20px;
        font-weight: 600;
        height: auto;
        letter-spacing: 0.05em;
        line-height: 1.4;
        text-align: left;
        width: auto;
        justify-content: flex-start;
        max-width: 100%;
        min-width: auto; }
      .link_btn_area_common .a_box .text_box .img_box2 {
        flex: none;
        height: 40px;
        width: 40px;
        max-width: 100%; }
    .link_btn_area_common .a_box .img_box3 {
      flex: none;
      height: 40px;
      left: 0;
      margin: 0;
      position: absolute;
      top: 0;
      width: 40px;
      max-width: 40px;
      z-index: 3; }
    .link_btn_area_common .a_box:hover .img_box {
      transform: scale(1.05, 1.05);
      transition-timing-function: ease; }
      .link_btn_area_common .a_box:hover .img_box .image_filter::after {
        opacity: 0.6; }
    .link_btn_area_common .a_box:hover .text_box p {
      margin-right: 10px; }

@media screen and (max-width: 540px) {
  .link_btn_area_common {
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 6px 16px;
    margin: 32px 16px 0px;
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    padding: 0 !important; }
    .link_btn_area_common .a_box {
      flex: none;
      height: 96px;
      width: 100%;
      max-width: 100%; }
      .link_btn_area_common .a_box .text_box p {
        font-size: 16px; } }
/*------------------------------------------------*/
/*--------------------------------------*/
#info-tax {
  display: none; }

#info-finance {
  display: none; }

#info-tax.is-active {
  display: block; }

#info-finance.is-active {
  display: block; }

.page-id-14 .sd-293 {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0px;
  justify-content: center;
  padding: 0px;
  width: calc(49% - (var(--gap-h) * 0.51));
  max-width: calc(49% - (var(--gap-h) * 0.51));
  margin-left: auto; }

.wpcf7-form .wpcf7-form-control-wrap {
  position: relative;
  width: 100%; }
.wpcf7-form .wpcf7-list-item {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
  justify-content: flex-start;
  margin: 0px;
  padding: 0;
  width: 100%;
  max-width: 100%; }
  .wpcf7-form .wpcf7-list-item label {
    padding: 10px 4px;
    width: 100%;
    max-width: 100%;
    display: block; }
  .wpcf7-form .wpcf7-list-item:hover {
    background: rgba(239, 240, 251, 0.7);
    --ha: 1; }
.wpcf7-form .wpcf7-submit {
  color: #FFFFFF !important;
  font-family: 'Shippori Mincho B1' !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  line-height: 1 !important;
  margin: 0 !important;
  opacity: 1 !important;
  padding: 0px 0px 2px !important;
  text-align: center !important;
  justify-content: center !important;
  max-width: 100% !important; }
