@charset "UTF-8";
/* 基本設定 */
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
* {
  font-size: large;
}

body {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 8px;
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #1a1a1a;
  text-align: center;
}

header_panel {
  display: block;
  height: 100%;
  width: 100%;
}

.header {
  height: 60px;
  width: 100%;
  background-color: White;
  position: fixed;
  top: 0;
  background-image: url(../img/logo_tomoe.png);
  background-size: contain;
  background-position: right;
  background-repeat: no-repeat;
  background-origin: content-box;
  text-align: left;
  font-weight: bold;
  z-index: 10;
}

.header_label {
  font-size: 30px;
}

.head_panel {
  margin-top: 60px;
  width: 100vw;
  height: 600px;
  background-image: url(../img/top_bg.jpg);
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: scroll;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: contain;
  display: flex;
  position: relative;
  z-index: 0;
}

.head_catch_set {
  top: 34%;
  position: relative;
  font-weight: bold;
  color: #FFFFFF;
}

.head_catch {
  font-size: 40px;
  text-shadow: 0 4px 4px #666;
}

.head_catch_sub {
  font-size: 20px;
  text-shadow: 0 3px 3px #666;
}

.members {
  margin: 0 auto;
  margin-top: 50px;
  max-width: 1600px;
}
.members .dataSetListMember li {
  list-style: none;
  width: 23.5%;
  float: left;
  margin: 0 2% 2% 0;
}
.members .dataSetListMember li:nth-child(4n+4) {
  margin-right: 0;
}
.members .dataSetListMember li:nth-child(4n+1) {
  clear: both;
}
.members .dataSetListMember li:nth-last-child(-n+4) {
  margin-bottom: 0;
}
.members .dataSetListMember li .dataSetMember1 {
  min-height: 800px;
  padding: 0.5em 1em;
  margin: 1em 0em;
  background: #f4f4f4;
  border-left: solid 6px #5bb7ae;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
  border-spacing: 10px;
}
.members .dataSetListMember li .dataSetMember1 .name {
  font-weight: bold;
  padding-bottom: 50px;
}
.members .dataSetListMember li .dataSetMember1 img {
  padding-top: 50px;
  padding-bottom: 50px;
  width: 80%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.members .dataSetListMember li .dataSetMember2 {
  min-height: 800px;
  padding: 0.5em 1em;
  margin: 1em 0em;
  background: #f4f4f4;
  border-left: solid 6px #5bb7ae;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
  border-spacing: 10px;
}
.members .dataSetListMember li .dataSetMember2 .name {
  font-weight: bold;
  padding-bottom: 50px;
}
.members .dataSetListMember li .dataSetMember2 img {
  padding-top: 50px;
  padding-bottom: 50px;
  width: 80%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.members .dataSetListMember li .dataSetMember3 {
  min-height: 800px;
  padding: 0.5em 1em;
  margin: 1em 0em;
  background: #f4f4f4;
  border-left: solid 6px #5bb7ae;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
  border-spacing: 10px;
}
.members .dataSetListMember li .dataSetMember3 .name {
  font-weight: bold;
  padding-bottom: 50px;
}
.members .dataSetListMember li .dataSetMember3 img {
  padding-top: 50px;
  padding-bottom: 50px;
  width: 80%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.members .dataSetListMember li .dataSetMember4 {
  min-height: 800px;
  padding: 0.5em 1em;
  margin: 1em 0em;
  background: #f4f4f4;
  border-left: solid 6px #5bb7ae;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
  border-spacing: 10px;
}
.members .dataSetListMember li .dataSetMember4 .name {
  font-weight: bold;
  padding-bottom: 50px;
}
.members .dataSetListMember li .dataSetMember4 img {
  padding-top: 50px;
  padding-bottom: 50px;
  width: 80%;
  height: auto;
  text-align: center;
  object-fit: contain;
}

.photos {
  margin: 0 auto;
  margin-top: 50px;
  max-width: 1600px;
}
.photos .dataSetListPhotos1 li {
  list-style: none;
  width: 46%;
  float: left;
  margin-bottom: 30px;
}
.photos .dataSetListPhotos1 li:nth-child(2n+2) {
  float: right;
}
.photos .dataSetListPhotos1 li:nth-child(2n+1) {
  clear: both;
}
.photos .dataSetListPhotos1 li:nth-last-child(-n+2) {
  margin-bottom: 0;
}
.photos .dataSetListPhotos1 li .dataSetPhotos1 {
  padding: 0.2em 0.5em;
  margin: 2em 0;
  background: #d6ebff;
  box-shadow: 0px 0px 0px 10px #d6ebff;
  border: dashed 2px white;
}
.photos .dataSetListPhotos1 li .dataSetPhotos1 img {
  padding-top: 50px;
  padding-bottom: 50px;
  width: 100%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.photos .dataSetListPhotos1 li .dataSetPhotos2 {
  padding: 0.2em 0.5em;
  margin: 2em 0;
  background: #d6ffea;
  box-shadow: 0px 0px 0px 10px #d6ffea;
  border: dashed 2px white;
}
.photos .dataSetListPhotos1 li .dataSetPhotos2 img {
  padding-top: 50px;
  padding-bottom: 50px;
  width: 100%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.photos .dataSetListPhotos2 li {
  list-style: none;
  width: 46%;
  float: left;
  margin-bottom: 30px;
}
.photos .dataSetListPhotos2 li:nth-child(2n+2) {
  float: right;
}
.photos .dataSetListPhotos2 li:nth-child(2n+1) {
  clear: both;
}
.photos .dataSetListPhotos2 li:nth-last-child(-n+2) {
  margin-bottom: 0;
}
.photos .dataSetListPhotos2 li .dataSetPhotos3 {
  padding: 0.2em 0.5em;
  margin: 2em 0;
  background: #faffd6;
  box-shadow: 0px 0px 0px 10px #faffd6;
  border: dashed 2px white;
}
.photos .dataSetListPhotos2 li .dataSetPhotos3 img {
  padding-top: 50px;
  padding-bottom: 50px;
  width: 100%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.photos .dataSetListPhotos2 li .dataSetPhotos4 {
  padding: 0.2em 0.5em;
  margin: 2em 0;
  background: #ffdfd6;
  box-shadow: 0px 0px 0px 10px #ffdfd6;
  border: dashed 2px white;
}
.photos .dataSetListPhotos2 li .dataSetPhotos4 img {
  padding-top: 50px;
  padding-bottom: 50px;
  width: 100%;
  height: auto;
  text-align: center;
  object-fit: contain;
}

video {
  margin-top: 50px;
  margin: 0 auto;
  width: 50%;
  height: auto;
  max-width: 1200px;
}

.moreinfo {
  margin-top: 150px;
}
.moreinfo .copy {
  margin-top: 50px;
}

.flow {
  margin: 0 auto;
  margin-top: 50px;
  max-width: 1600px;
}
.flow .dataSetListFlow li {
  list-style: none;
  text-align: center;
  position: relative;
  top: 0;
  left: 0;
  list-style: none;
  width: 23%;
  float: left;
  margin: 0 2% 2% 0;
}
.flow .dataSetListFlow li .dataSetFlow {
  min-height: 500px;
  position: relative;
  padding: 1rem 2rem;
  border: 4px solid #70cf5d;
  background: #fafafa;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
}
.flow .dataSetListFlow li .dataSetFlow .catch {
  font-weight: bold;
  padding-bottom: 50px;
}
.flow .dataSetListFlow li .dataSetFlow .data {
  font-size: 14px;
}
.flow .dataSetListFlow li .dataSetFlow img {
  padding-top: 10px;
  padding-bottom: 10px;
  width: 60%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.flow .dataSetListFlow li .dataSetFlow:before {
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  content: "";
  border: 2px solid #70cf5d;
}

.flow .dataSetListFlow li:nth-child(4n+4) {
  margin-right: 0;
}

.flow .dataSetListFlow li:nth-child(4n+1) {
  clear: both;
}

.flow .dataSetListFlow li:nth-last-child(-n+4) {
  margin-bottom: 0;
}

.flow .dataSetListFlow li:after {
  content: "";
  background: url(../icon/circle_arrow.png) no-repeat center center;
  width: 17px;
  height: 26px;
  position: absolute;
  top: 255px;
  right: -20px;
}

.flow .dataSetListFlow li:last-child:after {
  display: none;
}

.benefits {
  margin: 0 auto;
  margin-top: 50px;
  max-width: 1600px;
}
.benefits .dataSetListBenefits li {
  list-style: none;
  text-align: center;
  position: relative;
  top: 0;
  left: 0;
  list-style: none;
  width: 23%;
  float: left;
  margin: 0 2% 2% 0;
}
.benefits .dataSetListBenefits li .dataSetBenefits {
  min-height: 500px;
  position: relative;
  padding: 1rem 2rem;
  border: 4px solid #70cf5d;
  background: #fafafa;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
}
.benefits .dataSetListBenefits li .dataSetBenefits .catch {
  font-weight: bold;
  padding-bottom: 50px;
}
.benefits .dataSetListBenefits li .dataSetBenefits .data {
  font-size: 14px;
}
.benefits .dataSetListBenefits li .dataSetBenefits img {
  padding-top: 10px;
  padding-bottom: 10px;
  width: 60%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.benefits .dataSetListBenefits li .dataSetBenefits:before {
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  content: "";
  border: 2px solid #70cf5d;
}

.benefits .dataSetListBenefits li:nth-child(4n+4) {
  margin-right: 0;
}

.benefits .dataSetListBenefits li:nth-child(4n+1) {
  clear: both;
}

.benefits .dataSetListBenefits li:nth-last-child(-n+4) {
  margin-bottom: 0;
}

.benefits .dataSetListBenefits li:after {
  content: "";
  background: url(../icon/circle_arrow.png) no-repeat center center;
  width: 17px;
  height: 26px;
  position: absolute;
  top: 255px;
  right: -20px;
}

.benefits .dataSetListBenefits li:last-child:after {
  display: none;
}

.business {
  margin: 0 auto;
  margin-top: 50px;
  max-width: 1600px;
}
.business .dataSetListBusiness li {
  list-style: none;
  text-align: center;
  position: relative;
  top: 0;
  left: 0;
  list-style: none;
  width: 23%;
  float: left;
  margin: 0 2% 2% 0;
}
.business .dataSetListBusiness li .dataSetBusiness {
  min-height: 600px;
  position: relative;
  padding: 1rem 2rem;
  border: 4px solid #70cf5d;
  background: #fafafa;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
}
.business .dataSetListBusiness li .dataSetBusiness .catch {
  font-weight: bold;
  padding-bottom: 50px;
}
.business .dataSetListBusiness li .dataSetBusiness .data {
  font-size: 14px;
}
.business .dataSetListBusiness li .dataSetBusiness img {
  padding-top: 10px;
  padding-bottom: 10px;
  width: 60%;
  height: auto;
  text-align: center;
  object-fit: contain;
}
.business .dataSetListBusiness li .dataSetBusiness:before {
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  content: "";
  border: 2px solid #70cf5d;
}

.business .dataSetListBusiness li:nth-child(4n+4) {
  margin-right: 0;
}

.business .dataSetListBusiness li:nth-child(4n+1) {
  clear: both;
}

.business .dataSetListBusiness li:nth-last-child(-n+4) {
  margin-bottom: 0;
}

.business .dataSetListBusiness li:after {
  content: "";
  background: url(../icon/circle_arrow.png) no-repeat center center;
  width: 17px;
  height: 26px;
  position: absolute;
  top: 255px;
  right: -20px;
}

.business .dataSetListBusiness li:last-child:after {
  display: none;
}

.company {
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 50px;
}

.company th,
.company td {
  border: 1px solid #ccc;
  padding: 20px;
}

.company th {
  font-weight: bold;
  background-color: #dedede;
}

@media screen and (max-width: 767px) {
  .company,
.company tr,
.company td,
.company th {
    display: block;
  }

  .company th {
    width: auto;
  }
}
.instagram {
  background: url(../icon/instagram.png) no-repeat center center;
}

.careers {
  margin-top: 50px;
}

.unitTitle {
  margin-top: 20px;
  margin-bottom: 50px;
}

.unitTitle .text {
  color: #db9251;
  font-size: 40px;
  font-weight: bold;
  text-decoration: underline;
  -webkit-text-decoration-color: #db9251;
          text-decoration-color: #db9251;
  text-shadow: 0 2px 2px #b3753e;
}

.unitTitle .ruby {
  font-size: 20px;
  font-weight: bold;
  text-shadow: 0 1px 1px #666;
}

.unitTitle .detail {
  margin-top: 50px;
}

.textCell {
  margin-top: 50px;
  margin-bottom: 60px;
}

.textCell .catch {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 50px;
}

.textCell .image {
  padding-top: 50px;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 100px;
}

ol {
  width: 800px;
  left: 10%;
  position: relative;
  text-align: left;
}

.footer {
  margin-top: 50px;
}

/* micro clearfx */
.cf:before, .cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

/* For IE 6/7 */