@charset "UTF-8";

/*------------------------------------
  Title
------------------------------------*/
.c-page-title {
  font-size: var(--font-32);
  line-height: 1.4;
  margin-bottom: var(--space-50);
}

.c-section-title {
  font-size: var(--font-24);
  margin-bottom: var(--space-35);
  position: relative;
  border-bottom: solid 2px #e8edee;
  overflow: visible;
}

.c-section-title::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px var(--color-primary);
  width: 25%;
  bottom: -2px;
  left: 0;
}


/*------------------------------------
  Note
------------------------------------*/
.c-note {
  font-size: var(--font-14);
  color: var(--color-text-sub);
}

.c-attention-text {
  font-weight: 700;
  color: var(--color-red);
}


.c-notice-bulb {
  position: relative;
  display: inline-block;
  padding-left: 1.6em;
  text-align: left;
}

.c-notice-bulb::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;     
  width: 1.3em;
  height: 1.3em;
  background: url("../images/common/bulb.svg") no-repeat center / contain;
  flex-shrink: 0;
  transform: translateY(-0.12em);
}




/*------------------------------------
  Border
------------------------------------*/
.c-bordered-list {
  padding: var(--space-20) var(--space-20) var(--space-20) 0;
}

.c-bordered-list.--dashed {
  border-top: 1px dashed #666;
  border-bottom: 1px dashed #666;  
}

.c-bordered-list.--fit {
  display: inline-block;
}


/*------------------------------------
  Table
------------------------------------*/
.c-table {
  width: 100%;
}

.c-table th,
.c-table td {
  border: 1px solid #CFC5AF;
  padding: var(--space-10) var(--space-15);
}

.c-table__head {
  background: #FAFAF5;
}

.c-table.--col2 td {
  width: 50%;
}

.c-table.--fit {
  width: auto;
}

.c-table img {
  display: block;
}
















/*------------------------------------
  Step List
------------------------------------*/
.c-step-list {
  counter-reset: step;
}

.c-step-list__item {
  position: relative;
  padding: var(--space-7) 0 0 var(--space-55);
  margin-bottom: 20px;
}

.c-step-list__item:last-child {
  margin-bottom: 0;
}

.c-step-list__item::before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-primary-light);
  color: var(--color-primary);
  font-weight: bold;
  width: var(--size-40);
  height: var(--size-40);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-20);
}

.c-step-list__title {
  font-size: var(--font-18);
  font-weight: 600;
  margin-bottom: 5px;
}










/* ------------------------------------
  Guide Lines (各ガイド線の説明)
------------------------------------ */
.c-guide-lines__list{
  display: flex;
  flex-wrap: wrap;
  gap: 24px 5%;
}

.c-guide-lines__item {
   width: 30%;
}

.c-guide-lines__term {
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 1.4;
  position: relative;
  gap: 8px;
  margin: 0 0 var(--space-15);
  padding: 0 0 var(--space-5) var(--space-14);  
}

.c-guide-lines__term::before{
  content: "";
  position: absolute;
  top: 0.6em;/* em = 文字基準 */
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #333; /* default */
  transform: translateY(-50%); /*ドットの中心を揃える */
}

.c-guide-lines__desc {
  font-size: var(--font-16);
}

.c-guide-lines__note {
  font-size: var(--font-14);
  color: var(--color-text-sub);
}

.c-guide-lines__item.--bleed    .c-guide-lines__term::before{ background: #009ced; }
.c-guide-lines__item.--finish   .c-guide-lines__term::before{ background: #d60016; }
.c-guide-lines__item.--safe     .c-guide-lines__term::before{ background: #4e4e4e; }

.c-guide-lines__item.--bleed .c-guide-lines__term {
  border-bottom: 2px solid #009ced;
}

.c-guide-lines__item.--finish .c-guide-lines__term {
  border-bottom: 2px solid #d60016;
}

.c-guide-lines__item.--safe .c-guide-lines__term {
  border-bottom: 2px dashed #4e4e4e;
}

@media screen and (max-width: 640px) {
  .c-guide-lines__list{
    gap: var(--space-40) 0;
  }

  .c-guide-lines__item {
     width: 100%;
  }

}








/* ====================================
  FAQ NAV
==================================== */
.c-faq-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.c-faq-nav__item {
  border-top: 1px solid #f2f2f2;
  width: 47.5%;
}

.c-faq-nav__item:nth-child(13) ,
.c-faq-nav__item:last-child {
  border-bottom: 1px solid #f2f2f2;
}

.c-faq-nav__link {
  text-decoration: none;
  color: #333;
  display: block;
  padding: 12px 0 10px;
  position: relative;
}

.c-faq-nav__link:hover {
  opacity: 0.7;
}

.c-faq-nav__link::after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: solid 1px #ccc;
  border-right: solid 1px #ccc;
  transform: translateY(-50%) rotate(45deg);
  transition: all .2s;
}

.c-faq-nav__link:hover::after {
  right: .5em;
}





/* ====================================
  ACCORDION
==================================== */

.c-accordion {
  border-top: 1px solid #D6D6D6;
}

.c-accordion__item {
  border-bottom: 1px solid #D6D6D6;
}

.c-accordion__heading {
  font-size: var(--size-16);
}

.c-accordion__trigger {
  position: relative;
  display: block;
  width: 100%;
  padding: clamp(12px, 2.6vw, 20px) min(6.5vw, 50px) clamp(10px, 2.3vw, 18px) 0;/*/768*/
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.c-accordion__trigger::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(2.6vw, 20px);
  width: clamp(4px, 1vw, 8px);/*/768*/
  height: clamp(4px, 1vw, 8px);
  border-top: 2px solid #D6D6D6;
  border-right: 2px solid #D6D6D6;
  transform: translateY(-50%) rotate(135deg);
  transition: transform .2s ease;
}

.c-accordion__item.is-open .c-accordion__trigger::after {
  transform: translateY(-50%) rotate(-45deg);
}


.c-accordion__trigger:focus {
  outline: none;
}

.c-accordion__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height .2s ease;
}

.c-accordion__content {
  overflow: hidden;
  padding: clamp(12px, 2.6vw, 20px) min(6.5vw, 50px) clamp(10px, 2.3vw, 18px) 0;/*/768*/
}


/* =========================================
   project / faq
   ========================================= */

.p-faq__head,
.p-faq__body {
  position: relative;
  padding-left: 2em;
  font-size: var(--font-16);
  color: #333;
  display: flex;
  align-items: flex-start;
}


.p-faq__head::before,
.p-faq__body::before {
  font-family: Arial, Helvetica, "sans-serif";
  position: absolute;
  font-size: var(--font-20);
  line-height: 1;
}

.p-faq__head::before {
  content: "Q";
  color: #d61f1f;
  top: 1px;
  left: 0;
}

.p-faq__body::before {
  content: "A";
  top: 2px;
  left: 1px;
}

.p-faq__body a {
  color: #c81c1d;
  text-decoration: underline;
}

.p-faq__body a::before {
  content: "» ";
}

.p-faq__body a:hover {
  text-decoration: none;
  opacity: 1;
}




























