@charset "utf-8";

:root {
    --base-color: #fff;
    --text-color: #363636;
    --main-color: #f99c32;
    --nav-color01: #fef2e4;
    --nav-color02: #ffe4d3;
    --gradient-pale-color01: #ffeddf;
    --gradient-pale-color02: #fbf2e3;
    --gradient-color01: #fa9e53;
    --gradient-color02: #fcc262;
    --gradient-dark-color01: #e1a15f;
    --gradient-dark-color02: #ebc069;
    --tel-color: #37bb81;
    --link-color: #5e6fb1;
    --page-width: min(100%, 1400px);
    --content-width01: min(1204px, calc(100% - 2em));
    --content-width02: min(1122px, calc(100% - 2em));
    --contents-color01: #2472b3;
    --contents-color02: #dd8080;
    --contents-color03: #dca22f;
    --contents-color04: #a6588c;
    --contents-pale-color01: #f2fbff;
    --contents-pale-color02: #faeeee;
    --contents-pale-color03: #fdf9f0;
    --contents-pale-color04: #faecf9;
}

html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
address,
em,
img,
small,
strong,
sub,
sup,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 1em;
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-padding-top: 2em;
    scroll-behavior: smooth;
}

p {
    margin: 0;
    padding: 0;
}

body {
    font-size: clamp(0.875rem, calc(0.4583333333333333rem + 0.8888888888888888vw), 1.125rem);
    font-family: "Noto Sans JP", sans-serif;
    /* font-optical-sizing: auto; */
    font-style: normal;
    line-height: 1;
    color: var(--text-color);
    background-color: var(--base-color);
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    text-spacing-trim: trim-start;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ul {
    list-style: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    color: var(--link-color);
}

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

address {
    font-style: normal;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

/*　layout
-------------------- */
.wrap {
    width: 94.666666%;
    margin-inline: auto;
}

.home .wrap {
    margin: 4em auto;
}

.process .wrap {
    margin: 2.65em auto 4em;
}

@media screen and (min-width: 751px) {
    .wrap {
        width: var(--content-width02);
    }

    .home .wrap {
        margin: 3.4em auto;
    }

    .process .wrap {
        margin: 2.4em auto 2.6em;
    }

    .corporate .wrap,
    .individual .wrap {
        width: var(--content-width02);
    }
}

.lowerWrapper {
    display: flow-root;
    padding-bottom: 5em;
    background-color: #fafaff;
    /* background-color: tomato; */
}

.corporate .lowerWrapper,
.individual .lowerWrapper {
    padding-bottom: 0;
}

.mainContainer {
    background: #fafaff;
}


/* header
-------------------- */
header {
    overflow: hidden;
}

.header {
    display: grid;
    grid-template-columns: auto 3.2em;
    position: sticky;
    top: 0;
    z-index: 3;
    width: 100%;
    background-color: rgba(255, 255, 255, .8);
}

.header a {
    text-decoration: none;
}

@media screen and (max-width: 750px) {
    .header {
        box-shadow: 0 .2em .3em rgba(0, 0, 0, .05);
    }

    .header.fixid {
        position: fixed;
    }

    .fixid .header__head,
    .fixid .header__inner {
        box-shadow: 0 .2em .5em rgba(0, 0, 0, .1);
    }

}

.header__head {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
}

.globalNavList a {
    display: grid;
    grid-template-columns: .5em auto .5em;
    gap: .5em;
    box-sizing: border-box;
    line-height: 1.15;
}

.globalNavList a::before {
    content: "";
}

.globalNavList a::after {
    content: "";
    display: inline-block;
    width: .6em;
    height: .6em;
    margin: 0 .4em 0 0;
    border-top: 1px solid var(--main-color);
    border-right: 1px solid var(--main-color);
    transform: rotate(45deg);
}

@media screen and (min-width: 751px) {
    .header {
        grid-template-columns: 1fr;
    }

    .header__head {
        width: min(calc(100% - 30px), 1200px);
        margin-inline: auto;
    }

    .header__inner {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
    }

    .globalNavList {
        display: grid;
        grid-template-columns: 1.1fr 1.1fr 1.3fr .9fr .9fr .9fr .8fr;
        width: min(100%, 1202px);
        margin-inline: auto;
    }

    .navApply {
        letter-spacing: -.09em;
    }

    .globalNavList span {
        display: block;
    }
}

.logo a {
    display: inline-block;
    margin-inline: .85em;
    box-sizing: border-box;
    font-size: clamp(1.29em, 2.6563vw, 1.7em);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #1c1c1c;
}

@media screen and (max-width: 374px) {
    .logo a {
        font-size: 1em;
        line-height: 1.324;
        letter-spacing: normal;
    }
}

@media screen and (min-width: 751px) {
    .logo a {
        margin: 0;
        transform: translateY(-.05em);
    }
}

.header__contact {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: fit-content;
    margin: auto 0 auto auto;
}

.header__contact a {
    display: grid;
    align-items: center;
    height: 100%;
    padding: .2em;
    box-sizing: border-box;
    color: #fff;
}

.header__contact .tel {
    font-weight: bold;
    background-color: var(--tel-color);
}

.header__contact .tel a {
    display: grid;
    grid-auto-flow: row;
}

.header__contact .tel a::before {
    content: "";
    display: grid;
    justify-items: center;
    align-items: center;
    height: 2.4em;
    background: url("/assets/images/icon_tel.png") no-repeat center center / contain;
}

@media screen and (min-width: 751px) {
    .header__contact .tel a::before {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        width: 2.3em;
        height: 2.3em;
        transform: translate(-.15em, .1em);
    }
}


.header__contact .mail {
    font-size: .8888em;
    line-height: 1.241;
    background-color: var(--main-color);
}

.header__contact .mail a {
    display: grid;
    grid-auto-flow: row;
    justify-items: center;
    align-items: center;
    height: 100%;
}


.header__contact .mail a:before {
    content: "";
    display: inline-block;
    width: 1.55em;
    height: 1.55em;
    background: url("/assets/images/icon_mail.png") no-repeat center center / contain;
}

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

    .tel address,
    .businessHours,
    .mail span {
        display: none;
        visibility: hidden;
    }

    .header__contact {
        width: 7.1em;
        height: 100%;
    }

    .header__contact a {
        width: 100%;
    }

}

@media screen and (min-width: 751px) {
    .header__contact {
        grid-template-columns: 1fr auto;
        grid-gap: 1.35em;
        margin: .5em 0 .5em auto;
        line-height: 1.2;
    }

    .tel a {
        grid-auto-flow: column;
        grid-template-columns: 1.5em auto;
        column-gap: 1.2em;
        padding: .35em 1.75em .4em .6em;
        line-height: 1.1;
    }

    .tel address {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        font-size: 1.17em;
        font-weight: bold;
        font-style: normal;
        line-height: 1.3;
        letter-spacing: .06em;
    }

    .businessHours {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin: 0;
        padding: 0;
        font-size: .675em;
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .businessHours dt {
        margin-right: .2em;
    }

    .businessHours dd:not(:last-child) {
        margin-right: 1.2em;
    }

    .businessHours dd:last-child {
        font-size: 1.16666em;
        letter-spacing: .03em;
    }

    .mail a {
        grid-auto-flow: column;
        grid-template-columns: 3em auto .8em;
        gap: .3em;
        padding: .45em .5em .45em 0;
        font-size: 1em;
        letter-spacing: .03em;
    }

    .mail a:before {
        width: 1.7em;
        height: 1.7em;
        margin: 0 0 0 .5em;
    }

    .mail a:after {
        content: "";
        display: inline-block;
        width: .5em;
        height: .5em;
        margin: 0;
        border-top: 1px solid currentColor;
        border-right: 1px solid currentColor;
        transform: rotate(45deg);
    }
}

.header {
    position: relative;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    --transition: transform .6s cubic-bezier(.19, 1, .22, 1);
}

.header.is-fix {
    position: sticky;
    transform: translate3d(0, -100%, 0);
}

.header.is-hide {
    transform: translate3d(0, -100%, 0);
    transition: var(--transition);
}

.header.is-show {
    transition: var(--transition);
    transform: translate3d(0, 0, 0);
}

/* menu
-------------------- */
.toggle {
    display: none;
}

.navArea {
    position: relative;
    background: var(--nav-color01);
}

@media screen and (min-width: 751px) {
    .globalNavList {
        border-left: 1px solid var(--nav-color02);
        box-sizing: border-box;
        font-size: .88888em;
    }

    .globalNavList a {
        display: grid;
        justify-items: center;
        align-items: center;
        position: relative;
        height: 100%;
        padding: .6em;
        box-sizing: border-box;
        font-size: 1em;
        font-weight: 700;
        text-align: center;
        color: var(--text-color);
        border-left: 1px solid #fde4d1;
        border-right: 1px solid #fde4d1;
    }
}

@media screen and (max-width: 750px) {
    .toggle {
        display: block;
        position: relative;
        z-index: 3;
        width: 100%;
        height: 3.65em;
        padding: 0;
        border: none;
        background-color: transparent;
        cursor: pointer;
    }

    .toggle.-active .toggle__line::before {
        top: calc(50% - 1px);
        transform: rotate(45deg);
    }

    .toggle.-active .toggle__line::after {
        bottom: calc(50% - 1px);
        transform: rotate(-45deg);
    }

    .toggle__line {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1em;
        height: .54em;
        transform: translate(-50%, -50%);
        transition: .4s;
    }

    .toggle__line:before,
    .toggle__line:after {
        content: "";
        display: block;
        height: 2px;
        position: absolute;
        width: 100%;
        background-color: #ec6941;
        transition: inherit;
    }

    .toggle__line:before {
        top: 0;
    }

    .toggle__line:after {
        bottom: 0;
    }

    .navArea {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1;
        height: 100vh;
        width: 100vw;
        visibility: hidden;
        padding-top: 3.5em;
        background-color: #fff;
        /*transition: .4s;*/
    }

    .navArea.-active {
        visibility: visible;
        overflow-y: scroll;
    }

    .globalNav {
        padding: 1em 1em max(15vw, 50px);
    }

    .globalNavList li {
        padding: 0;
        border-bottom: 1px solid #e7e9ee;
    }

    .globalNavList a {
        padding: 1em;
        box-sizing: border-box;
        color: var(--text-color);
    }

    .globalNav__link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: #172e59;
        font-weight: 900;
        transition: color 0.4s;
        font-size: 0.875em;
    }

    .globalNav__link.-active::after {
        transform: translateY(-50%) rotate(-90deg);
    }
}

/* page title
-------------------- */
.pageTitle {
    position: relative;
    width: calc(100% - 3.8em);
    margin: 1.75em auto;
    font-size: 1.66666em;
}

.corporate .pageTitle,
.individual .pageTitle {
    display: grid;
    grid-template-columns: 2.7em auto;
    gap: .65em;
    width: 100%;
    margin: 1.95em auto 1.96em;
    font-size: 1.6em;
}

.corporate .pageTitle::before,
.individual .pageTitle::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(/assets/images/icon_insurane.png) no-repeat center / contain;
    transform: scale(1.4) translate(-.05em, .06em);
}

.corporate .pageTitle::after,
.individual .pageTitle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 2.7em;
    width: 1px;
    height: 120%;
    background: #d6d7d3;
    transform: translateY(-45%);
}

@media screen and (min-width: 751px) {
    .pageTitle {
        width: min(calc(100% - 1em), 1120px);
        margin: 2.5em auto 2.74em;
    }

    .corporate .pageTitle,
    .individual .pageTitle {
        grid-template-columns: 2em auto;
        gap: .65em;
        width: min(calc(100% - 1em), 1204px);
        margin: 1.715em auto 1.55em;
        font-size: 1.6666666em;
    }

    .corporate .pageTitle::before,
    .individual .pageTitle::before {
        transform: scale(1.3) translate(-.2em, .07em);
    }

    .corporate .pageTitle::after,
    .individual .pageTitle::after {
        left: calc(2em + 1px);
    }
}

/* heading
-------------------- */
.heading01 {
    display: grid;
    grid-template-columns: calc(1.5em + 1px) auto;
    column-gap: 1em;
    align-items: center;
    position: relative;
    margin: 0 0 .5em;
    font-size: 1.66666em;
    font-weight: 700;
    line-height: 1.333;
    letter-spacing: .13em;
}

.process .heading01 {
    margin-bottom: .82em;
}

.heading01::before {
    content: "";
    display: inline-block;
    width: calc(1.55em + 1px);
    height: 1.1em;
}

.process .heading01::before {
    height: 1.068em;
    background: url("/assets/images/icon_process.png") no-repeat center center / contain;
    transform: translate(0, .04em);
}

.corporate .heading01::before {
    height: 1.28em;
    background: url("/assets/images/icon_insurane.png") no-repeat center center / contain;
    transform: translate(0, .04em);
}

.apply .heading01::before {
    height: 1.38em;
    background: url("/assets/images/icon_apply.png") no-repeat center center / contain;
}

.accident .heading01::before {
    background: url("/assets/images/home/icon_accident.png") no-repeat center center / contain;
}

.heading01::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(1.95em + 1px);
    display: inline-block;
    width: 0;
    height: 1em;
    border-right: 1px solid #dededb;
    transform: translateY(-50%);
}

.heading01 span {
    display: inline-block;
}

@media screen and (min-width: 751px) {
    .heading01 {
        grid-template-columns: calc(2.7em + 1px) auto;
        column-gap: .52em;
        margin: 0 0 .8em;
        letter-spacing: .1em;
    }

    .apply .heading01 {
        letter-spacing: .04em;
    }

    .heading01::before {
        width: calc(2.7em + 1px);
        height: 1.068em;
    }

    .heading01::after {
        left: calc(2.7em + 1px);
    }

    .process .heading01 {
        column-gap: .45em;
    }
}


/* lower heading */
.heading02 {
    margin: 0 auto 1.6em;
    padding: .5em 0;
    font-size: 1.4444em;
    font-weight: bold;
    background: #fff;
}

.heading02>span {
    display: block;
    width: min(calc(100% - 2em), 1036px);
    margin-inline: auto;
}


/* tel
-------------------- */
@media(min-width: 751px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}



/* footer
-------------------- */
footer {
    display: flow-root;
    background-color: #fafaff;
    border-top: 4px solid #fff;
}

footer a {
    color: var(--text-color);
    text-decoration: none;
}

.footerWrap {
    margin: 2.8em auto 1em;
}

.footerAddWrap {
    display: grid;
    margin: 0 auto 2em;
    padding: 0 1em 2em;
    line-height: 1.6;
    border-bottom: 2px solid #fff;
}

.footerAddItem {
    display: grid;
    grid-template-columns: auto 1fr;
}

.footerAddItem.footerAdd {
    grid-template-columns: 1fr;
}

.footerAdd span {
    display: block;
}

.footerName {
    margin-bottom: 1em;
    font-size: 1.45em;
    font-weight: bold;
    letter-spacing: .068em;
}


@media screen and (min-width: 751px) {
    footer {
        line-height: 1.4;
    }

    .footerAddWrap {
        grid-template-columns: 1fr auto;
        gap: 0 1.5em;
        width: fit-content;
        margin: 0;
        padding: 0;
        font-size: 1.12em;
        line-height: 1.6;
        border-bottom: none;
    }

    .footerAdd {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
    }

    .footerAdd span {
        display: inline-block;
    }

    .footerName {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
        margin-bottom: .35em;
        font-size: 1.33em;
        font-weight: bold;
        letter-spacing: .05em;
    }

    .footerTel {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .footerFax {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }

    .footerTime {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        gap: 1em;
    }

    .footerDay {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
        gap: 1em;
    }
}

.footerNav {
    display: grid;
    margin: 2em auto;
}

.footerNav a {
    display: grid;
    grid-template-columns: 1fr 1.5em;
    align-items: center;
    width: fit-content;
    padding: .6em 1em;
    box-sizing: border-box;
    word-break: auto-phrase;
    line-height: 1.4;
}

.footerNav a::after {
    content: "";
    display: inline-block;
    width: .45em;
    height: .45em;
    margin-left: .5em;
    border-top: .2em solid var(--main-color);
    border-right: .2em solid var(--main-color);
    transform: rotate(45deg);
}

.footerNav a[target="_blank"]::after {
    border: none;
    width: 1em;
    height: 1em;
    background: url(/assets/images/arrow_blank.png) no-repeat center / contain;
    transform: rotate(0deg) translateY(-.1em);
}



@media screen and (min-width: 751px) {
    .footerNav a {
        padding: 0;
    }
  .footerNav a[target="_blank"]::after {
      transform: rotate(0deg) translateY(.05em);
  }
}

.footerNav a span {
    display: inline-block;
}

.footerNavLinks dt {
    font-weight: bold;
}

.footerNavLinksList a {
    padding-left: 0;
}

@media screen and (max-width: 750px) {
    .footerNavLinks {
        margin: 2em 0 0;
        padding: 1.5em 1em;
        border-top: 2px solid #fff;
    }

    .footerNavLinks dt {
        padding: 1em 0;
        font-weight: bold;
    }
}


.copyright {
    background: #fff;
    margin: 1em auto 0;
    padding: 1em;
    text-align: center;
}

@media screen and (min-width: 751px) {
    .footerWrap {
        width: min(calc(100% - 2em), 1120px);
        margin: 3.7em auto 1em;
        padding: 0;
    }

    .footerNav {
        grid-template-columns: 15em 14em auto;
        gap: .3em 1em;
        margin: 2em auto 4em;
    }

    .footBiz {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    .footPersonal {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .footApply {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }

    .footAccident {
        grid-column: 1 / 2;
        grid-row: 4 / 5;
    }

    .footCompany {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .footNews {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .footFaq {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
    }

    .footContact {
        grid-column: 2 / 3;
        grid-row: 4 / 5;
    }

    .footSitemap {
        grid-column: 2 / 3;
        grid-row: 5 / 6;
    }

    .footPolicy {
        grid-column: 1 / 3;
        grid-row: 6 / 7;
    }

    .footLinks {
        grid-column: 3 / 4;
        grid-row: 1 / 7;
    }

    .footerNavPolicy {
        display: flex;
        flex-wrap: wrap;
        gap: .3em 2em;
        margin-top: 2.2em;
    }

    .footerNavLinks {
        width: fit-content;
        margin: 0 0 0 auto;
    }

    .footerNavLinks dt {
        margin-bottom: .3em;
        font-weight: bold;
    }

    .footerNavLinks dd {
        margin-bottom: 1em;
    }

    .footerNavLinksList li {
        margin-bottom: .25em;
    }

    .copyright {
        margin: 0 auto;
    }
}

@media screen and (max-width: 750px) {
  .footerNavPolicy li:nth-child(1) {
    width: min(100%, 17em);
  }
  .footerNavPolicy li:nth-child(2) {
    width: min(100%, 19em);
  }
  .footerNavPolicy li:nth-child(5) {
    width: min(100%, 22em);
  }
}


/* lower biz Private
-------------------- */
.insHead01 {
    background: #fff;
    margin: 0 auto .5em;
}

.insHead01 span {
    display: grid;
    grid-template-columns: 2.6em auto;
    align-items: center;
    margin-inline: auto;
    padding: .3em 1em .35em .5em;
    box-sizing: border-box;
    font-size: 1.485714285em;
    font-weight: 500;
    /* background: #fff; */
}

.insHead01 span::before {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
}

.insHead01--iconNone span {
    display: block;
    padding: .3em 1em .35em;
}

@media screen and (min-width: 751px) {
    .insHead01 span {
        grid-template-columns: 2.4em auto;
        width: var(--content-width02);
        padding: .3em 0;
        font-size: 1.444444em;
    }

    .insHead01--iconNone span {
        padding: .5em;
    }
}




.insHead01--risk02 span::before {
    top: .1em;
    left: .22em;
    width: 1.4em;
    height: 1.4em;
    background: url(/assets/images/corporate/icon_risk02.png) no-repeat center / contain;
}

.insHead01--risk03 span::before {
    top: .1em;
    left: .12em;
    background: url(/assets/images/corporate/icon_risk03.png) no-repeat center / contain;
}

.insHead01--risk04 span::before {
    top: .05em;
    left: .12em;
    background: url(/assets/images/corporate/icon_risk04.png) no-repeat center / contain;
}

.insHead01--security01 span::before {
    top: .14em;
    left: .3em;
    width: 1.8em;
    height: 1.8em;
    background: url(/assets/images/individual/icon_individual01.png) no-repeat center / contain;
}

.insHead01--security02 span::before {
    top: 0;
    left: .3em;
    width: 1.8em;
    height: 1.8em;
    background: url(/assets/images/individual/icon_individual02.png) no-repeat center / contain;
}

.insHead01--security03 span::before {
    top: .05em;
    left: .12em;
    width: 1.8em;
    height: 1.8em;
    background: url(/assets/images/individual/icon_individual03.png) no-repeat center / contain;
}

@media screen and (min-width: 751px) {

    .insHead01--security01 span::before,
    .insHead01--security02 span::before,
    .insHead01--security03 span::before {
        width: 1.7em;
        height: 1.7em;
    }
}




.insHead02 {
    display: grid;
    grid-template-columns: 1em auto;
    gap: .2em;
    position: relative;
    margin: .8em 0 .3em;
    font-size: 1.142857142em;
    font-weight: 500;
    line-height: 1.2;
    word-break: auto-phrase;
}

.insHead02::before {
    content: "";
    width: .9em;
    height: .9em;
    margin-top: .15em;
    background: currentColor;
    border-radius: 50%;
}

.insHead02 span {
    display: inline-block;
}

@media screen and (min-width: 751px) {
    .insHead02 {
        margin-top: 1.25em;
    }
}

/* 引受保険会社 */
.apply .underwriting {
    width: fit-content;
    margin: 1em 0 0 auto;
    font-size: .85em;
}

.apply .underwriting span {
    display: block;
    text-align: right;
}

.lower .column02:has(.underwriting) {
    flex-wrap: wrap;
}

.lower .column02 .underwriting {
    width: 100%;
    margin: 0 0 1em auto;
    text-align: right;
}

@media screen and (min-width: 550px) {
    .apply .underwriting {
        display: grid;
        grid-template-columns: 1fr auto;
        column-gap: 1em;
    }

    .lower .column02 .underwriting {
        width: auto;
        margin: 1.2em 0 .3em auto;
    }
}

.insuranceBody {
    margin: .3em .5em 1em 1.2em;
    font-size: 1.142857142em;
    line-height: 1.6;
}

.insuranceLink {
    margin: .65em 0 2em;
    font-size: .9em;
    line-height: 1.77777;
    word-break: auto-phrase;
}

.insuranceList {
    position: relative;
    width: 94.6666666%;
    margin: 0 auto;
}

@media screen and (min-width: 751px) {
    .insuranceList {
        width: var(--content-width01);
        margin: 0 auto 5.4em;
    }
}

.insuranceListNotes {
    display: grid;
    grid-template-columns: 1em auto;
    width: fit-content;
    margin: 2em auto;
    font-size: .77777em;
}



/* insurance Wrap */
.insuranceWrap {
    position: relative;
}

.insuranceTitle {
    margin: 1em auto;
    padding: .45em .45em .4em;
    box-sizing: border-box;
    font-size: 1.17em;
    font-weight: normal;
    text-align: center;
    color: var(--text-color);
    border: 1px solid currentColor;
}

.insuranceShape {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2em 0;
    margin-bottom: 2em;
}

.insuranceShape::before {
    content: "";
    width: 20.5em;
    height: 20.5em;
    margin: auto;
    background: url(/assets/images/corporate/pie.png) no-repeat center / contain;
}
@media screen and (min-width: 751px) {
    .insuranceShape {
        grid-template-columns: repeat(6, 1fr);
        gap: .9em;
    }
    .insuranceShape::before {
        display: none;
    }

    /* .insuranceShape::before {
        grid-column: 2/3;
        grid-row: 1/3;
        width: 20.5em;
        height: 20.5em;
        margin: auto;
        background: url(/assets/images/corporate/pie.png) no-repeat center / contain;
    } */

    .insuranceShape .risk01 {
        grid-column: 1/4;
        grid-row: 1/2;
        justify-items: start;
        gap: .5em;
    }

    .insuranceShape .risk02 {
        grid-column: 1/4;
        grid-row: 2/3;
        gap: .5em;
    }

    .insuranceShape .risk03 {
        grid-column: 4/7;
        grid-row: 1/2;
        gap: .5em;
    }

    .insuranceShape .risk04 {
        grid-column: 4/7;
        grid-row: 2/3;
        gap: .5em;
    }

    .insuranceShape li {
        display: grid;
        grid-template-columns: 1fr 2fr;
    }

    .insuranceShape li.risk01,
    .insuranceShape li.risk02 {
        grid-template-columns: 2fr 1fr;
    }

    .pieMenu {
        height: 100%;
        aspect-ratio: 1 / 1;
    }

    .risk01 .pieMenu {
        order: 2;
        margin: auto 0 0 auto;
    }

    .risk02 .pieMenu {
        order: 2;
        margin: 0 0 auto auto;
    }

    .risk01 dl,
    .risk02 dl {
        order: 1;
    }

    .insuranceShape .risk01 .pieMenu {
        padding: 2em .5em .5em 2em;
        background-color: var(--contents-color01);
        border-top-left-radius: 100%;
    }

    .insuranceShape .risk02 .pieMenu {
        padding: 1em .5em 2em 2em;
        background-color: var(--contents-color02);
        border-bottom-left-radius: 100%;
    }

    .insuranceShape .risk03 .pieMenu {
        padding: 2em 2em .5em .5em;
        background-color: var(--contents-color03);
        border-top-right-radius: 100%;
    }

    .insuranceShape .risk04 .pieMenu {
        padding: 1em 2em 2em .5em;
        background-color: var(--contents-color04);
        border-bottom-right-radius: 100%;
    }

}

.insuranceShape dl {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 1.8em;
    width: 100%;
}

/* @media screen and (min-width: 751px) {
    .insuranceShape .risk01 dl {
        grid-template-columns: 1fr 1fr;
        gap: 1.8em;
    }
    .insuranceShape .risk01 dl div:first-child {
        width: 80%;
        margin: 0 0 0 auto;
    }
    .insuranceShape .risk01 div {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: max-content auto;
    }
    .insuranceShape .risk04 dl {
        width: 24.8em;
        margin-inline: auto;
    }
} */


.insuranceShape dt {
    padding: .4em .75em .3em;
    box-sizing: border-box;
    font-size: 1.11111em;
    line-height: 1.2;
    color: #fff;
}

.insuranceShape .risk01 dt {
    background-color: var(--contents-color01);
}

.insuranceShape .risk02 dt {
    background-color: var(--contents-color02);
}

.insuranceShape .risk03 dt {
    background-color: var(--contents-color03);
}

.insuranceShape .risk04 dt {
    background-color: var(--contents-color04);
}

.insuranceShape dd {
    padding: .74em .75em;
    box-sizing: border-box;
    line-height: 1.33333;
}

.insuranceShape .risk01 div:first-child dd {
    padding-right: .5em;
}

.insuranceShape .risk02 br,
.insuranceShape .risk03 br {
    display: none;
}

.insuranceShape .risk01 dd {
    background-color: var(--contents-pale-color01);
    border: 2px solid var(--contents-color01);
}

.insuranceShape .risk02 dd {
    background-color: var(--contents-pale-color02);
    border: 2px solid var(--contents-color02);
}

.insuranceShape .risk03 dd {
    background-color: var(--contents-pale-color03);
    border: 2px solid var(--contents-color03);
}

.insuranceShape .risk04 dd {
    background-color: var(--contents-pale-color04);
    border: 2px solid var(--contents-color04);
}

.insuranceShape .pieMenu {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    position: absolute;
    width: 7em;
    padding: .5em;
    box-sizing: border-box;
    font-size: 1.2em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    color: #fff;
}

@media screen and (min-width: 751px) {
    .insuranceShape .pieMenu {
        position: relative;
        width: 7.5em;
        box-sizing: border-box;
        font-size: min(2.3438vw, 1.25em);
    }

    .insuranceShape .pieMenu strong {
        font-size: .8em;
    }

    .insuranceTitle {
        width: min(calc(100% - 2em), 32em);
        margin-bottom: 1.1em;
        padding: .4em;
    }

}

.insuranceShape .pieMenu::before {
    content: "";
    display: inline-block;
    width: 1.8em;
    height: 1.8em;
}

.insuranceShape li:nth-child(1) .pieMenu::before {
    background: url(/assets/images/corporate/icon_risk01_w.png) no-repeat top center / contain;
}

.insuranceShape li:nth-child(2) .pieMenu:before {
    background: url(/assets/images/corporate/icon_risk02_w.png) no-repeat top center / contain;
}

.insuranceShape li:nth-child(3) .pieMenu::before {
    background: url(/assets/images/corporate/icon_risk03_w.png) no-repeat top center / contain;
}

.insuranceShape li:nth-child(4) .pieMenu::before {
    background: url(/assets/images/corporate/icon_risk04_w.png) no-repeat top center / contain;
}

.insuranceShape li a span {
    display: block;
    font-weight: bold;
    white-space: nowrap;
}

.insuranceShape .pieMenu strong {
    font-weight: normal;
}

.insuranceShape li:nth-child(1) .pieMenu {
    top: 2em;
    left: 50%;
    transform: translateX(-100%);
}

.insuranceShape li:nth-child(2) .pieMenu {
    top: 9.5em;
    left: 50%;
    transform: translateX(-100%);
}

.insuranceShape li:nth-child(3) .pieMenu {
    top: 2em;
    left: 50%;
    transform: translateX(.3em);
}

.insuranceShape li:nth-child(4) .pieMenu {
    top: 9.5em;
    left: 50%;
    transform: translateX(.3em);
}

@media screen and (min-width: 751px) {

    .insuranceShape li:nth-child(1) .pieMenu,
    .insuranceShape li:nth-child(2) .pieMenu,
    .insuranceShape li:nth-child(3) .pieMenu,
    .insuranceShape li:nth-child(4) .pieMenu {
        top: 0;
        left: 0;
        margin-top: 0;
        transform: translate(0, 0);
        height: auto;
        align-content: start;
        gap: .35em;
        filter: blur(0);
    }

    .pieMenu::after {
        content: "";
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 0;
        border-top: 3px solid var(--contents-color01);
    }

    .risk01 .pieMenu::after {
        top: 2em;
        left: -5em;
        border-top-color: var(--contents-color01);
        transform: rotate(30deg);
    }

    .risk02 .pieMenu::after {
        top: 2em;
        left: -5em;
        border-top-color: var(--contents-color02);
        transform: rotate(-10deg);
    }

    .risk03 .pieMenu::after {
        top: 2em;
        left: 5em;
        border-top-color: var(--contents-color03);
        transform: rotate(-30deg);
    }

    .risk04 .pieMenu::after {
        top: 2em;
        left: 5em;
        border-top-color: var(--contents-color04);
        transform: rotate(10deg);
    }

}


.underwriter {
    margin: .2em 0 1em;
    font-size: .8125rem;
    text-align: right;
    line-height: 1.3;
}

.underwriter br {
    display: none;
}

.individual .underwriter {
    margin: .5em 0;
}

@media screen and (max-width: 750px) {
    .insuranceListBody li:not(:last-child) {
        margin-bottom: 1.4em;
        scroll-padding-top: 5em;
    }

    .insuranceListBody li:last-child {
        width: min(100%, 400px);
        margin-inline: auto;

    }

    .insuranceListBody li:not(:last-child) dl {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 0 1em;
    }

    .insuranceListBody div {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
    }
}

@media screen and (min-width: 751px) {
    .insuranceListBody {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: auto 1fr auto;
        gap: 3.1em 0;
        font-size: 1em;
    }

    .insuranceListBody dt {
        font-size: 1.111111em;
        padding: .25em .5em .15em .7em;
    }

    .insuranceListBody dd {
        margin-bottom: 0;
        padding: .6em .5em .9em .7em;
        font-size: 1.01em;
        line-height: 1.32;
    }

    .insuranceListBody .risk01 dd {
        padding-right: .2em;
    }

    .insuranceListBody .risk01 {
        display: grid;
        grid-template-columns: 1fr;
        grid-column: 2 / 7;
        grid-row: 1 / 2;
    }

    .insuranceListBody .risk01 dl {
        display: grid;
        grid-template-columns: 38.5% auto;
        gap: 0 1.8em;
    }

    .insuranceListBody .risk01 div {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
    }

    .insuranceListBody .risk01 div:nth-child(2) {
        width: 82.3%;
    }

    .insuranceListBody .risk02 {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
        display: grid;
        justify-items: center;
        align-items: center;
    }

    .insuranceListBody .risk03 {
        grid-column: 5 / 7;
        grid-row: 2 / 3;
    }

    .insuranceListBody .risk04 {
        grid-column: 2 / 6;
        grid-row: 3 / 4;
    }

    .insuranceListBody .risk04 dl {
        width: 55.6%;
        margin: .2em auto 0;
    }

    .insuranceListBody .risk02 dl,
    .insuranceListBody .risk03 dl {
        display: grid;
        gap: 1.8em;
        /* justify-items: center; */
        align-items: center;
    }

    .insuranceListBody .risk02 br,
    .insuranceListBody .risk03 br {
        display: none;
    }

    .insuranceListBody .risk01 dd,
    .insuranceListBody .risk02 dd,
    .insuranceListBody .risk03 dd,
    .insuranceListBody .risk04 dd {
        border-width: 2px;
    }

    .underwriter {
        font-size: 1.25rem;
        /* margin: -2.5em 1.2em 1em; */
        margin: 0 1.2em 1em;
    }

    .underwriter br {
        display: block;
    }

    .individual .underwriter {
        display: block;
        margin: 1em 1.2em 1em;
    }
}

@media screen and (min-width: 1000px) {
    .individual .underwriter {
        margin: -2.5em 1.2em 1em;
    }
}


.insuranceTable01 {
    width: 100%;
    margin: 1.6em auto .5em;
    border-collapse: collapse;
    background: #fff;
    box-sizing: border-box;
    border-top: 1px solid #bbb;
    border-left: 1px solid #bbb;
}





.insuranceTable01 th,
.insuranceTable01 td {
    border-right: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
}

.insuranceTable01 th {
    width: 3.4em;
}

.insuranceTable01 th>span {
    display: grid;
    grid-auto-rows: 1.5em auto;
    position: relative;
    margin-bottom: .2em;
}

.insuranceTable01 th em {
    order: 2;
    font-size: 1.7em;
    font-style: normal;
}

.insuranceTable01 th span>span {
    order: 1;
    display: grid;
    align-items: center;
    justify-content: center;
    margin: .3em .25em;
    padding: .2em;
    box-sizing: border-box;
    font-size: .6em;
    line-height: 1;
    background: #fff;
    border-radius: 1.5em;
}

@media screen and (max-width: 750px) {
    .insuranceTable01>tbody>tr {
        display: grid;
        grid-template-columns: calc(3.4em + 1px) auto;
    }

    .insuranceTable01>tbody>tr>th {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
    }

    .insuranceTable01>tbody>tr:not(:last-child)>td:nth-child(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        border-bottom: none;
    }

    .insuranceTable01>tbody>tr:not(:last-child)>td:nth-child(3) {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        padding-top: 0;
    }


    /* th, td {
        display: block;
        width: 100%;
    } */
}

@media screen and (min-width: 751px) {
    .insuranceTable01 th>span {
        grid-template-columns: auto 3.5em;
        grid-auto-rows: 1fr;
        margin-bottom: 0;
    }

    .insuranceTable01 th>span em {
        order: 1;
    }
}




.insuranceTable01 tr:nth-child(1) th {
    background-color: #e4b861;
}

.insuranceTable01 tr:nth-child(2) th {
    align-items: start;
    background-color: #eac782;
}

.insuranceTable01 tr:nth-child(3) th {
    background-color: #f0d7a6;
}

.insuranceTable01 tr:nth-child(4) th {
    background-color: #f5e4c4;
}

.insuranceTable01 tr:nth-child(5) th {
    position: relative;
    background-color: #f8ecd5;
}




.planLabelBlock {
    position: absolute;
    inset: 0;
}

.planLabelBlock em {
    display: grid;
    justify-items: center;
    align-items: center;
    height: 27%;
}

.planLabel {
    order: 3;
    display: grid;
    grid-template-columns: 1fr;
    height: 73%;
    font-size: .75em;
}

.planLabel li {
    display: grid;
    justify-items: center;
    align-items: center;
    /* line-height: 1.2; */
}

.insuranceTable01 .planLabel li:nth-child(1) {
    background: #faf2e2;
}

.insuranceTable01 .planLabel li:nth-child(2) {
    background: #fcf6eb;
}

.insuranceTable01 .planLabel li:nth-child(3) {
    background: #fdf9f1;
}

.insuranceTable01 .planLabel li:nth-child(4) {
    background: #fdfbf5;
}

.insuranceTable01 th .planLabel em {
    font-size: 1em;
}

.insuranceTable01 td {
    padding: .5em .5em .5em .8em;
    box-sizing: border-box;
}

.insuranceTable01 td sup {
    display: inline-block;
    font-size: .6em;
    vertical-align: super;
}

.insuranceTable01 .example {
    display: grid;
    grid-template-columns: 1.5em auto;
    align-items: center;
    gap: .3em;
    margin: 0;
    box-sizing: border-box;
    font-size: .81em;
    line-height: 1.15;
}

.insuranceTable01 .example span {
    display: inline-block;
}

.insuranceTable01 .example::before {
    content: "例";
    display: grid;
    justify-items: center;
    align-items: center;
    width: calc(1.2em + 2px);
    height: calc(1.2em + 2px);
    box-sizing: border-box;
    font-size: 1em;
    line-height: 1;
    color: white;
    background: #444;
    border: 2px solid #444;
    border-radius: 50%;
}

.insuranceTable01 .point {
    display: grid;
    grid-template-columns: 4em auto;
    align-items: center;
    gap: .5em;
    margin-left: 1.5em;
    font-size: .67em;
    font-weight: bold;
    color: var(--main-color);
}

.insuranceTable01 .point dt {
    padding: .2em .6em;
    font-weight: bold;
    background-color: #f8ecd5;
    border-radius: 1.5em;
}

.insuranceTable01 .point dd {
    line-height: 1.4;
}

.insuranceTable01 .point span {
    display: inline-block;
}

.lower .column02 {
    display: flex;
    align-items: center;
}

.lower .column02 p:first-child {
    width: 3em;
}

.planTable {
    border-collapse: collapse;
    box-sizing: border-box;
    width: 100%;
    margin: .5em 0 .35em;
    font-size: .9em;
}

.planTable th {
    border-right: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
    border-left: 1px solid #bbb;
    font-weight: normal;
    background-color: #fff9f0;
}

.planTable td {
    border-right: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
    padding: .22em .4em;
    line-height: 1.125;
}



.planTable tr:nth-child(1) th,
.planTable tr:nth-child(1) td {
    border-top: 1px solid #bbb;
}

.planTable thead th:nth-child(-n+6) {
    border: none;
    background: transparent;
}

.planTable th:nth-child(1) {
    width: 2.1em;
}

.planTable th:nth-child(2) {
    width: auto;
}

.planTable thead th:nth-child(n+3) {
    width: 5em;
    font-size: .6em;
}

.planTable td:nth-child(n+3) {
    font-weight: bold;
    text-align: center;
    color: #444;
    background-color: #ddd;
}

.planTable td.support {
    color: #db771d;
    background-color: #fff9f0;
}

.balloon {
    position: relative;
    padding: .4em .05em .2em;
    box-sizing: border-box;
    font-size: 1.6em;
    color: #db771d;
    background-color: #f5e3c1;
    border-radius: .7em;
}

.insuranceTable01 th>span.balloon {
    grid-auto-rows: 1fr 1fr;
    top: 0;
}

.insuranceTable01 th .balloon em {
    font-size: 1em;
}

.balloon::after {
    content: "";
    position: absolute;
    z-index: 1;
    bottom: -.5em;
    left: 50%;
    width: 1em;
    height: calc(tan(60deg) * .65em / 2);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #f5e3c1;
    transform: translateX(-50%);
}

/* @media screen and (max-width: 750px) {
    .insuranceTable01 tr:nth-child(5) td p:first-child {
        margin-top: 1.2em;
    }
} */

@media screen and (min-width: 751px) {
    .insuranceTable01 {
        width: min(calc(100% - 1.5em), 995px);
        margin-top: -.7em;
        margin-left: 1.5em;
    }

    .insuranceTable01 th {
        width: 7.3em;
        padding: .25em 1em;
        box-sizing: border-box;
        text-align: left;
    }

    .insuranceTable01 td {
        padding: .25em 1em;
    }

    .insuranceTable01 tr:last-child>td {
        padding: .5em 1em 1em;
    }

    .insuranceTable01 td:has(.example) {
        padding: .25em .65em;
    }

    .insuranceTable01 td:nth-child(2) {
        width: 19.9em;
    }

    .insuranceTable01 .example {
        gap: .1em;
        font-size: .8888em;
    }

    .insuranceTable01 .example::before {
        font-size: .9em;
    }

    .insuranceTable01 .point {
        grid-template-columns: 3.2em auto;
        gap: 1.2em;
        justify-content: center;
        margin-left: 0;
    }

    .insuranceTable01 .point dt {
        padding: .2em .3em;
    }


    .planLabelBlock em {
        justify-items: left;
        align-items: start;
        height: 25%;
        padding: .2em .6em;
        box-sizing: border-box;
    }

    .planLabel {
        height: 75%;
    }

    .planLabel li {
        justify-items: left;
        padding: 1em;
    }

    .planLabel em {
        display: inline-block;
        padding: 0;
    }

    .planTable {
        width: min(calc(100% - 1.05em), 732px);
        margin: -.85em 0 0 1.05em;
    }

    .planTable thead th:nth-child(n+3) {
        width: 8.5em;
        text-align: center;
    }

    .insuranceTable01 th>span.balloon {
        display: block;
        margin: 0 .45em .3em;
        padding: .3em 0 .4em;
        text-align: center;
    }

    .planTable th:nth-child(1) {
        width: 1.7em;
    }

    .planTable th {
        padding: .2em;
        text-align: center;
    }

    .insuranceTable01 tr:last-child>td .planTable td,
    .planTable td {
        padding: .23em .3em;
    }

    .planTable td span {
        display: inline-block;
    }
}

/* individual */
.individualMenu {
    margin-bottom: 3.3em;
}

.individualMenu__wrap {
    display: grid;
    gap: 1.4em 0;
    position: relative;
    width: min(100%, 1180px);
    margin: 1.4em auto 0;
    padding-top: 14.9em;
}

.individualMenu__wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 13.5em;
    height: 13.5em;
    line-height: 0;
    background: url(/assets/images/individual/pie.png) no-repeat center / contain;
    transform: translateX(-50%);
}

@media screen and (min-width: 751px) {
    .individualMenu__wrap {
        grid-template-columns: 1fr 1.04fr .96fr .96fr 1.04fr 1fr;
        grid-template-rows: max(5vw, 160px) max(5vw, 160px) 1fr;
        gap: 1.2em .5em;
        margin: 1.7em auto 0;
        padding-top: 0;
    }

    .individualBlock01 {
        grid-column: 1 / 3;
        grid-row: 1 / 3;
    }

    .individualBlock02 {
        grid-column: 5 / 7;
        grid-row: 1 / 3;
    }

    .individualBlock03 {
        grid-column: 2 / 6;
        grid-row: 3 / 4;
    }

    .individualMenu__wrap::before {
        grid-column: 3 / 5;
        grid-row: 1 / 3;
        position: static;
        top: 0;
        left: auto;
        width: 18.2em;
        height: 18.2em;
        margin: auto;
        padding-top: 0;
        transform: none;
    }
}

.individualMenu__wrap strong {
    font-weight: normal;
}

.individualMenu__wrap a {
    position: relative;
    z-index: 3;
    display: block;
    padding-block: 1.8em .65em;
}

.individualMenu__wrap a span {
    display: block;
}

.individualMenu__wrap a b {
    font-weight: bold;
}

.individualMenu__wrap a::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% - .9em);
    width: 1.8em;
    height: 1.8em;
}

.individualBlock01 a::before {
    background: url(/assets/images/individual/icon_individual01_w.png) no-repeat center / contain;
}

.individualBlock02 a::before {
    background: url(/assets/images/individual/icon_individual02_w.png) no-repeat center / contain;
}

.individualBlock03 a::before {
    background: url(/assets/images/individual/icon_individual03_w.png) no-repeat center / contain;
}

.individualMenu__wrap a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: .5em;
    height: .5em;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateX(-50%) rotate(45deg);
}

.individualMenu__wrap strong a {
    display: block;
    position: absolute;
    z-index: 3;
    font-size: 1.15em;
    line-height: 1.2;
    text-align: center;
    color: #fff;
}

@media screen and (min-width: 751px) {
    .individualMenu__wrap strong a {
        font-size: min(2.1vw, 1.4444em);
        line-height: 1.153846153;
    }
}

.individualBlock01 strong a {
    top: 1.9em;
    left: 50%;
    transform: translateX(-124%);
}

.individualBlock02 strong a {
    top: 1.9em;
    left: 50%;
    transform: translateX(25%);
}

.individualBlock03 strong a {
    top: 6.6em;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 2em;
}

@media screen and (min-width: 751px) {
    .individualBlock01 strong a {
        transform: translateX(-50%);
        top: calc(160px - 4.25em);
        left: calc(46% - 30px);

    }

    .individualBlock02 strong a {
        left: calc(54% + 30px);
        transform: translateX(-50%);
        top: calc(160px - 4.25em)
    }

    .individualBlock03 strong a {
        top: calc(240px - 9%);
    }
}





.individualMenu__wrap dl {
    display: grid;
    gap: .8em;
}

@media screen and (min-width: 751px) {
    .individualMenu__wrap dl {
        gap: 1em;
    }
}

.individualBlock02 dl,
.individualBlock03 dl {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 1em;
}

.individualBlock02 dl {
    grid-template-columns: 1.05fr .95fr;
    gap: .5em;
}

@media screen and (min-width: 751px) {
    .individualBlock02 dl {
        grid-template-columns: 1fr 1fr;
        gap: 1em .5em;
    }
}


.individualBlock02 dl div {
    display: grid;
    grid-template-rows: max-content 1fr;
}

@media screen and (min-width: 751px) {
    .individualBlock02 dl div {
        align-items: self-start;
    }
}

.individualBlock03 dl {
    /* width: min(100%, 25em); */
    margin-inline: auto;
}

@media screen and (min-width: 751px) {
    .individualBlock03 dl {
        width: min(100%, 25em);
    }
}

.individualMenu__wrap dt {
    padding: .3em .4em .2em;
    letter-spacing: .02em;
    color: #fff;
}

.individualMenu__wrap dd {
    padding: .35em .4em;
    line-height: 1.23;
}

@media screen and (min-width: 751px) {
    .individualMenu__wrap dt {
        padding: .4em .8em;
        letter-spacing: .14em;
    }

    .individualMenu__wrap dd {
        padding: .6em .8em;
        line-height: 1.3333;
    }
}




.individualBlock01 dt {
    background: var(--contents-color03);
    border: 1px solid var(--contents-color03);
}

.individualBlock01 dd {
    background: var(--contents-pale-color03);
    border: 1px solid var(--contents-color03);
}

.individualBlock02 dt {
    background: var(--contents-color01);
    border: 1px solid var(--contents-color01);
}

.individualBlock02 dd {
    background: var(--contents-pale-color01);
    border: 1px solid var(--contents-color01);
}

.individualBlock03 dt {
    background: var(--contents-color02);
    border: 1px solid var(--contents-color02);
}

.individualBlock03 dd {
    background: var(--contents-pale-color02);
    border: 1px solid var(--contents-color02);
}

.individualMenu__wrap ul {
    list-style-type: "・";
    display: grid;
    margin: 0 0 .15em .7em;
}

.individualBlock03 ul {
    grid-template-columns: 1fr 1fr;
    gap: 0 2.6em;
}

@media screen and (min-width: 751px) {

    .individualBlock01 dt,
    .individualBlock01 dd,
    .individualBlock02 dt,
    .individualBlock02 dd,
    .individualBlock03 dt,
    .individualBlock03 dd {
        border-width: 2px;
    }


}


/* insurance Table */
.insuranceTable03 {
    width: min(100%, 1100px);
    margin: 1.6em auto .5em;
    border-collapse: collapse;
    background: #fff;
    box-sizing: border-box;
    border-top: 1px solid #bbb;
    border-left: 1px solid #bbb;
}

.insuranceTable03 thead {
    background-color: #eee;
}

.insuranceTable03 thead tr:first-child {
    background-color: #cbcbcb;
}

.insuranceTable03 .classification {
    width: 6.6em;
}

.insuranceTable03 .detail {
    width: 8.3em;
}

.insuranceTable03 .house {
    width: 5em;
}


@media screen and (min-width: 751px) {
    .insuranceTable03 thead th:first-child {
        width: 9em;
    }

    .insuranceTable03 .detail {
        width: 15em;
    }
}

.insuranceTable03 th,
.insuranceTable03 td {
    padding: .28em .5em;
    box-sizing: border-box;
    font-size: .85em;
    border-right: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
}

@media screen and (min-width: 751px) {

    .insuranceTable03 th,
    .insuranceTable03 td {
        font-size: 1em;
    }
}

.insuranceTable03 tbody th {
    padding: .5em .2em;
    font-weight: normal;
    font-size: .75em;
    font-feature-settings: "palt";
    word-break: auto-phrase;
    line-height: 1.2222;
}

@media screen and (min-width: 751px) {
    .insuranceTable03 tbody th {
        padding: 1em;
        font-size: 1em;
    }
}

.insuranceTable03 td {
    font-size: .65em;
    line-height: 1.428571428;
    font-feature-settings: "palt";
}

@media screen and (min-width: 751px) {
    .insuranceTable03 td:nth-child(2) {
        font-size: 1rem;
    }
}

.insuranceTable03 td:nth-child(2) {
    padding: 1em;
}

.insuranceTable03 td:nth-child(n+3) {
    vertical-align: top;
}

.insuranceTable03 small {
    display: block;
}

@media screen and (min-width: 751px) {
    .insuranceTable03 td:nth-child(2) {
        padding: .3em 1em;
    }

    .insuranceTable03 td:nth-child(n+3) {
        width: 20.5em;
    }

    .insuranceTable03 td:nth-child(n+3) {
        vertical-align: middle;
    }
}

.insuranceTable03 td:nth-child(n+3) div {
    display: grid;
    gap: .2em;
    /* align-items: center; */
    margin: .2em;
    line-height: 1.2;
}

.insuranceTable03 td:nth-child(n+3) div::before {
    content: "";
    width: 100%;
    height: 3.8em;
    margin: auto;
}

@media screen and (max-width: 750px) {
    .insuranceTable03 {
        table-layout: fixed;
    }
}

@media screen and (min-width: 751px) {
    .insuranceTable03 td:nth-child(n+3) div {
        grid-template-columns: 40% auto;
        align-items: center;
        font-size: 1rem;
    }

    .insuranceTable03 td:nth-child(4) div {
        grid-template-columns: 41.47% auto;
    }
}




.insuranceTable03 td:nth-child(n+3) div span {
    display: inline-block;
}

.insuranceTable03--img01::before {
    background: url(/assets/images/individual/fire_insurance01.png) no-repeat center / contain;
}

.insuranceTable03--img02::before {
    background: url(/assets/images/individual/fire_insurance02.png) no-repeat center / contain;
}

.insuranceTable03--img03::before {
    background: url(/assets/images/individual/fire_insurance03.png) no-repeat center / contain;
}

.insuranceTable03--img04::before {
    background: url(/assets/images/individual/fire_insurance04.png) no-repeat center / contain;
}

.insuranceTable03--img05::before {
    background: url(/assets/images/individual/fire_insurance05.png) no-repeat center / contain;
}

.insuranceTable03--img06::before {
    background: url(/assets/images/individual/fire_insurance06.png) no-repeat center / contain;
}

.insuranceTable03--img07::before {
    background: url(/assets/images/individual/fire_insurance07.png) no-repeat center / contain;
}

.insuranceTable03--img08::before {
    background: url(/assets/images/individual/fire_insurance08.png) no-repeat center / contain;
}

.insuranceTable03--img09::before {
    background: url(/assets/images/individual/fire_insurance09.png) no-repeat center / contain;
}

.insuranceTable03--img10::before {
    background: url(/assets/images/individual/fire_insurance10.png) no-repeat center / contain;
}

.insuranceTable03--img11::before {
    background: url(/assets/images/individual/fire_insurance11.png) no-repeat center / contain;
}

.insuranceTable03--img12::before {
    background: url(/assets/images/individual/fire_insurance12.png) no-repeat center / contain;
}

.carInsurance {
    display: grid;
}


.carInsuranceList {
    order: 2;
    margin-top: .75em;
    padding: 0 1.7em;
    color: #333;
}


@media screen and (min-width: 751px) {
    .carInsurance {
        grid-template-columns: 50% auto;
        gap: 2em;
    }

    .carInsuranceList {
        margin-top: .2em;
        padding: 0;
    }
}




.carInsurance figure {
    order: 1;
}

.carInsuranceList li {
    margin-bottom: 1.1em;
    padding-left: .5em;
    padding-right: .5em;
    border-left: .8em solid #fbb03b;
}

.carInsuranceList li:nth-child(1) {
    border-color: #fbb03b;
}

.carInsuranceList li:nth-child(2) {
    border-color: #e24770;
}

.carInsuranceList li:nth-child(3) {
    border-color: #22b573;
}

.carInsuranceList li:nth-child(4) {
    border-color: #29abe2;
}


.carInsuranceList dl {
    display: grid;
    gap: .1em;
    font-size: 1.3em;
    line-height: 1.25;
}

@media screen and (min-width: 751px) {
    .carInsuranceList li {
        margin-bottom: 1.2em;
        padding-right: .3em;
        border-left-width: .7em;
    }

    .carInsuranceList dl {
        font-size: 1em;
    }
}

.carInsuranceList dt {
    order: 2;
    font-weight: bold;
}

.carInsuranceList dd {
    order: 1;
    font-size: .777777em;
}

/* Accident insurance */
/* .accident_insurance {
} */

.insuranceTable04 {
    width: min(100%, 1100px);
    margin: 1.6em auto .5em;
    border-collapse: collapse;
    background: #fff;
    box-sizing: border-box;
    border-top: 1px solid #bbb;
    border-left: 1px solid #bbb;
}

.insuranceTable04 thead {
    background-color: #ccc;
}

.insuranceTable04 th,
.insuranceTable04 td {
    padding: .5em;
    box-sizing: border-box;
    border-right: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
    font-size: .65em;
}

.insuranceTable04 thead th {
    padding: .3em 1.2em;
    box-sizing: border-box;
    font-size: .7rem;
}

@media screen and (min-width: 751px) {

    .insuranceTable04 th,
    .insuranceTable04 td {
        font-size: 1.125rem;
    }

    .insuranceTable04 thead th {
        padding: 1.2em 1.2em;
        font-size: 1.125rem;
    }
}

.insuranceTable04 thead th:first-child {
    width: 18.5%;
}

.insuranceTable04 thead th:last-child {
    width: 40.2%;
}

@media screen and (min-width: 751px) {
    .insuranceTable04 thead th:last-child {
        width: 31%;
    }

    .insuranceTable04 td:last-child {
        font-size: .8em;

    }
}


.insuranceTable04 tbody th:first-child {
    text-align: center;
}

.insuranceTable04 tbody th {
    line-height: 1.4;
    word-break: auto-phrase;
}

.insuranceTable04 span {
    display: inline-block;
}

.insuranceTable04 small {
    display: block;
    margin: 1em 0 0;
    font-size: .555em;
}


.insuranceTable04 td:nth-child(2) div {
    display: grid;
    gap: .5em;
    align-items: center;
    height: 100%;
    line-height: 1.33333;
}

@media screen and (min-width: 751px) {
    .insuranceTable04 td:nth-child(2) div {
        grid-template-columns: 6.5em auto;
    }
}

.insuranceTable04 td:nth-child(2) div::before {
    content: "";
    width: 100%;
    height: 4em;
}

.bodyInsurance01::before {
    background: url(/assets/images/individual/body_insurance01.png) no-repeat center / contain;
}

.bodyInsurance02::before {
    background: url(/assets/images/individual/body_insurance02.png) no-repeat center / contain;
}

.bodyInsurance03::before {
    background: url(/assets/images/individual/body_insurance03.png) no-repeat center / contain;
}

.bodyInsurance04::before {
    background: url(/assets/images/individual/body_insurance04.png) no-repeat center / contain;
}

.bodyInsurance05::before {
    background: url(/assets/images/individual/body_insurance05.png) no-repeat center / contain;
}

.bodyInsurance06::before {
    background: url(/assets/images/individual/body_insurance06.png) no-repeat center / contain;
}



.insuranceTable04 td:nth-child(3) {
    padding: .6em;
    line-height: 1.4;
    vertical-align: top;
}

@media screen and (min-width: 751px) {
    .insuranceTable04 td:nth-child(3) {
        padding: 1em;
        vertical-align: middle;
    }
}

.reassurance03__txt {
    position: relative;
    width: min(100%, 1006px);
    margin: 2.2em auto;
    padding: .35em .55em;
    box-sizing: border-box;
    font-size: 1.11111em;
    line-height: 1.7;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #dd8080;
}

@media screen and (min-width: 751px) {
    .reassurance03__txt {
        width: min(100%, 1006px);
        margin: 2.5em auto;
        padding: 1.3em;
        font-size: 1.11111em;
    }
}

.reassurance03__txt::before {
    content: "";
    position: absolute;
    top: -1.7em;
    left: 50%;
    width: 2.5em;
    height: calc(tan(60deg) * 1em / 2);
    background: #dd8080;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translateX(-50%);
}

.reassurance04 .wrap {
    width: min(calc(100% - 2em), 1100px);
    margin: 2.2em auto;
}
.reassurance04__body {
    font-size: 1.142857142em;
    line-height: 1.6;
}

.notes {
    margin-top: .2em;
    margin-left: 1em;
    font-size: .85em;
    line-height: 1.5;
    text-indent: -1em;
}

.underwriting {
    margin-top: 1.2em;
}

.underwritingTtl {
    margin-bottom: .3em;
    border-bottom: 1px solid #a7a9a9;
}

.underwriting .bizContentsList {
    margin: .4em 0 2em;
    font-size: .9em;
    line-height: 1.7;
}

.underwriting .bizContentsList li {
    align-items: center;
    margin-bottom: 0;
}

.underwriting .bizContentsList li::before {
    margin: 0;
}

.underwriting .bizContentsList a::after {
    margin: auto;
}

/* notes */
.notesNo {
    counter-reset: number 0;
    margin: .5em auto 1em;
    font-size: .928571428em;
    line-height: 1.3;
}

.notesNo li {
    display: grid;
    grid-template-columns: 2.5em auto;
}

.notesNo li::before {
    counter-increment: number 1;
    content: "(注" counter(number) ")";
}



.notesNo--asterisk {
    margin-top: .6em;
    font-size: .8em;
}

.notesNo--asterisk li {
    display: grid;
    grid-template-columns: max-content auto;
}

.insuranceTable01+.notesNo {
    line-height: 1.35;

}


@media screen and (min-width: 751px) {
    .insuranceTable01+.notesNo {
        width: min(calc(100% - 1.5em), 995px);
        margin: .9em auto 1em 1.9em;
        font-size: .77777em;
        line-height: 1.5;
    }
}






.harassment {
    display: flow-root;
    margin-bottom: 2.5em;
    background-color: #fff;
}

.harassment ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    gap: 1em 1.2em;
    width: 98.3098571%;
    margin: 0 auto;
    padding: .4em 2.2em;
    box-sizing: border-box;
}



.harassment li {
    display: grid;
    grid-template-columns: 1fr;
}

.harassment li:nth-child(5) {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    width: 54%;
    margin: 0 auto;
}

.harassment li>span {
    display: grid;
    align-items: center;
    height: 2em;
    padding: .4em .1em;
    font-size: 1.1em;
    text-align: center;
    line-height: 1;
    color: #fff;
    background-color: #a6628f;
    border-radius: 2em;
}

.harassment li:nth-child(5) span {
    font-feature-settings: "palt";
    letter-spacing: -.06em;
}

.harassment li::before {
    content: "";
    width: 100%;
    height: 5.4em;
    margin: 0 auto .7em;
}



.harassment li:nth-child(1)::before {
    background: url(/assets/images/corporate/harassment01.png) no-repeat center / contain;
}

.harassment li:nth-child(2)::before {
    background: url(/assets/images/corporate/harassment02.png) no-repeat center / contain;
}

.harassment li:nth-child(3)::before {
    background: url(/assets/images/corporate/harassment03.png) no-repeat center / contain;
}

.harassment li:nth-child(4)::before {
    background: url(/assets/images/corporate/harassment04.png) no-repeat center / contain;
}

.harassment li:nth-child(5)::before {
    background: url(/assets/images/corporate/harassment05.png) no-repeat center / contain;
}

.harassment p {
    margin: 1em;
    font-size: 1.4em;
    font-weight: bold;
    font-feature-settings: "palt";
    line-height: 1.5;
    color: #ed1c24;
}

.harassment p>span {
    display: inline-block;
}

@media screen and (min-width: 541px) {
    .harassment ul {
        grid-template-columns: repeat(3, 1fr);
    }

    .harassment li:nth-child(5) {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        width: auto;
        margin: 0;
    }
}

@media screen and (min-width: 751px) {
    .harassment {
        margin-bottom: 3em;
    }

    .harassment li>span {
        height: 2.3em;
        font-size: 1.2em;
    }

    .harassment li::before {
        width: min(100%, 8.5em);
        height: 8.6em;
        margin: 0 auto;
        transform: translateY(.3em);
    }

    .harassment p {
        margin: .3em;
        font-size: 1.82em;
        text-align: center;
    }

    .harassment ul {
        grid-template-columns: repeat(5, 1fr);
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: .5em;
        width: 100%;
        padding: .4em 1.5em;
    }

    .harassment li:nth-child(5) {
        grid-column: initial;
        grid-row: initial;
        width: auto;
        margin: initial;
    }
}

.cyber {
    display: flow-root;
    position: relative;
    width: min(100%, 360px);
    margin: 0 auto;
    padding: 1em;
    box-sizing: border-box;
    font-size: .857142857em;
    font-feature-settings: "palt";
    line-height: 1.3333;
    background-color: #fff;
}

.cyber::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 31%;
    left: 50%;
    width: 318px;
    /* width: 89.6%; */
    height: 318px;
    /* padding-top: 90%; */
    background: url(/assets/images/corporate/cyber.png) no-repeat center / contain;
    transform: translate(-50%, 0);
}

.cyber dt {
    position: relative;
    z-index: 2;
    font-size: 1.45em;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    font-feature-settings: "palt";
    letter-spacing: .05em;
}

.cyber dd span {
    display: inline-block;
}

.cyber01 {
    margin: .9em 0 0 1.3em;
}

.cyber01 dt {
    position: absolute;
    top: 44%;
    left: 11%;
    width: 8em;
}

.cyber01 dt+dd {
    position: relative;
    padding-bottom: .3em;
    border-bottom: 1px solid #007bc7;
}

.cyber01 dd+dd {
    margin: .3em 2em 0 auto;
    text-align: right;
    color: #007bc7;
}

.cyber01 dt+dd::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 80%;
    height: 1px;
    background-color: #007bc7;
    transform-origin: 0 0;
    transform: rotate(81.5deg);
}



.cyber02 {
    margin: 2.4em 0 0 8.2em;
}

.cyber02 dt {
    position: absolute;
    top: 44%;
    left: 54%;
    width: 7em;
}

.cyber02 dt+dd {
    position: relative;
    width: min(100%, 18em);
    padding-bottom: .3em;
    border-bottom: 1px solid #663399;
}

.cyber02 dd+dd {
    margin: .3em 2em 0 auto;
    color: #663399;
    word-break: auto-phrase;
}

.cyber02 dt+dd::before {
    content: "";
    position: absolute;
    bottom: -1px;
    right: 0;
    width: 80%;
    height: 1px;
    background-color: #663399;
    transform-origin: top right;
    transform: rotate(-71deg);
}

.cyber03 {
    margin: 25.3em 0 0 5.25em;
    box-sizing: border-box;
}

.cyber03 dt {
    position: absolute;
    top: 64.5%;
    left: 50%;
    width: 7em;
    transform: translateX(-50%);
}

.cyber03 dt+dd {
    position: relative;
    width: 17.5em;
    padding-left: 2.7em;
    padding-bottom: .3em;
    box-sizing: border-box;
    border-bottom: 1px solid #dd8080;
}

.cyber03 dd+dd {
    margin: .3em 2em 0 auto;
    padding-left: 2.7em;
    color: #dd8080;
    word-break: auto-phrase;
}

.cyber03 dt+dd::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 80%;
    height: 1px;
    background-color: #dd8080;
    transform-origin: 0 0;
    transform: rotate(-68deg);
}

.cyber03 span {
    display: inline-block;
}

.cyber03 .option {
    display: block;
    width: fit-content;
    margin: .4em auto;
    padding: .3em .7em;
    box-sizing: border-box;
    font-size: .65em;
    line-height: 1;
    background: #ffc;
}

.gltdGraph {
    width: min(100%, 500px);
    margin-inline: auto;
}

.cyberTxt {
    margin: 1.6em auto 1.2em;
    padding: .9em 2em 1.1em 2.5em;
    box-sizing: border-box;
    font-size: 1.15em;
    line-height: 1.375;
    border: 1px solid #dd8080;
}

.gltdTxt {
    margin: -.3em auto .5em;
    font-size: 1.5em;
    line-height: 1.35;
    text-align: center;
    ;
}

.gltdTxt mark {
    /* margin-right: .2em; */
    color: #ed1c24;
    background-color: #ffffcc;
}

.gltdTxt mark span {
    display: inline-block;
    padding: 0 .2em;
    box-sizing: border-box;
}

.gltdTxt span {
    display: inline-block;
}

.gltdSummary {
    margin: 1.1em auto 1.25em;
    padding: .9em 2em;
    box-sizing: border-box;
    font-size: 1.142857142em;
    line-height: 1.375;
    /* word-break: auto-phrase; */
    border: 1px solid #dd8080;
}

/* .gltdSummary br {
    display: none;
} */


@media screen and (max-width: 400px) {
    .cyber {
        width: 300px;
    }

    .cyber dd span {
        display: inline;
    }

    .cyber02 {
        margin: 1.4em 0 28em 8.2em;
    }

    .cyber dt {
        font-size: 1.3em;
    }

    .cyber01 dt {
        left: 8%;
    }

    .cyber01 dt,
    .cyber02 dt {
        top: 44%;
    }

    .cyber03 dt {
        top: 60.5%;
    }

    .cyber::before {
        width: 290px;
    }
}



@media screen and (min-width: 751px) {
    .cyber {
        width: auto;
        font-size: 1em;
        padding: 1em 1em 4em;
    }

    .cyber::before {
        width: 44.2%;
        height: 0;
        padding-top: 44.2%;
        top: 50%;
        left: 50%;
        transform: translate(-51%, -47%);
    }

    .cyber dl {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .cyber dt {
        font-size: min(2.15vw, 1.45em);
    }

    .cyber dd span {
        display: inline;
    }

    .cyber01 {
        margin: 2.8em 0 0 0;
        padding-left: 8%;
    }

    .cyber01 dt {
        top: 50%;
        left: 50%;
        transform: translate(-106%, -178%);
    }

    .cyber01 dt+dd {
        padding-right: 52%;
        border-width: 2px;
    }

    .cyber01 dd+dd {
        padding-right: 52%;
        text-align: left;
        word-break: auto-phrase;
    }


    .cyber01 dt+dd::before {
        display: none;
    }

    .cyber02 {
        width: 100%;
        box-sizing: border-box;
        margin: 2.8em auto 0 0;
    }

    .cyber02 dt {
        top: 50%;
        left: 50%;
        transform: translate(11%, -177%);
    }

    .cyber02 dt+dd {
        width: 90%;
        padding-left: 46%;
        box-sizing: border-box;
        border-width: 2px;
    }

    .cyber02 dd+dd {
        width: 90%;
        margin: 0;
        padding-left: 46%;
        box-sizing: border-box;
    }

    .cyber02 dt+dd::before {
        display: none;
    }

    .cyber03 {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        margin: 4.3em 0 0 17%;
    }

    .cyber03 dt {
        top: 50%;
        left: 50%;
        transform: translate(-50%, 69%);
    }

    .cyber03 dt+dd {
        border-width: 2px;
    }

    .cyber03 dt+dd::before {
        display: none;
    }

    .cyberTxt {
        width: min(100%, 1088px);
        margin: 2.6em auto 2em;
        text-align: center;
    }

    .gltd {
        width: min(calc(100% - 3em), 1020px);
        margin: -.74em auto .5em 3em;
    }

    .gltdTxt {
        margin: 0 0 .35em;
        font-size: 1.8em;
        text-align: left;
    }

    .notesNo--asterisk {
        margin-top: .2em;
        font-size: .85em;
        line-height: 1.5;
    }

    .gltdSummary {
        width: min(100%, 1090px);
        padding: .94em 1em 1em 1.9em;
        font-size: 1.136em;
        line-height: 1.55;
        border-width: 2px;
        word-break: auto-phrase;
    }

    .gltdGraph {
        width: auto;
    }
}

/* inquiry */
.inquiry {
    width: min(100%, 42.6em);
    margin: 1.2em auto 3.8em;
    padding-bottom: .7em;
    background-color: #fff;
    border: 1px solid #ec6941;
}

.inquiry p:first-child {
    padding: .48em;
    box-sizing: border-box;
    font-size: 1.142857142em;
    text-align: center;
    color: #fff;
    background-color: #ec6941;
}

.inquiry dl {
    margin: 1em auto .85em;
    font-size: 1.115em;
    font-weight: bold;
    text-align: center;
    letter-spacing: .245em;
}

.inquiry dt {
    margin-bottom: .3em;
}

.inquiry dd {
    font-size: 2em;
    font-weight: bold;
}
.inquiry .tel a {
  color: var(--text-color);
  text-decoration: none;
}

.inquiry .mail a {
    display: grid;
    grid-template-columns: 1.5em auto 1em;
    gap: .5em;
    align-items: center;
    justify-content: center;
    width: calc(100% - 2em);
    margin: .6em auto;
    padding: .55em .3em;
    box-sizing: border-box;
    font-size: 1.142857142em;
    font-weight: bold;
    font-feature-settings: "palt";
    line-height: 1.4;
    text-align: center;
    letter-spacing: .15em;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(to bottom right, var(--gradient-color01), var(--gradient-color02));
    border-radius: 1.5em;
}

.inquiry .mail a::before {
    content: "";
    display: inline-block;
    width: 1.3388em;
    height: 1.2em;
    margin: auto 0 auto auto;
    background: url(/assets/images/icon_mail.png) no-repeat center / contain;
    transform: translateY(.025em);
}

.inquiry .mail a::after {
    content: "";
    display: inline-block;
    width: .5em;
    height: .5em;
    margin: 0;
    border-top: .15em solid currentColor;
    border-right: .15em solid currentColor;
    transform: translateY(.025em) rotate(45deg);
}


@media screen and (min-width: 751px) {
    .inquiry {
        margin: 2.1em auto 5.6em;
        padding-bottom: .6em;
        border-width: 2px;
    }

    .inquiry p:first-child {
        padding: .35em;
    }

    .inquiry dl {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1em;
        margin: .5em auto .7em;
    }

    .inquiry dt {
        margin-bottom: 0;
        letter-spacing: .1em;
    }

    .inquiry .mail a {
        width: min(100%, 490px);
        padding: .3em;
        font-size: 1.1111em;
    }
}





/* company
-------------------- */
.message {
    display: flow-root;
    width: min(100%, 1204px);
    margin-inline: auto;
    font-size: 1.1111em;
    /* 20 */
    line-height: 1.6;
    background: #fff;
}
.message__body {
    padding: 2em;
    box-sizing: border-box;
    background: #fff;
}
@media screen and (min-width: 751px) {
    .message {
        background: #fff url(/assets/images/company/message_img.jpg) no-repeat right top / auto 100%;
    }
    .message__body {
        margin: 0 20em 0 0;
    }
}
@media screen and (min-width: 900px) {
    .message {
        background-size: 20em auto;
    }
}


.messageTtl {
    margin: .2em 0 .6em;
    font-size: 1.4444em;
    font-weight: normal;
}

.message .signature {
    margin: 2em 0 0;
    text-align: right;
}

.group {
    display: flow-root;
    margin: 5em auto;
}

.groupTxt {
    width: min(calc(100% - 2em), 1036px);
    margin-inline: auto;
    padding: 0 0 2em;
    box-sizing: border-box;
    font-size: 1.1111em;
    /* 20 */
    line-height: 1.6;
}

.groupToyohkdaiko {
    display: inline-block;
    border: 2px solid var(--main-color);
    box-sizing: border-box;
    font-weight: normal;
}

.organization {
    display: grid;
    grid-template-columns: 2.5em auto;
    gap: 1em .5em;
    width: min(calc(100% - 2em), 1036px);
    margin: 1em auto;
    box-sizing: border-box;
    font-size: .83333em;
}

@media screen and (min-width: 751px) {
    .organization {
        gap: 1em 2em;
    }
}




.listLv01,
.listLvTtl01,
.listLvTtl02 {
    font-size: 1em;
    padding: .5em;
    box-sizing: border-box;
    color: #fff;
    letter-spacing: .3em;
}




.listLv01 {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
    display: grid;
    justify-items: start;
    align-items: center;
    position: relative;
    z-index: 2;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background-color: #0171c3;
}

.listLv02-01,
.listLv02-02,
.listLv02-03 {
    display: grid;
    grid-template-columns: 2.5em auto;
    gap: 1em .5em;
}


.listLv02-01 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.listLv02-02 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.listLv02-03 {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
}

.listLvTtl01 {
    position: relative;
    z-index: 1;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: grid;
    justify-items: start;
    align-items: center;
    padding: .5em;
    box-sizing: border-box;
    color: #fff;
    letter-spacing: .3em;
}

.listLvTtl01::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -3em;
    width: 3em;
    height: .6em;
    background: #bab9be;
    transform: translateY(-50%);
}

.listLv02-01 .listLvTtl01 {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    background-color: #2dafc7;
}

.listLv02-02 .listLvTtl01 {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    background-color: #56b887;
}

.listLv02-03 .listLvTtl01 {
    background-color: #9773b1;
}

.listLv02-01 .listLv03-01,
.listLv02-02 .listLv03-01 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.listLv02-01 .listLv03-02,
.listLv02-02 .listLv03-02 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.listLvTtl02 {
    position: relative;
    padding: .5em 1em;
    box-sizing: border-box;
    color: #fff;
    letter-spacing: .3em;
}

.listLvTtl02::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -3em;
    width: 3em;
    height: .4em;
    background: #bab9be;
    transform: translateY(-50%);
}

.listLv02-01 .listLvTtl02 {
    background-color: #2dafc7;
}

.listLv02-02 .listLvTtl02 {
    background-color: #56b887;
}

.listLv02-03 .listLvTtl02 {
    background-color: #9773b1;
}

.listLv03-list {
    list-style: disc;
    margin: .5em;
    padding-left: 1.5em;
    line-height: 1.4;
}

.listLv03-list li:not(:last-child) {
    margin-bottom: .5em;
}

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

    .listLv01>span,
    .listLvTtl01>span {
        position: sticky;
        top: 0;
        padding: .5em 0;
    }
}

@media screen and (min-width: 751px) {

    .listLv02-01,
    .listLv02-02,
    .listLv02-03 {
        gap: 1em 2em;
    }

    .listLv01,
    listLvTtl01 {
        justify-items: center;
    }
}

/* overview */
.overviewList {
    margin-bottom: 3em;
}

.overviewList div {
    display: grid;
    grid-auto-flow: row;
    gap: 1em 6.8em;
    width: min(calc(100% - 2em), 1036px);
    margin-inline: auto;
    padding: 2em 0;
    box-sizing: border-box;
}

@media screen and (min-width: 751px) {
    .overviewList div {
        grid-template-columns: 10em auto;
        gap: 1em 6.8em;
    }
}

.overviewList div:not(:last-child) {
    border-bottom: 1px solid #a9a9a9;
}

.bizContents {
    display: grid;
    grid-auto-flow: row;
    gap: 1em;
}

@media screen and (min-width: 840px) {
    .bizContents {
        grid-template-columns: 21em auto;
    }
}

.bizContents dl {
    margin: 1.1em 0 0 1em;
}

@media screen and (min-width: 751px) {
    .bizContents dl {
        margin: 1.1em 0 0 .84em;
    }
}


.bizContents dt {
    margin-bottom: .65em;
}

.overviewList dd {
    margin-left: 1em;
}

@media screen and (min-width: 751px) {
    .overviewList dd {
        margin: 0;
    }
}



.bizContentsList li {
    display: grid;
    grid-template-columns: 1em auto;
    gap: .2em;
    margin-bottom: .8em;
}

.bizContentsList li::before {
    content: "";
    width: .8em;
    height: 2px;
    margin: .5em 0 0 .1em;
    background: #7b7b7d;
}

.bizContentsList a {
    display: grid;
    grid-template-columns: auto 1em;
    gap: .2em;
    width: fit-content;
}

.bizContentsList a::after {
    content: "";
    width: .85em;
    height: .85em;
    margin: auto auto 0;
    background: url(/assets/images/arrow_blank.png) no-repeat center / contain;
}

/* bizInfo */
.bizInfoBody {
    width: min(calc(100% - 2em), 1036px);
    margin: 0 auto 3em;
    line-height: 1.6;
}

/* faq
-------------------- */
.faqList {
    width: min(calc(100% - 2em), 1120px);
    margin-inline: auto;
    line-height: 1.4;
}

.faqList .faqItem {
    margin-bottom: 2em;
    padding: 0 2em 1.5em;
}

.faqList .faqItem:not(:last-child) {
    border-bottom: 1px solid #a7a7a7;
}

.question {
    display: grid;
    grid-template-columns: 2em auto;
    gap: .2em;
    margin-bottom: .8em;
    font-weight: bold;
}

.question::before {
    content: "Ｑ";
    font-size: 1.6em;
    transform: translateY(-.25em);
}

.answer {
    display: grid;
    grid-template-columns: 2em auto;
    gap: .2em;
    text-spacing-trim: trim-start;
}

.answer::before {
    content: "Ａ";
    font-size: 1.6em;
    font-weight: bold;
    color: var(--main-color);
    transform: translateY(-.25em);
}

.answerLink:not(.answerLink + .answerLink) {
    margin-top: .5em;
}

.answerLink a {
    display: grid;
    grid-template-columns: auto 1.5em;
    gap: .5em;
    align-items: center;
    width: fit-content;
    padding: .5em 0;
}

.answerLink a:after {
    content: "";
    display: inline-block;
    width: .6em;
    height: .6em;
    margin: .2em 0 0;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg);
}

@media screen and (max-width: 750px) {
    .answerLink a {
        padding: 1em 0;
    }
}

/* accident
-------------------- */
.accident .heading02>span {
    width: min(calc(100% - 1em), 1120px);
}

.accidentList {
    width: min(calc(100% - 1em), 1120px);
    margin: -1.2em auto 4.5em;
    font-size: 1.1111em;
    line-height: 2.2;
}

.accidentList li {
    display: grid;
    grid-template-columns: 1em auto;
    gap: .3em;
}

.accidentList li::before {
    content: "";
    width: .8em;
    height: .8em;
    margin: .73em .1em;
    background: var(--text-color);
    border-radius: 50%;
}

.accident .wrap {
    margin-top: -.8em;
    font-size: 1.1111em;
    line-height: 1.6;
    ;
}

.consultation {
    margin: 2.2em 0 2.3em;
}

.consultationTtl {
    margin-bottom: .8em;
    font-weight: bold;
}

.consultation dl {
    margin: .8em auto;
    border-top: 1px solid #a7a7a7;
}

.consultation div {
    display: grid;
    grid-template-columns: 1fr;
    gap: .5em;
    align-items: center;
    padding: 1.5em 1em .5em;
    box-sizing: border-box;
    border-bottom: 1px solid #a7a7a7;
}

.consultation dt {
    font-weight: bold;
}

@media screen and (min-width: 751px) {
    .consultation div {
        grid-template-columns: auto 35%;
        gap: 2em;
        padding: 0 1.26em;
    }
}


.consultation dt>span:first-child {
    margin-right: .8em;
}

.tollFree {
    display: inline-block;
    font-weight: normal;
}

.consultation dd a {
    display: grid;
    grid-template-columns: 2.2em auto;
    gap: .5em;
    align-items: center;
    padding: .92em 0;
    box-sizing: border-box;
    font-weight: bold;
    color: var(--text-color);
    text-decoration: none;
}

.consultation dd a::before {
    content: "";
    width: 2.2em;
    height: 1.5em;
    background: url(/assets/images/icon_toll_free.png) no-repeat center /contain;
}

.consultationTxt {
    padding-left: 1em;
}

.consultationTxt ul {
    margin: 1em 0;
}

.consultationTxt li {
    display: grid;
    grid-template-columns: 1em auto;
    gap: .2em;
    align-items: center;
    margin-bottom: .3em;
}

.consultationTxt li::before {
    content: "";
    width: .8em;
    height: 1px;
    background-color: var(--text-color);
}

.consultationTxt li a {
    position: relative;
}

.consultationTxt li a[target="_blank"]::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: .5em;
    background: url(/assets/images/arrow_blank.png) no-repeat center / contain;
    transform: rotate(0deg) translateY(.1em);
}



/* policy
-------------------- */
.policyWrap {
    width: min(calc(100% - 2em), 1036px);
    margin: 0 auto 3em;
    line-height: 1.4;
}

.policyTtl {
    margin-bottom: 1em;
    padding: .3em;
    box-sizing: border-box;
    font-size: 1.25em;
    background-color: #fff;
    ;
    border-bottom: 1px solid var(--main-color);
}

.policyTtl02 {
    margin: 1em 0;
    font-size: 1.1em;
}

.policyWrap ol {
    margin: 1em 0 1em 1.5em;
}

.policyWrap li {
    margin-bottom: .5em;
}

ol.policyNo {
    list-style: none;
    margin-left: 1em;
}

ol.policyNo li {
    text-indent: -1em;
}

ol.policyBrackets {
    margin: 1em 0;
}

.policyBrackets li {
    display: grid;
    grid-template-columns: 3em auto;
}


.policyList {
    list-style: circle;
    margin: 1em auto 2em 1.5em;
}

.policyListMark {
    margin: 1em auto 2em;
    font-size: .88888em;
}

.policyListMark li {
    display: grid;
    grid-template-columns: 1em auto;
}


.policyContact {
    margin: 1.5em 0;
    padding: 1em;
    border: 1px solid #ccc;
}

.policyContact dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .5em 0;
    margin-block: .5em;
}

.contactBackTop {
    margin: 3em auto 1em;
}

.contactBackTop a {
    display: grid;
    grid-template-columns: 1em auto 1em;
    align-items: center;
    gap: .5em;
    width: fit-content;
    margin-inline: auto;
    padding: .5em 1.5em;
    box-sizing: border-box;
    ;
    color: var(--text-color);
    text-decoration: none;
    background: #fff;
    border-radius: 3em;
}

.contactBackTop a::before {
    content: "";
    content: "";
    display: inline-block;
    width: .45em;
    height: .45em;
    border-bottom: .2em solid var(--main-color);
    border-left: .2em solid var(--main-color);
    transform: rotate(45deg);
}

.contactBackTop a::after {
    content: "";
}

/* sitemap
-------------------- */
.sitemapList {
    width: min(calc(100% - 1em), 1120px);
    margin-inline: auto;
}

.sitemapList a {
    display: inline-block;
    padding: .5em;
    box-sizing: border-box;
    color: var(--text-color);
    text-decoration: none;
}

.sitemapList a span {
    display: grid;
    grid-template-columns: 1fr 1em;
    gap: .5em;
    align-items: center;
    width: fit-content;
}

.sitemapList a span::after {
    content: "";
    display: inline-block;
    width: .45em;
    height: .45em;
    margin-left: .5em;
    border-top: .2em solid var(--main-color);
    border-right: .2em solid var(--main-color);
    transform: rotate(45deg);
}

.sitemapList li:not(:last-child) {
    margin-bottom: 1em;
}

.sitemapList>li>a {
    width: 100%;
    font-size: 1.11111em;
    font-weight: bold;
    color: var(--text-color);
    border-bottom: 1px solid var(--main-color);
}

.sitemapList ul {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1em;
    margin-left: 1em;
    gap: 0 2em;
}

.sitemapList ul li {
    width: fit-content;
}

/* style
-------------------- */
.u-mgT01 {
    margin-top: 1em;
}

.u-mgB01 {
    margin-bottom: 1em;
}

.u-nowrap {
    white-space: nowrap;
}

/*.u-visually-hidden:focus-visible {}*/
@media (hover: hover) {

    .globalNavList a,
    .header__contact a {
        transition: background .3s;
    }

    .globalNavList a:hover {
        background: #fff;
    }

    .mail a:hover {
        background-color: #f1cd9e;
    }

    .news a:hover {
        text-decoration: underline;
    }


    .inquiry .mail a:hover {
        background: linear-gradient(to bottom right, #ec702a, #f28c2e);
    }


    .footerNav a {
        position: relative;
    }

    .footerNav a::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 1px;
        border-bottom: 1px solid currentColor;
        transition: width .2s;
    }

    .footerNav a:hover::before {
        width: 100%;
    }
}

.approval {
    padding: 0 1em;
    font-size: .8em;
    text-align: right;
}

