@charset "UTF-8";

body {
    overflow-x: hidden;
    margin: 0;
}

.l-contents * {
    font-family: "Zen Old Mincho", serif;
    color: #040403;
}
.l-contents a {
    transition: .3s;
}

.l-main {
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
}
.l-contents a:hover,
.l-contents button:hover {
    opacity: .7;
}
.cmn__inner {
    width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 0;
}
.l-contents .ui-full-screen {
    margin-bottom: 0;
}
[class*=cmn__section--] {
    position: relative;
    padding: 90px 0;
}

/*---------------------------------------------------
strengths
-----------------------------------------------------*/
.cmn__section--strengths {
    padding-bottom: 100px;
    background: url("/images/top/strengths__bg.webp") no-repeat top center / cover;
}

.cmn__section--strengths .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 1240px;
}

.strengths__headline {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
    text-align: center;
    color: #fff;
}

.strengths__title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 48px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 2.4px;
    color: #fff;
}

.strengths__note {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
}

.strengths__contents {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
    width: 100%;
    height: 200px;
}

.strengths__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 360px;
    height: 150px;
    padding: 0px 30px 0;
    color: #fff;
    text-align: center;
}
.strengths__item:first-child {
    padding-top: 5px;
}
.strengths__ornament {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    width: 400px;
    height: 231px;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.strengths__ornament img {
    display: block;
    width: 100%;
    height: 100%;
}

.strengths__item-label {
    position: relative;
    z-index: 1;
    margin: 0 0 5px;
    font-family: "Noto Serif JP", "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
    color: #fff;
}

.strengths__item-text {
    position: relative;
    z-index: 1;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.4px;
    white-space: nowrap;
    color: #fff;
}
/*---------------------------------------------------
    contact
-----------------------------------------------------*/
.cmn__section--contact {
    padding: 104px 0 95px;
    background: url("/images/top/contact__bg.webp") no-repeat top center / cover;
}

.cmn__section--contact .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.contact__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #040403;
    text-align: center;
    white-space: nowrap;
}

.contact__lead {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
}

.contact__title * {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    line-height: 1.2;
}

.contact__title-text {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
}

.contact__title-em {
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 2.7px;
    color: #d20000;
}

.contact__contents {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

.contact__point-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact__point-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #040403;
    white-space: nowrap;
}

.contact__point-icon {
    display: block;
    flex-shrink: 0;
    width: 21px;
    height: 18px;
    line-height: 0;
}

.contact__point-icon img {
    display: block;
    width: 100%;
    height: 100%;
}

.contact__bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.contact__line-bnr {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 647px;
    height: 170px;
    padding: 0 40px;
    background: url("/images/top/line_bnr.webp") no-repeat center / cover;
}

.contact__line-bnr:hover {
    opacity: 0.85;
}

.contact__line-bnr-text {
    display: flex;
    flex-direction: column;
    color: #fff;
    padding-top: 8px;
}

.contact__line-bnr-lead {
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
    color: #fff;
}

.contact__line-bnr-title {
    font-family: "Zen Old Mincho", serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2px;
    white-space: nowrap;
    color: #fff;
}

.contact__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 315px;
    margin-top: 7px;
}

.contact__mail-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 100%;
    height: 70px;
    background: url("/images/top/mail_btn.webp") no-repeat center / cover;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
    transition: opacity 0.3s;
}

.contact__mail-btn:hover {
    opacity: 0.85;
}

.contact__mail-btn-text {
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: center;
}

.contact__tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0px 0 6px;
    border-top: 1px solid #040403;
    border-bottom: 1px solid #040403;
}

.contact__tel-catch {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.75px;
    color: #040403;
    text-align: center;
}

.contact__tel-number {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.contact__tel-icon {
    display: block;
    flex-shrink: 0;
    line-height: 0;
}

.contact__tel-icon img {
    display: block;
    width: 100%;
    height: 100%;
}

.contact__tel-text {
    margin: 0;
    font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
    color: #040403;
    white-space: nowrap;
}

/*---------------------------------------------------
    worries
-----------------------------------------------------*/
.cmn__section--worries {
    padding: 100px 0 0;
    background: url("/images/top/worries__bg.webp") no-repeat top center / cover;
    height: 727px;
}

.cmn__section--worries .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.worries__headline {
    text-align: center;
    color: #040403;
    margin-bottom: 40px;
}

.worries__title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2px;
}

.worries__catch {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 54px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 2.7px;
}

.worries__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px 30px;
    width: 1150px;
    margin: 0;
    list-style: none;
}

.worries__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 555px;
    min-height: 71px;
    padding: 20px 0px 25px 0px;
    box-sizing: border-box;
}
.worries__item--01,
.worries__item--021 {
    padding: 20px 17px 25px 0px;
}
.worries__item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 53.5%;
    z-index: 0;
    width: 601px;
    height: 79px;
    transform: translate(-50%, -50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    pointer-events: none;
}

.worries__item--01::before {
    background-image: url("/images/top/item_worries01.webp");
}

.worries__item--02::before {
    background-image: url("/images/top/item_worries02.webp");
    left: 45.5%;
}

.worries__item-text {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    text-align: center;
}

.worries__conclusion {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    width: 927px;
    height: 320px;
    padding: 92px 190px 40px 34px;
    box-sizing: border-box;
    background: url("/images/top/conclusion.webp") no-repeat center / 100% 100%;
    left: 77px;
    top: -10px;
}

.worries__conclusion-lead {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #040403;
    text-align: center;
    white-space: nowrap;
}

.worries__conclusion-text {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
}

.worries__conclusion-em-lg {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2px;
    color: #d20000;
    font-family: "Zen Old Mincho", serif;
}

.worries__conclusion-em {
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #d20000;
    font-family: "Zen Old Mincho", serif;
}

.worries__conclusion-note {
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #040403;
    font-family: "Zen Old Mincho", serif;
}

/*---------------------------------------------------
structure
-----------------------------------------------------*/
.cmn__section--structure {
    padding: 100px 0 0;
    background: url("/images/top/structure__bg.webp") no-repeat top center / cover;
}

.cmn__section--structure .cmn__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding-bottom: 100px;
}

.structure__chara {
    position: absolute;
    top: -25px;
    left: -80px;
    z-index: -1;
    width: 276px;
    height: 369px;
    pointer-events: none;
}

.structure__chara img {
    display: block;
    width: 100%;
    height: 100%;
}

.structure__headline {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #040403;
}

.structure__title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2px;
}

.structure__catch {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 54px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 2.7px;
    background: linear-gradient(172.84deg, #ee4203 30.141%, #cc0000 73.906%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.structure__contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    width: 100%;
}

.structure__heading {
    text-align: center;
    color: #040403;
    white-space: nowrap;
}

.structure__heading-lead {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.4px;
}

.structure__heading-text {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.4px;
}

.structure__heading-em {
    font-size: 30px;
    line-height: 1.3;
    letter-spacing: 1.5px;
    color: #d20000;
}

.structure__heading-em-lg {
    font-size: 34px;
    line-height: 1.3;
    letter-spacing: 1.7px;
    color: #d20000;
}

.structure__comparison {
    display: flex;
    justify-content: center;
    gap: 40px;
    width: 1140px;
    padding: 40px;
    box-sizing: border-box;
    background: url(/images/top/comparison.webp) no-repeat center / 100% 100%;
}

.structure__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 510px;
    padding: 45px;
    box-sizing: border-box;
}

.structure__card-ornament {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}

.structure__card--general .structure__card-ornament {
    background-image: url("/images/top/structure__figure__bg02.webp");
}

.structure__card--ietada .structure__card-ornament {
    background-image: url("/images/top/structure__figure__bg01.webp");
}

.structure__card-title {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0;
    padding: 8px 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: center;
}

.structure__card--general .structure__card-title {
    background: #040403;
}

.structure__card--ietada .structure__card-title {
    background: #003f6b;
}

.structure__card-figure {
    position: relative;
    z-index: 1;
    width: 380px;
    line-height: 0;
}

.structure__card-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.structure__card-conclusion {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.9px;
    color: #040403;
    text-align: center;
}
.structure__card--ietada .structure__card-conclusion {
    margin-top: 5px;
}

.structure__card-conclusion-em {
    font-size: 23px;
    line-height: 1.5;
    color: #d20000;
}

/*---------------------------------------------------
service
-----------------------------------------------------*/
.cmn__section--service {
    padding: 100px 0;
    background: url("/images/top/service__bg.webp") no-repeat top center / cover;
}

.cmn__section--service .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.service__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    text-align: center;
    color: #fff;
}

.service__sub {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 171px;
    height: 70px;
}

.service__fukidashi {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 171px;
    height: 70px;
    pointer-events: none;
}

.service__sub-text {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.4px;
    color: #fff;
}

.service__title {
    margin: 0;
    line-height: 1.2;
    color: #fff;
    white-space: nowrap;
}

.service__title-text {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
    font-family: "Zen Old Mincho", serif;
    color: #fff;
}

.service__title-catch {
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 2.7px;
    font-family: "Zen Old Mincho", serif;
    color: #fff;
}

.service__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    width: 1140px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.service__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    width: 360px;
    height: 216px;
    padding-bottom: 15px;
    box-sizing: border-box;
    background: url("/images/top/service__card-bg.svg") no-repeat center bottom / 360px 216px;
    overflow: visible;
}

.service__item-illust {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    line-height: 0;
    pointer-events: none;
}

.service__item-illust img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
}

.service__item-illust--01 {
    top: -20px;
    width: 133px;
    left: 49%;
}

.service__item-illust--02 {
    top: 28px;
    width: 171px;
}

.service__item-illust--03 {
    top: 0;
    width: 262px;
}

.service__item-illust--04 {
    top: 63px;
    width: 195px;
}

.service__item-illust--05 {
    top: -44px;
    width: 272px;
    left: 196px;
}

.service__item-illust--06 {
    top: 0;
    width: 145px;
    left: 49%;
}

.service__item-text {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #352814;
    text-align: center;
    white-space: nowrap;
}
.service__item-text span.max {
    color: #352814;
    font-size: 23px;
    margin-left: 8px;
}
.service__item-zero {
    font-size: 43px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2.15px;
    color: #b91414;
    font-family: "Zen Old Mincho", serif;
}
/*---------------------------------------------------
negotiation
-----------------------------------------------------*/
.cmn__section--negotiation {
    padding: 80px 0 90px;
    background: url("/images/top/negotiations__bg.webp") no-repeat top center / cover;
}

.cmn__section--negotiation .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.negotiation__reduction {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 110px 0 0;
    box-sizing: border-box;
    background: url("/images/top/price__reduction.webp") no-repeat top center / 1920px 548px;
    height: 548px;
}

.negotiation__reduction-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 728px;
    left: -107px;
    position: relative;
}

.negotiation__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    text-align: center;
    color: #040403;
}

.negotiation__sub {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 315px;
    height: 71px;
    top: 10px;
}

.negotiation__fukidashi {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 315px;
    height: 71px;
    pointer-events: none;
}

.negotiation__title {
    margin: 0;
    line-height: 1.2;
    color: #040403;
    white-space: nowrap;
}

.negotiation__title-text {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
}

.negotiation__title-catch {
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 2.7px;
    color: #d20000;
}

.negotiation__title-mark {
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 2.7px;
}

.negotiation__calculation {
    display: flex;
    align-items: center;
    gap: 27px;
}

.negotiation__calc-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #040403;
}

.negotiation__calc-box--red p,
.negotiation__calc-box--red p *{
    color: #d20000;
}

.negotiation__calc-box--result {
    position: relative;
    min-width: 264px;
    padding-bottom: 5px;
}

.negotiation__calc-label {
    margin: 0 0 -5px;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
}

.negotiation__calc-label--lg {
    font-size: 28px;
    letter-spacing: 1.4px;
}

.negotiation__calc-price {
    margin: 0;
    white-space: nowrap;
}

.negotiation__calc-num {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2px;
}

.negotiation__calc-unit {
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
}

.negotiation__calc-price--result {
    position: relative;
    z-index: 1;
}

.negotiation__calc-num-lg {
    font-size: 54px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 2.7px;
}

.negotiation__calc-unit-lg {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.4px;
}

.negotiation__calc-underline {
    position: absolute;
    bottom: -15px;
    left: 50%;
    z-index: 0;
    display: block;
    width: 264px;
    height: 53px;
    transform: translateX(-50%);
    pointer-events: none;
}

.negotiation__calc-icon {
    display: block;
    flex-shrink: 0;
    width: 36px;
    height: 32px;
}

.negotiation__secret {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    position: relative;
    top: -10px;
}

.negotiation__secret-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2px;
    color: #040403;
}

.negotiation__secret-title-text {
    white-space: nowrap;
}

.negotiation__emphasis {
    display: block;
    flex-shrink: 0;
    width: 200px;
    height: 100px;
}

.negotiation__list {
    display: flex;
    justify-content: center;
    gap: 15px;
    width: 1140px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.negotiation__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 370px;
    padding: 30px 24px 40px;
    box-sizing: border-box;
    background: url("/images/top/item_secret.svg") no-repeat center / 100% 100%;
}

.negotiation__item-img {
    flex-shrink: 0;
    line-height: 0;
}

.negotiation__item-img img {
    display: block;
    width: auto;
    height: 230px;
}

.negotiation__item-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    margin: 0;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #040403;
    text-align: center;
}

.negotiation__item-title--multi {
    flex-direction: column;
    gap: 0;
}

.negotiation__item-title-line {
    display: block;
}

.negotiation__item-em {
    color: #d20000;
}

.negotiation__item-text {
    width: 306px;
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.9px;
    color: #040403;
}

/*---------------------------------------------------
feature
-----------------------------------------------------*/
.cmn__section--feature {
    padding: 100px 0 95px;
    background: url("/images/top/feature__bg.webp") no-repeat top center / cover;
}

.cmn__section--feature .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 95px;
}

.feature__comparison {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
    width: 100%;
}

.feature__comparison-headline {
    text-align: center;
    color: #040403;
}

.feature__comparison-title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 54px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 2.7px;
}

.feature__comparison-note {
    margin: 5px 0 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.7px;
}

.feature__table {
    position: relative;
    width: 1146px;
    height: 604px;
    padding: 33px 30px 30px 35px;
    box-sizing: border-box;
    background: url("/images/top/table__bg.webp") no-repeat center / 100% 100%;
}

.feature__table-cols {
    display: flex;
    gap: 12px;
    align-items: flex-end;
}

.feature__table-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 261px;
    flex-shrink: 0;
}

.feature__table-col--labels {
    gap: 3px;
}

.feature__table-col--ietada {
    padding: 20px 20px 0;
    background: #e5f5ff;
}

.feature__table-col--other {
    padding: 20px 20px 3px;
    background: #f5f5f5;
}

.feature__table-line {
    z-index: 1;
    width: 1080px;
    height: 3px;
    line-height: 0;
    flex-shrink: 0;
}

.feature__table-line img {
    display: block;
    width: 100%;
    height: 3px;
}

.feature__table-head {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}

.feature__table-head--ietada {
    font-size: 28px;
    letter-spacing: 1.4px;
    color: #fff;
    background-image: url("/images/top/table__ttl__bg01.webp");
}

.feature__table-head--other {
    font-size: 23px;
    letter-spacing: 0;
    color: #040403;
    background-image: url("/images/top/table__ttl__bg02.webp");
}

.feature__table-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    margin: 0;
    padding: 0 20px 8px;
    box-sizing: border-box;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.feature__table-item--label {
    padding-bottom: 0;
    font-size: 23px;
    letter-spacing: 0;
    color: #040403;
    min-height: 67px;
}

.feature__table-item--ietada {
    color: #003f6b;
    align-items: center;
}

.feature__table-item--ietada:not(.feature__table-item--stack) {
    padding-bottom: 8px;
}

.feature__table-item--ietada.feature__table-item--stack {
    flex-direction: column;
    gap: 0;
    padding-bottom: 10px;
}

.feature__table-item--ietada:last-child {
    padding-bottom: 0;
    font-size: 23px;
}

.feature__table-item--other {
    font-size: 23px;
    color: #040403;
}

.feature__table-item--other.feature__table-item--stack {
    flex-direction: column;
    gap: 0;
    padding-bottom: 10px;
}

.feature__table-price-lg {
    font-size: 28px;
    letter-spacing: 1.4px;
    line-height: 1.5;
}

.feature__table-price-sm {
    font-size: 16px;
    letter-spacing: 0.8px;
    line-height: 1.1;
    margin-top: 10px;
}

.feature__table-item-note {
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    letter-spacing: 0.7px;
}

.feature__table-item--ietada .feature__table-item-note {
    color: #003f6b;
    top: 5px;
}

.feature__table-item--other .feature__table-item-note {
    color: #040403;
}

.feature__table-item-price {
    display: block;
    line-height: 1.1;
}

.feature__table-item--other .feature__table-item-price {
    font-size: 23px;
    line-height: 1.2;
}

.feature__example {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 27px;
    width: 100%;
}

.feature__chara {
    position: absolute;
    top: -82px;
    left: -49px;
    z-index: -1;
    width: 241px;
    line-height: 0;
    pointer-events: none;
}

.feature__chara img {
    display: block;
    width: 100%;
    height: auto;
}

.feature__example-title {
    position: relative;
    z-index: 2;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    line-height: 1.2;
    color: #040403;
    text-align: center;
    white-space: nowrap;
}

.feature__example-title-line {
    display: block;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
}

.feature__example-title-sm {
    font-size: 34px;
    line-height: 1.3;
    letter-spacing: 1.7px;
}

.feature__example-zero {
    font-size: 80px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 4px;
    color: #d20000;
}

.feature__example-yen {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #d20000;
}

.feature__example-catch {
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 2.7px;
    color: #040403;
}

.feature__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 30px;
    width: 1140px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.feature__item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 360px;
}

.feature__item-img {
    line-height: 0;
}

.feature__item-img img {
    display: block;
    width: 100%;
    height: auto;
}

.feature__item-title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    color: #040403;
    text-align: center;
}

.feature__item-detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 20px;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.9px;
    color: #040403;
    text-align: center;
}

.feature__item-pair {
    display: inline-flex;
    gap: 10px;
    white-space: nowrap;
}


/*---------------------------------------------------
ai
-----------------------------------------------------*/
.cmn__section--ai {
    padding: 0 0 100px;
    background: url("/images/top/ai__bg.webp") no-repeat top center / cover;
    background-color: #fff;
}

.cmn__section--ai .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding-top: 40px;
}

.ai__head {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 130px;
    padding: 10px 20px 30px;
    box-sizing: border-box;
    background: url("/images/top/headline__bg.webp") no-repeat center / 1920px 100%;
}

.ai__head-text {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}

.ai__head-text-normal {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #fff;
}

.ai__head-zero {
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 2.7px;
    color: #fff;
}

.ai__title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2px;
    color: #040403;
    text-align: center;
}

.ai__title-line {
    display: block;
}

.ai__list-wrap {
    position: relative;
    width: 1140px;
}

.ai__chara {
    position: absolute;
    top: 685px;
    left: -153px;
    z-index: 2;
    width: 276px;
    line-height: 0;
    pointer-events: none;
}

.ai__chara img {
    display: block;
    width: 100%;
    height: auto;
}

.ai__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ai__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    width: 100%;
    min-height: 509px;
    padding: 73px 69px;
    box-sizing: border-box;
    background: url("/images/top/ai__item__bg.webp") no-repeat center / 100% 100%;
}
.ai__item:nth-child(odd) {left: -40px;}
.ai__item:nth-child(even) {right: -40px;}
.ai__item-body {
    flex: 0 0 542px;
    width: 542px;
}

.ai__item-title {
    margin: 0 0 15px;
    font-family: "Zen Old Mincho", serif;
    font-size: 48px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 2.4px;
    color: #040403;
    text-align: center;
}

.ai__item-title-line {
    display: block;
}

.ai__item-title--inline .ai__item-title-line {
    display: inline;
}

.ai__item-title-line--em {
    color: #af061c;
}

.ai__item-text {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.9px;
    color: #040403;
}

.ai__item-figure {
    flex: 0 0 320px;
    width: 320px;
    line-height: 0;
}

.ai__item-figure img {
    display: block;
    width: 100%;
    height: auto;
}

/*---------------------------------------------------
promise
-----------------------------------------------------*/
.cmn__section--promise {
    padding: 100px 0;
    background: url("/images/top/promise__bg.webp") no-repeat top center / cover;
    background-color: #fff;
}

.cmn__section--promise .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 1220px;
}

.promise__headline {
    position: relative;
    width: 1140px;
    text-align: center;
}

.promise__title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    line-height: 1.2;
    color: #040403;
}

.promise__title-line {
    display: block;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
}

.promise__title-catch {
    display: block;
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 2.7px;
}

.promise__chara {
    position: absolute;
    top: -102px;
    right: 130px;
    width: 231px;
    line-height: 0;
    pointer-events: none;
}

.promise__chara img {
    display: block;
    width: 100%;
    height: auto;
}

.promise__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1220px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.promise__item {
    display: flex;
    align-items: center;
    width: 100%;
}

.promise__item--reverse {
    flex-direction: row-reverse;
}

.promise__item-img {
    flex: 0 0 410px;
    width: 410px;
    line-height: 0;
}
.promise__item--reverse .promise__item-img{
    width: 410px;
    flex: 0 0 410px;
    height: 378px;
}
.promise__item--reverse .promise__item-img img{
    aspect-ratio: auto;
}
.promise__item-img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.promise__item-body {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    padding: 60px 40px 60px 0px;
    box-sizing: border-box;
}
.promise__item--reverse .promise__item-body{
    padding: 60px 0px 60px 40px;
}
.promise__item-body::before,
.promise__item-body::after {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 20px;
    z-index: 0;
    pointer-events: none;
}

.promise__item-body::before {
    left: -40px;
    right: 0;
    background: url("/images/top/promise__item__bg.webp") no-repeat center / 100% 100%;
}
.promise__item--reverse .promise__item-body::before {
    background: url("/images/top/promise__item__bg02.webp") no-repeat center / 100% 100%;
}
.promise__item-body:last-child:before {
    background: url("/images/top/promise__item__bg03.webp") no-repeat center / 100% 100%;
}
.promise__item--reverse .promise__item-body::before,
.promise__item--reverse .promise__item-body::after {
    left: 0;
    right: -40px;
}

.promise__item-title,
.promise__item-text {
    position: relative;
    z-index: 1;
}

.promise__item-title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.7px;
    color: #040403;
}

.promise__item-title-line {
    display: block;
}

.promise__item-title--inline .promise__item-title-line {
    display: inline;
}

.promise__item-title-em,
.promise__item-title-line--em {
    color: #d20000;
}

.promise__item-text {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.9px;
    color: #040403;
}

/*---------------------------------------------------
flow
-----------------------------------------------------*/
.cmn__section--flow {
    padding: 0 0 100px;
    background: url("/images/top/flow__bg.webp") no-repeat top center / cover;
    background-color: #fff;
}

.flow__head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 127px;
    padding: 5px 20px 25px;
    box-sizing: border-box;
    background: url(/images/top/flow__headline.webp) no-repeat center / 1920px 100%;
}


.flow__head-text {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}

.flow__head-brand {
    font-size: 52px;
    font-weight: 900;
    letter-spacing: 2.6px;
    color: #fff;
}

.flow__head-text-normal {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #fff;
}

.flow__head-text-sm {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 1.8px;
    color: #fff;
}

.cmn__section--flow .cmn__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 20px;
}

.flow__list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 1140px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.flow__list::before {
    content: "";
    position: absolute;
    top: 137px;
    bottom: 37px;
    left: 34px;
    width: 3px;
    height: 1579px;
    background: #003f6b;
}

.flow__item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.flow__item-num {
    position: relative;
    flex: 0 0 74px;
    width: 74px;
    height: 74px;
}

.flow__item-num::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 52px;
    height: 52px;
    background: #003f6b;
    transform: translate(-50%, -50%) rotate(45deg);
}

.flow__item-num span {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.4px;
    color: #fff;
}

.flow__item-body {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 40px;
    box-sizing: border-box;
    background: #fff;
}

.flow__item-text {
    flex: 1;
    min-width: 0;
}

.flow__item-title {
    margin: 0 0 10px;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.4px;
    color: #040403;
}

.flow__item-desc {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.9px;
    color: #040403;
}

.flow__item-img {
    flex: 0 0 300px;
    width: 300px;
    height: 200px;
    line-height: 0;
}

.flow__item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flow__item-img--01 img {
    object-fit: contain;
}

.flow__item-img--02 img,
.flow__item-img--03 img {
    object-fit: contain;
    object-position: bottom;
}

.flow__chara {
    position: absolute;
    right: -177px;
    bottom: -105px;
    z-index: 2;
    width: 280px;
    line-height: 0;
    pointer-events: none;
}

.flow__chara img {
    display: block;
    width: 100%;
    height: auto;
}

/*---------------------------------------------------
voice
-----------------------------------------------------*/
.cmn__section--voice {
    padding: 100px 0;
    background: url("/images/top/voice__bg.webp") no-repeat top center / cover;
    background-color: #fff;
}

.cmn__section--voice .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.voice__title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    line-height: 1.2;
    color: #040403;
    text-align: center;
    white-space: nowrap;
}

.voice__title-em {
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 2.7px;
}

.voice__title-normal {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
}

.voice__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1140px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.voice__item {
    display: flex;
    align-items: center;
    gap: 30px;
    width: 100%;
    background: #fff;
}

.voice__item--reverse {
    flex-direction: row;
}

.voice__item-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    padding: 35px 0px 35px 40px;
    box-sizing: border-box;
}

.voice__item--reverse .voice__item-body {
    gap: 10px;
    padding: 35px 32px 35px 0px;
}

.voice__item-meta {
    display: flex;
    align-items: center;
    gap: 10px;
}

.voice__item-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px 6px;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.9px;
    color: #fff;
    background: #003f6b;
}

.voice__item--reverse .voice__item-label {
    padding: 2px 10px 4px;
}

.voice__item-name {
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.9px;
    color: #040403;
    white-space: nowrap;
}

.voice__item-catch {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1.4px;
    color: #040403;
}

.voice__item--reverse .voice__item-catch {
    line-height: 1.5;
}

.voice__item-catch-line {
    display: block;
}

.voice__item-text {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.9px;
    color: #040403;
}

.voice__item-img {
    position: relative;
    flex: 0 0 500px;
    width: 500px;
    height: 437px;
    line-height: 0;
}

.voice__item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.voice__item-note {
    position: absolute;
    left: 10px;
    bottom: 10px;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.7px;
    color: #fff;
    white-space: nowrap;
}
/*---------------------------------------------------
blog
-----------------------------------------------------*/
.cmn__section--blog {
    position: relative;
    padding: 100px 0;
    background: url("/images/top/blog__bg.webp") no-repeat top center / cover;
}

.cmn__section--blog .cmn__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 100px;
    width: 100%;
}

.blog__chara {
    position: absolute;
    z-index: -1;
    width: 276px;
    line-height: 0;
    pointer-events: none;
}

.blog__chara img {
    display: block;
    width: 100%;
    height: auto;
}

.blog__chara--01 {
    top: -201px;
    left: calc(50% - 528px);
}

.blog__chara--02 {
    top: -180px;
    right: calc(50% - 561px);
}

.blog__block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 100%;
    position: relative;
}

.blog__title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 54px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 2.7px;
    color: #040403;
    text-align: center;
}

.blog__contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.blog__tabs {
    display: flex;
    align-items: center;
    width: 1140px;
    padding: 2px;
    box-sizing: border-box;
    background: #003f6b;
}

.blog__tab {
    position: relative;
    flex: 1;
    height: 50px;
    margin: 0;
    padding: 0;
    border: none;
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #accadf;
    background: transparent;
    cursor: pointer;
}

.blog__tab:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 44px;
    background: #031624;
    transform: translateY(-50%);
}

.blog__tab.is-active {
    color: #003f6b;
    background: #fff;
}

.blog__panels,
.blog__contents > .blog__slider {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
}

.blog__panel {
    display: none;
}

.blog__panel.is-active {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.blog__slider {
    width: 100%;
    overflow: hidden;
}

.blog__slider--static .swiper-wrapper {
    display: flex;
    justify-content: center;
    gap: 15px;
    transform: none !important;
}

.blog__slider--static .swiper-slide {
    width: 300px;
    margin: 0 !important;
}

.blog__slider .swiper-slide {
    width: 300px;
    height: auto;
    flex-shrink: 0;
}

.blog__slider.swiper-initialized .swiper-slide {
    visibility: visible;
}

.blog__slider .swiper-wrapper {
    align-items: stretch;
}

.blog__slider .swiper-pagination {
    position: static;
    margin-top: 20px;
}

.blog__slider .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 8px !important;
    border-radius: 50%;
    background: #d9d9d9;
    opacity: 1;
}

.blog__slider .swiper-pagination-bullet-active {
    background: #003f6b;
}

.blog__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 300px;
    height: 100%;
    padding: 15px;
    box-sizing: border-box;
    color: inherit;
    text-decoration: none;
    background: #fff;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
}

.blog__card-img {
    display: block;
    width: 270px;
    height: 180px;
    overflow: hidden;
    line-height: 0;
    background-color: #f7f7f7;
}

.blog__card-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.35s ease;
}

.blog__card:hover .blog__card-img img {
    transform: scale(1.08);
}

.blog__card-title {
    display: block;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.9px;
    color: #040403;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}

.blog__card-date {
    display: block;
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.7px;
    color: #003f6b;
}

.blog__more {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    height: 60px;
    font-family: "Zen Old Mincho", serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.8px;
    color: #fff;
    text-decoration: none;
    background: url("/images/top/cmn__btn.webp") no-repeat center / contain;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
}

/*---------------------------------------------------
faq
-----------------------------------------------------*/
.cmn__section--faq {
    position: relative;
    padding: 100px 0;
    background: url("/images/top/faq__bg.webp") no-repeat top center / cover;
}

.cmn__section--faq .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.faq__chara {
    position: absolute;
    top: -186px;
    left: 125px;
    z-index: 1;
    width: 276px;
    line-height: 0;
    pointer-events: none;
}

.faq__chara img {
    display: block;
    width: 100%;
    height: auto;
}

.faq__title {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 54px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 2.7px;
    color: #fff;
    text-align: center;
}

.faq__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.faq__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 39.5px 40px 40px;
    box-sizing: border-box;
    background: url("/images/top/faq__item__bg.webp") no-repeat center / 100% 100%;
}

.faq__item-head {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 100%;
}

.faq__item-badge {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding-bottom: 4px;
    box-sizing: border-box;
    border-radius: 50%;
    background: #003f6b;
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: center;
}

.faq__item-q {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.4px;
    color: #040403;
}

.faq__item-a {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.9px;
    color: #040403;
}

/*---------------------------------------------------
area
-----------------------------------------------------*/
.cmn__section--area {
    position: relative;
    padding: 80px 0;
    background: url("/images/top/area__bg.webp") no-repeat top center / cover;
}

.cmn__section--area .cmn__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.area__title {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.7px;
    color: #040403;
    text-align: center;
}

.area__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
}

.area__row {
    display: flex;
    gap: 4px;
    width: 100%;
}

.area__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 14.5px 15px 15px;
    box-sizing: border-box;
    background: #fff;
}

.area__item::before,
.area__item::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    background: url("/images/top/area__ornament.svg") no-repeat center / contain;
    pointer-events: none;
}

.area__item::before {
    top: 5px;
    left: 5px;
}

.area__item::after {
    right: 5px;
    bottom: 5px;
    transform: rotate(180deg);
}

.area__item--full {
    width: 100%;
}

.area__item--half {
    width: calc(50% - 2px);
}

.area__row .area__item--compact {
    flex-shrink: 0;
}

.area__row .area__item--grow {
    flex: 1;
    min-width: 0;
}

.area__item-name {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.9px;
    color: #040403;
}

.area__item-text {
    margin: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.7px;
    color: #040403;
}