/* ==========================================================================
idea
========================================================================== */
.idea_copy_wrap {
  width: 100%;
  border: 4px solid #fff5d4;
  border-radius: 10px;
  text-align: center;
  padding: 1px 10px 48px;
  margin-top: 76px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.idea_copy_wrap .mod-text {
  margin-top: 34px;
}

.idea_copy_wrap:first-of-type {
  margin-top: 24px;
}

@media screen and (max-width: 768px) {
  .content {
    padding: 80px 60px 120px
  }
}

@media screen and (max-width: 600px) {
  .idea_copy_wrap {
    padding: 1px 10px 30px;
  }

  .idea_copy_wrap .mod-text {
    text-align: left;
  }

  .content {
    padding: 40px 20px;
  }
}

.idea_copy {
  margin-top: 46px;
}

.idea_copy img {
  width: 800px;
  margin: 0 auto;
}

.idea_copy.opt-last img {
  width: 800px;
}

@media screen and (max-width: 600px) {
  .idea_copy {
    margin-top: 36px;
  }

  .idea_copy img {
    width: 100%;
    max-width: 240px;
  }

  .idea_copy.opt-last img {
    width: 100%;
    max-width: 300px;
  }
}

.idea_copy+.mod-text {
  margin-top: 34px;
}

.idea_baloon_wrap {
  margin-top: -38px;
}

/* 
==========================================================================
Title container
========================================================================== 
*/
h2 {
  margin: 0;
  color: var(--blackheading);
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 64px !important;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
  letter-spacing: 2.56px;
}

.title-container {
  height: 398px;
  padding-top: 120px;
  margin-left: 13%;
  margin-right: 20px;
}

.title-container h2 {
  font-family: "Inter", "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 600px) {
  h2 {
    font-size: 52px !important;
    letter-spacing: 2.08px;
  }

  .title-container {
    min-height: 335px;
    padding-top: 80px;
    margin-left: 20px;
    height: auto;
  }
}

/* 
==========================================================================
philosophy styles
========================================================================== 
*/
.philosophy-title {
  color: var(--vivid-orange);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 29px;
  font-style: normal;
  font-weight: 700;
  line-height: 155%;
  letter-spacing: 1.16px;
}

.philosophy-wrapper {
  background: var(--translucent-white);
  backdrop-filter: blur(10px);
  display: flex;
  padding-top: 120px;
  position: relative;
}

.philosophy-img {
  width: 44.3%;
  object-fit: cover;
  object-position: 0px 0px;
}

.philosophy-information {
  display: flex;
  flex-direction: column;
  width: 55.7%;
  padding-right: 48px;
  padding-left: 12.7%;
  margin-bottom: 10px;
}

.philosophy-content-text {
  color: var(--blackheading);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
}

@media screen and (max-width: 768px) {
  .philosophy-title {
    font-size: 18px;
  }

  .philosophy-information {
    padding: 0 50px;
  }

  .philosophy-title {
    margin-top: 40px !important;
  }
}

/* MOBILE */
@media screen and (max-width: 600px) {
  .philosophy-wrapper {
    margin-top: 0;
    padding: 0 0 0 20px;
  }

  .philosophy-wrapper {
    flex-direction: column;
  }

  .philosophy-img {
    width: 100%;
    height: 338px;
    object-fit: cover;
    object-position: center;
  }

  .philosophy-information {
    padding: 0;
    width: 100%;
  }

  .philosophy-title {
    font-size: 18px;
  }

  .philosophy-content-text {
    font-size: 16px;
  }
}


/* 
==========================================================================
value styles
========================================================================== 
*/
.value-title {
  color: var(--blackheading);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 1.12px;
}

.value-content-text {
  color: var(--graybody);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
}

@media screen and (max-width: 768px) {
  .value-title {
    font-size: 18px;
    margin-top: 40px !important;
  }
}

/* MOBILE */
@media screen and (max-width: 600px) {
  .value-title {
    font-size: 18px;
  }
}

/* 
==========================================================================
ceo messages styles
========================================================================== 
*/
.ceo-message-avatar-size {
  width: 100%;
  background: lightgray 50% / cover no-repeat;
}

.ceo-message-content-text {
  color: var(--graybody);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
}

.ceo-message-position-text {
  color: var(--blackheading);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 2.56px;
}

.ceo-message-name-text {
  color: var(--blackheading);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 3.2px;
}

.about-idea-content-wrapper .ceo-message-information-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 0 0 36%;
}


.about-idea-content-wrapper .ceo-message-information-right {
  display: flex;
  flex-direction: column;
  flex: 0 0 64%;
  padding-left: 60px;
}

/* MOBILE */
@media screen and (max-width: 600px) {
  .about-idea-content-wrapper .ceo-message-information-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 100%;
  }

  .about-idea-content-wrapper .ceo-message-information-right {
    display: flex;
    flex-direction: column;
    flex: 0 0 100%;
    padding-left: 0;
  }
}

/* 
==========================================================================
code of conduct styles
========================================================================== 
*/
.code-of-conduct-container {
  display: flex;
  padding-bottom: 40px;
  align-items: flex-start;
  gap: 60px;
  border-bottom: 1px solid var(--grayline);
  width: 100%;
}

.code-of-conduct-container .title-group {
  width: 180px;
  display: flex;
  align-items: flex-start;
  align-self: stretch;
  flex: 0 0 180px;
}

.code-of-conduct-container .content-container {
  display: flex;
  align-items: flex-start;
  align-self: stretch;
}

.code-of-conduct-container .title-group .number-text {
  color: var(--vivid-orange);
  text-align: center;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 600;
  line-height: 155%;
}

.code-of-conduct-container .title-group .title-text {
  color: var(--blackheading);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 155%;
  letter-spacing: 1.92px;
  margin-left: 20px;
}

.code-of-conduct-container .content-container .content-text {
  color: var(--graybody);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .code-of-conduct-container .title-group {
    width: 100px;
    flex: 0 0 100px;
  }

  .code-of-conduct-container {
    gap: 40px;
  }
}

/* MOBILE */
@media screen and (max-width: 600px) {
  .code-of-conduct-container {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 20px;
    gap: 12px;
  }

  .code-of-conduct-container .title-group {
    width: 100%;
    flex: none;
  }

  .code-of-conduct-container .content-container {
    width: 100%;
    margin-left: 0;
  }

  .code-of-conduct-container .title-group .title-text {
    margin-left: 12px;
  }
}

/*
==========================================================================
 Information Bottom Styles
==========================================================================
*/
.information-container .grid-container .link-group:first-child .information-wrapper {
  background-image: url("/about/img/overview_img01.png");
}

.information-container .grid-container .link-group:last-child .information-wrapper {
  background-image: url("/img/group_img01.jpg");
}

/* 
==========================================================================
title style
========================================================================== 
*/
.about-idea-title-group {
  display: flex;
  flex-direction: column;
}

.about-idea-sub-title-orange {
  color: var(--vivid-orange);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 2.56px;
}

.about-idea-title {
  color: var(--blackheading);
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 44px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
  letter-spacing: 1.76px;
  white-space: nowrap;
}

.subtitle-container {
  display: flex;
  align-items: center;
}

.subtitle-container .ellipse {
  position: relative;
  width: 12px;
  height: 12px;
  background-color: var(--vivid-orange);
  border-radius: 6px;
  margin-right: 12px;
}

.subtitle-container .about-idea-subtitle {
  color: var(--blackheading);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 2.4px;
}

.about-message-title-group .about-idea-sub-title-orange {
  font-size: 32px;
}

@media screen and (max-width: 768px) {
  .about-idea-title {
    word-break: break-word;
    white-space: normal;
  }
}

/* Mobile */
@media screen and (max-width: 600px) {
  .about-message-title-group {
    padding: 0 20px;
  }

  .about-message-title-group .about-idea-sub-title-orange {
    font-size: 28px;
  }

  .about-message-title-group .about-idea-title {
    font-size: 36px;
  }

  .subtitle-container .ellipse {
    margin-right: 10px;
  }

  .subtitle-container .about-idea-subtitle {
    font-size: 18px;
    color: #191c20;
  }
}

/* 
==========================================================================
about-idea content with background
========================================================================== 
*/
.about-idea-content-wrapper {
  width: 100%;
  flex-shrink: 0;
  position: relative;
}

.wrapper-padding-horizontal {
  padding-left: 20%;
  padding-right: 20%;
}

.about-idea-information {
  display: flex;
  justify-content: flex-end;
}

.about-value .about-idea-information {
  padding: 0 12.7%;
}

.about-idea-content-wrapper .about-idea-information-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 0 0 50%;
}

.about-idea-content-wrapper .about-idea-information-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 50%;
}

.about-idea-content-wrapper .about-idea-image {
  flex-shrink: 0;
  background: #E8E8E8;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .wrapper-padding-horizontal {
    padding: 0 12.7%;
  }
}

/* Mobile */
@media screen and (max-width: 600px) {
  .about-idea-information {
    width: 100%;
    flex-direction: column;
    padding: 0 20px;
  }

  .about-value .about-idea-information {
    padding: 0 20px;
  }

  .about-idea-content-wrapper .about-idea-information-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 100%;
  }

  .about-idea-content-wrapper .about-idea-information-right {
    width: 100%;
  }

  .about-idea-information-reverse {
    flex-direction: column-reverse;
  }

  .wrapper-padding-horizontal {
    padding: 0;
  }
}

/* 
==========================================================================
BackgroundImage
========================================================================== 
*/
.background-image-middle-1 {
  position: absolute;
  top: -59px;
  width: 100%;
  z-index: -1;
  display: block;
}

.background-image-middle-2 {
  position: absolute;
  top: 2900px;
  width: 100%;
  z-index: -1;
  display: block;
}

.background-image-middle-1-sp {
  display: none;
}

.background-image-middle-2-sp {
  display: none;
}

@media screen and (max-width: 1024px) {
  .code-of-conduct-container {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 40px;
    gap: 12px;
  }

  .code-of-conduct-container .title-group {
    width: 100%;
    flex: none;
  }

  .code-of-conduct-container .content-container {
    width: 100%;
    margin-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .background-image-middle-1 {
    display: none;
  }

  .background-image-middle-1-sp {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
    display: block;
  }
}

/* Mobile */
@media screen and (max-width: 600px) {
  .background-image-middle-1 {
    display: none;
  }

  .background-image-middle-2 {
    display: none;
  }

  .background-image-middle-1-sp {
    position: absolute;
    top: -182px;
    width: 100%;
    z-index: -1;
    display: block;
  }

  .background-image-middle-2-sp {
    position: absolute;
    top: 5737px;
    width: 100%;
    z-index: -1;
    display: block;
  }
}

/* 
==========================================================================
Others
========================================================================== 
*/
.background-blur {
  background: var(--translucent-white);
  backdrop-filter: blur(10px);
}

.hidden-mobile {
  display: block;
}

.hidden-pc {
  display: none;
}

.mobile-break {
  display: none;
}

.mt-4 {
  margin-top: 4px !important;
}

.mt-12 {
  margin-top: 12px !important;
}

.mt-28 {
  margin-top: 28px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mt-120 {
  margin-top: 120px !important;
}

.mt-160 {
  margin-top: 160px !important;
}

.mb-120 {
  margin-bottom: 120px !important;
}

.text-space-1 {
  text-indent: 1em;
}

.text-space-2 {
  text-indent: 2em;
}

.text-space-3 {
  text-indent: 3em;
}

/* Mobile */
@media screen and (max-width: 600px) {
  .hidden-mobile {
    display: none;
  }

  .hidden-pc {
    display: block;
  }

  .mobile-break {
    display: block;
  }

  .margin-left-50-percent {
    margin-left: 0;
  }

  .mt-m-6 {
    margin-top: 6px !important;
  }

  .mt-m-12 {
    margin-top: 12px !important;
  }

  .mt-m-20 {
    margin-top: 20px !important;
  }

  .mt-m-32 {
    margin-top: 32px !important;
  }

  .mt-m-60 {
    margin-top: 60px !important;
  }

  .mt-m-80 {
    margin-top: 80px !important;
  }

  .mb-m-60 {
    margin-bottom: 60px !important;
  }
}

.forbidden-select :not(input):not(textarea) {
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
 -webkit-touch-callout: none;
}
