@charset "UTF-8";
/* CSS Document */


/* 　　ヘッダー と ファーストビュー関連 は header.css へ 　　*/


/* =========================
   PC 各ページ共通 
   ========================= */

.theme-reverse {
    background: #b54200;
}
.theme-reverse h2, .theme-reverse a, .theme-reverse p {
    color: #fff;
}


.btn__more {
    display: flex;
    height: 6rem;
    justify-content: flex-end;
    margin-right: 5rem;
}
.btn__more a {
    font-size: 2rem;
    display: flex;
    align-items: center;
    color: #b54200;
}
.btn__more a i {
    font-size: 3.75rem;
    margin-left: 1rem;
}
.btn__more:hover a {
/*    opacity: .7;*/
}








/* =========================
   PC TOPページ（下層でも共通かも）
   ========================= */

h2 {
    font-size: 4.5rem;
    font-weight: bold;
    color: #b54200;
    letter-spacing: .2rem;
    margin-bottom: 2rem;
}

.main__w {
    width: 100%;    
}

.section__w {
    width: 100%;
    display: flex;
    justify-content: center;
/*    flex-direction: row;*/
    padding: 11rem 0;
}


/* == SP == */

@media screen and (max-width:750px) {
    h2 {
        font-size: 3.75rem;
        font-weight: bold;
        color: #b54200;
        letter-spacing: .3rem;
        margin-bottom: 2rem;
        text-align: center;
    }

    .main__w section {
        padding-left: 0!important;
        padding: 5rem 0　5rem 2rem !important;
    }

    .btn__more {
      display: flex;
      height: 6rem;
      justify-content: center;
      margin-right: 0;
    }
    .btn__more a i {
        font-size: 3.25rem;
    }
}
/* == /TOPページ（下層でも共通かも） == */






/* =========================
   PC TOPページ　PROFILE
   ========================= */

.profile__w {
    flex-direction: column;
    align-items: center;
}
.profile__box {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
}
.profile__box--left {
    margin-right: 5rem;
}
.profile__img {
    display: block;
    margin: 0 auto;
}
.profile__name {
    font-size: 2.75rem;
    letter-spacing: normal;
}
.profile__name ruby rt {
    opacity: 0.7;
    font-size: 1rem;
    padding-bottom: .25rem;
}
.profile__w .circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;  /* 円形にする */
  position: relative;  /* 基準値とする */
  overflow: hidden;    /* はみ出た部分を非表示 */
}
.profile__w .circle img {
  position: absolute;  /* 相対位置に指定 */
  top: 0;
  left: 0;
  width: auto;
  height: 100%;
  object-fit: cover;   /* 画像の表示サイズを調整 ※IE非対応 */
}
.profile__text {
    width: 46%;
/*    align-self: center;*/
    align-self: end;
}


/* == SP == */

@media screen and (max-width:750px) {
    .profile__box {
        flex-direction: column;
    }
    .profile__box--left {
        margin: 0;
        align-self: center;
    }
    .profile__img {
        display: block;
        margin: 0 auto;
    }
    .profile__text {
        width: 75%;
        align-self: center;
    }
}
/* == /TOPページ　PROFILE == */





/* =========================
   PC TOPページ　WORKS
   ========================= */

.works__w {
    flex-direction: column;
    align-items: center;
}


    /*===== 準備中02 =====*/
    /* ベース */
    .works {
      padding: 3rem 0;
      text-align: center;
      flex-direction: column;
    }
    .comingsoon {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 0.5rem;
      color: #222;
    }
    .comingsoon__title {
      font-size: 1.75rem;
      font-weight: 700;
      letter-spacing: 0.02em;
    }
    .comingsoon__note {
      font-size: 1.4rem;
      color: #666;
    }

    /* ドットのアニメーション：段階で「…」が増えて減る */
    .comingsoon__dots::after {
      content: "";
      display: inline-block;
      width: 1ch;
      text-align: left;
      animation: dotsCycle 1200ms steps(4) infinite;
      margin-left: 0.25rem;
    }
    @keyframes dotsCycle {
      0%   { content: ""; }
      25%  { content: "."; }
      50%  { content: ".."; }
      75%  { content: "..."; }
      100% { content: ""; }
    }

    /* モーション軽減対応 */
    @media (prefers-reduced-motion: reduce) {
      .comingsoon__dots::after {
        animation: none;
        content: "...";
      }
    }
    /*===== 準備中02 =====*/


    /*===== 準備中01
    .works__status {
      font-size: 1.5rem;
      font-weight: bold;
      color: #b4ada9;
      text-align: center;
      margin-top: 2rem;
    }
    .works__note {
      font-size: 1rem;
      color: #666;
      text-align: center;
    }
    =====*/

/*背景画像アニメーション*/
/*
.streamlined {
    overflow: hidden;
    background-image: url("../images/streamlined.png");
    background-size: cover;
    animation: scrollBg 300s linear infinite;
}
@keyframes scrollBg {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -3000px 0;
  }
}
*/



/* == SP == */

@media screen and (max-width:750px) {

}
/* == /TOPページ　WORKS == */





/* =========================
   PC TOPページ　INFO
   ========================= */

.info__w {
    flex-wrap: wrap;
}
.info__box {
    width: 100%;
    display: flex;
/*    justify-content: space-between;*/
    padding-left: 20%;
}
.info__box ul {
    width: 100px;
    display: flex;
    justify-content: space-around;
    margin: 0 2rem;
    align-items: center;
}
.info__contents {
    width: 480px;
    width: 50%;
    border-bottom: 0.75px solid #b54200;
    display: flex;
    padding-bottom: 3rem;
    padding: 2rem 3rem 3rem 3rem;
    margin-right: 1.75rem;
}
.info__w .circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;  /* 円形にする */
  position: relative;  /* 基準値とする */
  overflow: hidden;    /* はみ出た部分を非表示 */

    margin-right: 4rem;
}
.info__w .circle img {
  position: absolute;  /* 相対位置に指定 */
  top: 0;
  left: 0;
  width: auto;
  height: 100%;
  object-fit: cover;   /* 画像の表示サイズを調整 ※IE非対応 */
}
/*
.info__img {
    width: 100px;
    height: 100px;
    margin-right: 4rem;
}
*/
.info__text {
    display: flex;
    flex-direction: column;
}
.info__text-data {
    display: flex;
    flex-direction: row;
}
.info__text-data p {
    margin-right: 1rem;
}
.info__title {
    font-size: 1.9rem;
    letter-spacing: 0.1rem;
    line-height: 1.2;
}

/* 上記の改修 2602 */
.info-list__top {
    
}
.info-list {
  list-style: none;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.info-list > li {
    width: 100%;
    display: flex;
    justify-content: center;
}
.info-list > li > a {
  width: 70%;
  text-decoration: none;
  color: inherit;
  display: block;
}
.info-item {
/*    width: 50%;*/
    width: 100%;
    border-bottom: 0.75px solid #b54200;
    display: flex;
/*    flex-direction: column;*/
    flex-direction: row;
    align-items: center;
    padding: 2rem 3rem 3rem 3rem;
    box-sizing: border-box;
    transition: .3s ease;
}
.info-item:hover .info-item__cat {
    color: #fff;
/*    background-color: var(--color-orange);*/
    background-color: #b54200;
    transition: .3s ease;
}
.info-item__first-line {
/*    width: 100%;*/
    width: auto;
    display: flex;
    flex-direction: row;
    margin-right: 2.5rem;
}
.info-item__second-line {
    width: 100%;
}
.info-item__update {
    color: #333;
    margin-right: 1rem;
}
.info-item__cat {
    margin-right: auto;
}
.info-item__title {
    color: #333;
    font-size: 1.9rem;
    letter-spacing: 0.1rem;
    line-height: 1.2;
  font-weight: 400;
  transition-duration: .3s;
  transition-property: color, background-color;
/*  line-height: 1.5;*/
/*  width: calc(100% - 238px);*/
  max-height: 3em;
}


/* == SP == */

@media screen and (max-width:750px) {
    .info__box {
        flex-direction: column;
        padding-left: 0;
    }
    .info__box ul {
        display: flex;
        padding-left: 1.25rem;
    }
    .info__box ul li {
        margin-right: 1.75rem;
    }   
    .info__contents {
        width: 90%;
        margin-right: 0;
        padding: 0 1rem 2rem 1rem;
    }
    .info__w .circle {
        width: 90px;
        height: 90px;
        margin-right: 1.8rem;
    }
    /*
    .info__img {
        width: 80px;
        height: 80px;
        margin-right: 1.75rem;
    }
    */
    .info__text-data p {
        font-weight: 400;
    }
    .info__title {
        font-size: 1.6rem;
    }
    

    /* 上記の改修 2602 */
    .info-list__top {
        padding-right: 0;
    }
    .info-item {
        flex-wrap: wrap;
        width: 90%;
        margin-right: 0;
        padding: 0 1rem 2rem 1rem;
    }
    .info-item_update {
        order: 2;
    }
    .info-item_cat {
      order: 1;
      margin-left: 0;
      margin-right: 21px;
    }
    .info-item__title {
      width: 100%;
      margin-top: 10px;
      order: 3;
    }

}
/* == /TOPページ　INFO == */





/* =========================
   PC TOPページ　CONTACT
   ========================= */

.contact__w {
    width: 85%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact__title {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.contact__w .btn__more {
    justify-content: flex-start;
    margin-bottom: 1.25rem;
}
.contact__w .btn__more a i {
/*    color: #333;*/
}


/* == SP == */

@media screen and (max-width:750px) {
    .contact__w {
        width: 100%;
        display: flex;
        align-items: center;
    }
}
/* == /TOPページ　CONTACT == */





/* =========================
   PC 下層ページ
   ========================= */



/* == SP == */

@media screen and (max-width:750px) {

}
/* == /下層ページ == */


/* =========================
   PC 各ページ共通 フッター
   ========================= */

footer {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 2rem;
    font-weight: bold;
}
.footer__w {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 0 3rem;
}
.footer__w small {
    color: #fff;
    font-size: 1.2rem;
    font-weight: normal;
}
.footer__w a {
    color: #b54200;
    display: inline-block;
    margin-left: 2rem;
}
.btn__top {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    z-index: 1000;
    right: 3rem;
    bottom: 2rem;
}
.btn__top a { }
.btn__top i {
    font-size: 4rem;
}
.btn__top p {
    font-size: 2rem;
    font-weight: bold;
    color: #333;
}


/* == SP == */

@media screen and (max-width:750px) {
    .footer__w {
        padding: 0;
    }
}
/* == /各ページ共通 フッター == */







