@charset "UTF-8";

/**
 * ***************************************
 * トップに戻るボタン
 * ***************************************
 */

html {
  scroll-behavior: smooth;
}
.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 100px;
  background: #fff;
  border: solid 2px #000;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
}

.pagetop__arrow {
  height: 10px;
  width: 10px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: translateY(20%) rotate(-45deg);
}

.pagetop:hover {
  background-color: rgb(250, 250, 151);
}

/*このクラスが付与されると表示する*/
.active {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 480px) {
  .pagetop {
    right: 15px;
    bottom: 80px;
  }
}
/**
 * ***************************************
 * 2分割のフレックスボックス　共通
 * ***************************************
 */

.flex02-box {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.flex02-item {
  width: 48.5%;
  margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
  .flex02-box {
    flex-direction: column;
  }

  .flex02-item {
    width: 100%;
    margin-bottom: 2%;
  }
  .workfigure {
    width: 80%;
    margin: 0 auto;
  }
  .reverse {
    order: 2;
  }
}

@media screen and (max-width: 480px) {
  .workfigure {
    width: 95%;
  }
}
/**
 * ***************************************
 * 2分割のフレックスボックス　DATA　周辺環境
 * ***************************************
 */

.flex02-boxmini {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.flex02-item-mini {
  width: 48%;
  margin-bottom: 10px;
}

@media screen and (max-width: 480px) {
  .flex02-box-mini {
    margin-bottom: 3%;
  }
}

/**
 * ***************************************
 * 2分割のフレックスボックス　ファミリーのコラム
 * ***************************************
 */

.familycolumn-box {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fbceac;
  padding: 25px;
  margin-top: 20px;
  /* margin-bottom: 20px; */
  border-radius: 10px;
}

.familycolumn-item-copy {
  width: 39%;
}
.familycolumn-item-photo {
  width: 58%;
  padding: 10px;
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .familycolumn-box {
    flex-direction: column;
  }

  .familycolumn-item-copy {
    width: 100%;
  }
  .familycolumn-item-photo {
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  .familycolumn-box {
    padding: 20px;
  }
}

/**
 * ***************************************
 * 3分割のフレックスボックス　共通
 * ***************************************
 */

.flex03-box {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.flex03-item {
  width: 32%;
}

@media screen and (max-width: 480px) {
  .flex03-box {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 5px;
  }
  .flex03-item {
    width: 45%;
  }

  /* 丸3つ並び */

  .flex03-box li:first-child {
    margin-right: 2%;
  }
  .flex03-box li:last-child {
    margin-top: -4%;
  }

  /* 画像3枚並び */

  .flex03-box figure {
    margin-top: 2%;
    margin-bottom: 2%;
  }

  .flex03-box figure:first-child {
    margin-right: 2%;
  }
}

/**
 * ***************************************
 * 2分割のフレックスボックス　働く例外
 * ***************************************
 */

.flex02-box-work {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.flex02-item-work {
  margin-bottom: 20px;
}
.flex02-item-work:nth-child(1) {
  width: 60%;
}
.flex02-item-work:nth-child(2) {
  width: 37%;
}

/* チャレジョブセンター　レイアウト逆 */

.flex02-box-work-reverse {
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}

/* 楽しむのみ　テキスト上揃え変更 */
.base-container .enjoy-box {
  align-items: stretch;
}

@media screen and (max-width: 768px) {
  .flex02-box-work,
  .flex02-box-work-reverse {
    flex-direction: column;
  }

  .flex02-item-work:nth-child(1) {
    width: 100%;
    order: 2;
  }
  .flex02-item-work:nth-child(2) {
    width: 100%;
  }
}
/**
 * ***************************************
 * 4分割のフレックスボックス
 * ***************************************
 */

.flex04-box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
  padding: 2% 2% 1% 2%;
}

.flex04-item {
  width: 24%;
}

@media screen and (max-width: 768px) {
  .flex04-box {
    flex-wrap: wrap;
    padding: 3%;
  }
  .flex04-item {
    width: 49%;
  }
  .flex04-item:nth-child(1) {
    margin-bottom: 10px;
  }
  .flex04-item:nth-child(2) {
    margin-bottom: 10px;
  }
}

/**
 * ***************************************
 * ヘッダー、フッター
 * ***************************************
 *
 * 

/* フッターボックスのみ固定 */

footer {
  position: fixed;
  bottom: 0;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++
ヘッダー、フッター共通 ボックスサイズ
+++++++++++++++++++++++++++++++++++++++++++++++ */

header,
footer {
  width: 100%;
}

.header-container,
.footer-container {
  max-width: 1000px;
  margin: 0 auto;
}

header {
  background-color: #ffffff;
}

.footer-info-color {
  background-color: #005897;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++
ヘッダー・フッター（プロジェクト名と問い合わせ）指示
+++++++++++++++++++++++++++++++++++++++++++++++ */

.flex00-container {
  width: 100%;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footerobi {
  padding-top: 15px;
  padding-bottom: 20px;
}

/* ロゴ */
.flexleft-item {
  width: 30%;
}

/* 電話・問い合わせボタン */
.flexright-item {
  width: 70%;
}

@media screen and (max-width: 768px) {
  .footer-container {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .footer-container .tell {
    width: 80%;
  }

  .flexright-item {
    width: 90%;
  }
}

/* +++++++++++++++++++++++++++++++++++++++++++++++
ヘッダー・フッター（問い合わせ3つ）指示 
+++++++++++++++++++++++++++++++++++++++++++++++ */

.flexright-mini-box {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* ヘッダー、フッター文字関係の指定 */

.flexright-item li {
  margin-left: 10px;
}

/* 電話 */
.tell {
  color: #373737;
  font-size: 12px;
  line-height: 1.3;
}

.tell a {
  font-size: 24px;
  font-weight: 700;
  display: inline-flex;
}

.tell a::before {
  font-size: 20px;
  font-family: "Material Icons";
  content: "\e0b0";
  transform: translateY(20%);
}

.footer-container .tell {
  color: #ffffff;
}

/* メールアイコン */
.btn {
  width: 150px;
  border-radius: 5px;
  font-size: 16px;
  color: #ffffff;
  padding: 4px;
  display: flex;
  position: relative;
}

.company {
  background-color: #0cb9d7;
}
.worker {
  background-color: #f08207;
}
.company:hover,
.worker:hover {
  opacity: 0.7;
}

.company p,
.worker p {
  text-align: center;
  padding-left: 2.7rem;
  line-height: 1;
}

.company a::before,
.worker a::before {
  font-size: 25px;
  font-family: "Material Icons";
  content: "\e158";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: 5px;
}

.flexright-item small {
  font-size: 11px;
}

@media screen and (max-width: 768px) {
  .headernone {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  .tell a::before {
    font-size: 30px;
    transform: translateY(4%);
  }

  .footerobi {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .btn {
    font-size: 14px;
  }

  .flexright-item small {
    font-size: 9px;
  }
  .sp-none {
    display: none;
  }
}

@media (min-width: 600px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/**
 * ***************************************
 * 住む・働く・楽しむ　共通タイトル　イラスト　
 * ***************************************
 */
#pack-title,
#pack-live,
#pack-work {
  padding-bottom: 40px;
}

.pack-title {
  position: relative;
}

.pack-title:before {
  position: absolute;
  content: "";
}

.pack-title:before {
  top: -40px;
  left: calc(50% - 110px);
  width: 220px;
  height: 100px;
  border-radius: 50%;
  border-radius: 50% / 100% 100% 0 0;
}

.live:before {
  background: #30b483;
}
.work:before {
  background-color: #338acb;
}
.enjoy:before {
  background-color: #0cb9d7;
}
.pack-title img {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 480px) {
  .pack-title:before {
    top: -30px;
    left: calc(50% - 95px);
    width: 190px;
    height: 100px;
    border-radius: 50%;
    border-radius: 50% / 100% 100% 0 0;
  }
}

.pack-title figure {
  position: relative;
  max-width: 500px;
  margin: 0 auto;
}

.live-ill:after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../img/live-ill.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: -40px;
  right: 7%;
  /* right: calc(10% - 50px); */
  height: 120px;
  width: 120px;
  /* z-index: 1; */
}

.work-ill:after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../img/work-ill.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: -40px;
  left: 7%;
  /* right: calc(10% - 50px); */
  height: 140px;
  width: 140px;
  /* z-index: 1; */
}

.enjoy-ill:after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../img/enjoy-ill.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: -40px;
  right: 7%;
  /* right: calc(10% - 50px); */
  height: 120px;
  width: 120px;
  /* z-index: 0; */
}

@media screen and (max-width: 480px) {
  .pack-title figure:after {
    height: 100px;
    width: 100px;
  }
}
