@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
body {
  min-width: 1120px;
  max-height: 100%;
  color: #000000;
  width: 100%;
  max-height: 100%;
  margin: auto;
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "YuGo_custom", Meiryo, sans-serif;
  overflow-x: hidden; }
  _:-ms-fullscreen, :root body {
    /* IE11以上 */
    width: 100%;
    overflow-x: hidden; }

section {
  padding-top: 90px; }
section.top_section { /* 20220401 */
  padding-top: 0; }
}

h1,
h2,
h3,
h4 {
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "YuGo_custom", Meiryo, sans-serif;
  font-weight: 600; }

h1 {
  font-size: 150px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #152b78;
  font-weight: normal; }

h2 {
  font-size: 34px; }

h3 {
  font-size: 26px; }

p {
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "YuGo_custom", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.5; }

header {
  width: 100%;
  margin: 30px auto 80px; }
  header h2 {
    text-align: center;
    font-size: 34px;
    padding-bottom: 50px;
    position: relative;
    line-height: 1.5; }
    header h2::after {
      position: absolute;
      content: '';
      width: 35px;
      height: 1px;
      background: #000;
      transform: translateX(-50%);
      left: 50%;
      bottom: 0; }

.inner {
  width: 1120px;
  margin: 0 auto; }

.flex {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.ali_fs {
  align-items: flex-start; }

.justify_between {
  justify-content: space-between !important; }

figure {
  width: auto; }
  figure img {
    width: 100%; }

dl,
ol,
ul {
  font-size: 15px;
  line-height: 1.5; }

table {
  font-size: 15px;
  line-height: 1.5; }

a {
  display: inline-block;
  width: 100%;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  transition: .6s;
  text-decoration: none;
  cursor: pointer; }
  a:hover {
    opacity: .5; }

a.line {
  text-decoration: underline; }

.bg_gray {
  position: relative; }
  .bg_gray::before {
    content: '';
    background: #f0f2f3;
    transform: skewY(-5deg);
    width: 100% !important;
    height: 104%;
    position: absolute;
    z-index: -1;
    /*position: absolute;
    top: 13%;
    left: 0;
    width: 148%;
    height: 100%;
    margin: 3% -26% 0;
    background: $color-bg;
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    -webkit-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    transform: rotate(-5deg);
    z-index: -1;*/ }

.btn {
  width: 180px;
  background: #2a2a2a; }
  .btn a {
    text-align: center;
    color: #ffffff;
    padding: 25px 0;
    font-size: 14px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center; }

.contact_right .btn a {
  padding: 25px 0;
  line-height: 1.5; }

.box {
  display: flex;
  justify-content: space-between;
  flex-direction: column; }

.btn_og {
  background: #f96f00; }

.btn_blue {
  background: #152b78; }

.btn_bk {
  width: 330px;
  background: #000;
  margin: 0 auto;
  position: relative; 
}
  .btn_bk::after {
    position: absolute;
    content: '';
    width: 22px;
    height: 1px;
    background: #ffffff;
    right: 32px;
    top: 50%;
    transform: translateY(-50%); }
  .btn_bk::before {
    position: absolute;
    content: '';
    width: 7px;
    height: 1px;
    background: #ffffff;
    right: 32px;
    top: 45%;
    transform: translateY(-50%) rotate(45deg); }
  .btn_bk a {
    color: #ffffff;
    font-size: 16px;
    text-align: center;
    padding: 20px 0; }
.button {
  display: inline-block;
  background-color: #2a2a2a;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  padding: 1em;
  width: 330px;
  position: relative;
  z-index: 10;
}

.txt_cnt {
  margin: 70px auto; }
  .txt_cnt p {
    text-align: center;
    font-size: 18px; }
  .txt_cnt p + p {
    margin-top: 30px; }

.nmbling {
  justify-content: flex-start; }
  .nmbling .nmb_txt {
    width: 95px;
    margin-right: 32px; }
    .nmbling .nmb_txt p {
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      font-size: 14px;
      color: #152b78; }
    .nmbling .nmb_txt p + p {
      margin-top: 5px; }

.hidePc {
  display: none; }

.common-sns {
  position: relative;
  padding: 10em 0;
  margin: 0 0 5em; }
  .common-sns::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img_new2/top/sec09_bg.jpg) center/cover;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: skewY(-3deg);
    -ms-transform: skewY(-3deg);
    transform: skewY(-3deg);
    z-index: -1; }
  .common-sns::after {
    position: absolute;
    content: '';
    background: rgba(0, 0, 0, 0.6);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: skewY(-3deg);
    -ms-transform: skewY(-3deg);
    transform: skewY(-3deg);
    z-index: -1; }
  .common-sns .inner_cnt {
    width: 100%;
    max-width: 750px;
    justify-content: center; }
    .common-sns .inner_cnt .box {
      justify-content: center;
      align-items: center;
      flex-direction: row;
      margin: 10px 30px; }
      .common-sns .inner_cnt .box p {
        font-size: 20px;
        color: #ffffff; }
      .common-sns .inner_cnt .box .icon_box {
        width: 100px;
        margin-left: 15px; }
        .common-sns .inner_cnt .box .icon_box figure {
          width: 40px; }

.common-contact {
  margin-bottom: 80px;
  text-align: center; }
  .common-contact .inner {
    justify-content: center; }
    .common-contact .inner .contact_left {
      max-width: 360px;
      margin-right: 60px;
      justify-content: flex-end; }
      .common-contact .inner .contact_left figure {
        width: 40px;
        margin-right: 15px; }
      .common-contact .inner .contact_left p {
        font-size: 44px;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        line-height: 1.2; }
      .common-contact .inner .contact_left span {
        width: 100%;
        display: inline-block;
        font-size: 14px;
        text-align: right; }
    .common-contact .inner .contact_right {
      justify-content: center; }
      .common-contact .inner .contact_right .btn {
        width: 220px; }
        .common-contact .inner .contact_right .btn.btn_blue {
          margin-right: 0; }

.txt_red {
  color: #f00; }

#page_top {
  position: fixed;
  bottom: 30px;
  right: 20px; }

#page_top a {
  background-color: #000;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 20px 10px;
  position: relative; }
  #page_top a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-bottom: 30px solid black;
    position: absolute;
    top: -20px;
    right: -15px; }

#page_top a:hover {
  text-decoration: none; }

.ssl_isms {
  text-align: center; }
  .ssl_isms .flex {
    justify-content: center; }

.breadcramb {
  position: relative;
  width: 100%; }
  @media screen and (max-width: 768px) {
    .breadcramb {
      display: none; } }
  .breadcramb .breadcramb__inner {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px 0;
    padding-left: 20px;
    margin: 0 auto;
    z-index: 9; }
    .breadcramb .breadcramb__inner .breadcramb__item {
      position: relative; }
      .breadcramb .breadcramb__inner .breadcramb__item:nth-of-type(n + 2) {
        margin-left: 13px;
        padding-left: 25px; }
        .breadcramb .breadcramb__inner .breadcramb__item:nth-of-type(n + 2):before {
          display: block;
          position: absolute;
          content: '／';
          font-size: 0.75rem;
          line-height: 1.0;
          top: calc(50% - 0.6em);
          left: 0;
          width: 1em;
          height: 1em; }
      .breadcramb .breadcramb__inner .breadcramb__item .breadcramb__text {
        position: relative;
        display: block;
        font-size: 0.75rem;
        line-height: 1;
        letter-spacing: -0.01em;
        transition: opacity 0.4s cubic-bezier(0.075, 0.82, 0.165, 1); }
        .breadcramb .breadcramb__inner .breadcramb__item .breadcramb__text:before {
          display: block;
          position: absolute;
          content: '';
          background: #b5b5b5;
          bottom: -2px;
          left: 0;
          width: 100%;
          height: 1px;
          transition: opacity 0.4s cubic-bezier(0.075, 0.82, 0.165, 1); }
        .breadcramb .breadcramb__inner .breadcramb__item .breadcramb__text .breadcramb__text:before {
          display: block;
          position: absolute;
          content: '';
          background: #b5b5b5;
          bottom: -2px;
          left: 0;
          width: 100%;
          height: 1px;
          transition: opacity 0.4s cubic-bezier(0.075, 0.82, 0.165, 1); }
      .breadcramb .breadcramb__inner .breadcramb__item:last-of-type .breadcramb__text:before {
        content: none; }

@media screen and (max-width: 768px) {
  body {
    min-width: 320px; }

  .inner {
    width: 100%;
    padding: 0 10px; }

  section {
    padding-top: 40px; }

  header {
    margin: 10px auto 40px; }
    header h2 {
      font-size: 20px;
      padding-bottom: 10px; }

  img,
  video {
    width: 100%;
    height: auto; }

  .nmbling .nmb_txt {
    width: 60px;
    margin-right: 0; }
    .nmbling .nmb_txt p {
      font-size: 10px; }
    .nmbling .nmb_txt p + p {
      margin-top: 0; }

  h1 {
    font-size: 62px; }

  .txt_cnt {
    margin: 0 auto 40px; }
    .txt_cnt p {
      font-size: 14px; }
    .txt_cnt p + p {
      margin-top: 20px; }

  h3 {
    font-size: 18px; }

  .btn_bk {
    width: 80%;
    margin-bottom: 50px; }
    .btn_bk a {
      font-size: 14px; }

  .tel,
  .tel img {
    pointer-events: auto; }

  .hideSp {
    display: none; }

  .hidePc {
    display: block; }

  .common-contact .inner .contact_left {
    margin: 10px; }

  .common-contact .inner .contact_left {
    justify-content: center; }
    .common-contact .inner .contact_left span {
      font-size: 13px;
      text-align: center; }
    .common-contact .inner .contact_left a {
      font-size: 80%; }
  .common-contact .inner .contact_right .btn.btn_og {
    margin-right: 10px; }

  .ssl_isms .flex {
    margin-bottom: 20px; } }
@media screen and (max-width: 424px) {
  .common-sns .inner_cnt .box {
    flex-direction: column; }
    .common-sns .inner_cnt .box .icon_box {
      margin-left: 0px;
      margin-top: 10px; } }

/* 202203 addition */

.sec_slash_line .sec_slash_line_cont {
    max-width: 585px;
    padding: 180px 50px;
    position: relative;
}

.sec_slash_line .sec_slash_line_cont::before, .sec_slash_line_cont::after {
  content: '';
  width: 7px;
  height: 200px;
  background: #152b78;
  transform: rotate(30deg);
  transform-origin: left bottom;
  position: absolute;
}
.sec_slash_line .sec_slash_line_cont::before {
      top: 0;
      left: 0; }
.sec_slash_line .sec_slash_line_cont::after {
      bottom: 0;
      right: 20%; }
.sec_slash_line .sec_slash_line_cont h2 {
      line-height: 1.5;
      margin-bottom: 45px; }

.slash_surround {
    padding: 180px 50px;
    position: relative;
}

.slash_surround::before, .slash_surround::after {
  content: '';
  width: 7px;
  height: 200px;
  background: #152b78;
  transform: rotate(30deg);
  transform-origin: left bottom;
  position: absolute;
}
.slash_surround::before {
      top: 0;
      left: 0; }
.slash_surround::after {
      bottom: 0;
      right: 20%; }
/*
.slash_surround h2 {
      line-height: 1.5;
      margin-bottom: 45px; }
*/

.cmn_list_cont {
    width: 100%;
    background: #ffffff;
    box-shadow: 0 0 3px rgba(122, 119, 119, 0.2), 15px 15px 0 #d2d2d2;
    padding: 70px 50px 50px;
}
.cmn_list_cont dl {
      font-size: 18px;
      line-height: 1.8;
      letter-spacing: .1em; 
      width: 88%;
      margin: 0 auto 0; }
.cmn_list_cont dl dt {
      font-size: 20px;
      color: #152b78;
      font-weight: 600;
      margin-top: 50px; }
.cmn_list_cont dl dt:nth-of-type(1) {
      margin-top: 0; }
.cmn_list_cont dl dt span {
      color: #000000;
      font-weight: 600; }
.cmn_list_cont dl dd {
      color: #000000;
}

div.overlap div {
  max-width: 1030px;
  margin-top: -50px; }


ol.list_parentheses{
  list-style-type:none;
  margin-left: 0; 
}
ol.list_parentheses > li{
  counter-increment: cnt;
}
ol.list_parentheses > li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
  display: inline-block;
  margin-left: -2.5em;
  padding-left: 1em;
  width: 3em; 
}

ol.list_numbered {
     list-style-type: decimal;
}

ul.list_dotted {
     list-style-type: disc;
}

/* added 2024.01.06 */
strong, b {
  font-weight: bold;
}

/* added 2025.04.01 */
.mt-l {
  margin-top: 8rem !important;
}

.mt-m {
  margin-top: 4rem !important;
}

.mt-s {
  margin-top: 2rem !important;
}

.mt-none {
  margin-top: 0 !important;
}

.pt-l {
  padding-top: 8rem !important;
}

.pt-m {
  padding-top: 4rem !important;
}

.pt-s {
  padding-top: 2rem !important;
}

.pt-none {
  padding-top: 0 !important;
}

.pb-l {
  padding-bottom: 8rem !important;
}

.pb-m {
  padding-bottom: 4rem !important;
}

.pb-s {
  padding-bottom: 2rem !important;
}

.pb-none {
  padding-bottom: 0 !important;
}

p.indent {
  text-indent: -1em;
  padding-left: 1em;
}

div.center {
    margin: 0 auto;
    text-align: center;
}


@media screen and (min-width: 1061px) {
  .header_hidePc {
    display: none; }
  .header_hideSp {
    display: block; }
}
@media screen and (max-width: 1060px) {
  .header_hideSp {
    display: none; }
  .header_hidePc {
    display: block; }
}
