
h2 {
  text-align: center;
  display: block;
  width: 100%;
  margin: 30px auto;
}



/* --------------------------メンタルページ-------------- */
.mental {
  max-width: 1200px;
  margin: 60px auto;
}
.mental-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding:0.25em 1em;
  margin: 0 5%;
}
.mental-inner:before,
.mental-inner:after{ 
    content:'';
    width: 40px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.mental-inner:before{
    border-left: solid 4px #7bbf6a;
    border-top: solid 4px #7bbf6a;
    top:0;
    left: 0;
}
.mental-inner:after{
    border-right: solid 4px #7bbf6a;
    border-bottom: solid 4px #7bbf6a;
    bottom:0;
    right: 0;
}

/* イメージ */
.mental-image,
.mental-content {
  flex: 0 0 50%;
  padding: 20px;
}
.mental-image img {
  width: 100%;
}
.mental-content {
  flex: 1; 
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding-right: 20px; 
}
.mental-text {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .mental-inner {
    flex-direction: column;
    gap: 24px;
    margin: 0 10%;
  }

  .mental-image,
  .mental-content {
    flex: 0 0 100%;
  }
  .mental-content {
    max-width: 100%;
  }
  .mental-image img {
    max-width: 100%;
  }
  .mental {
    text-align: center;
  }
  .mental .entry.stand {
    margin: 0 auto;
  }
}






/* --------------------------デザインページ-------------- */
.design {
  max-width: 1200px;
  margin: 60px auto;
}
.design-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding:0.25em 1em;
  margin: 0 5%;
}
.design-inner:before,
.design-inner:after{ 
    content:'';
    width: 40px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.design-inner:before{
    border-left: solid 4px #e35b4f;
    border-top: solid 4px #e35b4f;
    top:0;
    left: 0;
}
.design-inner:after{
    border-right: solid 4px #e35b4f;
    border-bottom: solid 4px #e35b4f;
    bottom:0;
    right: 0;
}

/* イメージ */
.design-image,
.design-content {
  flex: 0 0 50%;
  padding: 20px;
}
.design-image img {
  width: 100%;
}
.design-content {
  flex: 1; 
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding-right: 20px; 
}
.design-text {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .design-inner {
    flex-direction: column;
    gap: 24px;
    margin: 0 10%;
  }

  .design-image,
  .design-content {
    flex: 0 0 100%;
  }
  .design-content {
    max-width: 100%;
  }
  .design-image img {
    max-width: 100%;
  }
  .design {
    text-align: center;
  }
  .design .entry.stand {
    margin: 0 auto;
  }
}





/* --------------------------システムページ-------------- */
.system {
  max-width: 1200px;
  margin: 60px auto;
}
.system-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding:0.25em 1em;
  margin: 0 5%;
}
.system-inner:before,
.system-inner:after{ 
    content:'';
    width: 40px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.system-inner:before{
    border-left: solid 4px #4d6edb;
    border-top: solid 4px #4d6edb;
    top:0;
    left: 0;
}
.system-inner:after{
    border-right: solid 4px #4d6edb;
    border-bottom: solid 4px #4d6edb;
    bottom:0;
    right: 0;
}

/* イメージ */
.system-image,
.system-content {
  flex: 0 0 50%;
  padding: 20px;
}
.system-image img {
  width: 100%;
}
.system-content {
  flex: 1; 
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding-right: 20px; 
}
.system-text {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .system-inner {
    flex-direction: column;
    gap: 24px;
    margin: 0 10%;
  }

  .system-image,
  .system-content {
    flex: 0 0 100%;
  }
  .system-content {
    max-width: 100%;
  }
  .system-image img {
    max-width: 100%;
  }
  .system {
    text-align: center;
  }
  .system .entry.stand {
    margin: 0 auto;
  }
}



/* --------------------------インテリアページ-------------- */
.interior {
  max-width: 1200px;
  margin: 60px auto;
}
.interior-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding:0.25em 1em;
  margin: 0 5%;
}
.interior-inner:before,
.interior-inner:after{ 
    content:'';
    width: 40px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.interior-inner:before{
    border-left: solid 4px #c9a650;
    border-top: solid 4px #c9a650;
    top:0;
    left: 0;
}
.interior-inner:after{
    border-right: solid 4px #c9a650;
    border-bottom: solid 4px #c9a650;
    bottom:0;
    right: 0;
}

/* イメージ */
.interior-image,
.interior-content {
  flex: 0 0 50%;
  padding: 20px;
}
.interior-image img {
  width: 100%;
}
.interior-content {
  flex: 1; 
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding-right: 20px; 
}
.interior-text {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .interior-inner {
    flex-direction: column;
    gap: 24px;
    margin: 0 10%;
  }

  .interior-image,
  .interior-content {
    flex: 0 0 100%;
  }
  .interior-content {
    max-width: 100%;
  }
  .interior-image img {
    max-width: 100%;
  }
  .interior {
    text-align: center;
  }
  .interior .entry.stand {
    margin: 0 auto;
  }
}




/* --------------------------youtubeページ-------------- */
.youtube {
  max-width: 1200px;
  margin: 60px auto;
}
.youtube-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding:0.25em 1em;
  margin: 0 5%;
}
.youtube-inner:before,
.youtube-inner:after{ 
    content:'';
    width: 40px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.youtube-inner:before{
    border-left: solid 4px #f72f1d;
    border-top: solid 4px #f72f1d;
    top:0;
    left: 0;
}
.youtube-inner:after{
    border-right: solid 4px #f72f1d;
    border-bottom: solid 4px #f72f1d;
    bottom:0;
    right: 0;
}

/* イメージ */
.youtube-image,
.youtube-content {
  flex: 0 0 50%;
  padding: 20px;
}
.youtube-image img {
  width: 100%;
}
.youtube-content {
  flex: 1; 
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding-right: 20px; 
}
.youtube-text {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .youtube-inner {
    flex-direction: column;
    gap: 24px;
    margin: 0 10%;
  }

  .youtube-image,
  .youtube-content {
    flex: 0 0 100%;
  }
  .youtube-content {
    max-width: 100%;
  }
  .youtube-image img {
    max-width: 100%;
  }
  .youtube {
    text-align: center;
  }
  .youtube .entry.stand {
    margin: 0 auto;
  }
}





/* --------------------------othersページ-------------- */
.others {
  max-width: 1200px;
  margin: 60px auto;
}
.others-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding:0.25em 1em;
  margin: 0 5%;
}
.others-inner:before,
.others-inner:after{ 
    content:'';
    width: 40px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.others-inner:before{
    border-left: solid 4px #a234b8;
    border-top: solid 4px #a234b8;
    top:0;
    left: 0;
}
.others-inner:after{
    border-right: solid 4px #a234b8;
    border-bottom: solid 4px #a234b8;
    bottom:0;
    right: 0;
}

/* イメージ */
.others-image,
.others-content {
  flex: 0 0 50%;
  padding: 20px;
}
.others-image img {
  width: 100%;
}
.others-content {
  flex: 1; 
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding-right: 20px; 
}
.others-text {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .others-inner {
    flex-direction: column;
    gap: 24px;
    margin: 0 10%;
  }

  .others-image,
  .others-content {
    flex: 0 0 100%;
  }
  .others-content {
    max-width: 100%;
  }
  .others-image img {
    max-width: 100%;
  }
  .others {
    text-align: center;
  }
  .others .entry.stand {
    margin: 0 auto;
  }
}



/* ----------------------Archiveページ-------------- */
.archive {
  max-width: 1100px;
  margin: 60px auto;
  padding: 0 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column; 
  gap: 32px;
}
.archive article {
  border: 1px solid #ccc;
  padding: 16px;
  box-sizing: border-box;
  background: #fff;
}
.archive article h3 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.archive article img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 900px) {
  .archive {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 40px;
    padding: 0 30px;
  }
  .archive article {
    width: 100%;
  }
}





/* ----------------------Singleページ-------------- */
.single {
  max-width: 980px;
  margin: 80px auto;
  padding: 0 50px;
  box-sizing: border-box;
}
.single-article {
  background: #fff;
  border: 1px solid #ccc;
  padding: 32px 32px 40px;
  box-sizing: border-box;
}
.single-title {
  margin: 0 0 24px;
  padding: 0;
  border: none;
  background: none;
  font-size: 28px;
  line-height: 1.4;
  text-align: center;
  word-break: break-word;
}
.single-thumb {
  margin: 0 0 24px;
  text-align: center;
}
.single-thumb img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.single-body {
  font-size: 16px;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .single {
    margin: 40px auto;
    padding: 0 20px;
  }
  .single-article {
    padding: 24px 18px 28px;
  }
  .single .single-title {
    font-size: 22px;
  }
}
























/* ---- 実績エリア ---- */
.achievements {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  width: 100%;
  max-width: 1200px;
  margin: 60px auto;
}
.ach-m {
  flex: 0 0 calc(25% - 40px);
  max-width: calc(25% - 40px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ach-m p {
  text-align: left;
}

.ach-m img {
  max-width: 120px;
  width: 100%;
  margin-bottom: 16px;
}
.ach-m p {
  font-size: 15px;
  line-height: 1.6;
  width: 100%; 
  box-sizing: border-box;
  word-break: break-all; 
  overflow-wrap: anywhere;
}
@media (max-width: 768px) {
  .achievements {
    flex-direction: column;
    gap: 40px;
    margin: 40px auto;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .ach-m {
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 10px;
  }
  .ach-m img {
    max-width: 100px;
  }
  .ach-m p {
    max-width: 300px;
    margin: 0 auto;
  }
}

























































