@charset "UTF-8";

/**
 * ***************************************
 * 背景画像　
 * ***************************************
 */

#concept,
.yours,
.family,
.one,
.work-report,
.enjoy-report {
  background: url(../img/bg-ycp.png) no-repeat center top;
  background-size: 100% auto;
  top: 0;
  max-width: 100%;
}

/**
 * ***************************************
 * トップビュー
 * ***************************************
 */
/* ========== トップタイトル写真 ========== */

#top-img {
  display: block;
  width: 100%;
}

/**
 * ***************************************
 * コンセプトワード+map+in konosu
 * ***************************************
 */

/* コンセプトワード */
#concept {
  padding: 40px;
}

.concept-word h1 {
  margin: 0 auto;
  max-width: 600px;
  padding-top: 4%;
  margin-bottom: 4%;
}

.concept-word img {
  width: 100%;
}

.concept-word img {
  width: 100%;
}

.concept-text {
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  margin-bottom: 3%;
}

.concept-bold {
  line-height: 1.5;
  padding-bottom: 10px;
  font-weight: 600;
  margin-bottom: 20px;
}

.concept-text p {
  font-size: 1rem;
  line-height: 2.5;
  font-weight: 500;
}

/**
* ***************************************
* MAP
* ***************************************
*/

/* map */

.concept-map {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.concept-map-base {
  max-width: 100%;
  margin-bottom: 2%;
}

/* アイコン */

.concept-map-icon {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 100%;
}

/* yours court　アイコン */

.concept-map-court {
  position: absolute;
  top: 5%;
  left: 52%;
  margin: 0 auto;
  max-width: 14vw;
}

.concept-map-court:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 480px) {
  .concept-map-court {
    top: 13%;
    left: 55%;
  }
}

/* バウンド動き */
.bounce {
  animation: bounce 1s infinite alternate;
}
@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  25%,
  75% {
    transform: translateY(-5px);
  }
  50% {
    transform: translateY(0);
  }
}

/* モールダウン */

#close {
  display: block;
  color: #f08207;
  background: #ffffff;
  border: 1px solid white;
  width: 100px;
  border-radius: 8px;
  margin: 10px auto 0;
  text-align: center;
  cursor: pointer;
}

#close:hover {
  background-color: #eca859;
  color: #ffffff;
}

#modal {
  background: #f08207;
  max-width: 35vw;
  padding: 15px;
  border-radius: 8px;
  position: absolute;
  top: 20px;
  left: 50px;
  z-index: 9999;
  opacity: 0;
}

@media only screen and (max-width: 480px) {
  #modal {
    background: #f08207;
    max-width: 300px;
    top: 80px;
    /* left: 10%; */
    left: calc(50% - 150px);
    z-index: 9999;
    opacity: 0;
  }

  #close {
    width: 80px;
    margin: 10px auto 0;
  }

  #mask {
    background: rgba(241, 239, 239, 0.7);
    position: fixed;
    inset: 0;
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    margin: 0 auto;
  }
}

/**
* ***************************************
* in konosu+目標
* ***************************************
*/

/* in konosu */
.concept-konosu {
  max-width: 900px;
  margin: 0 auto;
}

/* 目標 */
.goal-wrapper {
  max-width: 900px;
  margin: 0 auto;
  background-color: #ebf3f8;
  padding: 30px;
}

.goal-flag {
  max-width: 600px;
  margin: 0 auto;
  transform: translateY(30%);
}

.goal-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  text-align: justify;
  font-weight: 500;
  -webkit-text-decoration: underline dotted #377eb0;
  text-decoration: underline dotted #377eb0;
  text-underline-offset: 0.5rem;
}

.goal-text span {
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 700;
  color: #005897;
}

/**
 * ***************************************
 * コンセプトワード+map+in konosu　sp用
 * ***************************************
 */

 @media screen and (max-width: 768px) {
  /* コンセプトワード */

  .concept-word h1 {
    width: 70%;
    padding-top: 5%;
    margin-bottom: 4%;
  }

  .concept-text p {
    text-align: justify;
    padding: 0 20px 0 20px;
  }

  .goal-wrapper figure {
    width: 80%;
  }
}

@media screen and (max-width: 480px) {
  /* コンセプトワード */
  #concept {
    padding: 4%;
  }

  .concept-word h1 {
    max-width: 100%;
    padding-top: 15%;
    margin-bottom: 4%;
  }

  .concept-text p {
    line-height: 1.8;
  }

  .goal-wrapper figure {
    width: 80%;
  }

  /* map */

  .concept-map {
    width: 100%;
    margin-bottom: 0;
  }

  /* in konosu */
  .concept-konosu {
    width: 80%;
    margin: 0 auto;
    /* margin-top: -8%; */
  }

  /* 目標 */
  .goal-wrapper {
    padding: 40px 20px 20px 20px;
  }

  .goal-flag img {
    width: 70%;
    margin: 0 auto;
    margin-top: -10px;
    margin-bottom: 5px;
  }

  .catchimin {
    margin-top: -8%;
    margin-bottom: 16px;
  }
}

/**
 * ***************************************
 * パッケージタイトル
 * ***************************************
 */

#pack-title {
  background-image: url(../img/sky.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 769px) {
  #pack-title {
    background-attachment: fixed;
  }
}

.pack-container p {
  line-height: 1.8;
  margin-top: 3%;
  margin-bottom: 5%;
}

.pack-container {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
  padding-top: 5%;
  padding-bottom: 5%;
}

@media screen and (max-width: 768px) {
  .pack-container {
    max-width: 85%;
  }
}

/**
 * ***************************************
 * 住む・働く・楽しむ　共通タイトル　
 * ***************************************
 */

.pack-title-container {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 20px;
}
.pack-title img {
  max-width: 150px;
  margin-bottom: 20px;
}

.live {
  background-color: #30b483;
}

.work {
  background-color: #338acb;
}

.enjoy {
  background-color: #0cb9d7;
}

.pack-title p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #ffffff;
  font-weight: 500;
}

@media screen and (max-width: 480px) {
  .pack-title p {
    font-size: 14px;
    line-height: 1.5;
    padding-left: 4%;
    padding-right: 4%;
  }

  .pack-title img {
    width: 33%;
    margin-bottom: 15px;
  }
}

/**
 * ***************************************
 * 住む　
 * ***************************************
 */

/* 住む・働く共通の画像のキャプション */
.photo-cap {
  font-size: 12px;
}

@media screen and (max-width: 480px) {
  .photo-cap {
    font-size: 10px;
  }
}
/* yours */

.base-container {
  max-width: 900px;
  margin: 0 auto;
  padding-top: 3%;
  padding-bottom: 3%;
  /* border-bottom: 2px solid #f7f7f7; */
}

.yours-catch img {
  padding: 20px;
}

.yours-catch {
  text-align: center;
}

.base-container h2 {
  padding-top: 3%;
  padding-bottom: 4%;
}

.base-container h2 span {
  background: linear-gradient(transparent 60%, yellow 30%);
  display: inline-block;
}

@media screen and (max-width: 480px) {
  .yours-catch img {
    width: 60%;
    padding: 20px;
  }

  .yours-catch {
    font-size: 18px;
    padding-top: 3%;
    padding-bottom: 5%;
  }
}

/* ファミリーコラム */

.familycolumn-catch {
  text-align: center;
  padding-bottom: 15px;
}
.familycolumn-catch h3 {
  line-height: 1.3;
  border-bottom: 2px solid #f08300;
  padding-bottom: 7px;
}

.base-copy {
  line-height: 1.7;
  text-align: justify;
  margin-bottom: 4%;
}

.base-container img {
  border-radius: 10px;
}

.flex04-box img {
  border-radius: 5px;
}

.familycolumn-item-photo img,.workfigure img{
  border-radius: 0px;
}

.yours .flex04-box {
  border: 1.5px solid #30b483;
  background-image: url(../img/stripe@2x-8.png);
  background-repeat: repeat;
  background-size: 5%;
}

/* family */
.family .flex04-box {
  border: 1.5px solid #f08300;
  background-image: url(../img/stripe@2x-8.png);
  background-repeat: repeat;
  background-size: 5%;
}

/* one */
.one .flex04-box {
  border: 1.5px solid #338acb;
  background-image: url(../img/stripe@2x-8.png);
  background-repeat: repeat;
  background-size: 5%;
}

.small {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
}

@media screen and (max-width: 1000px) {
  .base-container {
    padding: 4%;
  }
}

/**
 * ***************************************
 * 働く　
 * ***************************************
 */
.work-catch {
  text-align: left;
}
.work-no-ill {
  width: 70%;
  margin: 0 auto;
  margin-bottom: 5px;
}
.work-no-ill img {
  margin-top: 15px;
  margin-bottom: 7px;
}

.workname {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: #338acb;
  margin-bottom: 3px;
  text-align: center;
}

.workname-small {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  color: #338acb;
  text-align: center;
}
.work-ecord {
  width: 70%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .work-catch {
    text-align: center;
  }

  #pack-work .Agria {
    margin-bottom: 1%;
  }

  .work-set {
    text-align: center;
  }

  .work-no-ill {
    margin-top: 5%;
    width: 30%;
  }

  .work-ecord {
    width: 60%;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 480px) {
  .work-no-ill {
    width: 40%;
  }
}

/**
 * ***************************************
 * 楽しむ　
 * ***************************************
 */

/* 画像のキャプション */
.enjoy-report .photo-cap {
  font-size: 14px;
  font-weight: 500;
  color: #087d92;
}
.enjoy-eventtitle {
  max-width: 500px;
  margin: 0 auto;
  transform: translateY(50%);
}
.enjoy-eventbox {
  border: 1.5px solid #0cb9d7;
  border-radius: 10px;
  background-color: rgb(255, 250, 216);
  padding-top: 20px;
}

@media screen and (max-width: 768px) {
  .enjoy-eventtitle {
    width: 90%;
  }
}

/**
 * ***************************************
 * 声　
 * ***************************************
 */

#voice {
  background-color: #406aac;
  padding: 30px;
}
.voice-container {
  max-width: 900px;
  margin: 0 auto;
  background-image: url(../img/bg-voice.png);
  background-repeat: repeat;
  background-size: 5%;
  padding: 40px 50px 40px 50px;
  border-radius: 20px;
}
.voice-name {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 490px;
  margin: 0 auto;
}

.voice-ill {
  display: inline;
  width: 35%;
  margin: 10px;
}

.voice-profile {
  width: 65%;
  line-height: 1.6;
  font-weight: 700;
  color: #00996d;
}

.voice-title {
  max-width: 500px;
  margin: 0 auto;
  margin-bottom: 10px;
}

.voiceline {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1.5px solid #92b9ae;
}

@media screen and (max-width: 768px) {
  .voice-name {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .voice-ill {
    width: 100%;
    margin: 0;
  }
  .voice-profile {
    width: 100%;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 480px) {
  #voice {
    padding: 20px;
  }
  .voice-container {
    padding: 25px;
    border-radius: 20px;
  }
  .voice-profile {
    line-height: 1.5;
  }
}
/**
 * ***************************************
 * 応援サポーター募集　
 * ***************************************
 */

.concept-supporter {
  background-image: url(../img/yellow-bg.png);
  background-repeat: repeat;
  background-size: 4%;
  padding-bottom: 10px;
}
.supporter-flag {
  max-width: 600px;
  margin: 0 auto;
  transform: translateY(25%);
}

.supporter-wrapper {
  max-width: 900px;
  margin: 0 auto;
  padding: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  line-height: 1.7;
  text-align: center;
  font-weight: 500;
  -webkit-text-decoration: underline dotted #377eb0;
  text-decoration: underline dotted #377eb0;
  text-underline-offset: 0.5rem;
}

@media screen and (max-width: 768px) {
  .supporter-wrapper figure {
    width: 80%;
  }
}

@media screen and (max-width: 480px) {
  .supporter-wrapper figure {
    width: 80%;
  }

  /* 目標 */
  .supporter-wrapper {
    padding: 40px 20px 20px 20px;
    font-size: 15px;
  }

  .supporter-flag {
    width: 70%;
    margin: 0 auto;
  }
}
/**
 * ***************************************
 * チャレジョブ プロフィール　
 * ***************************************
 */

#profile {
  background-color: #ffffff;
}

.profile {
  max-width: 660px;
  margin: 0 auto;
  padding-top: 4%;
}
.profile h2 {
  font-size: 22px;
  text-align: center;
}

.challejob-logo-green {
  width: 50%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.sdgs-flex-box img {
  border-radius: 0;
}

@media screen and (max-width: 480px) {
  .profile h2 {
    font-size: 17px;
  }
}

/**
 * ***************************************
 * 2分割のフレックスボックス　SDGs
 * ***************************************
 */

.sdgs-flex-box {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #0cb9d7;
  border-bottom: 1px solid #0cb9d7;
  font-size: 13px;
  font-weight: 600;
  padding-top: 2%;
  padding-bottom: 2%;
}

.sdgs-flex-item01 {
  width: 28%;
}
.sdgs-flex-item02 {
  width: 70%;
}

.sdgs-flex-box p {
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .sdgs-flex-box {
    flex-wrap: wrap;
  }

  .sdgs-flex-item01 {
    width: 100%;
  }
  .sdgs-flex-item02 {
    width: 100%;
  }

  .sdgs-flex-box p {
    margin-bottom: 15px;
  }
}
/**
 * ***************************************
 * チャレジョブ 事業概要　
 * ***************************************
 */

.data-container{
  width: 100%;
  /* background-color: #ffffff */
}

.data{
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  /* border-top: 1px solid #0cb9d7; */
  border-bottom: 1px solid #9a9a9b;
  padding-top: 3%;
  padding-bottom: 2%;
  margin-bottom: 2%;
}

.challejob-container{
    background-color: #FAF7F0
}
/**
 * ***************************************
 * 下の街イラスト画像　
 * ***************************************
 */
.challejob-data {
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
  padding-bottom: 20px;
}

.bg-under {
  width: 100%;
}
.bg-under-copy {
  font-size: 12px;
  text-align: center;
  color: #00996d;
  display: block;
  padding-bottom: 10px;
}

@media screen and (max-width: 480px) {
  .challejob-data {
    font-size: 12px;
    padding-bottom: 30px;
  }

  .bg-under-copy {
    font-size: 10px;
  }

  .data{
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
/**
 * ***************************************
 * 社名ロゴ
 * ***************************************
 */

.challejob-logo-container {
  background-color: #00996d;
}
.challejob-logo {
  width: 220px;
  margin: 0 auto;
  padding: 20px;
  padding-bottom: 110px;
}

@media screen and (max-width: 768px) {
  .challejob-logo {
    width: 140px;
    padding: 10px;
    padding-bottom: 95px;
  }
}

@media screen and (max-width: 480px) {
  .challejob-logo {
    width: 140px;
    padding: 10px;
    padding-bottom: 65px;
  }
}

/**
 * ***************************************
 * ベースコンテナ、パッケージタイトルから下、共通の両側の空き
 * ***************************************
 */

@media screen and (max-width: 1000px) {
  #pack-title{
    padding: 4%;
  }
  .data-container ,.challejob-data{
    padding-right: 4%;
    padding-left: 4%;
  }
  .base-container {
    padding: 4%;
  }

}
