@charset "UTF-8";
/* Scss Document */
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap");
/*---------------------------------------------
    all
---------------------------------------------*/
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt"; }

@media screen and (min-width: 750px) {
  .u-sp {
    display: none !important; } }
@media screen and (max-width: 750px) {
  .u-pc {
    display: none !important; } }
.wrap {
  margin: auto;
  position: relative;
  overflow: clip;
  background: #fff;
  font-size: 1.6rem;
  letter-spacing: .1em; }
  @media screen and (min-width: 750px) {
    .wrap {
      min-width: 1100px; } }
  @media screen and (max-width: 750px) {
    .wrap {
      font-size: 4.26vw; } }

.-en {
  font-family: "Inter", sans-serif; }

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

.inner {
  margin: auto;
  position: relative;
  width: 94%; }
  @media screen and (min-width: 750px) {
    .inner {
      max-width: 1100px; } }
  @media screen and (max-width: 750px) {
    .inner {
      max-width: 90vw; } }

.min_inner {
  margin: auto;
  position: relative;
  width: 94%; }
  @media screen and (min-width: 750px) {
    .min_inner {
      max-width: 1060px; } }
  @media screen and (max-width: 750px) {
    .min_inner {
      max-width: 90vw; } }

main {
  display: block;
  position: relative;
  z-index: 1; }

.mainDetail {
  padding: 130px 0 0; }
  @media screen and (max-width: 750px) {
    .mainDetail {
      padding: 20vw 0 0; } }

/* フェードイン */
.is-fadeIn {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 1.0s, transform 1.0s; }

.is-fadeIn.is-scrollIn {
  opacity: 1;
  transform: translate(0, 0); }

#cursor {
  position: fixed;
  background: rgba(27, 74, 153, 0.6);
  width: 15px;
  height: 15px;
  border-radius: 30px;
  transform: translate(-100%, -100%);
  z-index: 9999;
  /*カーソルの後ろに来るように*/
  pointer-events: none;
  /*クリックできなくなるのを防ぐため。noneで対応*/
  opacity: 0;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  #cursor.active {
    transform: scale(6.5); }

/**/
.js-loading {
  background: #fff;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999; }
  .js-loading svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }

/*---------------------------------------------
    header
---------------------------------------------*/
header {
  padding: 0 30px;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: .4s;
  background-color: #fff; }
  @media screen and (min-width: 750px) {
    header {
      min-width: 1100px; } }
  @media screen and (max-width: 750px) {
    header {
      padding: 1.3vw 2.6vw; } }
  @media screen and (max-width: 750px) {
    header.-active .headLogo img {
      opacity: 0; }
    header.-active .menu-trigger span {
      background: #fff; } }

.head_inner {
  max-width: 1366px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto; }

.headLogo {
  position: relative;
  z-index: 9999; }
  .headLogo a {
    display: flex;
    align-items: baseline; }
  .headLogo img {
    transition: .4s; }

.headLogo_logo {
  width: 117px;
  margin: 0 5px 0 0; }
  @media screen and (max-width: 1260px) {
    .headLogo_logo {
      width: 93px; } }
  @media screen and (max-width: 750px) {
    .headLogo_logo {
      margin: 0 1vw 0 0;
      width: 21.8vw;
      background: url("../img/common/toshin_logo_wh.svg") no-repeat;
      background-size: contain;
      background-position: bottom; } }

.headLogo_tit {
  width: 171px;
  position: relative;
  top: -7px; }
  @media screen and (max-width: 1260px) {
    .headLogo_tit {
      width: 136px; } }
  @media screen and (max-width: 750px) {
    .headLogo_tit {
      width: 36.8vw;
      background: url("../img/common/toshin_logo_tit_wh.svg") no-repeat;
      background-size: contain;
      background-position: bottom;
      top: -1vw; } }

.head_content {
  display: flex;
  align-items: center; }

@media screen and (min-width: 750px) {
  .headNav {
    display: flex !important;
    align-items: center; } }
@media screen and (max-width: 750px) {
  .headNav {
    display: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    right: 0;
    z-index: 999;
    padding: 27vw 5vw 9vw;
    overflow: auto;
    background: #fff; } }

.headNav_list {
  font-weight: 700;
  margin: 0 30px 0 0; }
  @media screen and (min-width: 750px) {
    .headNav_list {
      display: flex;
      align-items: center;
      justify-content: center; } }
  @media screen and (max-width: 1260px) {
    .headNav_list {
      font-size: 1.4rem;
      margin: 0 20px 0 0; } }
  @media screen and (max-width: 750px) {
    .headNav_list {
      color: #fff;
      padding: 0 5vw 8vw;
      font-size: 5.86vw;
      margin: 0 0 18vw;
      position: relative; }
      .headNav_list::after {
        content: "";
        display: block;
        width: 100vw;
        height: 200%;
        position: absolute;
        bottom: 0;
        transform: skewY(-10deg);
        background: #1D2B42;
        z-index: 1;
        left: -5vw; } }
  @media screen and (max-width: 750px) {
    .headNav_list > li {
      position: relative;
      z-index: 2; } }
  @media screen and (min-width: 750px) {
    .headNav_list > li {
      padding: 38px 0 25px; }
      .headNav_list > li:hover .headNav_subList {
        visibility: visible;
        opacity: 1;
        height: auto; } }
  .headNav_list > li:not(:last-child) {
    margin: 0 30px 0 0; }
    @media screen and (max-width: 1260px) {
      .headNav_list > li:not(:last-child) {
        margin: 0 20px 0 0; } }
    @media screen and (max-width: 750px) {
      .headNav_list > li:not(:last-child) {
        margin: 0 0 6vw; } }
  .headNav_list a {
    transition: .4s; }
    .headNav_list a:hover {
      color: #1B4A99; }

@media screen and (min-width: 750px) {
  .headNav_subList {
    position: absolute;
    width: 100%;
    left: 0;
    top: 100%;
    display: flex;
    justify-content: center;
    padding: 20px 0 60px;
    background: #fff;
    font-size: 1.5rem;
    letter-spacing: normal;
    text-align: center;
    line-height: 1.5;
    visibility: hidden;
    opacity: 0;
    height: 0;
    transition: .4s; } }
@media screen and (max-width: 750px) {
  .headNav_subList {
    margin: 0 0 6vw;
    border-bottom: 1px solid #ABC3EA;
    padding: 6vw 5vw;
    font-size: 4.26vw; } }
@media screen and (min-width: 750px) {
  .headNav_subList li {
    width: 15%; } }
@media screen and (max-width: 750px) {
  .headNav_subList li {
    font-weight: 500; } }
.headNav_subList li:not(:last-child) {
  margin: 0 10px 0 0; }
  @media screen and (max-width: 750px) {
    .headNav_subList li:not(:last-child) {
      margin: 0 0 6vw; } }
@media screen and (max-width: 750px) {
  .headNav_subList a {
    display: inline-flex;
    align-items: center; }
    .headNav_subList a::after {
      content: "";
      display: block;
      width: 4.26vw;
      height: 4.26vw;
      background: url("../img/common/icon_arrow02_wh.svg") no-repeat;
      background-size: contain;
      margin: 0 0 0 2.6vw; } }

.headNav_subList_img {
  margin: 0 0 7px; }

.headNav_telArea {
  text-align: center;
  font-weight: 700;
  color: #1B4A99;
  line-height: 1.4; }
  @media screen and (max-width: 750px) {
    .headNav_telArea {
      margin: 0 0 4.2vw; } }

.headNav_tel {
  display: inline-flex;
  align-items: center;
  font-size: 2.5rem; }
  @media screen and (max-width: 1260px) {
    .headNav_tel {
      font-size: 2.2rem; } }
  @media screen and (max-width: 750px) {
    .headNav_tel {
      font-size: 9.3vw; } }
  .headNav_tel::before {
    content: "";
    display: block;
    background: url("../img/common/icon_tel.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    margin: 0 8px 0 0; }
    @media screen and (max-width: 750px) {
      .headNav_tel::before {
        width: 6.9vw;
        height: 6.9vw;
        margin: 0 1.6vw 0 0; } }

.headNav_tel_txt {
  font-size: 1.2rem; }
  @media screen and (max-width: 750px) {
    .headNav_tel_txt {
      font-size: 4vw; } }

.headNav_addArea {
  font-size: 3.73vw; }

.menu_wrap {
  width: 45px;
  height: 45px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  flex-direction: column; }
  @media screen and (max-width: 750px) {
    .menu_wrap {
      width: 12vw;
      height: 12vw; } }

.menu-trigger {
  position: relative;
  width: 34px;
  height: 22px; }
  @media screen and (max-width: 750px) {
    .menu-trigger {
      width: 9vw;
      height: 5.86vw; } }

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  cursor: pointer;
  z-index: 1000; }

.menu-trigger span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 3px;
  border-radius: 100px;
  background-color: #1B4A99; }

.menu-trigger span:nth-of-type(1) {
  top: 0; }

.menu-trigger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  width: 77%; }

.menu-trigger span:nth-of-type(3) {
  bottom: 0; }

@media screen and (max-width: 750px) {
  .-active .menu-trigger span:nth-of-type(1) {
    transform: translateY(2.5vw) rotate(-30deg); } }

.-active .menu-trigger span:nth-of-type(2) {
  opacity: 0; }

@media screen and (max-width: 750px) {
  .-active .menu-trigger span:nth-of-type(3) {
    transform: translateY(-2.6vw) rotate(30deg); } }

/*---------------------------------------------
    footer
---------------------------------------------*/
footer {
  font-size: 1.4rem; }
  @media screen and (max-width: 750px) {
    footer {
      font-size: 3.73vw; } }

/* contact */
.foot_contact {
  background: url("../img/common/contact_bg.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 90px 0 110px;
  color: #fff; }
  @media screen and (max-width: 750px) {
    .foot_contact {
      padding: 24vw 0;
      background-image: url("../img/common/contact_bg_sp.jpg"); } }

.foot_contact_titArea {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 750px) {
    .foot_contact_titArea {
      display: block;
      text-align: center;
      margin: 0 0 11vw; } }

.foot_contact_tit {
  font-weight: 700;
  font-size: 5.6rem;
  margin: 0 20px 0 0; }
  @media screen and (max-width: 750px) {
    .foot_contact_tit {
      font-size: 11.7vw;
      margin: 0 0 1vw;
      line-height: 1; } }

.foot_contact_subTit {
  font-size: 1.8rem; }
  @media screen and (max-width: 750px) {
    .foot_contact_subTit {
      font-size: 4.8vw; } }

.foot_contact_flex {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between; }
  @media screen and (max-width: 750px) {
    .foot_contact_flex {
      display: block;
      text-align: center; } }

.foot_contact_telArea {
  display: flex;
  align-items: baseline;
  line-height: 1.5; }
  @media screen and (max-width: 750px) {
    .foot_contact_telArea {
      display: block;
      margin: 4vw 0 13vw; } }

.foot_contact_tel {
  display: flex;
  align-items: center;
  font-size: 5.3rem;
  font-weight: 700; }
  @media screen and (max-width: 750px) {
    .foot_contact_tel {
      justify-content: center;
      font-size: 10.6vw; } }
  .foot_contact_tel::before {
    content: "";
    display: block;
    background: url("../img/common/icon_tel_wh.svg") no-repeat;
    background-size: contain;
    width: 38px;
    height: 38px;
    margin: 0 10px 0 0; }
    @media screen and (max-width: 750px) {
      .foot_contact_tel::before {
        width: 8vw;
        height: 8vw;
        margin: 0 1.8vw 0 0; } }

.foot_contact_tel_txt {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 0 0 1em; }
  @media screen and (max-width: 750px) {
    .foot_contact_tel_txt {
      font-size: 4.8vw;
      margin: 0; } }

/* sitemap */
.foot_content {
  padding: 55px 0 40px; }
  @media screen and (max-width: 750px) {
    .foot_content {
      padding: 13vw 0 9vw; } }
  .foot_content .inner {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 750px) {
      .foot_content .inner {
        display: block; } }

.foot_company {
  flex-shrink: 0;
  margin: 0 30px 0 0;
  display: flex;
  flex-direction: column; }
  @media screen and (max-width: 750px) {
    .foot_company {
      margin: 0;
      display: block; } }

.footLogo {
  margin: 0 0 30px;
  display: flex;
  align-items: baseline; }
  @media screen and (max-width: 750px) {
    .footLogo {
      display: block;
      margin: 0 0 8vw; } }

.footLogo_logo {
  width: 144px;
  margin: 0 10px 0 0; }
  @media screen and (max-width: 750px) {
    .footLogo_logo {
      width: 48.5vw;
      margin: 0 auto 5vw; } }

.footLogo_tit {
  width: 215px; }
  @media screen and (max-width: 750px) {
    .footLogo_tit {
      width: 57.8vw;
      margin: auto; } }

.foot_content_txtArea {
  line-height: 1.5; }
  @media screen and (max-width: 750px) {
    .foot_content_txtArea {
      letter-spacing: normal;
      text-align: center;
      margin: 0 0 10vw; } }

.copyright {
  font-size: 1rem;
  display: block;
  margin: auto 0 0; }
  @media screen and (max-width: 750px) {
    .copyright {
      font-size: 2.6vw;
      text-align: center; } }

.foot_sitemap {
  padding: 90px 0 30px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  letter-spacing: normal; }
  @media screen and (max-width: 750px) {
    .foot_sitemap {
      display: none; } }
  .foot_sitemap a {
    transition: .4s; }
    .foot_sitemap a:hover {
      color: #1B4A99; }

.foot_sitemapList_tit {
  margin: 0 0 1em; }

.foot_sitemapList_content {
  display: flex;
  font-size: 1.2rem; }
  .foot_sitemapList_content:not(:last-child) {
    margin: 0 0 3em; }
  .foot_sitemapList_content > a {
    width: 5em; }

.foot_sitemapList_subList li {
  text-indent: -1.2em;
  padding-left: 1.2em; }
  @media screen and (min-width: 750px) {
    .foot_sitemapList_subList li::before {
      content: "ー";
      display: inline-block;
      margin: 0 0.2em 0 0;
      text-indent: 0; } }

/*---------------------------------------------
    common
---------------------------------------------*/
.linkBtn {
  display: block;
  background: #fff;
  border: 1px solid #1B4A99;
  text-align: center;
  width: 275px;
  color: #1B4A99;
  font-weight: 700;
  padding: 20px 20px 20px 40px;
  cursor: pointer;
  position: relative;
  border-radius: 100px;
  overflow: hidden;
  /*.-cover{
      transform: translate3d(calc(-100% - 1px), 0, 0);
      position: absolute;
      background-color: $primary;
      border-radius: 100px;
      width: 101%;
      height: 101%;
      left: 0;
      top:0;
      z-index: 1;
      transition: transform 240ms 0ms cubic-bezier(0.23, 1, 0.32, 1);
  }*/ }
  @media screen and (max-width: 750px) {
    .linkBtn {
      width: 74vw;
      padding: 5vw 5vw 5vw 10vw;
      margin: auto; } }
  .linkBtn::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    background: #1B4A99;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    transition: transform 600ms 0ms cubic-bezier(0.23, 1, 0.32, 1); }
    @media screen and (max-width: 750px) {
      .linkBtn::before {
        width: 1.8vw;
        height: 1.8vw;
        left: 5vw; } }
  .linkBtn span {
    position: relative;
    z-index: 2;
    transition: .4s; }
  .linkBtn:hover {
    color: #fff; }
    .linkBtn:hover .-cover {
      transform: translate3d(0, 0, 0); }
    .linkBtn:hover::before {
      transform: scale(100); }

.moreLink {
  display: inline-flex;
  align-items: center;
  transition: .4s; }
  .moreLink::after {
    content: "";
    display: block;
    background: url("../img/common/icon_arrow01.svg") no-repeat;
    background-size: contain;
    width: 18px;
    height: 14px;
    margin: 0 0 0 14px;
    transition: .4s; }
    @media screen and (max-width: 750px) {
      .moreLink::after {
        width: 4.8vw;
        height: 3.73vw;
        margin: 0 0 0 3.73vw; } }
  .moreLink:hover {
    color: #1B4A99; }
    .moreLink:hover::after {
      transform: translateX(5px); }

.borderLink_list {
  display: flex; }
  @media screen and (max-width: 750px) {
    .borderLink_list {
      display: block; } }
  .borderLink_list li {
    width: 32%; }
    @media screen and (max-width: 750px) {
      .borderLink_list li {
        width: 100%; } }
    .borderLink_list li:not(:last-child) {
      margin: 0 3% 0 0; }
      @media screen and (max-width: 750px) {
        .borderLink_list li:not(:last-child) {
          margin: 0 0 6.6vw; } }

.borderLink {
  color: #1B4A99;
  border-bottom: 1px solid #ABC3EA;
  display: inline-flex;
  align-items: center; }
  .borderLink::after {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: url("../img/common/icon_arrow02.svg") no-repeat;
    background-size: contain;
    margin: 0 0 0 10px; }
    @media screen and (max-width: 750px) {
      .borderLink::after {
        width: 4.26vw;
        height: 4.26vw;
        margin: 0 0 0 2.6vw; } }

.-float {
  position: fixed;
  z-index: 999;
  right: 20px;
  bottom: 150px; }
  @media screen and (max-width: 750px) {
    .-float {
      right: 2.6vw;
      bottom: 23vw; } }

.btnList {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 750px) {
    .btnList {
      display: block; } }
  .btnList li:not(:last-child) {
    margin: 0 40px 0 0; }
    @media screen and (max-width: 750px) {
      .btnList li:not(:last-child) {
        margin: 0 0 6.6vw; } }

/* page */
.pageTitArea {
  margin: 0 0 50px;
  color: #1B4A99; }
  @media screen and (max-width: 750px) {
    .pageTitArea {
      margin: 0 0 13vw; } }

.page_subTit {
  font-weight: 700;
  font-size: 7rem;
  line-height: 1;
  margin: 0 0 0.2em; }
  @media screen and (max-width: 750px) {
    .page_subTit {
      font-size: 11.7vw; } }

.page_tit {
  font-size: 2rem; }
  @media screen and (max-width: 750px) {
    .page_tit {
      font-size: 5.3vw; } }

.page_content {
  padding: 0 0 200px; }
  @media screen and (max-width: 750px) {
    .page_content {
      padding: 0 0 58.6vw; } }
  .page_content .inner {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse; }
    @media screen and (max-width: 750px) {
      .page_content .inner {
        display: block; } }
  .page_content.-block .inner {
    display: block; }
  .page_content.-block .pageArticle {
    width: 100%; }
    @media screen and (min-width: 750px) {
      .page_content.-block .pageArticle {
        margin: 0; } }

.pageNav {
  width: 100%;
  font-size: 1.4rem;
  padding: 80px 0 0; }
  @media screen and (max-width: 750px) {
    .pageNav {
      font-size: 3.73vw;
      padding: 0;
      width: 84vw;
      margin: auto; } }
  .pageNav.-small {
    font-size: 1.1rem; }

@media screen and (min-width: 750px) {
  .pageNav_list {
    position: sticky;
    top: 90px; } }
.pageNav_list > li {
  border-bottom: 1px solid #E0E0E0;
  margin: 0 0 10px;
  padding: 10px 0; }
  @media screen and (max-width: 750px) {
    .pageNav_list > li {
      margin: 0 0 4vw;
      padding: 4vw 0;
      display: flex;
      align-items: flex-start;
      justify-content: space-between; } }
  .pageNav_list > li > a {
    display: inline-flex;
    align-items: center;
    transition: .4s; }
    .pageNav_list > li > a::before {
      content: "";
      display: block;
      width: 16px;
      height: 16px;
      background: url("../img/common/icon_arrow02.svg") no-repeat;
      background-size: contain;
      margin: 0 10px 0 0;
      transition: .4s;
      flex-shrink: 0; }
      @media screen and (max-width: 750px) {
        .pageNav_list > li > a::before {
          width: 4.2vw;
          height: 4.2vw;
          margin: 0 2.6vw 0 0; } }
    .pageNav_list > li > a.-current, .pageNav_list > li > a:hover {
      transition: .4s;
      color: #1B4A99; }
      .pageNav_list > li > a.-current::before, .pageNav_list > li > a:hover::before {
        background: url("../img/common/icon_arrow02_h.svg") no-repeat;
        background-size: contain; }
.pageNav_list .-big {
  font-size: 1.4rem;
  vertical-align: baseline; }

.pageNav_list_subList {
  margin: 10px 0 0 26px; }
  @media screen and (max-width: 750px) {
    .pageNav_list_subList {
      width: 14em;
      flex-shrink: 0;
      margin: 0 0 -4vw 1em;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; } }
  .pageNav_list_subList li {
    text-indent: -1.2em;
    padding-left: 1.2em; }
    @media screen and (max-width: 750px) {
      .pageNav_list_subList li {
        width: 49%;
        margin: 0 0 4vw; } }
    @media screen and (min-width: 750px) {
      .pageNav_list_subList li:not(:last-child) {
        margin: 0 0 10px; } }
    .pageNav_list_subList li::before {
      content: "-";
      display: inline-block;
      margin: 0 0.2em 0 0;
      text-indent: 0; }
  .pageNav_list_subList a {
    transition: .4s; }
    .pageNav_list_subList a:hover {
      color: #1B4A99; }

.pageArticle {
  width: 79%;
  flex-shrink: 0;
  margin: 0 0 0 40px; }
  @media screen and (max-width: 750px) {
    .pageArticle {
      width: 100%;
      margin: 0 0 20vw; } }

.sec:not(:last-child) {
  margin: 0 0 160px; }
  @media screen and (max-width: 750px) {
    .sec:not(:last-child) {
      margin: 0 0 17.3vw; } }

.sec_titArea {
  margin: 0 0 40px; }
  @media screen and (max-width: 750px) {
    .sec_titArea {
      margin: 0 0 10vw; } }

.sec_tit {
  color: #1B4A99;
  font-size: 1.8rem; }
  @media screen and (max-width: 750px) {
    .sec_tit {
      font-size: 4.8vw;
      margin: 0 0 0.3em; } }

.sec_subTit {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.5; }
  @media screen and (max-width: 750px) {
    .sec_subTit {
      font-size: 9.6vw;
      line-height: 1.1; } }

.sec_img {
  margin: 0 0 40px; }
  @media screen and (max-width: 750px) {
    .sec_img {
      margin: 0 0 10vw -5vw;
      width: 100vw; } }

.sec_txt {
  line-height: 2.2; }
  .sec_txt:not(:last-child) {
    margin: 0 0 40px; }
  .sec_txt p:not(:last-child) {
    margin: 0 0 2.5em; }
  .sec_txt .-primary {
    color: #1B4A99; }

@media screen and (max-width: 750px) {
  .sec_table {
    display: block;
    width: 100%; } }
.sec_table th {
  white-space: nowrap;
  width: 3em;
  padding: 3px 2.5em 3px 0; }
  @media screen and (max-width: 750px) {
    .sec_table th {
      display: block;
      width: 100%;
      padding: 2.6vw 0 1.3vw; } }
.sec_table td {
  padding: 3px 0; }
  @media screen and (max-width: 750px) {
    .sec_table td {
      display: block;
      width: 100%;
      padding: 0 0 2.6vw; } }

.deco_tit {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 20px;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 750px) {
    .deco_tit {
      font-size: 5.3vw;
      margin: 0 0 5vw; } }
  .deco_tit::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background: #1B4A99;
    margin: 0 0.3em 0 0; }
    @media screen and (max-width: 750px) {
      .deco_tit::before {
        width: 4.8vw;
        height: 4.8vw; } }

.circle_tit {
  font-size: 1.8rem;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 750px) {
    .circle_tit {
      font-size: 4.8vw;
      margin: 0 0 2.6vw; } }
  .circle_tit::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: #1B4A99;
    margin: 0 0.3em 0 0;
    border-radius: 50%; }
    @media screen and (max-width: 750px) {
      .circle_tit::before {
        width: 2.6vw;
        height: 2.6vw; } }

.bold_tit {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 0 0 0.6em;
  line-height: 1.5; }
  @media screen and (max-width: 750px) {
    .bold_tit {
      font-size: 5.3vw; } }

/* breadcrumb */
.breadcrumb {
  padding: 10px 0;
  font-size: 1.2rem;
  background: #E0E0E0; }
  @media screen and (max-width: 750px) {
    .breadcrumb {
      font-size: 3vw;
      padding: 2vw 0; } }

.breadcrumb__list {
  display: flex;
  flex-wrap: wrap; }
  .breadcrumb__list li {
    position: relative; }
    .breadcrumb__list li:not(:last-child) {
      margin: 0 3em 0 0; }
      .breadcrumb__list li:not(:last-child)::after {
        content: "＞";
        text-align: center;
        position: absolute;
        left: calc(100% + 1em);
        top: 0; }
  @media screen and (min-width: 750px) {
    .breadcrumb__list a {
      transition: .4s; }
      .breadcrumb__list a:hover {
        opacity: 1;
        color: #1B4A99; } }
