@charset "UTF-8";
.l {
  display: none !important; }
  @media only screen and (min-width: 768px), print {
    .l {
      display: block !important; } }

.s {
  display: none !important; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    .s {
      display: block !important; } }

#redsuite * {
  box-sizing: border-box; }
@media only screen and (min-width: 1px) and (max-width: 767px) {
  #redsuite .Section {
    padding: 0 15px; } }
#redsuite h2 {
  background: none;
  border: none;
  font-size: 28px;
  padding: 10px; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite h2 {
      font-size: 28;
      line-height: 34px; } }
#redsuite .TextStyle1 {
  font-size: 16px;
  line-height: 25px; }
#redsuite .BlockReadText {
  font-size: 18px;
  line-height: 27px; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .BlockReadText {
      font-size: 16px;
      text-align: left !important;
      padding: 0 5px; } }
#redsuite .ImgOnlyStyle img {
  max-width: 100%;
  height: auto; }
#redsuite .first_area {
  position: relative;
  background: url(/-/media/ind/redisuite/image/bg_mainimage.png) center top no-repeat #90dbb8; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .first_area {
      background: url(/-/media/ind/redisuite/image/bg_mainimage_sp.png) center top #90dbb8;
      background-size: cover; } }
  #redsuite .first_area .Grid4 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 660px; }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .first_area .Grid4 {
        height: 365px; } }
  #redsuite .first_area .first_area_content {
    font-weight: bold;
    color: #4d4d4d;
    position: relative;
    text-align: center;
    z-index: 3; }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .first_area .first_area_content {
        width: 100%;
        padding: 25px 25px 0;
        word-break: break-word; } }
    #redsuite .first_area .first_area_content h1 {
      font-size: 36px;
      font-weight: bold; }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .first_area .first_area_content h1 {
          font-size: 20px;
          line-height: 28px; } }
    #redsuite .first_area .first_area_content p {
      font-size: 28px;
      line-height: 36px; }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .first_area .first_area_content p {
          font-size: 16px;
          line-height: 22px; } }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .first_area .first_area_content img {
        width: 100%; } }
#redsuite .sec01 {
  padding-bottom: 30px;
  background: url(/-/media/ind/redisuite/image/bg_border01.png) left top repeat #f8f8f8; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec01 {
      padding-bottom: 100px; } }
  #redsuite .sec01 .sec01List {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (min-width: 768px), print {
      #redsuite .sec01 .sec01List {
        justify-content: space-between;
        padding: 115px 40px 60px; } }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .sec01 .sec01List {
        justify-content: center;
        padding: 30px; } }
    #redsuite .sec01 .sec01List li {
      position: relative;
      border-radius: 15px;
      background: #fff;
      width: 250px;
      min-height: 275px;
      padding: 40px 25px 30px;
	  font-weight: bold; }
	  #redsuite .sec01 .sec01List li p a:link,
	  #redsuite .sec01 .sec01List li p a:visited {
		  color: #333333;
	  }
      @media only screen and (min-width: 768px) and (max-width: 880px) {
        #redsuite .sec01 .sec01List li {
          width: calc(33.3% - 10px); } }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec01 .sec01List li {
          text-align: center;
          width: 100%;
          min-width: 225px;
          margin-top: 60px; }
          #redsuite .sec01 .sec01List li:first-child {
            margin-top: 30px; } }
      #redsuite .sec01 .sec01List li .ImgOnlyStyle {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 120px; }
        @media only screen and (min-width: 1px) and (max-width: 767px) {
          #redsuite .sec01 .sec01List li .ImgOnlyStyle + p {
            display: inline-block;
            text-align: left;
            margin-top: 10px; } }
      #redsuite .sec01 .sec01List li:before {
        content: "";
        display: inline-block;
        width: 60px;
        height: 60px;
        position: absolute;
        top: 0;
        left: -15px;
        background: url(/-/media/ind/redisuite/image/ico_check.png) center center no-repeat; }
  @media only screen and (min-width: 768px), print {
    #redsuite .sec01 .textWrap {
      width: 870px;
      margin: auto; } }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec01 .textWrap {
      padding: 0 25px;
      margin-top: 30px; } }
  @media only screen and (min-width: 768px) and (max-width: 880px) {
    #redsuite .sec01 .textWrap {
      width: 100%;
      padding: 0 10px; } }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec01 .textWrap + .ImgOnlyStyle {
      margin-top: 80px !important;
      padding: 0 15px; } }
#redsuite .sec02 {
  padding: 80px 0;
  background: #e6e6e1; }
  #redsuite .sec02 .bgGray {
    background: url(/-/media/ind/redisuite/image/bg_border02.png) left top repeat #bcc5d7; }
    #redsuite .sec02 .bgGray ul li {
      padding-left: 40px;
      background: url(/-/media/ind/redisuite/image/ico_task.png) left top no-repeat; }
  #redsuite .sec02 .bgYellow {
    margin-top: 100px;
    background: url(/-/media/ind/redisuite/image/bg_border01.png) left top repeat #fff5b4; }
    #redsuite .sec02 .bgYellow ul li {
      padding-left: 40px;
      background: url(/-/media/ind/redisuite/image/ico_check2.png) left top no-repeat; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec02 .onayamiWrap {
      margin-top: 60px !important; } }
  #redsuite .sec02 .onayamiWrap.mt180 {
	margin-top: 180px; }
	#redsuite .sec02 .onayamiWrap.mt150 {
		margin-top: 150px; }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .sec02 .onayamiWrap.mt180 {
        margin-top: 120px; } }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec02 .onayamiWrap {
      padding: 0 5px; } }
  @media only screen and (min-width: 768px) and (max-width: 980px) {
    #redsuite .sec02 .onayamiWrap {
      padding: 0 15px; } }
  #redsuite .sec02 .onayamiWrap > div {
    line-height: 24px;
    text-align: center;
    min-height: 330px;
    position: relative; }
    @media only screen and (min-width: 768px), print {
      #redsuite .sec02 .onayamiWrap > div {
        width: 800px;
        margin-left: auto;
        margin-right: auto;
        padding: 40px 0 50px;
        font-size: 18px; } }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .sec02 .onayamiWrap > div {
        padding: 40px  15px; } }
    @media only screen and (min-width: 768px) and (max-width: 800px) {
      #redsuite .sec02 .onayamiWrap > div {
        width: 100%;
        padding: 40px 30px 50px; } }
    #redsuite .sec02 .onayamiWrap > div span.iconREDI {
      position: absolute;
      top: -53px;
      left: -15px; }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec02 .onayamiWrap > div span.iconREDI {
          top: -65px;
          left: 0; } }
    #redsuite .sec02 .onayamiWrap > div span.iconNum {
      position: absolute;
      top: -23px;
      left: 50%;
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); }
    #redsuite .sec02 .onayamiWrap > div .headWrap {
      line-height: 24px; }
      @media only screen and (min-width: 768px), print {
        #redsuite .sec02 .onayamiWrap > div .headWrap {
          width: 760px;
          margin: auto; } }
      @media only screen and (min-width: 768px) and (max-width: 800px) {
        #redsuite .sec02 .onayamiWrap > div .headWrap {
          width: 100%;
          padding: 0 15px; } }
    #redsuite .sec02 .onayamiWrap > div strong {
      display: block;
      font-size: 24px;
      text-align: center; }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec02 .onayamiWrap > div strong {
          font-size: 18px;
          line-height: 24px; } }
      #redsuite .sec02 .onayamiWrap > div strong + p {
        margin-top: 15px;
        text-align: left;
        line-height: 24px; }
    #redsuite .sec02 .onayamiWrap > div .contents {
      margin-top: 40px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      position: relative; }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec02 .onayamiWrap > div .contents {
          margin-top: 0px; } }
      @media only screen and (min-width: 768px), print {
        #redsuite .sec02 .onayamiWrap > div .contents .imgWrap {
          position: absolute;
          top: -10px; } }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec02 .onayamiWrap > div .contents .imgWrap {
          position: relative;
          margin-top: 20px;
          padding: 10px; }
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap img {
            max-width: 100%; } }
      @media only screen and (min-width: 768px) and (max-width: 880px) {
        #redsuite .sec02 .onayamiWrap > div .contents .imgWrap img {
          width: 130px;
          height: 130px; } }
      #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.leftWrap {
        order: 1; }
        @media only screen and (min-width: 768px), print {
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.leftWrap {
            left: -30px; } }
        @media only screen and (min-width: 1px) and (max-width: 767px) {
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.leftWrap {
            width: 50%;
            order: 1; } }
        @media only screen and (min-width: 768px) and (max-width: 880px) {
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.leftWrap {
            left: 20px; } }
        @media only screen and (min-width: 768px) and (max-width: 800px) {
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.leftWrap {
            left: -10px; } }
      #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.rightWrap {
        order: 3; }
        @media only screen and (min-width: 768px), print {
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.rightWrap {
            right: -30px; } }
        @media only screen and (min-width: 1px) and (max-width: 767px) {
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.rightWrap {
            order: 2;
            width: 50%; } }
        @media only screen and (min-width: 768px) and (max-width: 880px) {
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.rightWrap {
            right: 20px; } }
        @media only screen and (min-width: 768px) and (max-width: 800px) {
          #redsuite .sec02 .onayamiWrap > div .contents .imgWrap.rightWrap {
            right: -10px; } }
      #redsuite .sec02 .onayamiWrap > div .contents ul {
        order: 2;
        display: inline-block;
        text-align: left; }
        @media only screen and (min-width: 1px) and (max-width: 767px) {
          #redsuite .sec02 .onayamiWrap > div .contents ul {
            margin-top: 30px;
            padding: 0 10px; } }
        @media only screen and (min-width: 768px), print {
          #redsuite .sec02 .onayamiWrap > div .contents ul.listStyleHarf li {
            margin-top: 10px; } }
        @media only screen and (min-width: 1px) and (max-width: 767px) {
          #redsuite .sec02 .onayamiWrap > div .contents ul {
            order: 3; } }
        #redsuite .sec02 .onayamiWrap > div .contents ul li {
          margin-top: 30px;
          line-height: 22px;
          min-height: 30px; }
          #redsuite .sec02 .onayamiWrap > div .contents ul li:first-child {
            margin-top: 0px; }
#redsuite .sec03 {
  padding-top: 120px;
  padding-bottom: 70px;
  background: url(/-/media/ind/redisuite/image/bg_border01.png) left top repeat #fcfcf5; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec03 {
      padding-top: 90px;
      padding-bottom: 120px; } }
  @media only screen and (min-width: 768px) and (max-width: 980px) {
    #redsuite .sec03 .Section {
      padding: 0 20px; } }
  #redsuite .sec03 .sec03List01 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 60px;
    padding-bottom: 20px; }
    @media only screen and (min-width: 768px), print {
      #redsuite .sec03 .sec03List01 {
        justify-content: space-around; } }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .sec03 .sec03List01 {
        justify-content: center;
        padding: 0 15px;
        margin-top: 30px; } }
    #redsuite .sec03 .sec03List01 > li {
      position: relative;
      background-color: #fff;
	  /*  width: 302px;（会社2つの場合） */
	  width: 462px;
      padding: 10px 30px 20px;
	  border-top: solid 15px #97d2a9; }
	#redsuite .sec03 .sec03List01.ver2022 > li .name {
	
		min-height: 3em;
		height: inherit;
	}
	#redsuite .sec03 .sec03List01.ver2022 > li {
		display: flex;
		flex-flow: column;
		justify-content: flex-end;
	}
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec03 .sec03List01 > li {
          width: 100%;
          min-width: 260px;
          margin-top: 80px; }
          #redsuite .sec03 .sec03List01 > li:first-child {
            margin-top: 0px; } }
      @media only screen and (min-width: 768px) and (max-width: 980px) {
        #redsuite .sec03 .sec03List01 > li {
          width: 100%;
          margin-top: 50px; }
          #redsuite .sec03 .sec03List01 > li:first-child {
            margin-top: 0px; } }
      #redsuite .sec03 .sec03List01 > li .genre {
        display: flex;
        font-size: 14px;
        line-height: 27px;
        margin-bottom: 30px; }
        #redsuite .sec03 .sec03List01 > li .genre dt {
          font-weight: bold; }
      #redsuite .sec03 .sec03List01 > li .name {
        display: block;
        font-size: 18px;
        font-weight: bold;
        line-height: 22px;
        height: 3em; }
      #redsuite .sec03 .sec03List01 > li .ImgOnlyStyle {
        margin-top: 5px;
        margin-bottom: 0; }
      #redsuite .sec03 .sec03List01 > li .btnWrap {
        position: absolute;
        left: 50%;
        bottom: -19px;
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%); }
        #redsuite .sec03 .sec03List01 > li .btnWrap a:hover {
          opacity: 0.5;
          filter: alpha(opacity=50); }
  #redsuite .sec03 .sec03List02 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px; }
    @media only screen and (min-width: 768px), print {
      #redsuite .sec03 .sec03List02 {
        justify-content: space-between; } }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .sec03 .sec03List02 {
        justify-content: center;
        padding: 0 15px; } }
    #redsuite .sec03 .sec03List02 > li {
      width: 302px;
      background-color: #fff;
      padding-bottom: 30px;
      padding: 5px 0px 20px;
      border-top: solid 15px #97d2a9; }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec03 .sec03List02 > li {
          width: 100%;
          min-width: 260px;
          margin-top: 60px; } }
      @media only screen and (min-width: 768px) and (max-width: 980px) {
        #redsuite .sec03 .sec03List02 > li {
          width: 100%;
          margin-top: 50px; }
          #redsuite .sec03 .sec03List02 > li:first-child {
            margin-top: 0px; } }
      #redsuite .sec03 .sec03List02 > li .name {
        display: block;
        padding: 5px 30px 6px; }
      #redsuite .sec03 .sec03List02 > li .ImgOnlyStyle {
        padding: 5px 30px 0; }
      #redsuite .sec03 .sec03List02 > li dl {
        font-size: 16px;
        padding: 0px 25px; }
        @media only screen and (min-width: 1px) and (max-width: 767px) {
          #redsuite .sec03 .sec03List02 > li dl {
            font-size: 15px; } }
        #redsuite .sec03 .sec03List02 > li dl dt {
          float: left;
          font-weight: bold;
          margin-bottom: 10px; }
          #redsuite .sec03 .sec03List02 > li dl dt.last {
            display: block;
            float: none;
            margin-bottom: 0px; }
            #redsuite .sec03 .sec03List02 > li dl dt.last + dd {
              margin-bottom: 0px; }
        #redsuite .sec03 .sec03List02 > li dl dd {
          margin-bottom: 10px; }
        #redsuite .sec03 .sec03List02 > li dl ul {
          margin-top: 5px; }
          #redsuite .sec03 .sec03List02 > li dl ul li {
            line-height: 23px; }
          #redsuite .sec03 .sec03List02 > li dl ul li:before {
            content: "●";
            color: #97d2a9; }
#redsuite .sec04 {
  padding-top: 70px; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec04 {
	  padding-bottom: 50px; }
	}
	#redsuite .sec04 .ImgOnlyStyle {
		padding: 0 15px;
	}
	#redsuite .sec04 .sec04List {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		width: 100%;
	}
	#redsuite .sec04 .sec04List li {
		width: calc((100% / 3) - 1em);
		margin: 0 .5em 1em;
	}
	#redsuite .sec04 .sec04List li h3 {
		background: #4d576b;
		border: none;
		color: #fff;
		font-size: 1.2em;
		padding: .5em 1em;
		margin: 0;
		line-height: 1.6;
		border-radius: 10px;
	}
	#redsuite .sec04 .sec04List li p {
		padding: .5em;
	}
	#redsuite .sec04 .sec04List li.NewWin {
		width: auto;
	}
@media only screen and (min-width: 1px) and (max-width: 767px) {
	.JS #redsuite .sec04 .sec04List li {
		width: 100%;
		margin: 0 auto 1em;
	}
}
	/* sec04Listを１段2列に */
	#redsuite .sec04 .sec04List-2 {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		width: 100%;
	}
	#redsuite .sec04 .sec04List-2 li {
		width: calc((100% / 2) - 1em);
		margin: 0 .5em 1em;
	}
	#redsuite .sec04 .sec04List-2 li h3 {
		background: #4d576b;
		border: none;
		color: #fff;
		font-size: 1.2em;
		padding: .5em 1em;
		margin: 0;
		line-height: 1.6;
		border-radius: 10px;
	}
	#redsuite .sec04 .sec04List-2 li p {
		padding: .5em;
	}
	#redsuite .sec04 .sec04List-2 li.NewWin {
		width: auto;
	}
@media only screen and (min-width: 1px) and (max-width: 767px) {
	.JS #redsuite .sec04 .sec04List-2 li {
		width: 100%;
		margin: 0 auto 1em;
	}
}
	/* ここまで。 */

#redsuite .sec05 {
  padding-bottom: 30px; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec05 {
      padding-bottom: 80px; } }
  #redsuite .sec05 .BlockReadText {
    font-size: 16px;
    line-height: 25px; }
    @media only screen and (min-width: 768px) and (max-width: 965px) {
      #redsuite .sec05 .BlockReadText {
        padding: 0 20px; } }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .sec05 .BlockReadText {
        padding: 0 15px;
        margin-top: 50px !important; } }
  #redsuite .sec05 .sec05List {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (min-width: 768px), print {
      #redsuite .sec05 .sec05List {
        justify-content: space-between; } }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
      #redsuite .sec05 .sec05List {
        padding: 0 20px; } }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .sec05 .sec05List {
        padding: 0 35px;
        justify-content: center; } }
    #redsuite .sec05 .sec05List li {
      position: relative;
      width: 300px;
      padding: 30px 30px 20px;
      background-color: #cee9c1; }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec05 .sec05List li {
          width: 100%;
          min-width: 260px;
          margin-top: 50px; } }
      @media only screen and (min-width: 768px) and (max-width: 980px) {
        #redsuite .sec05 .sec05List li {
          width: 100%;
          margin-top: 50px; }
          #redsuite .sec05 .sec05List li:first-child {
            margin-top: 0px; } }
      #redsuite .sec05 .sec05List li strong {
        display: block;
        text-align: center;
        font-size: 21px; }
      #redsuite .sec05 .sec05List li p {
        margin-top: 10px; }
      #redsuite .sec05 .sec05List li:before {
        position: absolute;
        top: -10px;
        left: 15px;
        content: "";
        width: 60px;
        height: 60px;
        background: url(/-/media/ind/redisuite/image/ico_check3.png) left top repeat; }
    #redsuite .sec05 .sec05List + p {
      margin-top: 60px; }
  @media only screen and (min-width: 1px) and (max-width: 767px) {
    #redsuite .sec05 .ImgOnlyStyle {
      margin-top: 100px !important; } }
#redsuite .sec06 {
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #cee9c1; }
  #redsuite .sec06 .sec06List {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (min-width: 768px), print {
      #redsuite .sec06 .sec06List {
        justify-content: center; } }
    @media only screen and (min-width: 1px) and (max-width: 767px) {
      #redsuite .sec06 .sec06List {
        padding: 0 5px; } }
    @media only screen and (min-width: 768px) and (max-width: 1010px) {
      #redsuite .sec06 .sec06List {
        padding: 0 20px; } }
    #redsuite .sec06 .sec06List li {
      position: relative;
      margin-top: 20px;
      display: block;
      width: calc(25%);
      padding: 20px 20px 65px;
	  border: solid 3px #cee9c1; 
      background: rgba(255, 255, 255, 0.5); }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .sec06 .sec06List li {
          width: 100%;
          padding: 20px 20px 45px; } }
      #redsuite .sec06 .sec06List li a {
        display: block; }
        #redsuite .sec06 .sec06List li a > * {
          color: #333333; }
      #redsuite .sec06 .sec06List li strong {
        display: block;
        margin-bottom: 5px;
        text-align: center;
        font-size: 15px;
        line-height: 20px;
        margin-bottom: 10px; }
      #redsuite .sec06 .sec06List li p {
        font-size: 16px;
        line-height: 22px; }
      #redsuite .sec06 .sec06List li:after {
        display: block;
        position: absolute;
        bottom: 30px;
        left: 50%;
        content: "";
        width: 11px;
        height: 17px;
        background: url(/-/media/ind/redisuite/image/ico_arrow.png) left top repeat;
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%); }
        @media only screen and (min-width: 1px) and (max-width: 767px) {
          #redsuite .sec06 .sec06List li:after {
            bottom: 18px; } }
#redsuite .contact {
  background: #666;
  padding: 40px 0; }
  #redsuite .contact .contactBtnWrap {
    display: flex;
    justify-content: center; }
    #redsuite .contact .contactBtnWrap .contactBtn {
      position: relative;
      width: 580px;
      background: #ffe664;
      font-size: 26px;
      line-height: 1em;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 35px 0 30px;
      color: #333333;
      font-weight: bold; }
      @media only screen and (min-width: 1px) and (max-width: 767px) {
        #redsuite .contact .contactBtnWrap .contactBtn {
          text-align: center; } }
      #redsuite .contact .contactBtnWrap .contactBtn:after {
        display: block;
        position: absolute;
        top: 50%;
        right: 20px;
        content: "";
        width: 11px;
        height: 17px;
        background: url(/-/media/ind/redisuite/image/ico_arrow.png) left top repeat;
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
		transform: translateY(-50%); }

#redsuite .contactBtn:hover{
	text-decoration: none;
	opacity: 0.5;
}

@media only screen and (min-width: 768px), print {
  #redsuite {
    border-bottom: solid 30px #555555; } }

@media screen and (max-width: 994px) {
	.JS #Contents {
		min-width: 290px;
		padding: 0;
		}
}

#redsuite #FloatingContacts .Inner {
	padding: 1em;
}
#redsuite #FloatingContacts button {
	background-color: #41a662;
	background-position: 5% center;
	padding: .5em 1em;
	box-sizing: border-box;
	font-size: 1.2em;
	height: auto;
}
.SP #redsuite #FloatingContacts button {
	width: 50%;
}
@media only screen and (max-width: 767px){
	.JS #FloatingContacts li:last-child {
		width: inherit;
	}
	.JS #redsuite #FloatingContacts button {
		background-size: 22px;
		font-size: 1em;
		width: 100%;
		padding: 1em 3em;
	}
	.SP #redsuite #FloatingContacts button.btnContact {
		width: 80%;
	}
}
@media only screen and (max-width: 579px){
	.JS #redsuite #FloatingContacts button.btnContact,
	.JS #redsuite #FloatingContacts button.btnDocument {
		width: 100%;
	}
}

.Grid4 .InnerLink {
	background: #228944;
	width: 100%;
	z-index: 2;
}
.Grid4.Ver2022 .InnerLink {
	background: #425C6A;
}
.Grid4 .InnerLink ul {
	max-width: 500px;
	margin: auto;
	display: flex;
	align-items: center;
}
.Grid4.Ver2022 .InnerLink ul {
	justify-content: space-between;
} 
.Grid4 .InnerLink a:link,
.Grid4 .InnerLink a:visited {
	color: #fff;
	padding: 1em;
	background: rgba(255,255,255,0);
	transition: .08s ease-in;
}
.Grid4.Ver2022 .InnerLink a:link,
.Grid4.Ver2022 .InnerLink a:visited {
	font-size: 1.16em;
}
.Grid4 .InnerLink a:hover,
.Grid4 .InnerLink a.CurrentThis {
	text-decoration: none;
	background: rgba(255,255,255,.3);
	color: #fff;
}


.Grid4.Ver2022 .InnerLink a:after {
	content: none;
}
.Grid4 .InnerLink li {
	display: flex;
}

.f-contact{
	background: #a6a6a6;
	color: #fff;
	padding: 0 !important;
}
.f-contact > h2{
	text-align: center;
	font-size: 150%;
	max-width: 965px;
	padding: 60px 0 10px;
	margin: 0 auto 10px;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #fff;
}
.f-contact > div{
	text-align: center;
	max-width: 965px;
	margin: 0 auto;
	padding: 40px 40px 40px;
	display: flex;
	align-items: center;
    align-content: center;
	box-sizing: border-box;
}
.f-contact p{ width: 50%; }
.f-contact p .tel{
	display: block;
	font-size: 250%;
	font-weight: bold;
	margin-bottom: 10px;
	color: #1f1f1f;
}
.f-contact a{
	border: 2px solid #228944;
	background: #228944;
	color: #ffffff;
	display: block;
	border-radius: 50px;
	padding: 20px 0;
	text-align: center;
	vertical-align: middle;
	width: 50%;
	font-weight: bold;
	margin: 0 auto 0;
	transition: all .3s;
	font-size: 140%;
}
.f-contact a:hover{
	border-color: #ffffff;
	text-decoration: none;
	box-shadow: 0 5px 10px 1px rgba(0,0,0,.3);
}
.f-contact.under{
	border-radius: 5px;
	padding: 20px !important;
	margin-bottom: 30px;
	font-size: 85%;
}
.f-contact.under > h2{
	padding: 20px 0 10px;
	margin: 0 auto 10px;
}
.f-contact.under > div{
	margin: 0 auto;
	padding: 20px 0px;
}

@media screen and (max-width: 767px) {

	.JS .f-contact > h2{
	font-size: 110%;
	padding: 30px 0 10px;
	margin: 0 auto;
		width: 90%;
	}
	.JS .f-contact > div{
		display: block;
		padding: 20px 5% 30px;
	}
	.JS .f-contact p{
		font-size: 90%;
		text-align: center;
		margin-bottom: 1em;
		width: 100%;
	}
	.JS .f-contact p .tel{
	font-size: 160%;
		margin-bottom: 5px;
	}
	.JS .f-contact a{
		border-radius: 50px;
		padding: 15px 0;
		width: 100%;
		max-width: 400px;
		font-size: 100%;
		border: 2px solid #fff;
	}
	.JS .f-contact.under{
		width: 90%;
		box-sizing: border-box;
		padding: 0 20px;
	}
	.JS .f-contact.under > h2{
		width: 100%;
	}
	.JS .f-contact.under > div{
		display: block;
		padding: 20px 0 30px;
	}

}