@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
主な事業内容
---------------------------------------------------------------------------------------------------------------------
*/
#business {
  max-width: 1200px;
  margin: auto;
  width: 90%;
  padding: 80px 0 0 0; }
  @media (min-width: 1200px) {
    #business {
      padding: 160px 0 0 0; } }
  #business .overview {
    margin-top: 40px; }
    @media (min-width: 1200px) {
      #business .overview {
        width: 50%;
        margin-top: 80px; } }
  @media (min-width: 1024px) {
    #business .business-grid {
      margin: 0 -30px; } }
  #business .business-grid ul {
    display: grid;
    align-items: start;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 40px; }
    @media (min-width: 1024px) {
      #business .business-grid ul {
        grid-template-columns: repeat(4, 1fr); } }
    @media (min-width: 1200px) {
      #business .business-grid ul {
        margin-top: 80px; } }
    #business .business-grid ul li {
      display: flex;
      margin-bottom: 30px;
      border-bottom: 1px solid #000;
      padding-bottom: 30px; }
      #business .business-grid ul li:last-child {
        margin-bottom: 0;
        border-bottom: none; }
      @media (min-width: 1024px) {
        #business .business-grid ul li {
          text-align: center;
          border-right: 1px solid #000000;
          padding: 0 30px;
          height: 100%;
          margin-bottom: 0;
          border-bottom: none;
          display: block; }
          #business .business-grid ul li:last-child {
            border-right: none; } }
      #business .business-grid ul li img {
        width: 60px; }
        @media (min-width: 1024px) {
          #business .business-grid ul li img {
            width: 100px; } }
      #business .business-grid ul li .txt {
        width: calc(100% - 80px);
        padding-left: 8%; }
        @media (min-width: 1024px) {
          #business .business-grid ul li .txt {
            text-align: center;
            margin-top: 10px;
            width: 100%;
            padding-left: 0; } }
        @media (min-width: 1200px) {
          #business .business-grid ul li .txt {
            margin-top: 20px; } }
        #business .business-grid ul li .txt h3 {
          font-size: 1.0em;
          line-height: 1.2em; }
          @media (min-width: 768px) {
            #business .business-grid ul li .txt h3 {
              font-size: 1.125em; } }
          @media (min-width: 1200px) {
            #business .business-grid ul li .txt h3 {
              font-size: 1.3em; } }
        #business .business-grid ul li .txt p {
          margin-top: 10px; }
          @media (min-width: 1200px) {
            #business .business-grid ul li .txt p {
              margin-top: 20px; } }

/*
---------------------------------------------------------------------------------------------------------------------
データで知る帯広しんきん
---------------------------------------------------------------------------------------------------------------------
*/
#data {
  padding: 60px 0 0 0; }
  @media (min-width: 1024px) {
    #data {
      padding: 0 0 0 0;
      margin-top: 80px; } }
  @media (min-width: 1200px) {
    #data {
      margin-top: 120px; } }
  #data .data-in {
    background: linear-gradient(135deg, #4ACEFF, #15E5AD);
    max-width: 1600px;
    padding: 40px 0 30px 0;
    border-radius: 10px;
    margin: auto; }
    @media (min-width: 1024px) {
      #data .data-in {
        border-radius: 20px;
        padding: 80px 0 30px 0; } }
    @media (min-width: 1200px) {
      #data .data-in {
        padding: 120px 0 60px 0; } }
  #data .data-contact {
    max-width: 1200px;
    margin: auto;
    width: 90%; }
  @media (min-width: 768px) {
    #data .data-title {
      display: flex;
      justify-content: space-between; } }
  @media (min-width: 768px) {
    #data .data-title .txt-area {
      width: 50%; } }
  #data .data-title .txt-area .txt {
    margin-top: 20px; }
    @media (min-width: 1200px) {
      #data .data-title .txt-area .txt {
        margin-top: 40px; } }
  #data .data-title .tokarin {
    width: 70%;
    max-width: 350px;
    margin-left: auto; }
    @media (min-width: 768px) {
      #data .data-title .tokarin {
        width: 45%; } }
  #data .dara-contents {
    margin-top: 20px; }
    @media (min-width: 768px) {
      #data .dara-contents {
        margin-top: 40px; } }
    @media (min-width: 1024px) {
      #data .dara-contents {
        margin-top: 60px; }
        #data .dara-contents .o-4column .col-xl-4 {
          padding: 0 10px; }
        #data .dara-contents .o-4column {
          margin: 0 -10px; }
        #data .dara-contents .o-4column .col-xl-8 {
          padding: 0 10px; }
        #data .dara-contents .o-4column {
          margin: 0 -10px; } }
    @media (min-width: 1200px) {
      #data .dara-contents .o-4column .col-xl-4 {
        padding: 0 15px; }
      #data .dara-contents .o-4column {
        margin: 0 -15px; }
      #data .dara-contents .o-4column .col-xl-8 {
        padding: 0 15px; }
      #data .dara-contents .o-4column {
        margin: 0 -15px; } }
    #data .dara-contents .o-4column .wrapHeight {
      margin-bottom: 15px; }
      @media (min-width: 768px) {
        #data .dara-contents .o-4column .wrapHeight {
          margin-bottom: 20px; } }
      @media (min-width: 1200px) {
        #data .dara-contents .o-4column .wrapHeight {
          margin-bottom: 30px; } }
  #data .data-box {
    position: relative;
    height: auto;
    background-color: #fff;
    border-radius: 10px;
    width: 100%; }
    @media (min-width: 992px) {
      #data .data-box {
        border-radius: 20px;
        height: 300px; } }
    @media (min-width: 1200px) {
      #data .data-box {
        height: 340px; } }
    #data .data-box .title {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 15px; }
      @media (min-width: 992px) {
        #data .data-box .title {
          position: absolute;
          top: 30px;
          left: 5%;
          right: 5%;
          margin-top: 0; } }
      #data .data-box .title img {
        width: 34px;
        margin-right: 10px; }
        @media (min-width: 768px) {
          #data .data-box .title img {
            width: 40px; } }
      #data .data-box .title h3 {
        font-size: 1em;
        line-height: 1.3em; }
        @media (min-width: 768px) {
          #data .data-box .title h3 {
            font-size: 1.25em; } }
        @media (min-width: 1200px) {
          #data .data-box .title h3 {
            font-size: 1.5em; } }
    #data .data-box .founding {
      padding: 20px; }
      @media (min-width: 992px) {
        #data .data-box .founding {
          padding: 100px 0 0 0; } }
      #data .data-box .founding .txt {
        padding: 10px 5% 0; }
        #data .data-box .founding .txt p {
          line-height: 1.6em;
          text-align: justify; }
    #data .data-box ul.share {
      display: flex;
      padding: 20px 10px 0; }
      @media (min-width: 768px) {
        #data .data-box ul.share {
          padding: 40px;
          align-items: center; } }
      @media (min-width: 992px) {
        #data .data-box ul.share {
          height: 100%; } }
      #data .data-box ul.share li {
        position: relative;
        width: 33.3333%;
        margin-right: 5px; }
        @media (min-width: 768px) {
          #data .data-box ul.share li {
            margin-right: 10px; } }
        @media (min-width: 1200px) {
          #data .data-box ul.share li {
            margin-right: 20px; } }
        #data .data-box ul.share li:last-child {
          margin-right: 0; }
        #data .data-box ul.share li .share-txt {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          display: flex;
          align-items: center;
          justify-content: center; }
          #data .data-box ul.share li .share-txt h3 {
            font-size: 0.8em;
            font-weight: 700;
            line-height: 1.0em;
            text-align: center;
            margin: 0 0 10px 0; }
            @media (min-width: 768px) {
              #data .data-box ul.share li .share-txt h3 {
                font-size: 1.25em; } }
            @media (min-width: 1200px) {
              #data .data-box ul.share li .share-txt h3 {
                font-size: 1.5em; } }
          #data .data-box ul.share li .share-txt h5 {
            position: relative;
            top: -5px;
            left: 2px;
            font-size: 0.9em; }
            @media (min-width: 768px) {
              #data .data-box ul.share li .share-txt h5 {
                top: -16px;
                font-size: 1.2em; } }
    #data .data-box ul.capabilities {
      max-width: 400px;
      width: 90%;
      margin: 20px auto 0; }
      @media (min-width: 992px) {
        #data .data-box ul.capabilities {
          margin: 80px auto 0; } }
      #data .data-box ul.capabilities li {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid #CBCBCB;
        margin-bottom: 10px;
        padding-bottom: 10px; }
        #data .data-box ul.capabilities li:last-child {
          margin-bottom: 0;
          border-bottom: none; }
    #data .data-box .number {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 15px; }
      @media (min-width: 992px) {
        #data .data-box .number {
          height: 100%; } }
      #data .data-box .number p, #data .data-box .number h3 {
        font-size: 0.8em;
        font-weight: normal;
        font-feature-settings: "palt";
        letter-spacing: 0.04em;
        line-height: 1.4em; }
        @media (min-width: 1200px) {
          #data .data-box .number p, #data .data-box .number h3 {
            font-size: 0.9em; } }
      #data .data-box .number .number-ph {
        width: 80%;
        max-width: 260px;
        margin: auto; }
      #data .data-box .number .number-in2 {
        margin-right: 20px; }
        #data .data-box .number .number-in2:last-child {
          margin-right: 0; }
      #data .data-box .number h3 {
        text-align: center;
        margin: 0 0 10px 0; }
      #data .data-box .number p {
        text-align: center;
        margin: 5px 0 0 0; }
    #data .data-box .data-txt {
      display: flex;
      align-items: flex-end;
      justify-content: center; }
      #data .data-box .data-txt.small h4 {
        font-size: 2em;
        line-height: 0.8em; }
        @media (min-width: 768px) {
          #data .data-box .data-txt.small h4 {
            font-size: 3em; } }
        @media (min-width: 1200px) {
          #data .data-box .data-txt.small h4 {
            font-size: 4em; } }
      #data .data-box .data-txt.small2 h4 {
        font-size: 2em;
        line-height: 0.8em; }
        @media (min-width: 768px) {
          #data .data-box .data-txt.small2 h4 {
            font-size: 4em; } }
        @media (min-width: 1200px) {
          #data .data-box .data-txt.small2 h4 {
            font-size: 5em; } }
      #data .data-box .data-txt h4 {
        font-family: 'Montserrat', sans-serif;
        font-style: italic;
        font-weight: bold;
        font-size: 2.5em;
        line-height: 0.8em; }
        @media (min-width: 768px) {
          #data .data-box .data-txt h4 {
            font-size: 4em; } }
        @media (min-width: 1200px) {
          #data .data-box .data-txt h4 {
            font-size: 5em; } }
        #data .data-box .data-txt h4 span {
          font-size: 0.5em; }
      #data .data-box .data-txt h5 {
        font-size: 1.125em;
        line-height: 1.2em; }
        @media (min-width: 768px) {
          #data .data-box .data-txt h5 {
            font-size: 1.3em; } }
        @media (min-width: 1200px) {
          #data .data-box .data-txt h5 {
            font-size: 1.6em; } }
    #data .data-box .year {
      text-align: center;
      margin: 15px auto 10px; }
      @media (min-width: 992px) {
        #data .data-box .year {
          position: absolute;
          bottom: 15px;
          left: 0;
          right: 0;
          margin: auto; } }
      #data .data-box .year h6 {
        font-size: 0.7em;
        font-weight: normal;
        line-height: 1.4em; }
        @media (min-width: 768px) {
          #data .data-box .year h6 {
            font-size: 0.8em; } }
        @media (min-width: 1200px) {
          #data .data-box .year h6 {
            font-size: 0.9em; } }

.progress-ring1 {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: conic-gradient(#CBCBCB 0deg, #CBCBCB 0deg, #8BE4FF 0deg, #15E5AD 185deg, #CBCBCB 185deg, #CBCBCB 360deg); }
  .progress-ring1::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 90%;
    background-color: #fff;
    border-radius: 50%; }

.progress-ring2 {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: conic-gradient(#CBCBCB 0deg, #CBCBCB 0deg, #8BE4FF 0deg, #15E5AD 150deg, #CBCBCB 150deg, #CBCBCB 360deg); }
  .progress-ring2::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 90%;
    background-color: #fff;
    border-radius: 50%; }

.circle-ring {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: conic-gradient(#11E5AD 0deg, #11E5AD 150deg, #4ACEFF 150deg, #4ACEFF 360deg); }
  .circle-ring::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 84%;
    height: 84%;
    background-color: #fff;
    border-radius: 50%; }

.gender-chart {
  position: relative;
  top: 5px;
  display: flex;
  align-items: center; }
  @media (min-width: 992px) {
    .gender-chart {
      position: absolute;
      top: 30px;
      bottom: 0;
      left: 0;
      right: 0; } }
  .gender-chart .gender-ring {
    position: relative;
    width: 140px;
    margin: 0 auto; }
    @media (min-width: 1200px) {
      .gender-chart .gender-ring {
        width: 55%; } }
  .gender-chart .gender-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 46%;
    text-align: center; }
  .gender-chart .gender-side {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center; }
    @media (min-width: 992px) {
      .gender-chart .gender-side {
        top: auto; } }
    .gender-chart .gender-side.side-male {
      left: calc(50% - 125px);
      bottom: 0;
      color: #4ACEFF; }
      @media (min-width: 768px) {
        .gender-chart .gender-side.side-male {
          left: calc(50% - 135px); } }
      @media (min-width: 1200px) {
        .gender-chart .gender-side.side-male {
          left: calc(50% - 170px); } }
    .gender-chart .gender-side.side-female {
      right: calc(50% - 125px);
      bottom: 0;
      color: #11E5AD; }
      @media (min-width: 768px) {
        .gender-chart .gender-side.side-female {
          right: calc(50% - 135px); } }
      @media (min-width: 1200px) {
        .gender-chart .gender-side.side-female {
          right: calc(50% - 170px); } }
    .gender-chart .gender-side .chart-icon {
      width: 18px;
      margin: 0 auto 6px; }
      @media (min-width: 768px) {
        .gender-chart .gender-side .chart-icon {
          width: 20px;
          margin-bottom: 8px; } }
    .gender-chart .gender-side h3 {
      font-size: 0.9em;
      font-weight: 700;
      line-height: 1.2em;
      margin: 0 0 4px 0; }
      @media (min-width: 768px) {
        .gender-chart .gender-side h3 {
          font-size: 1.0em;
          margin-bottom: 6px; } }
    .gender-chart .gender-side h4 {
      font-family: 'Montserrat', sans-serif;
      font-style: italic;
      font-size: 1.8em;
      font-weight: 700;
      line-height: 1.0em;
      margin: 0; }
      @media (min-width: 768px) {
        .gender-chart .gender-side h4 {
          font-size: 2.2em; } }
      .gender-chart .gender-side h4 span {
        font-size: 0.5em; }
