@charset "UTF-8";
/*
変数関係をまとめたファイル
 */
/*
色に関して記述しているファイル
色に関して、ここで宣言をしたものを利用する様にする
*/
:root {
  --color-font-default: #262924;
  --color-font-black: #000000;
  --color-font-white: #fff;
  --color-font-light-green: #E2F1D5;
  --color-font-gray: #979797;
  --color-font-dark-gray: #6F6F6F;
  --color-font-dark-gray2: #7F7F7F;
  --color-font-dark-gray3: #828282;
  --color-font-light-gray: #F2F2F2;
  --color-font-light-gray2: #F4F4F4;
  --color-font-light-gray3: #BDBDBD;
  --color-font-red: #FA6767;
  --color-font-green: #6eb92b;
  --color-bg-default: #fff;
  --color-bg-green: #6eb92b;
  --color-bg-light-green: #F3F9EE;
  --color-bg-light-gray: #F7F7F7;
  --color-bg-light-gray2: #F8F8F8;
  --color-bg-gray: #979797;
  --color-bg-black: #262924;
  --color-button-default: #000;
  --color-stroke-default: #121830;
  --color-stroke-gray: #BDBDBD;
  --color-stroke-dark-gray: #979797;
  --color-stroke-light-gray: #EAEAEA;
  --color-stroke-light-gray2: #EEEEEE;
  --color-stroke-light-gray3: #e0e0e0;
  --color-stroke-black: #000000;
  --color-stroke-black2: #262924;
  --color-stroke-white: #ffffff;
  --color-stroke-twitter: #20A1F1;
  --color-stroke-facebook: #405992;
  --color-stroke-green: #6eb92b;
}

/*
ブレイクポイントに関して記述しているファイル
下のブレイクポイントの設定を変更するときは必ずPMに一声かける
 */
/* ブレイクポイントの設定 min~max */
/* mq-target:指定してメディアクエリのみに適用 */
/* mq:指定より小さい画面に適用 */
.page-archive-solutions {
  overflow: hidden;
}

.page-archive-solutions > .solutions > .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 56px;
  padding-bottom: 77px;
}

@media screen and (max-width: 896px) {
  .page-archive-solutions > .solutions > .container {
    display: block;
    padding-top: 58px;
    padding-bottom: 0;
  }
}

.page-archive-solutions > .solutions > .container > .main {
  -webkit-box-flex: 0;
  -ms-flex: 0 2 840px;
  flex: 0 2 840px;
  padding-right: 24px;
}

@media screen and (max-width: 896px) {
  .page-archive-solutions > .solutions > .container > .main {
    padding-right: 0;
    padding-bottom: 82px;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .ttl {
  font-size: 42px;
  line-height: 180%;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 896px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .ttl {
    font-size: 32px;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .desc {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.6em;
}

@media screen and (max-width: 896px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .desc {
    margin-top: 16px;
    font-size: 14px;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-transform: translateX(-27px);
  transform: translateX(-27px);
  width: calc(100% + 54px);
  max-width: 888px;
  margin-top: 45px;
}

@media screen and (max-width: 1080px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions {
    -webkit-transform: translateX(-12px);
    transform: translateX(-12px);
    width: calc(100% + 24px);
  }
}

@media screen and (max-width: 896px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions {
    -webkit-transform: translateX(-22px);
    transform: translateX(-22px);
    width: calc(100% + 44px);
    margin-top: 32px;
  }
}

@media screen and (max-width: 640px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions {
    -webkit-transform: none;
    transform: none;
    display: block;
    width: 100%;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution {
  width: 50%;
  padding: 27px;
}

@media screen and (max-width: 1080px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution {
    padding: 12px;
  }
}

@media screen and (max-width: 896px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution {
    padding: 16px;
  }
}

@media screen and (max-width: 640px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution {
    width: 100%;
    padding: 16px 0;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont {
  height: 100%;
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link {
  display: block;
  padding: 28px 20px;
  text-align: center;
  background-color: var(--color-bg-default);
  -webkit-box-shadow: 0 3px 48px rgba(46, 46, 46, 0.1);
  box-shadow: 0 3px 48px rgba(46, 46, 46, 0.1);
  border-radius: 20px;
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link {
    text-align: left;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos {
  display: block;
  width: 100%;
  max-width: 340px;
  margin: auto;
}

@media screen and (max-width: 640px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: none;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-icon {
  position: relative;
  width: 117px;
  margin: auto;
  border-radius: 50%;
  overflow: hidden;
}

@media screen and (max-width: 896px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-icon {
    width: 92px;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-icon::before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 100%;
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-icon > .solution-icon-img {
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
  width: 100%;
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-txts {
  padding-left: 0;
}

@media screen and (max-width: 640px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-txts {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 12px;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-txts > .solution-ttl {
  margin-top: 12px;
  font-size: 24px;
  line-height: 160%;
}

@media screen and (max-width: 896px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-txts > .solution-ttl {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) {
  .page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-txts > .solution-ttl {
    margin-top: 0;
  }
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-infos > .solution-txts > .solution-txt {
  margin-top: 6px;
  font-size: 12px;
  line-height: 160%;
  color: var(--color-font-dark-gray);
}

.page-archive-solutions > .solutions > .container > .main > .solutions-list > .solutions > .solution > .solution-cont > .solution-link > .solution-thumb {
  padding-top: 29px;
}
