@charset "UTF-8";

.wiring-gb{
  background-color: var(--color-beige-1);
  background-image:
    url("../../img/common/wiring-gb-l.webp"),
    url("../../img/common/wiring-gb-r.webp");
  background-position:
    calc(50% - 600px) 90px,
    calc(50% + 600px) top;
  background-size:
    863px auto,
    811px auto;
  background-repeat: no-repeat,no-repeat;
}
.ttl-main{
  position: relative;
  color: var(--color-red-2);
  letter-spacing: 0.1em;
  font-size: 120px;
  line-height: 1;
}
.ttl-pin{
  display: block;
  width: 80px;
  position: absolute;
}
.ttl-sub{
  letter-spacing: 0.3em;
  font-size: var(--fs-21);
  font-weight: var(--fw-bold);
  padding-right: 30px;
}
.ttl-cap{
  font-size: var(--fs-15);
}
@media screen and (min-width: 2000px) {
  .wiring-gb{ background-position:left 90px, right top;
  }
}
@media screen and (max-width: 768px) {
  .wiring-gb{
    background-position: -200px 90px,right -200px top;
    background-size:400px auto,400px auto;
  }
  .ttl-main{
    font-size: 40px;
  }
  .ttl-pin{
    width: 40px;
  }
}


/*--------------------------------
  President’s Message
 --------------------------------*/
#c-pre .ttl-main{
  overflow: hidden;
  margin-left: calc((100% - 1300px) / 2 + 140px);
  padding-bottom: 22px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
#c-pre .ttl-box{
  position: relative;
}
#c-pre .ttl-pin{
  top: 150px;
  left: -80px;
}
#c-pre .ttl-sub{
  width: 100%;
  letter-spacing: 0.3em;
  font-size: var(--fs-33);
  font-weight: var(--fw-bold);
  margin-top: 10px;
  margin-bottom: 50px;
  padding-right: 30px;
}
#c-pre .ttl-box p{
  font-size: var(--fs-15);
}
#c-pre .ttl-box .solid-content{
  padding: 0px;
}
#c-pre .ttl-box .solid-content .solid-ttl{
  font-size: 82px;
}
#c-pre .ttl-box .solid-content:nth-of-type(1){
  text-align: right;
  margin-left: auto;
}
#c-pre .ttl-box .solid-content:nth-of-type(2) .solid-ttl{
  margin-bottom: 50px;
  left: 30px;
}
#c-pre .name{
  margin-bottom: 30px;
}
#c-pre .name p{
  font-size: var(--fs-15);
  letter-spacing: 0.2em;
  text-align: right;
  padding-right: 30px;
  margin-bottom: 15px;
  margin-top: 10px;
}
#c-pre .name img{
  width: 150px;
  margin-left: auto;
}
@media screen and (max-width: 1100px) {
  #c-pre .ttl-main{
    margin-left: 5%;
  }
  #c-pre .ttl-pin{
    top: 150px;
    left: -40px;
  }
}
@media screen and (max-width: 960px) {
  #c-pre .solid-ttl {
    font-size: 48px;
    margin-left: 0;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  #c-pre .ttl-main{
    padding-bottom: 10px;
  }
  #c-pre .ttl-pin{
    top: 80px;
    left: -10px;
  }
  #c-pre .ttl-sub{
    font-size: var(--fs-20);
    margin-bottom: 30px;
  }
  #c-pre .ttl-box .solid-content .solid-ttl {
    font-size: var(--fs-40);
    border: 3px solid var(--color-red-2);
  }
  #c-pre .ttl-box .solid-content:nth-of-type(1){
    margin-left: 60px;
  }
  #c-pre .ttl-box .solid-content:nth-of-type(2) .solid-ttl{
    margin-bottom: 30px;
  }
  #c-pre .name p{
    margin-bottom: 5px;
  }
}


/*--------------------------------
  Philosophy / Vision
 --------------------------------*/
#c-phi{
  position: relative;
  background: var(--color-beige-2) url("../../img/page/company/c-phi-back.webp") no-repeat;
  background-position: calc((100% - 1300px) / 2 + 1200px) calc(100%);
}
#c-phi .ttl-main{
  overflow: hidden;
  margin-left: calc((100% - 1300px) / 2 + 20px);
  padding-bottom: 22px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
#c-phi .ttl-box{
  position: relative;
}
#c-phi .ttl-pin{
  top: 100px;
  right: -150px;
}
#c-phi .ttl-sub{
  width: 100%;
  letter-spacing: 0.3em;
  font-size: var(--fs-33);
  font-weight: var(--fw-bold);
  margin-top: 10px;
  margin-bottom: 50px;
  padding-right: 30px;
}
#c-phi .c-phi-ttl {
  background: var(--color-white);
  display: inline-flex;
  align-items: center;
  border: 2px solid var(--color-red-2);
  padding: 0;
  line-height: 1;
  margin-bottom: 35px;
}
#c-phi .c-phi-ttl h2 {
  font-size: 27px;
  letter-spacing: 0.2em;
  color: var(--color-red-2);
  padding: 3px 10px 5px;
}
#c-phi .c-phi-ttl .jp-title {
  font-size: var(--fs-21);
  letter-spacing: 0.3em;
  color: var(--color-white); 
  background-color: var(--color-red-2); 
  padding: 3px 15px 5px;
  align-self: stretch; 
  display: flex;
  align-items: center;
}
#c-phi .c-phi-txt{
  color: #0f0604;
  padding-left: 35px;
  margin-bottom: 70px;
}
#c-phi .c-phi02 .c-phi-txt h3 {
  font-size: var(--fs-24);
  font-weight: var(--fw-bold);
  margin-bottom: 15px;
}
#c-phi .c-phi03 .c-phi-txt li {
  position: relative;
  padding-left: 25px;
}
#c-phi .c-phi03 .c-phi-txt li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
}
#c-phi .c-phi05 .c-phi-txt p {
  margin-bottom: 20px;
}
#c-phi .c-phi05 .c-phi-txt li {
  position: relative;
  padding-left: 15px;
}
#c-phi .c-phi05 .c-phi-txt li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 1300px) {
  #c-phi .ttl-main{
    margin-left: 5%;
  }
  #c-phi{
    background-position: calc(100% + 485px) calc(100%);
  }
}
@media screen and (max-width: 1100px) {
  #c-phi .ttl-pin{
  right: 0px;
  }
}
@media screen and (max-width: 960px) {
  .solid-ttl {
    font-size: 48px;
    margin-left: 0;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  #c-phi{
    background-size: 500px;
    background-position: right -200px bottom;
  }
  #c-phi .ttl-main{
    padding-bottom: 10px;
  }
  #c-phi .ttl-pin{
  top: 60px;
  right: -4%;
  }
  #c-phi .ttl-sub{
    font-size: var(--fs-20);
    margin-bottom: 30px;
  }
  #c-phi .c-phi-ttl {
    margin-bottom: 20px;
  }
  #c-phi .c-phi-txt{
    padding-left: 10px;
    margin-bottom: 35px;
  }
}


/*--------------------------------
  About Us
 --------------------------------*/
#c-abo .ttl-main{
  position: relative;
  margin-bottom: 50px;
}
#c-abo .ttl-main span{
  display: block;
  position: absolute;
  bottom: 10px;
  right: 100px;
  font-size: var(--fs-33);
  font-weight: var(--fw-bold);
  letter-spacing: 0.1em;
  color: var(--color-black-3);
}
#c-abo .ttl-box{
  position: relative;
}
#c-abo .ttl-pin{
  top: 0px;
  left: -100px;
}
#c-abo .ttl-box p{
  font-size: var(--fs-21);
}
#c-abo .ttl-box .solid-content{
  padding: 0px;
}
#c-abo .ttl-box .solid-content .solid-ttl{
  font-size: 47px;
}
#c-abo .ttl-box .solid-content:nth-of-type(2) .solid-ttl{
  margin-bottom: 30px;
}
#c-abo .prof {
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
}
#c-abo .item {
  display: flex;
  padding: 30px 0 0;
  border-bottom: 0.5px solid var(--color-black-2);
  font-size: var(--fs-16);
}
#c-abo .item:nth-of-type(2) {
  padding: 30px 0;
}
#c-abo .list .item:last-child {
  border-bottom: none;
}
#c-abo .item dt {
  width: 190px;
  min-width: 120px;
  margin-right: 30px;
  flex-shrink: 0;
  letter-spacing: 0.1em;
  text-align: justify;
  text-justify: inter-ideograph;
  padding-left: 30px;
  padding-right: 30px;
}
#c-abo .item dt::after {
  content: "";
  display: inline-block;
  width: 100%; /* dtの幅いっぱいに広げる */
}
#c-abo .item dd {
    flex-grow: 1;
}
@media screen and (max-width: 1200px) {
  #c-abo .ttl-pin{
    top: -40px;
    left: -50px;
  }
}
@media screen and (max-width: 940px) {
  #c-abo .solid-ttl {
    font-size: 48px;
    margin-left: 0;
    margin-right: auto;
  }
  #c-abo .ttl-pin{
    top: -60px;
    left: -10px;
  }
  #c-abo .ttl-main span{
    right: -20px;
    bottom: -10px;
    padding: 15px 20px 15px 0;
    font-size: var(--fs-21);
  }
}
@media screen and (max-width: 768px) {
  #c-abo .ttl-main{
    padding-bottom: 10px;
  }
  #c-abo .ttl-pin{
    top: -33px;
  }
  #c-abo .ttl-main span{
    right: -10px;
    bottom: -5px;
  }
  #c-abo .ttl-box .solid-content .solid-ttl {
    font-size: var(--fs-40);
    border: 3px solid var(--color-red-2);
  }
  #c-abo .ttl-box .solid-content:nth-of-type(1){
    
  }
  #c-abo .ttl-box .solid-content:nth-of-type(2) .solid-ttl{
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 600px) {
  #c-abo .ttl-box p{
    font-size: var(--fs-18);
  }
  #c-abo .ttl-box .solid-content:nth-of-type(2) .solid-ttl{
    margin-bottom: 8px;
  }
  #c-abo .item {
    display: flex;
    padding: 20px 0 0;
  }
  #c-abo .item:nth-of-type(2) {
    padding: 20px 0;
  }
  #c-abo .item dt {
    width: 130px;
    min-width: 120px;
    margin-right: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*--------------------------------
  Member
 --------------------------------*/
#c-mem {
  position: relative;
  background: var(--color-beige-2);
}
#c-mem .ttl-pin{
  top: 50px;
  left: -100px;
}
#c-mem .ttl-main{
  position: relative;
  margin-bottom: 50px;
}
#c-mem .ttl-main span{
  display: block;
  position: absolute;
  bottom: 10px;
  right: 0px;
  font-size: var(--fs-33);
  font-weight: var(--fw-bold);
  letter-spacing: 0.1em;
  color: var(--color-black-3);
}
#c-mem .intr {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin-top: 50px;
}
#c-mem .intr-item {
  position: relative;
  flex-basis: calc(33.333% - 13.333px); /* 3列時の幅 */
  min-width: 280px; /* 最低幅を確保（300pxの minmax を想定） */
  margin-top: 30px;
}
#c-mem .intr-content {
  background-color: var(--color-white);
  padding: 40px;
}
#c-mem .intr-member {
  position: absolute;
  top: 20px; 
  right: 10px;
  transform: translateY(-45%);  
}
#c-mem .intr-member img{
  height: 114px;
  width: auto;
}
#c-mem .intr-content h4 {
  font-size: var(--fs-17);
  font-weight: var(--fw-bold);
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
#c-mem .intr-content h5 {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.2em;
  color: var(--color-red-2);
  margin-bottom: 10px;
}
#c-mem .intr-content p {
  font-size: var(--fs-15);
}
@media screen and (max-width: 1200px) {
  #c-mem .ttl-main span{
    right: 0;
  }
  #c-mem .ttl-pin{
    top: -40px;
    left: -50px;
  }
}
@media (max-width: 1100px) {
  #c-mem .intr-item {
    flex-basis: calc(50% - 7.5px); /* 2列時の幅 */
  }
  #c-mem .intr-member {
    top: 20px; 
    right: 20px;
  }
}
@media screen and (max-width: 1000px) {
  #c-mem .ttl-main{
    letter-spacing: 0.05em;
  }
  #c-mem .ttl-pin{
    top: -60px;
    left: -10px;
  }
  #c-mem .ttl-main span{
    letter-spacing: 0;
  }
}
@media screen and (max-width: 900px) {
  #c-mem .ttl-main{
    font-size: 100px;
  }
}
@media screen and (max-width: 768px) {
  #c-mem .ttl-pin{
    top: -33px;
  }
  #c-mem .ttl-main{
    font-size: var(--fs-40);
    letter-spacing: 0.1em;
  }
  #c-mem .ttl-main span{
    font-size: var(--fs-24);
    letter-spacing: 0.1em;
    bottom: 0;
  }
  #c-mem .intr {
    flex-direction: column;
    margin-top: 30px;
  }
  #c-mem .intr-item {
    width: 100%;
    flex-basis: auto;
    margin-top: 10px;
  }
  #c-mem .intr-content {
    padding: 20px;
  }
  #c-mem .intr-member {
    top: -10px; 
    right: 10px;
    transform: translateY(-0%);  
  }
  #c-mem .intr-member img{
    height: 90px;
  }
}







.pc-only{}
.sp-only{display: none;}
@media screen and (max-width: 600px) {
.pc-only{display: none;}
.sp-only{display: block;}
}


