@charset "Shift_JIS";
/*--- 基本設定 ---*/ :root {
  --color-red1: #fa000f;
  --color-red2: #cc0000;
  --color-white: #ffffff;
  --color-gray1: #f4f4f4;
  --color-gray2: #d9d9d9;
  --color-gray3: #b3b3b3;
  --color-gray4: #737373;
  --color-gray5: #4d4d4d;
  --color-gray6: #222222;
  --color-black: #0c0c0c;
  --base-radius: 8px;
  --base-gap: 20px;
}

section .summary {
    margin: 0 0 20px;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 180%;
}

/*--- titleInner セクション ---*/
#titleInner .InnerLink1 span {
    display: block;
    text-align: center;
    color: var(--color-red2);
}

#titleInner .InnerLink1 .attention::before {
    content: '\00ff3c';
}

#titleInner .InnerLink1 .attention::after {
    content: '\00ff0f';
}

#titleInner ul[class*="InnerLink"] {
    display: flex;
    gap: var(--base-radius);
    flex-wrap: wrap;
    align-items: flex-end;
}

#titleInner .TextStyle2 {
    color: var(--color-gray4);
}

@media print, screen and (min-width: 768px) {
    #titleInner .InnerLink1 .attention::before {
        margin-right: 10px;
    }
    #titleInner .InnerLink1 .attention::after {
        margin-left: 10px;
    }
}

#titleInner ul {
    padding: 0;
}

#titleInner h1 {
    color: var(--color-black) !important;
}

#titleInner h1 .RedText {
    color: var(--color-red2) !important;
}

#titleInner h1 .RedBack {
    background-color: var(--color-red2);
    color: var(--color-white);
    padding: 5px 20px;
    margin-bottom: var(--base-radius);
}

#titleInner .summary {
    margin: 0 0 20px;
    font-size: 1.325rem;
    font-weight: bold;
    line-height: 180%;
}

#titleInner .subText {
    font-size: 1.25rem;
    margin: 0 0 15px;
}

#titleInner {
    max-width: 1275px;
    margin: 0 auto;
    display: flex;
    gap: var(--base-gap);
    justify-content: center;
    overflow: hidden;
}

@media screen and (max-width: 1304px) {
    #titleInner {
        margin-left: calc(var(--base-radius) * 2);
    }
    #titleInner > div:only-child {
        margin-right: calc(var(--base-radius) * 2);
    }
}

@media screen and (min-width: 995px) {
    .PageTitleStyle1 #titleInner:has(.pic) > div:first-child,
    .PageTitleStyle1 .txt {
        width: 60%;
    }
}

@media screen and (max-width: 994px) {
    #titleInner {
        margin: auto calc(var(--base-radius) * 2);
    }
    .PageTitleStyle1 .pic {
        display: none;
    }
    #titleInner > div:only-child {
        margin-right: 0;
    }
}

@media screen and (min-width: 768px) {
    .PageTitleStyle1 h1 {
        font-size: 2.75rem;
    }
    .PageTitleStyle1 h1 span {
        font-size: 1.5rem;
    }
    #titleInner {
        min-height: 366px;
        align-items: center;
    }
    #titleInner.short {
        min-height: 265px;
        justify-content: start;
    }
    .PageTitleStyle1 #titleInner > div {
        padding-top: calc(var(--base-radius) * 1.5);
        padding-bottom: calc(var(--base-radius) * 1.5);
    }
}

@media screen and (max-width: 767px) {
    .JS .PageTitleStyle1 h1 {
        font-size: 2rem;
    }
    .PageTitleStyle1 h1 span {
        font-size: 1.25rem;
        margin-bottom: var(--base-radius);
    }
    #titleInner {
        padding-top: calc(var(--base-radius) * 3);
        padding-bottom: calc(var(--base-radius) * 3);
    }
}

/*--- PageTitleStyle1 共通 ---*/
.PageTitleStyle1 ul,
ul#MainInnerLink,
ul#MainInnerLink li {
    margin: inherit;
    padding: inherit;
    line-height: inherit;
}

.PageTitleStyle1, main {
    color: var(--color-black) !important;
}

.PageTitleStyle1 h1 a:hover {
    color: inherit;
}

.PageTitleStyle1 {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    background-image: url(/image/hsc2/solution/background/bg.jpg);
    margin: 0;
}

.PageTitleStyle1 .pic {
    max-width: 637px;
    width: 40%;
    position: relative;
    overflow: hidden;
    align-self: stretch;
}

.PageTitleStyle1 .pic img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.PageTitleStyle1 [class*="InnerLink"] {
    font-size: 0.875rem;
}

.PageTitleStyle1 [class*="InnerLink"] li a {
    white-space: nowrap;
}

.PageTitleStyle1 ul[class*="InnerLink"] + ul[class*="InnerLink"] {
    margin-top: var(--base-radius);
}

.PageTitleStyle1 h1 {
    color: inherit !important;
    line-height: 1.2;
}

.PageTitleStyle1 h1 span {
    display: inline-block;
    line-height: 1.4;
}

@media screen and (max-width: 399px) {
    .PageTitleStyle1 {
        background-size: 300%;
        background-position: center center;
    }
}

/*--- アイコン・リンク共通設定 ---*/
.PageTitleStyle1 a::after,
main a::after {
    background-image: url(/image/hsc2/solution/icon/icon_arrow_r.svg);
}

main a[target*="_blank"][href^="https"]::after,
.PageTitleStyle1 .InnerLink2 a[target*="_blank"][href^="https"]::after {
    background-image: url(/image/hsc2/solution/icon/icon_newwin_r.svg);
}

.PageTitleStyle1 .InnerLink2 a[href^="#"]::after {
    transform: translateY(-50%) rotate(90deg);
    transform-origin: center center;
    top: 50%;
}

main a[href*="youtube"]::after {
    background-image: url(/image/hsc2/solution/icon/icon_movie_r.svg);
}

main .InnerLink1 a[target*="_blank"]::after,
.PageTitleStyle1 .InnerLink1 a[target*="_blank"]::after {
    background-image: url(/image/hsc2/solution/icon/icon_newwin_w.svg);
}

main a[href*=".pdf"]::after,
main a[target*="_blank"][href*=".pdf"]::after {
    background-image: url(/image/hsc2/solution/icon/icon_pdf_r.svg);
}

main .InnerLink1 a::after,
button.InnerLink1,
.PageTitleStyle1 .InnerLink1 a::after {
    background-image: url(/image/hsc2/solution/icon/icon_arrow_w.svg);
}

main .InnerLink2 a:hover::after,
button.InnerLink2 a:hover::after,
.PageTitleStyle1 .InnerLink2 a:hover::after {
    background-image: url(/image/hsc2/solution/icon/icon_arrow.svg);
}

.PageTitleStyle1 .InnerLink2 a[target*="_blank"][href^="https"]:hover::after,
.InnerLink2 a[target*="_blank"]:hover::after {
    background-image: url(/image/hsc2/solution/icon/icon_newwin.svg);
}

.PageTitleStyle1 a::after {
    right: var(--base-radius);
}

@media screen and (max-width: 579px) {
    ul[class*="InnerLink"] {
        justify-content: center;
    }
}

/*--- mainContainer ---*/
.mainContainer {
    padding: 60px 50px 35px;
}

.mainContainer h2 {
    margin: 0 0 20px;
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 140%;
}

.mainContainer h2 b {
    font-size: 150%;
}

/*.mainContainer .FlexContainer {
    flex-direction: column;
    align-items: center;
}*/

/*--- FlexContainer & Arrow ---*/
.FlexContainer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: stretch;
}

.arrow-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
}

.arrow {
    width: 0;
    height: 0;
    border-left: 20px solid #0c0c0c;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

.solution-section {
    background: transparent linear-gradient(27deg, var(--color-red1) -110%, #fff 25%) 0 0 no-repeat;
}

/*--- 原因エリア ---*/
#causeArea .FlexContainer div {
    background-color: var(--color-gray1);
    padding: 28px 10px;
    width: calc(100% / 4);
    border-radius: 5px;
}
 #supportArea .FlexContainer .fourBox {
    background-color: var(--color-gray1);
    padding: 28px 20px;
    width: calc(100% / 4);
    border-radius: 5px;
}

#causeArea .FlexContainer div h3,
#supportArea .FlexContainer div h3 {
    font-size: 1.3rem;
    color: inherit;
    border-bottom: none;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#causeArea .FlexContainer div li {
    font-size: 1.0rem;
}

/*--- 解決エリア ---*/
#sloveArea .FlexContainer {
    margin-bottom: 50px;
    align-items: center;
}

#sloveArea .issues-section {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 35%;
    min-height: 260px;
}

#sloveArea .issue-item {
    display: flex;
    align-items: center;
    position: relative;
    background: var(--color-gray1);
    border-radius: 5px;
    padding: 30px 30px 10px;
    flex: 1;
}

#sloveArea .issue-item .summary {
    font-size: 1.425rem;
}

#sloveArea .label {
    position: absolute;
    top: -12px;
    left: 20px;
    color: var(--color-white);
    padding: 3px 25px;
    border-radius: 25px;
    font-size: 1.125em;
    font-weight: 600;
}

#sloveArea .GR {
    background-color: var(--color-gray4);
}

#sloveArea .RD {
    background-color: var(--color-red2);
}

#sloveArea .solution-section {
    border: 3px solid var(--color-red2);
    border-radius: 5px;
    padding: 40px 35px;
    flex: 1;
    min-width: 400px;
    position: relative;
    min-height: 260px;
}

#sloveArea .solution-section .FlexContainer {
    margin-bottom: 0;
}

.solution-section h3 {
    font-size: 1.625em;
    font-weight: bold;
    color: var(--color-red2);
    line-height: 1.6;
    border-bottom: none;
}

.solution-section .FlexImage img {
    max-width: 120px !important;
}

/*--- 理由エリア ---*/
#reasonArea {
    background-color: var(--color-gray1);
}

#reasonArea .FlexContainer div {
    background-color: var(--color-white);
    padding: 28px 20px;
    width: calc(100% / 4);
    display: flex;
    align-items: center;
}

#reasonArea .FlexContainer div h3 {
    font-size: 1.425rem;
    color: inherit;
    border-bottom: none;
    min-height: 60px;
}

#reasonArea .FlexContainer div h3 span {
    display: block;
    font-size: 1.1rem;
    font-weight: normal;
}

/*--- 特長エリア ---*/
#featureArea .FlexContainer div {
    background-color: var(--color-gray1);
    padding: 28px 30px;
    width: calc(100% / 3);
}

#featureArea .FlexContainer div h3 {
    font-size: 1.425rem;
    color: inherit;
    border-bottom: none;
    min-height: 60px;
}

/*--- 活用エリア ---*/
#usefulArea {
    background-color: var(--color-gray1);
}

#usefulArea h3 {
    font-size: 1.425rem;
    color: inherit;
    border-bottom: none;
    min-height: 60px;
    margin-bottom: 0;
}

#usefulArea .summary {
    margin-bottom: 30px;
}

#usefulArea .label {
    position: absolute;
    top: -12px;
    left: 20px;
    color: var(--color-white);
    padding: 3px 25px;
    border-radius: 25px;
    font-size: 1.125rem;
    font-weight: 600;
}

#usefulArea .issues-section img,
#usefulArea .solution-section img {
    width: 100%;
}

#usefulArea .issues-section {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 35%;
    /*flex: 1 1 0;*/
}

#usefulArea .issue-item {
    align-items: center;
    position: relative;
    background: var(--color-gray1);
    border-radius: 5px;
    padding: 30px 30px 10px;
    flex: 1;
    background-color: var(--color-white);
}

#usefulArea .titlelabel {
    position: relative;
    top: -3px;
    color: var(--color-red2);
    border: 3px solid var(--color-red2);
    background-color: var(--color-white);
    padding: 3px 25px;
    border-radius: 25px;
    font-size: 1.125rem;
    font-weight: 600;
    margin-right: 5px;
}

#usefulArea .BK {
    background-color: var(--color-black);
}

#usefulArea .RD {
    background-color: var(--color-red2);
}

#usefulArea .solution-section {
    border: 3px solid var(--color-red2);
    background-color: var(--color-white);
    border-radius: 5px;
    padding: 40px 35px;
    flex: 1;
    min-width: 400px;
    position: relative;
}

#usefulArea .issue-item li {
    font-size: 1.175rem;
}

#usefulArea .solution-section li {
    font-size: 1.425rem;
    font-weight: bold;
}

#usefulArea .solution-section li span {
    color: var(--color-red2);
}

#usefulArea .solution-section .FlexContainer {
    margin-bottom: 0;
}

/*--- balloon ---*/
.balloon {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 1.5em 0;
    padding: 10px 15px;
    font-size: 1.0rem;
    background-color: var(--color-white);
    border-radius: 10px;
}

.balloon .W40 {
    width: 40%;
}

.balloon .W60 {
    width: 60%;
}

.balloon::before {
    content: "";
    position: absolute;
    top: -30px;
    right: 25%;
    border-width: 15px;
    border-style: solid;
    border-color: transparent transparent var(--color-white) transparent;
}

.baloonBox h4 {
    text-align: center;
    color: var(--color-white);
    font-weight: bold;
    background-color: var(--color-gray4);
    font-size: 1.2rem;
    margin-top: 20px;
    padding: 5px 0;
}

.baloonBox img {
    width: 100%;
}

/*--- サポートエリア ---*/
#supportArea .FirstBox {
    margin-bottom: 100px;
}

#supportArea .SecondBox {
    gap: 0;
}

#supportArea .issues-section {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 30%;
    min-height: 260px;
}

#supportArea .issue-item {
    display: flex;
    align-items: center;
    position: relative;
    border: 3px solid var(--color-gray5);
    border-radius: 5px;
    padding: 30px 30px 10px;
    flex: 1;
}

#supportArea .issue-item .summary {
    font-size: 1.3rem !important;
}

#supportArea .label {
    position: absolute;
    top: -32%;
    left: 20px;
}

#supportArea .solution-section {
    border: 3px solid var(--color-red2);
    border-radius: 5px;
    padding: 40px 35px;
    flex: 1;
    min-width: 400px;
    position: relative;
    min-height: 260px;
}

#supportArea .solution-section .FlexContainer {
    margin-bottom: 0;
    display: flex;
    align-items: center;
}

#supportArea .solution-section h3 {
    font-size: 1.625rem !important;
    font-weight: bold;
    color: var(--color-red2) !important;
    line-height: 1.6;
    border-bottom: none;
}

#supportArea .plusMark {
    font-size: 1.625rem;
    font-weight: bold;
    color: var(--color-red2) !important;
}

#supportArea .solution-sectionInner {
    background-color: #ffcbce;
    padding: 30px 10px;
    border-radius: 10px;
    font-weight: bold;
    font-size: 1.3rem;
    width: 100%;
    text-align: center;
}

#supportArea .label-icon {
    width: 80px;
    object-fit: contain;
    display: block;
}

/*--- 質問エリア ---*/
#qaArea {
    background-color: var(--color-gray1);
}

.qa-item {
    margin-bottom: 30px;
    background: var(--color-white);
}

.qa-question {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.qa-question-label {
    background-color: var(--color-red2);
    color: var(--color-white);
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    font-weight: bold;
    flex-shrink: 0;
}

#qaArea .summary {
    flex: 1;
    padding-top: 15px;
    margin: 0;
}

.qa-answer {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-left: 0;
    padding: 20px;
    border-radius: 4px;
}

.qa-answer-label {
    color: var(--color-red2);
    font-size: 1.125rem;
    font-weight: bold;
    flex-shrink: 0;
    width: 30px;
}

.qa-answer-text {
    flex: 1;
    font-size: 1rem;
    padding-right: 8px;
}

/*--- レスポンシブ設定（768px以下） ---*/
@media (max-width: 768px) {
    .ShowSP {
        display: block;
    }

    .mainContainer {
        padding: 60px 0 25px;
    }

    .mainContainer h2 {
        font-size: 1.35rem;
    }

    .mainContainer .FlexContainer {
        flex-direction: column;
        align-items: center;
    }

    .arrow-container {
        transform: rotate(90deg);
    }

    .qa-question-label {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }

    .qa-question-text {
        font-size: 1rem;
    }

    .qa-answer {
        padding: 15px;
    }

    .qa-answer-text {
        font-size: 0.95rem;
    }

    #causeArea .FlexContainer div,
    #reasonArea .FlexContainer div,
    #featureArea .FlexContainer div,
    #supportArea .FlexContainer .fourBox {
        width: 100%;
    }

    #supportArea .FirstBox {
        margin-bottom: 50px;
    }

    #supportArea .label {
        top: -80px;
    }

    #supportArea .arrow-container {
        margin: 30px 0;
    }

    #supportArea .issues-section {
        margin-top: 50px;
    }

    #supportArea .solution-section .FlexContainer {
        gap: 0;
    }

    .issues-section,
    .solution-section {
        width: 100% !important;
        min-height: auto !important;
    }

    #usefulArea .titlelabel {
        font-size: 1rem;
    }

    #usefulArea h3 {
        font-size: 1.325rem;
    }

    .balloon .W40,
    .balloon .W60 {
        width: 100%;
    }

    .balloon .W60 img {
        display: block;
        width: 70%;
        margin: 0 auto;
    }
}

.ShowSP {
    display: none;
}

/*--- Button & Link 共通 ---*/
button[class*="InnerLink"] {
    cursor: pointer;
}

button[class*="InnerLink"],
[class*="InnerLink"] a,
#MainInnerLink a,
main a {
    position: relative;
}

.cta ul[class*="InnerLink"] {
    display: flex;
    gap: var(--base-radius);
    flex-wrap: wrap;
}

button[class*="InnerLink"],
[class*="InnerLink"] a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 13rem;
    border-radius: 100px;
    border: 2px solid var(--color-red2);
    padding: calc(var(--base-radius) * 0.5) calc(var(--base-radius) * 3);
    font-weight: bold;
    text-decoration: none;
    text-align: center;
}

.PageTitleStyle1 .InnerLink1 a {
    font-size: 1.0rem;
    padding: 8px 0;
    margin-bottom: 20px;
}

main [class*="InnerLink"] a::after {
    content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    font-weight: normal;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    position: relative;
    margin-left: 0.75em;
}

#titleInner [class*="InnerLink"] a::after {
    position: absolute;
    margin-right: 1.25rem;
}

main h1 #body a::after,
#RelatedKeywords dd a::after {
    content: none !important;
}

main a:link {
    color: var(--color-red2);
}

.InnerLink1 a,
.InnerLink1 a:visited,
button.InnerLink1 {
    background-color: var(--color-red2);
    color: var(--color-white) !important;
}

.InnerLink2 a,
button.InnerLink2 {
    color: var(--color-red2);
    background-color: var(--color-white);
}

.InnerLink1 a:hover,
button.InnerLink1:hover {
    border: 2px solid var(--color-black);
    background-color: var(--color-black);
}

.InnerLink2 a:hover,
button.InnerLink2:hover {
    border: 2px solid var(--color-black);
    color: var(--color-black);
}

/*--- CTA セクション ---*/
.ctaArea {
    padding: 35px 0;
    background-image: url(/image/hsc2/solution/background/bg3.jpg);
    font-size: 1.2rem;
}

.ctaArea ul[class*="InnerLink"],
.ctaArea ul.CenterAdjust[class*="InnerLink"] {
    justify-content: center;
    gap: var(--base-gap);
}

.ctaArea ul[class*="InnerLink"] {
    display: flex;
    gap: var(--base-radius);
    flex-wrap: wrap;
}

.ctaArea ul[class*="InnerLink"] a {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 300px;
    border-radius: 100px;
    border: 2px solid var(--color-red2);
    padding: calc(var(--base-radius) * 1.5) calc(var(--base-radius) * 2);
    font-weight: bold;
    text-decoration: none;
    text-align: center;
}

.ctaArea ul li a::after {
    margin-left: 0.15em;
}

.ctaArea .InnerLink1 a[target*="_blank"]::after {
    background-image: url(/image/hsc2/solution/icon/icon_newwin_w.svg);
}

.ctaArea .InnerLink1 a::after {
    background-image: url(/image/hsc2/solution/icon/icon_arrow_w.svg);
}

.ctaArea .InnerLink1 a,
.ctaArea .InnerLink1 a:visited {
    background-color: var(--color-red2);
    color: var(--color-white);
}

.ctaArea .InnerLink1 a:hover {
    border: 2px solid var(--color-black);
    background-color: var(--color-black);
}

.ctaArea ul[class*="InnerLink"] a a::after {
    content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    font-weight: normal;
    vertical-align: baseline;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    position: relative;
    margin-left: 0.15em;
}

.ctaArea [class^="InnerLink"].lg {
    margin: var(--base-gap) auto;
}

@media screen and (min-width: 768px) {
    .ctaArea [class^="InnerLink"].lg a {
        padding: 1em;
        font-size: 1.5rem;
        min-width: 600px;
    }
}

@media screen and (max-width: 767px) {
    .ctaArea [class^="InnerLink"].lg a {
        padding: 0.5em 1em;
        font-size: 1.125rem;
        width: 100%;
    }
}

/*--- 基本パーツ ---*/
#contents, #Contents *, #Contents *::before, #Contents *::after {
    box-sizing: border-box;
}

#Popup main#Contents {
    min-width: 320px;
    padding-top: 0;
    /*padding-bottom: 105px;*/
    font-family: "Hitachi Sans", "Yu Gothic UI", "Noto Sans JP", "Noto Sans", sans-serif;
}

main .inner {
    max-width: 1305px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/*--- リスト & テキスト ---*/
.ListStyle1.large {
    font-size: 100%;
}

.ListStyle1.large li {
    margin-bottom: 3px;
    background-position: 0.1em 0.3em;
}

.TextStyle1.large {
    font-size: 1.125rem;
    line-height: 150%;
}

.dispIb {
    display: inline-block;
    max-width: 100%;
    font-weight: inherit;
}

/*--- CTA共通 ---*/
.cta {
    padding: 45px 0;
    background-image: url(/image/hsc2/solution/background/bg3.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}

.cta .inner {
    max-width: 1305px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.cta .container {
    padding: 50px 50px 55px;
    background-color: var(--color-white);
    border-radius: var(--base-radius);
}

.cta h2 {
    margin: 0 0 20px;
    font-size: 2.25rem;
    font-weight: bold;
    line-height: 140%;
    text-align: center;
}

.cta h2::after {
    content: "";
    display: block;
    width: 100px;
    height: 1px;
    margin: 0.5rem auto;
    background: linear-gradient(to right, var(--color-red1) 0 50%, var(--color-gray2) 50% 100%);
}

.cta + .linkSection {
    padding-top: 75px;
}

.cta ul[class*="InnerLink"],
main ul.CenterAdjust[class*="InnerLink"] {
    justify-content: center;
    gap: var(--base-gap);
}

.cta [class*="InnerLink"] a {
    font-size: 1.45rem;
    min-width: 300px;
    padding: calc(var(--base-radius) * 2.5) calc(var(--base-radius) * 3);
}

.cta [class*="InnerLink"] a::after {
    width: 1.25rem;
    height: 1.25rem;
    background-size: 1.25rem;
}

@media screen and (max-width: 994px) {
    .cta {
        left: -15px;
        position: relative;
        width: calc(100% + 30px);
    }
    .cta .container {
        padding: calc(var(--base-radius) * 3);
    }
    .cta img {
        width: 120px;
    }
}

@media screen and (max-width: 767px) {
    .JS .cta h2 {
        font-size: 2rem;
    }
    .JS .cta .container {
        padding: 30px 30px 35px;
    }
    .cta h2 {
        font-size: 1.375rem;
    }
}

@media screen and (max-width: 579px) {
    .JS .cta {
        padding: 25px 0;
    }
    .JS .cta .container {
        padding: 25px 20px;
    }
    .JS .cta h2 {
        margin-bottom: 10px;
        font-size: 1.625rem;
    }
    .cta {
        padding: calc(var(--base-radius) * 1.5);
    }
}

@media screen and (max-width: 399px) {
    .cta {
        background-size: 150%;
    }
}

/*--- CTA Comment エリア ---*/
.cta_comment {
    display: flex;
    text-align: center;
    background-color: var(--color-gray1);
    padding: 32px 24px;
    border-radius: 5px;
    margin-bottom: 20px;
    justify-content: center;
    min-width: 490px;
}

.cta_comment b {
    font-weight: bold;
    font-size: 140%;
}

.cta_comment img {
    width: 120px;
    padding-left: 15px;
}

.cta_comment::after {
    content: "";
    position: relative;
    bottom: -100px;
    right: 50%;
    border-width: 15px;
    border-style: solid;
    border-color: var(--color-gray1) transparent transparent transparent;
}

@media screen and (max-width: 767px) {
    .cta_comment {
        width: 100%;
        padding: 20px 0;
    }
    .cta_comment::after {
        left: 150px;
    }
    .cta_comment b {
        font-size: 120%;
    }
}

.cta ul li {
    display: flex;
    flex-direction: column;
    align-items: center;
}