@charset "UTF-8";
/* CSS Document */
#compa__chart header{
	background-color: #fff;
}
:root {
  --main-color1: #22ae9c;
  --main-color2: #bfdbfe;
  --main-color3: #eff6ff;
  --accent-color1: #d97706;
  --accent-color2: #f59e0b
}
.f__heading {
    background: #fff;
    height: 32px;
    padding: 0 24px;
    border-radius: 100vmax;
    color: #333333;
    letter-spacing: .05em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    animation: f__heading 3s infinite;
}
header #hero__list dt {
    background-color: #db97a2;
    color: #fff;
    font-weight: 700;
    letter-spacing: .025em;
    border-radius: 4px 4px 0 0;
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 16px;
    position: relative;
}
#how_to_choose header {
    background: #33cdb7;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%);
    width: 100%;
    padding: 40px 0 50px;
    display: flex
;
    flex-direction: column;
    align-items: center;
}
#service__flow header {
    background: #33cdb7;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%);
    width: 100%;
    padding: 40px 0 50px;
    display: flex
;
    flex-direction: column;
    align-items: center;
}
#faq_wrap header {
    background: #33cdb7;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%);
    width: 100%;
    padding: 40px 0 50px;
    display: flex
;
    flex-direction: column;
    align-items: center;
}

#contents3 header, #contents4 header {
    background: linear-gradient(-20deg, #bb7681, #b66975);
    padding: 8px 16px;
    color: #fff;
}
.contents5 header {
    background: linear-gradient(-20deg, #bb7681, #b66975);
    padding: 8px 16px;
    color: #fff;
}
#compa__chart header {
	background-color:none;
    background: linear-gradient(-20deg, #bb7681, #b66975);
}
#how_to_choose header{   background: linear-gradient(-20deg, #bb7681, #b66975);}
#faq_wrap header{   background: linear-gradient(-20deg, #bb7681, #b66975);}

.contents5 .body .point .title {
	background-color:none;
    background: linear-gradient(90deg, #3f6d83, #3c6f82);
}
#service__wrap .topic_wrap .topic_header .detail .caption {
    color: #334155;
    font-size: 12px;
    margin: 35px 0 0;
}

/* 画像のsrcが空の場合、アイコンを非表示 */
#service__wrap .topic_wrap .topic_header .detail .icon:not([src]),
#service__wrap .topic_wrap .topic_header .detail .icon[src=""] {
    display: none;
}

/* アイコンがない場合、グリッドレイアウトを調整 */
#service__wrap .topic_wrap .topic_header .detail:has(.icon:not([src])),
#service__wrap .topic_wrap .topic_header .detail:has(.icon[src=""]) {
    grid-template-columns: 1fr; /* 1列に変更 */
    padding: 0 20px; /* パディング調整（オプション） */
}

/* テキストの配置を調整 */
#service__wrap .topic_wrap .topic_header .detail:has(.icon:not([src])) .caption,
#service__wrap .topic_wrap .topic_header .detail:has(.icon[src=""]) .caption {
    grid-column: 1;
    grid-row: 1;
}

#service__wrap .topic_wrap .topic_header .detail:has(.icon:not([src])) .title,
#service__wrap .topic_wrap .topic_header .detail:has(.icon[src=""]) .title {
    grid-column: 1;
    grid-row: 2;
}
header #hero__list dd {
    height: 48px;
    display: flex
;
    align-items: center;
    background-color: #f1eee7;
    border: 1px solid #cdcac4;
    border-top: none;
    padding: 0 12px;
}
#how_to_choose {
    background: #f1eee7;
}
#service__wrap {
    background: #f1eee7;
    padding: 0 0 48px 0;
}
#faq_wrap {
    background: #f1eee7;
}
#service__wrap header:not(.topic_header):not(.drawer_header):not(.contents5_header) {
    background: #b66975;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), 50% 100%, 0 calc(100% - 20px));
    width: 100%;
    padding: 40px 0 130px;
    display: flex
;
    flex-direction: column;
    align-items: center;
}
#how_to_choose .choose_list dl dt::before {
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero);
    -webkit-background-clip: text;
    background-image: linear-gradient(to bottom, #bf7482 0, #bf7482 50%, #db97a2 51%, #db97a2 100%);
    color: transparent;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    -webkit-text-fill-color: transparent;
}
#compa__chart .chart_tbl tr:nth-of-type(odd) th {
    background: #bf7482;
}
#compa__chart .chart_tbl tr:nth-of-type(even) th {
    background: #db97a2;
}
#compa__chart .chart_tbl tr:nth-of-type(odd) td {
    background: #f1eee7;
}
.contents5 .body .point {
    border: 2px solid #e4b55e;
    border-radius: 8px;
}

body {
    font-size: 16px;
    line-height: 1.6;
    color: #334155;
    background-image: linear-gradient(120deg, #fff, #fff);
}
header #hero__list dd p::before {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e4b55e;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#service__wrap .topic_wrap .inner .tags li {
    background-color: #bf7482;
    border: 1px solid #db97a2;
    height: 32px;
    display: none;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1;
    text-align: center;
}
#faq_wrap .faq_list dt::before {
    content: 'Q';
    background: #e4b55e;
    color: #fff;
}
#faq_wrap .faq_list dd::before {
    content: 'Q';
    border: 1px solid #3c6f82;
    color: #3c6f82;
}
#how_to_choose .choose_list dl dt p::before {
    content: "";
    background-color: #902712;
    width: 1px;
    height: 56px;
    display: block;
}
#service__wrap .topic_wrap .inner .tags li {
    background-color: #bf7482;
    border: 1px solid #db97a2;
    height: 32px;
    display: none;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1;
    text-align: center;
}