@charset 'UTF-8';

/*  variables
---------------------------------------- */
:root {
	--clrMain: #00B485;
    --clrStandard: #FF2845;
    
	--clrTxt: #1F1F1F;
	--clrTxtSec: #6B6B6B;
	--clrTxtTer: #9B9B9B;
    
	--clrBkg: #F5FAF9;
	--clrBkgSec: #F4F4F4;
	--clrBkgTer: #EFEFEF;
    
	--clrBdr: #DBDBDB;
	--clrBdrSec: #F4F4F4;
	--clrBdrTer: #EFEFEF;
    
    --fntEn: 'Lato', sans-serif;
    --fntNt: 'Noto Sans JP', sans-serif;
}

html {
	overflow: auto;
	font-size: 62.5%;
}

html[lang="ja"] {
    word-break: break-word;
}

body {
	min-width: 320px;
    margin: 0;
	overflow: hidden;
	line-height: 1.6;
    letter-spacing: .05em;
	font-size: 1.5rem;
	font-weight: 400;
	/* font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', sans-serif; */
    font-family: var(--fntNt);
	font-feature-settings: "palt";
	color: var(--clrTxt);
}

@media all and (min-width: 1441px) {
    body {
        font-size: 1.6rem;
    }
}


/*  utility
================================================ */

/*  view
---------------------------------------- */
@media all and (min-width: 769px) {
    .u-viewSmall {
        display: none !important;
    }
}

@media all and (max-width: 768px) {
    .u-viewMedium {
        display: none !important;
    }
    
    .u-viewUpperMedium {
        display: none !important;
    }
    .u-viewUpperSmall {
        display: none !important;
    }
}

@media all and (min-width: 1025px) {
    .u-viewMedium {
        display: none !important;
    }
    
    .u-viewUnderMedium {
        display: none !important;
    }
}

@media all and (max-width: 1024px) {
    .u-viewLarge {
        display: none !important;
    }
}

.u-mt-10{
    margin-top: 10px!important;
}

/*  tel-link
---------------------------------------- */
@media all and (min-width: 1025px) {
    .u-tellink {
        pointer-events: none;
    }
}


/*  component - class
================================================ */

/*  scrollshow
---------------------------------------- */
.c-scShow {
	opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition: opacity ease 1.4s, transform cubic-bezier(0.32, 1, 0.67, 1) 1.4s;
}

.c-scShow.-show {
	opacity: 1;
    transform: translate3d(0, 0, 0);
}

/*  deco
---------------------------------------- */
.c-deco {
    position: absolute;
    z-index: -1;
}


/*  component - texts & buttons & link
================================================ */

/*  text
---------------------------------------- */
.c-externalLink {
    position: relative;
}

.c-externalLink:after {
    content: "";
    width: 12px;
    height: 12px;
    margin-left: 8px;
    display: inline-block;
    vertical-align: middle;
    background: url(../img/common/ico-external_link.svg) no-repeat center;
    background-size: contain;
}

.c-textLine:not(.-lineOnlySp) {
    padding-left: 16px !important;
}

.c-textLine {
    position: relative;
}

.c-textLine:before {
    content: "";
    width: 8px;
    height: 2px;
    display: block;
    position: absolute;
    top: calc(50% + 0.2em);
    left: 0;
    background: var(--clrTxtTer);
}

@media all and (max-width: 1024px) {
    .c-textLine.-lineOnlySp {
        padding-left: 16px !important;
    }
}

@media all and (min-width: 1025px) {
    .c-textLine.-lineOnlySp:before {
        display: none;
    }
}

/*  button
---------------------------------------- */
.c-button {
    min-width: 260px;
    padding: 15px 15px 15px 25px;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    text-align: left;
    line-height: 1.3;
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--clrTxt);
    border: 1px solid var(--clrTxt);
    transition: color cubic-bezier(.4,0,.2,1) 0.3s, background cubic-bezier(.4,0,.2,1) 0.3s;
}

.c-button__arrow {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: var(--clrTxt);
    transform: scale(0.2);
    transition: background cubic-bezier(.4,0,.2,1) 0.3s, transform cubic-bezier(.4,0,.2,1) 0.3s;
}

.c-button__arrow:before {
    content: "";
    width: 12px;
    height: 12px;
    display: block;
    background: url(../img/common/ico-arrow-white.svg) no-repeat center;
    background-size: contain;
}

.c-button__arrow:before {
    background-image: url(../img/common/ico-arrow.svg);
    transform: translateX(calc(-50% - 24px));
    transition: transform cubic-bezier(.4,0,.2,1) 0.3s;
}

.c-button.-black1 {
    color: #fff;
    background: var(--clrTxt);
    border-color: var(--clrTxt);
}

.c-button.-black1 .c-button__arrow {
    background: #fff;
}

.c-button.-black1 .c-button__arrow:before {
    /* background-image: url(../img/common/ico-arrow-white.svg); */
}

.c-button.-green1 {
    color: #fff;
    background: var(--clrMain);
    border-color: var(--clrMain);
}

.c-button.-green1 .c-button__arrow {
    background: #fff;
}

.c-button.-green1 .c-button__arrow:before {
    background-image: url(../img/common/ico-arrow-green.svg);
}

.c-button.-green2 {
    color: var(--clrMain);
    background: transparent;
    border-color: var(--clrMain);
}

.c-button.-green2 .c-button__arrow {
    background: var(--clrMain);
}

.c-button.-green2 .c-button__arrow:before {
    background-image: url(../img/common/ico-arrow-white.svg);
}

.c-button.-gray {
    background: var(--clrBkgTer);
    border-color: var(--clrBdrTer);
}

.c-button.-onlyArrow {
    width: auto;
    min-width: 0;
    padding: 0;
    background: var(--clrBkgTer);
    border-color: var(--clrBdrTer);
}

.c-button.-onlyArrow .c-button__arrow {
    width: 48px;
    height: 48px;
}

.c-button.-onlyArrow .c-button__arrow:before {
    width: 18px;
    height: 18px;
    background-image: url(../img/common/ico-arrow-white.svg);
}

@media all and (max-width: 1024px) {
    .c-button,
    .c-button.-gray {
        color: #fff;
        background: var(--clrTxt);
    }

    .c-button .c-button__arrow,
    .c-button.-gray .c-button__arrow {
        background: #fff;
        transform: scale(1);
    }

    .c-button .c-button__arrow:before,
    .c-button.-gray .c-button__arrow:before {
        transform: translateX(0);
    }

    .c-button.-green2 {
        color: var(--clrMain);
        background: transparent;
    }

    .c-button.-green2 .c-button__arrow {
        background: var(--clrMain);
    }

    .c-button.-green2 .c-button__arrow:before {
        background-image: url(../img/common/ico-arrow-white.svg);
    }

    .c-button.-green1 {
        color: #fff;
        background: var(--clrMain);
    }

    .c-button.-green1 .c-button__arrow {
        background: #fff;
    }

    .c-button.-green .c-button__arrow:before {
        background-image: url(../img/common/ico-arrow-green.svg);
    }
    
    .c-button.-onlyArrow .c-button__arrow {
        background: var(--clrTxt);
    }
}

@media all and (min-width: 1025px) {
    .c-button {
        font-size: 1.4rem;
    }

    .c-button:hover,
    .c-button.-gray:hover {
        color: #fff;
        background: var(--clrTxt);
    }

    .c-button:hover .c-button__arrow,
    .c-button.-gray:hover .c-button__arrow {
        background: #fff;
        transform: scale(1);
    }

    .c-button:hover .c-button__arrow:before {
        transform: translateX(0);
    }

    .c-button.-black1:hover {
        color: var(--clrTxt);
        background: transparent;
    }

    .c-button.-black1:hover .c-button__arrow {
        background: var(--clrTxt);
    }

    .c-button.-black1:hover .c-button__arrow:before {
        background-image: url(../img/common/ico-arrow-white.svg);
    }

    .c-button.-green1:hover {
        color: var(--clrMain);
        background: transparent;
    }

    .c-button.-green1:hover .c-button__arrow {
        background: var(--clrMain);
    }

    .c-button.-green1:hover .c-button__arrow:before {
        background-image: url(../img/common/ico-arrow-white.svg);
    }

    .c-button.-green2:hover {
        color: #fff;
        background: var(--clrMain);
    }

    .c-button.-green2:hover .c-button__arrow {
        background: #fff;
    }

    .c-button.-green2:hover .c-button__arrow:before {
        background-image: url(../img/common/ico-arrow-green.svg);
    }

    .c-button.-onlyArrow .c-button__arrow {
        transform: scale(0.13);
    }

    .c-button.-onlyArrow:hover .c-button__arrow {
        background: var(--clrTxt);
        transform: scale(1);
    }
}

@media all and (min-width: 1441px) {
    .c-button {
        padding: 15px 15px 15px 25px;
        font-size: 1.6rem;
    }
}

/*  telInfo
---------------------------------------- */
.c-telInfo {
    text-align: center;
}

.c-telInfo__number {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
    letter-spacing: 0.1em;
    font-size: 2.6rem;
    font-weight: bold;
    font-family: var(--fntEn);
}

.c-telInfo__number img {
    width: 20px;
    margin-right: 8px;
    display: block;
}

.c-telInfo__time {
    margin-top: 8px;
    line-height: 1.3;
    font-size: 1.5rem;
}


/*  component - general html
================================================ */

/*  list
---------------------------------------- */
.c-list {
    list-style: none;
}

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


/*  component - slickSlider
================================================ */
.c-slickSlider .slick-dotted.slick-slider {
    margin-bottom: 0;
}

.c-slickSlider .slick-list {
    overflow: visible;
}

.c-slickSlider .slick-track {
    display: flex;
}

.c-slickSlider .slick-slide {
    height: auto !important;
}

.c-slickSlider .slick-slider:not(.slick-initialized) .slick-slide:not(:first-child) {
    position: absolute;
}

.c-slickSlider__controller {
    max-width: 466px;
    min-height: 50px;
    margin: 25px auto 0;
    position: relative;
    z-index: 2;
}

.c-slickSlider__arrows {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
}

.c-slickSlider__arrows .c-button {
    position: absolute;
    top: 0;
}

.c-slickSlider__arrows .c-button.-prev {
    left: 0;
    transform: rotate(180deg);
}

.c-slickSlider__arrows .c-button.-next {
    right: 0;
}

.c-slickSlider__dots {
    padding: 20px 78px 0;
}

.c-slickSlider__dots .slick-dots {
    margin: 0 auto;
    display: flex;
    position: relative;
    bottom: auto;
    font-size: 0;
}

.c-slickSlider__dots .slick-dots li {
    width: 100%;
    height: auto;
    margin: auto;
    display: block;
}

.c-slickSlider__dots .slick-dots li button {
    width: 100%;
    height: auto;
    padding: 5px 0;
}

.c-slickSlider__dots .slick-dots li button:before {
    content: "";
    width: 100%;
    height: 3px;
    display: block;
    position: static;
    font-size: 0;
    background: var(--clrBdr);
    opacity: 1;
    transition: width ease 0.3s, background ease 0.3s;
}

.c-slickSlider__dots .slick-dots li.slick-active button:before {
    width: 100%;
    background: var(--clrTxt);
}

.c-slickSlider__dots .slick-dots li button:hover:before {
    background: var(--clrTxt);
}

@media all and (min-width: 1025px) {
    .c-slickSlider .slick-list {
        padding: 20px 0;
        overflow: hidden;
    }
    
    .c-slickSlider__controller {
        margin-top: 10px;
    }
    
    .c-slickSlider__dots {
        padding: 20px 85px 0;
    }
}

/*  component - Posts
================================================ */

/*  news parts
---------------------------------------- */
.c-news-head {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.c-news-head__time {
    margin-right: 18px;
    padding-bottom: 0.1em;
    flex-shrink: 0;
    line-height: 1.3;
    font-size: 1.5rem;
    font-family: var(--fntEn);
    color: var(--clrTxtSec);
}

.c-news-head__category {
    padding: 6px 10px;
    line-height: 1.3;
    font-size: 1.4rem;
    background: var(--clrBkgTer);
}

/*  faq parts
---------------------------------------- */
.c-faq__category {
    margin-top: 14px;
    padding: 8px 10px;
    display: inline-block;
    line-height: 1.3;
    font-size: 1.4rem;
    color: var(--clrTxtSec);
    border: 1px solid var(--clrTxtSec);
}

/*  caseItem
---------------------------------------- */
.c-caseItem {
    padding: 0 7px;
}

.c-caseItem__link {
    height: 100%;
    display: block;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    transition: opacity ease 0.3s;
}

.c-caseItem__link:hover {
    opacity: 0.7;
}

.c-caseItem__content {
    padding: 25px;
}

.c-caseItem__campanyLogo {
    width: auto;
    height: 35px;
    display: block;
}

.c-caseItem__campanyName {
    margin-top: 8px;
    line-height: 1.3;
    font-size: 1.3rem;
    color: var(--clrTxtSec);
}

.c-caseItem__title {
    margin-top: 16px;
    line-height: 1.3;
    font-size: 1.8rem;
}

@media all and (min-width: 1441px) {
    .c-caseItem {
        padding: 0 15px;
    }
    
    .c-caseItem__content {
        padding: 30px 30px 34px;
    }
    
    .c-caseItem__campanyLogo {
        height: 44px;
    }
}

/*  postsItem
---------------------------------------- */
.c-postsItem {
    position: relative;
    border-bottom: 1px solid var(--clrBdr);
}

.c-postsItem:first-child {
    border-top: 1px solid var(--clrBdr);
}

.c-postsItem__link {
    padding: 25px 0;
    position: relative;
}

.c-postsItem__link {
    padding: 30px 0;
    display: block;
    transition: opacity ease 0.3s;
}

.c-postsItem__link:hover {
    opacity: 0.2;
}

.c-postsItem__title {
    overflow: hidden;
    display: -webkit-box;
    font-size: 1.5rem;
    font-weight: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media all and (min-width: 1441px) {
    .c-postsItem__title {
        font-size: 1.6rem;
    }
}

/*  faqList
---------------------------------------- */
.c-faqItem {
    position: relative;
    border-bottom: 1px solid var(--clrBdr);
}

.c-faqItem:first-child {
    border-top: 1px solid var(--clrBdr);
}

.c-faqItem__link {
    padding: 25px 0;
    position: relative;
}

.c-faqItem__link {
    padding: 30px 65px 30px 0;
    display: flex;
    position: relative;
    transition: opacity ease 0.3s;
}

.c-faqItem__link:hover {
    opacity: 0.2;
}

.c-faqItem__q {
    margin-right: 15px;
    flex-shrink: 0;
    line-height: 1.3;
    font-size: 3rem;
    font-family: var(--fntEn);
}

.c-faqItem__title {
    overflow: hidden;
    display: -webkit-box;
    font-size: 2rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.c-faqItem .c-button {
    position: absolute;
    top: 30px;
    right: 0;
    color: #fff;
    background: var(--clrTxt);
    border-color: var(--clrTxt);
}

.c-faqItem .c-button .c-button__arrow {
    background: var(--clrTxt);
    transform: scale(1);
}

.c-faqItem .c-button .c-button__arrow:before {
    transform: translateX(0);
}

@media all and (min-width: 1441px) {
    .c-faqItem__link {
        padding-right: 85px;
    }
    
    .c-faqItem__q {
        margin-right: 25px;
        font-size: 3.2rem;
    }
    
    .c-faqItem__title {
        font-size: 2.2rem;
    }
}

/*  archive
---------------------------------------- */
.c-archive__inner {
    width: min(100%, 950px);
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

/*  archive termList
---------------------------------------- */
.c-termList {
    width: calc(100% + 10px);
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    left: -5px;
}

.c-termList__item {
    width: 50%;
    padding: 5px;
    text-align: center;
    line-height: 1.3;
    font-size: 1.4rem;
    font-weight: bold;
}

.c-termList__link {
    padding: 14px 10px;
    display: block;
    background: var(--clrBkgSec);
    transition: color ease 0.3s, background ease 0.3s;
}

.c-termList__item.-current .c-termList__link,
.c-termList__link:hover {
    color: #fff;
    background: var(--clrTxt);
}

@media all and (min-width: 769px) {
    .c-termList__item {
        width: auto;
    }
    
    .c-termList__link {
        padding: 10px 20px;
    }
}

@media all and (min-width: 1441px) {
    .c-termList__item {
        font-size: 1.6rem;
    }
}

/*  archive paging
---------------------------------------- */
.c-paging {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.c-paging__item {
    margin-bottom: 4px;
    display: inline-block;
    vertical-align: bottom;
    line-height: 1.3;
    font-weight: bold;
}

.c-paging__item .page-numbers {
    display: block;
}

.c-paging__item .page-numbers:not(.dots):not(.prev):not(.next) {
    padding: 10px 14px;
    font-size: 1.6rem;
    transition: color ease 0.3s, background ease 0.3s;
}

.c-paging__item .current,
.c-paging__item a.page-numbers:not(.dots):not(.prev):not(.next):hover {
    color: #fff;
    background: var(--clrTxt);
}

.c-paging__item .dots {
    padding: 0.7em 4px 0;
}

.c-paging__item .c-paging__arrow {
    padding: 10px;
    display: block;
}

.c-paging__item .c-paging__arrow:before {
    content: "";
    width: 18px;
    height: 18px;
    margin: auto;
    display: block;
    background: url(../img/common/ico-arrow.svg) no-repeat center;
    background-size: contain;
    transition: background ease 0.3s;
}

.c-paging__item:hover .c-paging__arrow:before {
    background-image: url(../img/common/ico-arrow-gray.svg);
}

.c-paging__item .c-paging__arrow.-left:before {
    transform: rotate(180deg);
}

@media all and (min-width: 1441px) {
    .c-paging {
        margin-top: 50px;
    }
}

/*  single
---------------------------------------- */
.c-single__inner {
    width: min(100%, 820px);
    margin: 0 auto;
    padding: 45px 20px 0;
    position: relative;
}

.c-single__header {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--clrBdr);
}

.c-single__title {
    font-size: 2.4rem;
    font-weight: bold;
}

@media all and (min-width: 1441px) {
    .c-single__header {
        margin-bottom: 48px;
        padding-bottom: 54px;
    }
    
    .c-single__title {
        font-size: 3.6rem;
    }
}

/*  single nearLink
---------------------------------------- */
.c-nearLink {
    margin: 15px auto 80px;
    display: flex;
    justify-content: space-between;
    position: relative;
}

.c-nearLink a {
    transition: opacity ease 0.4s;
}

.c-nearLink a:hover {
    opacity: 0.2;
}

.c-nearLink__link {
    width: 50%;
    position: relative;
}

.c-nearLink__link a {
    padding: 15px 10px;
    display: flex;
    align-items: center;
    text-decoration: none;
    line-height: 1.3;
    font-size: 1.6rem;
}

.c-nearLink__link.-prev a {
    justify-content: flex-start;
}

.c-nearLink__link.-next a {
    justify-content: flex-end;
}

.c-nearLink__link.-prev a:before,
.c-nearLink__link.-next a:after {
    content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    background-image: url(../img/common/ico-arrow.svg);
    background-size: contain;
}

.c-nearLink__link.-prev a:before {
    margin-right: 18px;
    transform: rotate(180deg);
}

.c-nearLink__link.-next a:after {
    margin-left: 18px;
}

.c-nearLink__back {
    margin: 0 auto;
    position: absolute;
    top: calc(100% + 15px);
    left: 0;
    right: 0;
    text-align: center;
}

.c-nearLink__back a {
    min-width: 260px;
    padding: 20px 10px;
    display: inline-block;
    position: relative;
    text-decoration: none;
    line-height: 1.3;
    letter-spacing: 0.06em;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    background: var(--clrTxt);
}

@media all and (min-width: 1025px) {
    .c-nearLink {
        margin-top: 30px;
        margin-bottom: 0;
        align-items: center;
    }
    
    .c-nearLink__link {
        width: auto;
        min-width: 160px;
    }
    
    .c-nearLink__back {
        position: relative;
        top: auto;
    }
}

/*  single nearPosts
---------------------------------------- */
.c-nearPosts {
    background: var(--clrBkgSec);
}


/*  component - Layout common
================================================ */

/*  mainTitle
---------------------------------------- */
.c-mainTitle {
    text-align: center;
}

.c-mainTitle__En {
    margin-bottom: 0.2em;
    line-height: 1.3;
    font-size: 1.6rem;
    font-weight: bold;
    font-family: var(--fntEn);
    color: var(--clrMain);
}

.c-mainTitle__Ja {
    line-height: 1.4;
    font-size: 3.4rem;
    font-weight: bold;
}

.c-mainTitle__Ja small {
    display: block;
    line-height: 1.3;
    font-size: 0.6em;
}

.c-subTitle {
    margin-bottom: 30px;
    padding-bottom: 24px;
    position: relative;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.08em;
    font-size: 3.2rem;
    font-weight: bold;
}

.c-subTitle:before {
    content: "";
    width: 50px;
    height: 3px;
    margin: 0 auto;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--clrMain);
}

@media all and (min-width: 1025px) {
    .c-mainTitle__Ja {
        font-size: 3.8rem;
    }
}

@media all and (min-width: 1441px) {
    .c-mainTitle__En {
        font-size: 1.8rem;
    }
    
    .c-mainTitle__Ja {
        font-size: 5.5rem;
    }
    
    .c-subTitle {
        margin-bottom: 50px;
        font-size: 4rem;
    }
    
    .c-subTitle:before {
        width: 70px;
    }
}

/*  section
---------------------------------------- */
.c-section__wapper {
    position: relative;
}

.c-section {
    padding: 70px 0;
    position: relative;
}

.c-section__inner {
    width: min(100%, 1080px);
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

.c-page__inner {
    width: min(100%, 820px);
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

.c-section .c-mainTitle {
    margin-bottom: 35px;
}

.c-section__body {
    position: relative;
}

@media all and (min-width: 426px) {
    .c-section {
        padding: 80px 0;
    }
}

@media all and (min-width: 769px) {
    .c-columnSection {
        display: flex;
    }
    
    .c-columnSection .c-section__head {
        width: 180px;
    }
    
    .c-columnSection .c-section__body {
        width: calc(100% - 180px);
    }
}

@media all and (min-width: 1025px) {
    .c-section {
        padding: 100px 0;
    }
}

@media all and (min-width: 1441px) {
    .c-section {
        padding: 140px 0;
    }

    .c-section__inner {
        width: min(100%, 1320px);
    }
    
    .c-section .c-mainTitle {
        margin-bottom: 50px;
    }
}

/*  breadcrumb
---------------------------------------- */
.c-breadcrumb {
    padding: 20px;
    position: absolute;
    bottom: 100%;
    left: 0;
    transform: rotate(90deg);
    transform-origin: bottom left;
}

.c-breadcrumb__list {
    display: flex;
}

.c-breadcrumb__item {
    line-height: 1.3;
    font-size: 1.3rem;
}

.c-breadcrumb__item:not(:first-child) {
    margin-left: 14px;
    position: relative;
}

.c-breadcrumb__item:not(:first-child):before {
    content: "";
    width: 4px;
    height: 4px;
    display: block;
    position: absolute;
    top: calc(50% - 2px);
    right: 100%;
    border: 0 solid var(--clrTxtTer);
    border-top-width: 1px;
    border-right-width: 1px;
    transform: scaleX(0.8) rotate(45deg);
}

.c-breadcrumb__item .c-breadcrumb__text {
    margin-right: -10px;
    padding: 5px 10px;
    display: inline-block;
    color: var(--clrTxtTer);
}

.c-breadcrumb__item a.c-breadcrumb__text {
    color: var(--clrTxt);
    transition: color ease 0.4s;
}

.c-breadcrumb__item a.c-breadcrumb__text:hover {
    color: var(--clrMain);
}

@media all and (min-width: 1441px) {
    .c-breadcrumb {
        padding: 30px;
    }
    
    .c-breadcrumb__item {
        font-size: 1.5rem;
    }
}

/*  hero
---------------------------------------- */
.c-hero {
    position: relative;
    z-index: 2;
    background: var(--clrBkgSec);
}

.c-hero__inner {
    width: min(100%, 1080px);
    margin: 0 auto;
    padding: 145px 24px 95px;
    position: relative;
}

.c-hero .c-deco {
    width: 131px;
    height: 175px;
    bottom: 36px;
    left: 0;
}

@media all and (max-width: 1024px) {
    .c-hero__inner {
        padding: 105px 24px 70px;
    }
    .c-hero .c-deco {
        bottom: 40px;
    }
}

@media all and (min-width: 1025px) {
    .c-hero .c-deco {
        width: auto;
        height: 100%;
        top: 0;
        bottom: 0;
    }
}

@media all and (min-width: 1441px) {
    .c-hero__inner {
        padding: 180px 24px 110px;
    }
    
    .c-hero__inner {
        width: min(100%, 1320px);
    }
}


  /* ===== Card Section ===== */
  .card-section {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    padding: 60px 20px;
  }
  
  /* ===== Card Styling ===== */
.card {
    border: 1px solid #ccc;
    padding: 25px;
    width: 450px;
    border-radius: 8px;
    background-color: #fff;
    transition: transform 0.3s;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    position: relative;
}

.card:hover {
    transform: scale(1.03);
}

/* ===== Card Header: Title ===== */
.card-header {
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-header h2 {
    display: flex;
    align-items: center;
    font-size: 35px;
    font-weight: bold;
    line-height: 1.2;
    text-align: left;
    margin-bottom: 10px;
}

.card-header .line {
    width: 4px;
    height: 80px;
    background-color: #009c7c;
    margin-right: 8px;
}

/* ===== Card Text ===== */
.card-text {
    margin: 10px 0 10px;
    font-size: 16px;
    color: #333;
    line-height: 1.5;
    width: 70%;
}

/* ===== Card Icon: Positioned at Bottom Right ===== */
.card-icon {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.card-icon img {
    width: 110px;
    height: auto;
}


/*  component - Layout patterns
================================================ */

/*  feature-blocks
---------------------------------------- */
.c-feature-blocks {
    max-width: 600px;
    margin: 0 auto;
}

.c-feature-block {
    padding-top: 35px;
    position: relative;
    z-index: 2;
}

.c-feature-block:not(:first-child) {
    margin-top: 55px;
}

.c-feature-image {
    position: relative;
}

.c-feature-image__label {
    position: absolute;
    bottom: calc(100% - 0.15em);
    left: 0;
    right: 0;
    z-index: -1;
    line-height: 1;
    letter-spacing: .07em;
    font-size: 4.2rem;
    font-weight: bold;
    font-family: var(--fntEn);
    color: var(--clrTxt);
    opacity: 0.07;
}

.c-feature-image img {
    margin: auto;
    display: block;
}

.c-feature-box {
    margin-top: -16px;
    padding: 35px;
    background: #FEFEFE;
    box-shadow: 0 0 30px rgba(0,0,0,0.1);
}

.c-feature-box__label {
    margin-bottom: 0.4em;
    line-height: 1.3;
    font-size: 1.3rem;
    color: var(--clrMain);
}

.c-feature-box__title {
    letter-spacing: .05em;
    line-height: 1.5;
    font-size: 2.4rem;
    font-weight: bold;
}

.c-feature-box__text {
    margin-top: 40px;
    font-size: 1.5rem;
}

.c-feature-box .c-button {
    margin-top: 22px;
}

.c-feature-block:nth-child(odd) .c-feature-image {
    margin-left: -20px;
}

.c-feature-block:nth-child(even) .c-feature-image {
    margin-right: -20px;
}

.c-feature-block:nth-child(odd) .c-feature-box {
    margin-right: -20px;
}

.c-feature-block:nth-child(even) .c-feature-box {
    margin-left: -20px;
}

.c-feature-block:nth-child(even) .c-feature-image__label {
    text-align: right;
}

.c-featureChildSection .c-feature-block .c-feature-image {
    margin-left: 0;
    margin-right: 0;
}

.c-featureChildSection .c-feature-block .c-feature-box {
    margin-left: 20px;
    margin-right: 20px;
}

@media all and (min-width: 1025px) {
    .c-featureSection .c-section__inner {
        width: min(100%, 1220px);
    }
    
    .c-feature .c-section__inner {
        width: min(100%, 1220px);
    }
    
    .c-feature-blocks {
        max-width: none;
    }
    
    .c-feature-block {
        display: flex;
        align-items: center;
    }
    
    .c-feature-block:not(:first-child) {
        margin-top: 70px;
    }
    
    .c-feature-image {
        width: 620px;
        flex-shrink: 0;
    }
    
    .c-feature-image__label {
        font-size: 5rem;
    }
    
    .c-feature-box {
        margin-top: 0;
    }

    .c-feature-box__title {
        font-size: 2.6rem;
    }
    
    .c-feature-block:nth-child(even) {
        flex-direction: row-reverse;
    }

    .c-feature-block:nth-child(odd) .c-feature-image {
        margin-left: auto;
    }

    .c-feature-block:nth-child(even) .c-feature-image {
        margin-right: auto;
    }

    .c-feature-block:nth-child(odd) .c-feature-box {
        margin-left: -20px;
        margin-right: auto;
    }

    .c-feature-block:nth-child(even) .c-feature-box {
        margin-left: auto;
        margin-right: -20px;
    }
}

@media all and (min-width: 1441px) {
    .c-featureSection .c-section__inner {
        width: min(100%, 1620px);
    }
    
    .c-feature-block:not(:first-child) {
        margin-top: 120px;
    }
    
    .c-feature-image {
        width: 905px;
    }
    
    .c-featureChildSection .c-feature-image {
        width: 770px;
    }
    
    .c-feature-image__label {
        font-size: 7rem;
    }
    
    .c-feature-box {
        padding: 70px;
    }

    .c-feature-box__title {
        font-size: 3.2rem;
    }
    
    .c-feature-box__text {
        margin-top: 56px;
        font-size: 1.6rem;
    }
    
    .c-feature-box .c-button {
        margin-top: 28px;
    }
    
    .c-feature-block:nth-child(odd) .c-feature-box {
        margin-left: -40px;
    }

    .c-feature-block:nth-child(even) .c-feature-box {
        margin-right: -40px;
    }
}

/*  feature-tabs
---------------------------------------- */
.c-featureTabSection {
    background: var(--clrBkgTer);
}

.c-featureTab__buttons {
    width: calc(100% + 10px);
    display: flex;
    flex-wrap: wrap;
    position: relative;
    left: -5px;
}

.c-featureTab__buttons:first-child {
    margin-bottom: 62px;
}

.c-featureTab__buttons:last-child {
    margin-top: 35px;
}

.c-featureTab__button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(50% - 10px);
    min-height: calc(3.2em + 26px);
    margin: 5px;
    padding: 29px 20px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    border: 1px solid var(--clrTxt);
    transition: color ease 0.3s, background ease 0.3s;
}

.c-featureTab__button span {
    position: static;
    display: inline-block;
    color: var(--clrTxt);
}

.c-featureTab__contents {
    width: calc(100% + 40px);
    position: relative;
    left: -20px;
    overflow: hidden;
}

.c-featureTab-content {
    padding-bottom: 7rem;
    transition: opacity ease 0.5s;
}

.c-featureTab-content:last-of-type {
    padding-bottom: 0;
}

.c-featureTab-content:not(.-current) {
    /* position: absolute; */
    top: 0;
    left: 0;
    right: 0;
    /* opacity: 0; */
}

.c-featureTab-content.-current {
    position: relative;
    z-index: 2;
    transition-delay: 0.5s;
}

.c-featureTab-content .c-subTitle {
    padding-left: 20px;
    padding-right: 20px;
}

.c-featureTab__wrapper--usage {
    margin: 0 2rem 2rem;
    background-color: #fff;
}

.c-featureTab__wrapper--usage:last-of-type {
    margin-bottom: 5rem;
}

.c-featureTab__wrapper--other {
    margin-bottom: 5.5rem
}

.c-featureTab__image img {
    margin: 0 auto;
    display: block;
}

.c-featureTab-list {
    margin-top: 25px;
    padding: 0 20px;
}

.c-featureTab-list__item {
    padding: 33px 30px;
    background: #fff;
}

.c-featureTab-list__item:not(:first-child) {
    margin-top: 20px;
}

.c-featureTab-list__label {
    margin-bottom: 0.4em;
    line-height: 1.3;
    font-family: var(--fntNt);
    font-size: 1.2rem;
    color: var(--clrMain);
}

.c-featureTab-list__title {
    margin-bottom: 0.6em;
    padding-bottom: 0.7em;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: 2px solid var(--clrBdr);
}

.c-featureTab-list__text {
    font-size: 1.6rem;
    font-family: var(--fntNt);
}

.c-featureTab-list__text small {
    margin-top: 0.4em;
    display: inline-block;
    line-height: 1.4;
    font-size: 0.9em;
    color: var(--clrTxtSec);
}

.c-featureTab-card {
    margin-top: 5px;
    padding: 0 30px 30px;
}

.c-featureTab-card__item {
    background: #fff;
}

.c-featureTab-card__item:first-of-type {
    padding-bottom: 50px;
}

.c-featureTab-card__item:first-of-type > p  {
    position: relative;
}

.c-featureTab-card__item:first-of-type p::after {
    position: absolute;
    content: "";
    bottom: -45px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 20px;
    height: 24px;
    background: url(../img/common/img-feature-arrow-sp.png) top center / contain no-repeat;
}

.c-featureTab-card--other {
    padding: 0 2rem;
}

.c-featureTab-card--other .c-featureTab-card__item:first-of-type {
    padding-bottom: 0;
}

.c-featureTab-card--other .c-featureTab-card__item:first-of-type div::after,
.c-featureTab-card--other .c-featureTab-card__item:first-of-type p::after {
    content: none;
}

.c-featureTab-card__item.usage {
    margin-top: 0;
}

.c-featureTab-card__item:not(:first-child) {
    margin-top: 16px;
}

.c-featureTab-card__item img {
    margin: 0 auto 15px;
    display: block;
}

.c-featureTab-card__item-content {
    padding: 30px 30px 20px;
}

.c-featureTab-card__label {
    margin-bottom: 0.4em;
    line-height: 1.3;
    font-size: 1.2rem;
    color: var(--clrMain);
}

.c-featureTab-card__title {
    padding-bottom: 17px;
    border-bottom: 1px solid var(--clrBdr);
    font-size: 2rem;
    font-weight: bold;
}

.c-featureTab-card__title--usage {
    border-bottom: none;
}

.c-featureTab-card__title--other {
    margin: 0 2rem;
    padding-left: 15px;
    border-left: 3px solid var(--clrMain);
    font-size: 1.8rem;
    font-weight: bold;
}

.c-featureTab-card__text {
    font-weight: 400;
}

/* BC */
.c-featureTab__button {
    padding: 16px 20px 12px;
}

.c-featureTab__button span {
    position: relative;
}

.c-featureTab__button span::before {
    position: static;
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    margin: 0 auto 6px;
    background-size: contain;
}
.c-featureTabBc__icon01 span::before {
    background-image: url(../img/features/img-features-bc-icon-1.svg);
}

.c-featureTabBc__icon02 span::before {
    background-image: url(../img/features/img-features-bc-icon-2.svg);
}

.c-featureTabBc__icon03 span::before {
    background-image: url(../img/features/img-features-bc-icon-3.svg);
}

.c-featureTabBc__icon04 span::before {
    background-image: url(../img/features/img-features-bc-icon-4.svg);
}

.c-featureTabVa__icon01 span::before {
    background-image: url(../img/features/img-features-va-icon-1.svg);
}

.c-featureTabVa__icon02 span::before {
    background-image: url(../img/features/img-features-va-icon-2.svg);
}

.c-featureTabVa__icon03 span::before {
    background-image: url(../img/features/img-features-va-icon-3.svg);
}

.c-featureTabVa__icon04 span::before {
    background-image: url(../img/features/img-features-va-icon-4.svg);
}

.c-featureTabDb__icon01 span::before {
    background-image: url(../img/features/img-features-db-icon-1.svg);
}

.c-featureTabDb__icon02 span::before {
    background-image: url(../img/features/img-features-db-icon-2.svg);
}

.c-featureTabDb__icon03 span::before {
    background-image: url(../img/features/img-features-db-icon-3.svg);
}

.c-featureTabDb__icon04 span::before {
    background-image: url(../img/features/img-features-db-icon-4.svg);
}

@media all and (min-width: 769px) {
    .c-featureTab__wrapper--usage {
        margin: 0;
        background-color: transparent;
    }

    .c-featureTab-list {
        width: calc(100% + 20px);
        margin-top: 20px;
        display: flex;
        flex-wrap: wrap;
        position: relative;
        left: -10px;
    }
    
    .c-featureTab-list__item {
        width: calc(100% / 2 - 20px);
        margin: 10px;
    }
    
    .c-featureTab-list__item:not(:first-child) {
        margin-top: 10px;
    }

    .c-featureTab-card__item:first-of-type div {
        position: relative
    }
    
    .c-featureTab-card__item:first-of-type div::after {
        bottom: -115px;
    }

    .c-featureTab-card {
        /* width: calc(100% + 20px); */
        margin-top: 20px;
        padding: 0 20px 30px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative;
        /* left: -10px; */
    }

    .c-featureTab-card__item {
        width: calc(100% / 2 - 40px);
        margin: 10px;
    }

    .c-featureTab-card__item-content {
        padding: 13px 20px 20px;
    }

    .c-featureTab-card__item:first-of-type p::after {
        content: none;
    }

    .c-featureTab-card__item:first-of-type {
        padding-bottom: 0;
    }

    .c-featureTab-card__item:first-of-type div::after {
        position: absolute;
        content: "";
        top: 50%;
        right: -40px;
        transform: translateY(-50%);
        width: 24px;
        height: 20px;
        background: url(../img/common/img-feature-arrow.png) top center / contain no-repeat;
    }
    
    .c-featureTab-card__item:not(:first-child) {
        margin-top: 10px;
    }

    .c-featureTab-card__text {
        padding: 0 1.5rem 1rem;
    }

    .c-featureTab__button {
        min-height: calc(3.2em + 26px);
    }

    .c-featureTab__button span {
        position: relative;
        display: inline-block;
        margin-right: -25px;
    }
    .c-featureTab__button span::before {
        position: absolute;
        content: "";
        top: 50%;
        left: -40px;
        transform: translateY(-50%);
        display: block;
        width: 32px;
        height: 32px;
    }
}

@media all and (min-width: 1025px) {
    .c-featureTab__button {
        width: calc(25% - 10px);
        min-height: 0;
        padding: 12px 20px;
    }

    .c-featureTab__button:hover {
        background: var(--clrTxt);
    }
    
    .c-featureTab__button:hover span{
        color: #fff;
    }

    .c-featureTabBc__icon01:hover span::before {
        background-image: url(../img/features/img-features-bc-icon-hov1.svg);
    }
    
    .c-featureTabBc__icon02:hover span::before {
        background-image: url(../img/features/img-features-bc-icon-hov2.svg);
    }
    
    .c-featureTabBc__icon03:hover span::before {
        background-image: url(../img/features/img-features-bc-icon-hov3.svg);
    }
    
    .c-featureTabBc__icon04:hover span::before {
        background-image: url(../img/features/img-features-bc-icon-hov4.svg);
    }
    
    .c-featureTabVa__icon01:hover span::before {
        background-image: url(../img/features/img-features-va-icon-hov1.svg);
    }
    
    .c-featureTabVa__icon02:hover span::before {
        background-image: url(../img/features/img-features-va-icon-hov2.svg);
    }
    
    .c-featureTabVa__icon03:hover span::before {
        background-image: url(../img/features/img-features-va-icon-hov3.svg);
    }
    
    .c-featureTabVa__icon04:hover span::before {
        background-image: url(../img/features/img-features-va-icon-hov4.svg);
    }
    
    .c-featureTabDb__icon01:hover span::before {
        background-image: url(../img/features/img-features-db-icon-hov1.svg);
    }
    
    .c-featureTabDb__icon02:hover span::before {
        background-image: url(../img/features/img-features-db-icon-hov2.svg);
    }
    
    .c-featureTabDb__icon03:hover span::before {
        background-image: url(../img/features/img-features-db-icon-hov3.svg);
    }
    
    .c-featureTabDb__icon04:hover span::before {
        background-image: url(../img/features/img-features-db-icon-hov4.svg);
    }
    
    .c-featureTab__buttons:first-child {
        margin-bottom: 70px;
    }

    .c-featureTab__buttons:last-child {
        margin-top: 60px;
    }
    
    .c-featureTab__contents {
        width: 100%;
        left: auto;
    }

    .c-featureTab-content {
        padding-bottom: 8rem;
    }
    
    .c-featureTab-content .c-subTitle {
        padding-left: 0;
        padding-right: 0;
    }
    
    .c-featureTab-list {
        /* width: calc(100% + 30px); */
        margin-top: 15px;
        padding: 0;
    }

    .c-featureTab-card__title--other {
        margin: 0;
    }
    
    .c-featureTab-list__item {
        width: calc(100% / 3 - 30px);
        margin: 15px;
    }
    
    .c-featureTab-list__item:not(:first-child) {
        margin-top: 15px;
    }

    .c-featureTab-card__item:first-of-type div::after {
        right: -27px;
    }
    
    .c-featureTab-card {
        margin-top: 0;
        padding: 0;
    }

    .c-featureTab__wrapper {
        margin-bottom: 3rem;
        padding: 3rem 2rem;
        background-color: #fff;
    }
    
    .c-featureTab-card__item {
        width: calc(100% / 2 - 30px);
        margin: 15px;
    }
    
    .c-featureTab-card__item:not(:first-child) {
        margin-top: 15px;
    }

    .c-featureTab-card--other .c-featureTab-card__item {
        margin: 0 0 30px;
    }

    .c-featureTab-card__text {
        padding: 0;
    }
}

@media all and (min-width: 1441px) {
    .c-featureTab__button {
        font-size: 1.6rem;
    }
    
    .c-featureTab__buttons:first-child {
        margin-bottom: 84px;
    }

    .c-featureTab__buttons:last-child {
        margin-top: 80px;
    }
}

/*  downloadBanner
---------------------------------------- */
.c-downloadBanner {
    position: relative;
}

.c-downloadBanner__label {
    position: absolute;
    bottom: calc(100% - 0.15em);
    left: 0;
    right: 0;
    z-index: -1;
    letter-spacing: .1em;
    line-height: 1;
    font-size: 4.2rem;
    font-weight: bold;
    font-family: var(--fntEn);
    color: var(--clrTxt);
    opacity: 0.07;
}

.c-downloadBanner-box {
    background: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
}

.c-downloadBanner-box__item {
    padding: 30px 10px;
    text-align: center;
}

.c-downloadBanner-box__item:not(:first-child) {
    border-top: 1px solid var(--clrBdr);
}

.c-downloadBanner-box__label {
    margin-bottom: 0.4em;
    line-height: 1.3;
    font-size: 1.2rem;
    font-family: var(--fntEn);
    color: var(--clrMain);
}

.c-downloadBanner-box__title {
    font-size: 2rem;
}

.c-downloadBanner-box__image {
    margin-top: 12px;
    font-size: 0;
}

.c-downloadBanner-box__link {
    margin: 5px 2px 0;
    display: inline-block;
    transition: opacity ease 0.3s;
}

.c-downloadBanner-box__link:hover {
    opacity: 0.2;
}

.c-downloadBanner-box__image img {
    width: auto;
    height: 40px;
    display: block;
}

@media all and (min-width: 769px) {
    .c-downloadBanner-box {
        display: flex;
    }
    
    .c-downloadBanner-box__item {
        width: 50%;
        padding: 50px 10px;
    }
    
    .c-downloadBanner-box__item:not(:first-child) {
        border-top: none;
        border-left: 1px solid var(--clrBdr);
    }
}

@media all and (min-width: 1025px) {
    .c-downloadBanner__label {
        font-size: 5rem;
    }
    
    .c-downloadBanner-box__item {
        padding: 70px 10px;
    }
    
    .c-downloadBanner-box__image img {
        height: 46px;
    }
}

@media all and (min-width: 1441px) {
    .c-downloadBanner__label {
        font-size: 7rem;
    }
    
    .c-downloadBanner-box__label {
        font-size: 1.3rem;
    }
    
    .c-downloadBanner-box__title {
        font-size: 2.2rem;
    }
    
    .c-downloadBanner-box__image img {
        height: 56px;
    }
}

/*  fee-list
---------------------------------------- */
.c-featuresLink {
    margin-top: 55px;
}

.c-featuresLink:first-child {
    margin-top: 0;
}

.c-featuresLink-box {
    display: flex;
    align-items: center;
    position: relative;
    background: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    transition: opacity ease 0.3s;
}

.c-featuresLink-box:hover {
    opacity: 0.2;
}

.c-featuresLink-box:not(:first-child) {
    margin-top: 40px;
}

.c-featuresLink-box__label {
    position: absolute;
    bottom: calc(100% - 0.15em);
    left: 0;
    right: 0;
    z-index: -1;
    line-height: 1;
    font-size: 3rem;
    font-weight: bold;
    font-family: var(--fntEn);
    color: var(--clrTxt);
    opacity: 0.07;
}

.c-featuresLink__image {
    width: 140px;
    height: 100%;
    flex-shrink: 0;
}

.c-featuresLink__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c-featuresLink-content {
    padding: 20px;
}

.c-featuresLink-content__label {
    margin-bottom: 0.4em;
    line-height: 1.3;
    font-size: 1.2rem;
    font-family: var(--fntEn);
    color: var(--clrMain);
}

.c-featuresLink-content__title {
    font-size: 1.5rem;
}

@media all and (min-width: 769px) {
    .c-featuresLink {
        width: calc(100% + 30px);
        display: flex;
        position: relative;
        left: -15px;
    }
    
    .c-featuresLink-box {
        width: calc(50% - 30px);
        margin: 0 15px;
    }
    
    .c-featuresLink-box:not(:first-child) {
        margin-top: 0;
    }
    
    .c-featuresLink-box__label {
        font-size: 3.2rem;
    }
    
    .c-featuresLink-content {
        padding: 30px 20px;
    }
}

@media all and (min-width: 1025px) {
    .c-featuresLink {
        margin-top: 65px;
    }
    
    .c-featuresLink__image {
        width: 220px;
    }
    
    .c-featuresLink-content {
        padding: 30px;
    }
    
    .c-featuresLink-content__title {
        font-size: 1.8rem;
    }
}

@media all and (min-width: 1441px) {
    .c-featuresLink {
        margin-top: 75px;
    }
    
    .c-featuresLink-box__label {
        font-size: 4rem;
    }
    
    .c-featuresLink__image {
        width: 300px;
    }
    
    .c-featuresLink-content {
        padding: 48px 40px;
    }
    
    .c-featuresLink-content__label {
        font-size: 1.3rem;
    }
    
    .c-featuresLink-content__title {
        font-size: 2.2rem;
    }
}

/*  fee-list
---------------------------------------- */
.c-fee-list {
    max-width: 650px;
    margin: 0 auto;
    text-align: center;
}

.c-fee-list__item:not(:first-child) {
    margin-top: 20px;
}

.c-fee-list__head {
    padding: 18px 30px 48px;
    color: #fff;
    background: var(--clrTxtSec);
}

.c-fee-list__item.-point .c-fee-list__head {
    background: var(--clrTxt);
}

.c-fee-list__item.-lite .c-fee-list__head{
    background-color: var(--clrMain);
}

.c-fee-list__item.-standard .c-fee-list__head{
    background-color: var(--clrStandard);
}

.c-fee-list__head h3 {
    letter-spacing: .1em;
    line-height: 1.3;
    font-size: 2.8rem;
    font-weight: bold;
    font-family: var(--fntEn);
}

.c-fee-list__head p {
    line-height: 1.3;
    font-size: 1.5rem;
}

.c-fee-list__body {
    margin: -30px 10px 0;
    padding: 34px 20px;
    background: #fff;
    border: 2px solid transparent;
    box-shadow: 0 0 30px rgba(0,0,0,0.1);
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    letter-spacing: .05em;
}

.c-fee-list__item.-point .c-fee-list__body {
    border-color: var(--clrTxt);
}

.c-fee-list__user {
    margin-bottom: 10px;
    display: inline-block;
}

.c-fee-list__user img {
    width: 18px;
    margin-right: 5px;
    display: inline-block;
    position: relative;
    top: -2px;
    vertical-align: middle;
}

.c-fee-list__body p {
    line-height: 1;
    font-size: 4rem;
    font-weight: bold;
}

@media all and (min-width: 1025px) {
    .c-fee-list {
        max-width: 1290px;
        box-sizing: content-box;
        width: calc(100% + 10px);
        max-width: none;
        display: flex;
        justify-content: center;
        position: relative;
        left: -5px;
    }
    
    .c-fee-list__item {
        width: 50%;
        padding: 0 5px;
    }
    
    .c-fee-list__item:not(:first-child) {
        margin-top: 0;
    }
    
    .c-fee-list__head {
        padding: 20px 10px 32px;
    }
    
    .c-fee-list__body {
        margin: -7px 7px 0;
        padding: 40px 20px;
    }
}

@media all and (min-width: 1441px) {
    .c-fee-list__body p {
        font-size: 5.5rem;
    }
}


/*  layout
================================================ */

/*  wrapper
---------------------------------------- */
.l-wrapper {
    position: relative;
}

/*  header
---------------------------------------- */
.l-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 10;
}

.l-header.-afterHero {
    background: #fff;
}

.l-header-logo {
    position: relative;
    z-index: 2;
    font-size: 0;
}

.l-header-logo a {
    padding: 12px 20px;
    display: inline-block;
    transition: opacity ease 0.3s;
}

.l-header-logo a:hover {
    opacity: 0.2;
}

.l-header-logo img {
    width: auto;
    height: 41px;
    display: block;
}

.l-header-login {
    padding: 10px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
    font-size: 1.6rem;
    font-weight: bold;
    transition: color ease 0.3s;
}

.l-header-login:hover {
    color: var(--clrMain);
}

.l-header-login__icon {
    width: 16px;
    height: 16px;
    margin-right: 7px;
    position: relative;
}

.l-header-login__icon img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: opacity ease 0.3s;
}

.l-header-login__icon img.-rev {
    opacity: 0;
}

.l-header-login:hover .l-header-login__icon img.-def {
    opacity: 0;
}

.l-header-login:hover .l-header-login__icon img.-rev {
    opacity: 1;
}

.l-hamburger {
    width: 64px;
    height: 64px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 3;
    color: #fff;
    background: var(--clrTxt);
}

.l-hamburger__line {
    width: 24px;
    height: 24px;
    margin: 0 auto;
    display: block;
    position: relative;
}

.l-hamburger__dots {
    height: 4px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: transform ease 0.3s;
}

.l-hamburger__dots:nth-child(1) {
    transform: translate3d(0, -9px, 0);
}

.l-hamburger__dots:nth-child(3) {
    transform: translate3d(0, 9px, 0);
}

.l-header.-menuOpen .l-hamburger__dots:nth-child(1) {
    transform: rotate(45deg) translate3d(0, 0, 0);
    transform-origin: center;
}

.l-header.-menuOpen .l-hamburger__dots:nth-child(2) {
    transform: scale3d(0, 1, 1);
    transition-duration: 0.2s;
}

.l-header.-menuOpen .l-hamburger__dots:nth-child(3) {
    transform: rotate(-45deg) translate3d(0, 0, 0);
    transform-origin: center;
}

.l-hamburger__dots span {
    width: 4px;
    height: 100%;
    display: block;
    background: #fff;
    transition: width ease 0.3s, height ease 0.3s;
}

.l-header.-menuOpen .l-hamburger__dots span {
    width: 100%;
    height: 50%;
}

.l-hamburger p {
    width: 100%;
    min-height: 1em;
    margin-top: 6px;
    position: relative;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.08em;
    font-size: 1.3rem;
    font-weight: bold;
    font-family: var(--fntEn);
}

.l-hamburger .l-hamburger__text {
    margin: 0 auto;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transition: opacity ease 0.3s;
}

.l-hamburger .l-hamburger__text.-close {
    opacity: 0;
}

.l-header.-menuOpen .l-hamburger .l-hamburger__text.-open {
    opacity: 0;
    transition-delay: 0s;
}

.l-header.-menuOpen .l-hamburger .l-hamburger__text.-close {
    opacity: 1;
    transition-delay: 0.1s;
}

.l-header-spSubNav {
    margin-top: 63px;
}

.l-header-spButtons {
    text-align: center;
}

.l-header-spButtons .c-button {
    margin: 0 7px;
}

.l-header-spButtons .c-button:not(:first-child) {
    margin-top: 15px;
}

.l-header-spSubNav .c-telInfo {
    margin-top: 30px;
}

.l-header-links {
    margin-top: 40px;
    position: relative;
}

.l-header-links__mainLink {
    margin-left: -10px;
    padding: 10px;
    display: inline-block;
    line-height: 1.3;
    font-size: 1.6rem;
    font-weight: bold;
}

.l-header-links__item {
    line-height: 1.3;
    font-size: 1.5rem;
}

.l-header-links__link {
    padding: 10px;
    display: inline-block;
}

.l-header-sns {
    position: absolute;
    top: -7px;
    right: -7px;
}

.l-header-sns__link {
    padding: 7px;
    display: block;
}

.l-header-subpages {
    margin-top: 32px;
}

.l-header-subpages__item {
    line-height: 1.3;
    font-size: 1.5rem;
}

.l-header-subpages__link {
    margin-left: -10px;
    padding: 10px;
    display: inline-block;
    color: var(--clrTxtSec);
}

.l-header-pcButtons {
    margin-left: 10px;
    display: flex;
}

.l-header-pcButtons .c-button:not(:first-child) {
    margin-left: 15px;
}

@media all and (max-width: 1024px) {
    .l-header {
        padding-right: 64px;
    }
    
    .l-header.-menuOpen {
        position: fixed;
    }

    .l-header-login {
        margin-right: 6px;
    }
    
    .l-header-content {
        position: relative;
        z-index: 1;
    }
    
    .l-nav {
        height: 0;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 2;
        overflow-x: hidden;
        overflow-y: scroll;
        overscroll-behavior-y: contain;
        backdrop-filter: blur(30px);
        -webkit-backdrop-filter: blur(30px);
        opacity: 0;
        transition: height 0s 0.6s, opacity ease 0.5s;
    }

    .l-header.-menuOpen .l-nav {
        height: 100%;
        opacity: 1;
        transition-delay: 0s, 0.1s;
    }
    
    .l-nav__inner {
        padding: 84px 20px 320px;
        position: relative;
        z-index: 2;
        background: rgba(239,239,239, 0.5);
        backdrop-filter: blur(30px);
        -webkit-backdrop-filter: blur(30px);
    }
    
    .l-nav__inner:before {
        content: "";
        min-width: 380px;
        height: 220px;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: -1;
        background: url(../img/common/bg-sp_nav.svg) no-repeat top;
        background-size: 100% auto;
    }
    
    .l-nav__inner:after {
        content: "";
        height: 322px;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: -1;
        background: url(../img/common/img-sp_nav.png) no-repeat right bottom;
        background-size: auto 100%;
    }

    .l-nav-list {
        height: calc(100% + 1px);
    }
    
    .l-nav-list__item {
        border-bottom: 1px solid var(--clrBdr);
    }
    
    .l-nav-list__link {
        padding: 32px 0;
        display: block;
        position: relative;
        font-size: 1.8rem;
        font-weight: bold;
    }
    
    .l-nav-list__link:before {
        content: "";
        width: 10px;
        height: 10px;
        position: absolute;
        top: calc(50% - 5px);
        right: 16px;
        border-top: 2px solid var(--clrTxt);
        border-right: 2px solid var(--clrTxt);
        transform: scaleX(0.9) rotate(45deg);
    }
    
    .l-nav-list__item.-hasChild {
        position: relative;
    }
    
    .l-nav-list-child__opener {
        width: 40px;
        height: 40px;
        position: absolute;
        top: 26px;
        right: 0;
    }
    
    .l-nav-list-child__opener:before,
    .l-nav-list-child__opener:after {
        content: "";
        margin: auto;
        position: absolute;
        display: block;
        background: var(--clrTxt);
    }
    
    .l-nav-list-child__opener:before {
        width: 20px;
        height: 2px;
        top: calc(50% - 1px);
        left: 0;
        right: 0;
    }
    
    .l-nav-list-child__opener:after {
        width: 2px;
        height: 20px;
        top: 0;
        bottom: 0;
        left: calc(50% - 1px);
        transition: transform ease 0.3s;
    }
    
    .l-nav-list-child__opener.-open:after {
        transform: scaleY(0);
    }
    
    .l-nav-list__item.-hasChild .l-nav-list__link:before {
        display: none;
    }
    
    .l-nav-list-child {
        padding-bottom: 32px;
        display: none;
    }
    
    .l-nav-list-child__item {
        font-size: 1.6rem;
    }
    
    .l-nav-list-child__link {
        padding: 10px 5px;
        display: inline-block;
    }
}

@media all and (min-width: 1025px) {
    .l-header {
        position: fixed;
        transition: background ease 0.2s, transform ease 0.5s;
    }

    .l-header.hide {
        transform: translate3d(0, -100%, 0);
    }
    
    .l-header-logo img {
        height: 40px;
    }
    
    .l-header-content {
        padding-right: 20px;
        display: flex;
        align-items: center;
    }
    
    .l-header-login {
        margin-left: 5px;
        font-size: 1.4rem;
    }
    
    .l-nav-list {
        display: flex;
    }

    .l-nav-list__item {
        position: relative;
        letter-spacing: 0.1em;
        font-size: 1.4rem;
        font-weight: bold;
    }

    .l-nav-list__item:not(:first-child) {
        margin-left: 10px;
    }
    
    .l-nav-list__link {
        padding: 25px 10px;
        display: block;
        position: relative;
    }
    
    .l-nav-list__link:before {
        content: "";
        height: 2px;
        display: block;
        position: absolute;
        bottom: 22px;
        left: 10px;
        right: 10px;
        background: var(--clrTxt);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform ease 0.2s;
    }

    .l-nav-list__link:hover:before {
        transform: scaleX(1);
    }
    
    .l-nav-list__item.-hasChild {
        padding-right: 10px;
    }
    
    .l-nav-list__item.-hasChild:before {
        content: "";
        width: 5px;
        height: 5px;
        position: absolute;
        top: calc(50% - 4px);
        right: 7px;
        border-bottom: 1px solid var(--clrTxt);
        border-right: 1px solid var(--clrTxt);
        transform: scaleY(0.8) rotate(45deg);
    }
    
    .l-nav-list-child {
        padding: 18px 20px;
        position: absolute;
        top: 100%;
        left: 50%;
        background: #fff;
        opacity: 0;
        pointer-events: none;
        transform: translate3d(-50%, 5px, 0);
        box-shadow: 0 0 20px rgba(0,0,0,0.1);
        transition: opacity ease 0.3s, transform ease 0.3s;
    }
    
    .l-nav-list__item.-hasChild:hover .l-nav-list-child {
        opacity: 1;
        pointer-events: auto;
        transform: translate3d(-50%, 0, 0);
    }
    
    .l-nav-list-child__item {
        white-space: nowrap;
    }
    
    .l-nav-list-child__link {
        padding: 8px 10px;
        display: block;
        transition: color ease 0.3s;
    }

    .l-nav-list-child__link:hover {
        color: var(--clrMain);
    }
    
    .l-header-pcButtons .c-button {
        min-width: 160px;
        padding: 8px 8px 8px 16px;
    }
}

@media all and (min-width: 1441px) {
    .l-header-logo a {
        padding: 17px 30px;
    }
    
    .l-header-logo img {
        height: 45px;
    }
    
    .l-header-content {
        padding-right: 30px;
    }
    
    .l-header-login {
        margin-left: 15px;
        font-size: 1.6rem;
    }

    .l-nav-list__item {
        font-size: 1.6rem;
    }

    .l-nav-list__item:not(:first-child) {
        margin-left: 15px;
    }
    
    .l-header-pcButtons {
        margin-left: 20px;
    }
    
    .l-header-pcButtons .c-button {
        min-width: 180px;
        padding: 10px 10px 10px 20px;
    }
}

/*  contents
---------------------------------------- */
.l-contents {
    min-height: calc(100vh - 106px);
    position: relative;
}

/*  downloadPop
---------------------------------------- */
.c-downloadPop {
    padding: 20px;
    display: flex;
    align-items: center;
    background: var(--clrMain);
    pointer-events: none;
    opacity: 0;
    transform: translateY(40%);
    transition: opacity ease 0.3s, transform ease 0.3s;
}

.c-downloadPop.-afterHero {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}

.c-downloadPop:hover {
    opacity: 0.2;
}

.c-downloadPop:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 35px;
    left: 0;
    background: url(../img/common/deco-1.svg) no-repeat center right;
    background-size: auto 100%;
    opacity: 0.1;
}

.c-downloadPop__icon {
    width: 33px;
    margin-right: 20px;
    display: block;
    flex-shrink: 0;
}

.c-downloadPop__content {
    position: relative;
    z-index: 2;
}

.c-downloadPop__en {
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    line-height: 1.3;
    font-size: 1.2rem;
    font-weight: bold;
    color: rgba(255,255,255,0.5);
}

.c-downloadPop__en img {
    width: 14px;
    margin-left: 4px;
    display: block;
}

.c-downloadPop__ja {
    line-height: 1.3;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
}
.c-downloadWrap {
    position: fixed;
    bottom: 100px;
    right: 0;
    z-index: 3;
}
.c-downloadPop__btnClose {
    position: absolute;
    content: none;
    top: 5px;
    right: 5px;
    font-size: 15px;
    color: #fff;
    z-index: 9999;
    cursor: pointer;
    opacity: 0;
}
.c-downloadPop.-afterHero + .c-downloadPop__btnClose {
    opacity: 1;
}
.c-downloadPop__btnClose.hidden,
.c-downloadPop.hidden {
    display: none;
}
/*  fixedCV
---------------------------------------- */
.c-fixedCV {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9;
    pointer-events: none;
    opacity: 0;
    transform: translateY(100%);
    transition: opacity ease 0.3s, transform ease 0.3s;
}

.c-fixedCV.-afterHero {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}

.c-fixedCV__item {
    width: calc(100% / 3);
    padding: 8px 2px;
    display: block;
    text-align: center;
    border: 1px solid;
}

.c-fixedCV__item img {
    width: 22px;
    margin: 0 auto 4px;
    display: block;
}

.c-fixedCV__item p {
    line-height: 1.3;
    letter-spacing: 0.02em;
    font-size: 1.4rem;
    font-weight: bold;
}

.c-fixedCV__item.-contact {
    background: #fff;
    border-color: var(--clrTxt);
}

.c-fixedCV__item.-trial {
    color: #fff;
    background: var(--clrMain);
    border-color: var(--clrMain);
}
.c-fixedCV__item.-request {
    color: #fff;
    
    background: var(--clrTxtSec);
    border-color: var(--clrTxtSec);
}

/*  underCV
---------------------------------------- */
.c-underCV {
    position: relative;
    z-index: 4;
}

.c-underCV__item {
    padding: 30px;
    display: block;
    position: relative;
    border: 1px solid;
    transition: color ease 0.3s, background ease 0.3s;
}

.c-underCV__item:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: no-repeat center left;
    background-size: auto 100%;
    transition: background ease 0.3s;
}

.c-underCV__item:after {
    content: "";
    width: 18px;
    height: 18px;
    position: absolute;
    top: calc(50% - 9px);
    right: 45px;
    background: no-repeat center;
    background-size: contain;
    transition: transform ease 0.3s, background ease 0.3s;
}

.c-underCV__item:hover:after {
    transform: translateX(30px);
}

.c-underCV__icon {
    width: 26px;
    height: 26px;
    margin-bottom: 12px;
    position: relative;
    z-index: 2;
}

.c-underCV__icon img {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: opacity ease 0.3s;
}

.c-underCV__icon img.-rev {
    opacity: 0;
}

.c-underCV__item:hover .c-underCV__icon img:not(.-rev) {
    opacity: 0;
}

.c-underCV__item:hover .c-underCV__icon img.-rev {
    opacity: 1;
}

.c-underCV__content {
    position: relative;
    z-index: 2;
}

.c-underCV__en {
    margin-bottom: 3px;
    line-height: 1.3;
    font-size: 1.2rem;
    font-weight: bold;
}

.c-underCV__ja {
    line-height: 1.3;
    font-size: 2.4rem;
    font-weight: bold;
}

.c-underCV__item.-contact {
    border-color: var(--clrTxt);
}

.c-underCV__item.-contact:hover {
    color: #fff;
    background: var(--clrTxt);
}

.c-underCV__item.-contact:before {
    background-image: url(../img/common/deco-1.svg);
}

.c-underCV__item.-contact:hover:before {
    background-image: url(../img/common/deco-4.svg);
}

.c-underCV__item.-contact:after {
    background-image: url(../img/common/ico-arrow.svg);
}

.c-underCV__item.-contact:hover:after {
    background-image: url(../img/common/ico-arrow-white.svg);
}

.c-underCV__item.-trial {
    color: #fff;
    background: var(--clrTxtSec);
    border-color: var(--clrTxtSec);
}

.c-underCV__item.-trial:hover {
    color: var(--clrTxtSec);
    background: #fff;
}

.c-underCV__item.-trial:before {
    background-image: url(../img/common/deco-2.svg);
}

.c-underCV__item.-trial:hover:before {
    background-image: url(../img/common/deco-5.svg);
}

.c-underCV__item.-trial:after {
    background-image: url(../img/common/ico-arrow-white.svg);
}

.c-underCV__item.-trial:hover:after {
    background-image: url(../img/common/ico-arrow.svg);
}

.c-underCV__item.-request {
    color: #fff;
    background: var(--clrMain);
    border-color: var(--clrMain);
}

.c-underCV__item.-request:hover {
    color: var(--clrMain);
    background: #fff
}

.c-underCV__item.-request:before {
    background-image: url(../img/common/deco-3.svg);
}

.c-underCV__item.-request:hover:before {
    background-image: url(../img/common/deco-6.svg);
}

.c-underCV__item.-request:after {
    background-image: url(../img/common/ico-arrow-white.svg);
}

.c-underCV__item.-request:hover:after {
    background-image: url(../img/common/ico-arrow-green.svg);
}

@media all and (min-width: 769px) {
    .c-underCV__item {
        padding: 55px 30px;
        display: flex;
        align-items: center;
    }
    
    .c-underCV__icon {
        width: 40px;
        height: 40px;
        margin-bottom: 0;
        margin-right: 20px;
        flex-shrink: 0;
    }
}

@media all and (min-width: 1025px) {
    .c-downloadPop__btnClose {
        content: "×";
    }
    .c-underCV {
        display: flex;
    }
    
    .c-underCV__item {
        width: calc(100% / 3);
        padding: 80px 40px;
    }
    
    .c-underCV__item:after {
        right: 40px;
    }
}

@media all and (min-width: 1441px) {
    .c-underCV__item {
        padding: 140px 60px;
    }
    
    .c-underCV__item:after {
        width: 30px;
        height: 30px;
        top: calc(50% - 15px);
        right: 60px;
    }
    
    .c-underCV__icon {
        width: 55px;
        height: 55px;
    }

    .c-underCV__en {
        font-size: 1.6rem;
    }
    
    .c-underCV__ja {
        font-size: 3.2rem;
    }
}

/*  footer
---------------------------------------- */
  /* ===== Footer ===== */
  .l-footer {
    text-align: center;
    padding: 30px 20px;
    /* background-color: #f4f4f4; */
    font-size: 12px;
  }
  
  .footer-links {
    margin-bottom: 10px;
  }
  
  .footer-links a {
    margin: 0 10px;
    text-decoration: none;
    color: #111;
  }

/* .l-footer {
    padding-bottom: 62px;
    position: relative;
    z-index: 4;
    background: var(--clrBkgSec);
}

.l-footer__inner {
    width: min(100%, 1080px);
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

.l-footer-content {
    padding: 45px 0 22px;
}

.l-footer-logo {
    position: relative;
    z-index: 1;
    text-align: center;
    font-size: 0;
}

.l-footer-logo a {
    padding: 10px;
    display: inline-block;
    transition: opacity ease 0.3s;
}

.l-footer-logo a:hover {
    opacity: 0.2;
}

.l-footer-logo img {
    width: auto;
    height: 44px;
    display: block;
}

.l-footer-content .c-telInfo {
    margin-top: 20px;
}

.l-footer-content .c-telInfo__number {
    font-size: 2rem;
}

.l-footer-content .c-telInfo__number img {
    width: 16px;
}

.l-footer-content .c-telInfo__time {
    font-size: 1.4rem;
}

.l-footer-nav {
    display: flex;
}

.l-footer-nav-list {
    padding-left: 50px;
}

.l-footer-nav-list__link {
    margin-left: -10px;
    padding: 5px 10px;
    display: inline-block;
    font-size: 1.4rem;
    font-weight: bold;
    transition: opacity ease 0.3s;
}

.l-footer-nav-list__link:hover {
    opacity: 0.2;
}

.l-footer-nav-list-child__link {
    padding: 5px;
    display: inline-block;
    font-size: 1.3rem;
    transition: opacity ease 0.3s;
}

.l-footer-nav-list-child__link:hover {
    opacity: 0.2;
}

.l-footer-sns {
    margin-top: 15px;
}

.l-footer-sns li {
    display: inline-block;
}

.l-footer-sns__link {
    margin-left: -7px;
    padding: 7px;
    display: block;
    transition: opacity ease 0.3s;
}

.l-footer-sns__link:hover {
    opacity: 0.2;
}

.l-footer-sns__link img {
    width: 24px;
}

.l-footer-under {
    padding: 18px 0;
    border-top: 1px solid var(--clrBdr);
}

.l-footer-subpages {
    display: flex;
}

.l-footer-subpages__item {
    font-size: 1.3rem;
}

.l-footer-subpages__item {
    margin-left: 8px;
    line-height: 1.3;
    font-size: 1.2rem;
    color: var(--clrTxtSec);
}

.l-footer-subpages__link {
    padding: 10px;
    display: inline-block;
    transition: opacity ease 0.3s;
}

.l-footer-subpages__link:hover {
    opacity: 0.2;
}

.l-footer__cr {
    text-align: center;
    line-height: 1.3;
    font-size: 1.2rem;
    color: var(--clrTxtSec);
} */

/* @media all and (min-width: 1025px) {
    .l-footer {
        padding-bottom: 0;
    }
    
    .l-footer-content {
        padding: 90px 0 50px;
    }
    
    .l-footer-content .l-footer__inner {
        display: flex;
        justify-content: space-between;
    }
    
    .l-footer-summary {
        flex-shrink: 0;
    }
    
    .l-footer-logo {
        text-align: left;
        margin-bottom: 110px;
    }
    
    .l-footer-logo a {
        margin-left: -10px;
        font-size: 2rem;
        text-decoration: none;
    }
    
    .l-footer-logo img {
        height: 40px;
    }
    
    .l-footer-content .c-telInfo {
        margin-top: 100px;
        text-align: left;
    }
    
    .l-footer-content .c-telInfo__number {
        font-size: 1.9rem;
    }

    .l-footer-nav-list {
        min-width: 180px;
    }
    
    .l-footer-under {
        padding-bottom: 36px;
    }
    
    .l-footer-under .l-footer__inner {
        display: flex;
        justify-content: space-between;
    }
    
    .l-footer__cr {
        margin-top: 12px;
        font-size: 1.1rem;
    }
} */

/* @media all and (min-width: 1441px) {
    .l-footer__inner {
        width: min(100%, 1320px);
    }
    
    .l-footer-logo img {
        height: 68px;
    }
    
    .l-footer-content .c-telInfo__number {
        font-size: 2rem;
    }
    
    .l-footer-nav-list__link {
        font-size: 1.5rem;
    }
    
    .l-footer-nav-list-child__link {
        font-size: 1.4rem;
    }

    .l-footer-subpages__item {
        font-size: 1.3rem;
    }
    
    .l-footer__cr {
        font-size: 1.2rem;
    }
} */


/**
 * Editor-area
 * ==========================================================================
 */


/**
 * Editor root
	font-size: 62.5%;
 */

.editor-area {
    margin: 0 auto;
	line-height: 1.6;
	font-size: 1.5rem;
	font-feature-settings: "pwid" 1;
    color: var(--clrTxt);
}

.editor-area.-case {
	line-height: 1.7;
	font-size: 1.6rem;
}

.editor-area > p {
    min-height: 1px;
	margin-top: 1.8em;
}

.editor-area > :first-child {
    margin-top: 0;
}


/**
 * Styles
 */

.editor-area h1,
.editor-area h2,
.editor-area h3,
.editor-area h4,
.editor-area h5,
.editor-area h6 {
    margin-top: 2.6em;
	line-height: 1.6;
	font-weight: bold;
}

.editor-area h1 {
    font-size: 2rem;
}

.editor-area:not(.-case) h2 {
    padding-bottom: 0.8em;
    padding-left: 0;
    position: relative;
    font-size: 1.8rem;
    border-bottom: 3px solid var(--clrBdr);
}

.editor-area.-case h2 {
    font-size: 2.3rem;
}

.editor-area:not(.-case) h2:before {
    content: "";
    width: 100px;
    position: absolute;
    bottom: -3px;
    left: 0;
    border-bottom: 3px solid var(--clrMain);
}

.editor-area h3 {
    padding-left: 1em;
    position: relative;
    font-size: 1.6rem;
    border-left: 3px solid var(--clrMain);
}

.editor-area h4,
.editor-area h5 {
    font-size: 1.4rem;
}

.editor-area a {
	text-decoration: underline;
    color: var(--clrMain);
}

.editor-area a:hover {
	text-decoration: none;
}

.editor-area strong {
	font-weight: bold;
}

.editor-area ul,
.editor-area ol {
	margin-top: 1.8em;
    padding-left: 0;
}

.editor-area ul li > *,
.editor-area ol li > * {
	margin-top: 0.6em;
}

.editor-area li:not(:first-child) {
	margin-top: 0.6em;
}

.editor-area ol {
    list-style-type: none;
}

.editor-area ol li {
    padding-left: 28px;
    position: relative;
}

.editor-area ol li:before {
    width: 32px;
    position: absolute;
    top: 0;
    right: calc(100% - 18px);
    text-align: right;
    font-weight: bold;
    color: var(--clrTxt);
}

.editor-area ol {
    counter-reset: ol-count 0;
}

.editor-area ol > li:before {
    content: counter(ol-count, decimal)'. ';
    counter-increment: ol-count 1;
}

.editor-area ul {
    list-style: none;
}

.editor-area ul li {
	padding-left: 1.1em;
	position: relative;
}

.editor-area ul li:before {
    content: "";
    width: 5px;
    height: 5px;
    display: inline-block;
    position: absolute;
    top: 0.65em;
    left: 0.2em;
    background: var(--clrTxt);
}

.editor-area table {
	width: 100%;
	margin: 1.8em auto;
    clear: both;
	text-align: left;
    table-layout: auto;
}

.editor-area table th,
.editor-area table td {
	padding: 18px 20px;
	text-align: left;
	vertical-align: top;
    border: 1px solid var(--clrBdr);
}

.editor-area table th {
    min-width: 200px;
    vertical-align: middle;
    background: var(--clrBkgTer);
}

.editor-area table td > *:first-child {
    margin-top: 0;
}

.editor-area blockquote {
	margin: 1.6em auto;
	padding: 40px 15px;
	position: relative;
	z-index: 1;
	clear: both;
    border-top: 1px solid var(--clrBdr);
    border-bottom: 1px solid var(--clrBdr);
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	quotes: none;
}

.editor-area blockquote:before,
.editor-area blockquote:after {
	position: absolute;
	line-height: 1;
	font-size: 400%;
	font-weight: bold;
	font-family: "Times New Roman", serif;
	color: #aaa;
}

.editor-area blockquote:before {
	content: "“";
	top: 0;
	left: 0;
}

.editor-area blockquote:after {
	content: "”";
	bottom: -0.3em;
	right: 0;
}

.editor-area hr {
	margin: 1.6em auto;
    border-bottom: 1px solid var(--clrBdr);
}

.editor-area embed,
.editor-area iframe,
.editor-area object,
.editor-area video {
	width: 100%;
	max-width: 100%;
	margin: 1.6em auto;
	display: block;
}

.editor-area img {
	margin: 0.8em auto;
    vertical-align: middle;
}

.editor-area .alignright,
.editor-area .alignleft,
.editor-area .aligncenter,
.editor-area .alignnone {
	width: auto !important;
	max-width: 100%;
}

.editor-area .alignright img,
.editor-area .alignleft img,
.editor-area .aligncenter img,
.editor-area .alignnone img,
.editor-area .alignright figcaption,
.editor-area .alignleft figcaption,
.editor-area .aligncenter figcaption,
.editor-area .alignnone figcaption {
	margin: 0 auto;
}

.editor-area .alignright {
	margin: 5px 0 10px 25px;
	float: right;
}

.editor-area .alignleft {
	margin: 5px 25px 10px 0;
	float: left;
}

.editor-area .alignnone {
	margin: 0.8em auto;
}

.editor-area .aligncenter {
	margin: 0.8em auto;
	display: block;
}

.editor-area .aligncenter img {
	margin: 0.8em auto;
	display: block;
}

.editor-area .wp-caption-text {
	margin-bottom: 0.8em;
	line-height: 1.4;
	font-size: 0.9em;
}

.editor-area .box {
	margin-top: 1.8em;
    padding: 26px 30px;
    background: var(--clrBkgSec);
}

.editor-area .box p:not(:first-child) {
    margin-top: 0.6em;
}

.editor-area .note {
    padding-left: 2.2em;
    position: relative;
    font-size: 1.4rem;
    color: var(--clrTxtSec);
}

.editor-area .note + .note {
    margin-top: 0.8em;
}

.editor-area .note .rice_symbol {
    position: absolute;
    top: 0;
    left: 0;
}

.editor-area .button {
    max-width: 260px;
    margin-top: 1.8em;
    padding: 16px 20px 16px 52px;
    display: block;
    position: relative;
    text-decoration: none;
    line-height: 1.6;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
    background: var(--clrTxt);
    transition: opacity ease 0.3s;
}

.editor-area .button:hover {
    opacity: 0.2;
}

.editor-area .button:before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    top: calc(50% - 10px);
    left: 20px;
    background: url(../img/common/ico-document-white.svg) no-repeat center;
    background-size: contain;
}

.editor-area .case_label {
    padding-left: 60px;
    margin-top: 3.6em;
    position: relative;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--clrMain);
}

.editor-area .case_label:before {
    content: "";
    width: 50px;
    height: 2px;
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    background: var(--clrMain);
}

.editor-area .case_label p {
    margin-top: 0;
}

.editor-area .case_label + * {
    margin-top: 0.4em;
}

@media all and (max-width: 768px) {
    .editor-area .scroll {
        width: 100%;
        overflow: scroll;
    }
    .editor-area table {
        width: 800px !important;
    }
    /* .editor-area table,
    .editor-area table tbody,
    .editor-area table thead,
    .editor-area tr,
    .editor-area table th,
    .editor-area table td {
        width: 100%;
        display: block;
    }
    
    .editor-area table th,
    .editor-area table td {
        border-bottom: none;
    }
    
    .editor-area table tr:last-child > :last-child {
        border-bottom: 1px solid var(--clrBdr);
    } */
}

@media all and (min-width: 769px) {
    .editor-area table th {
        width: 260px;
    }
}

@media all and (min-width: 1025px) {
    .editor-area .box {
        padding: 46px 50px;
    }
    
    .editor-area .button {
        max-width: 340px;
    }
}

@media all and (min-width: 1441px) {
    .editor-area {
        font-size: 1.6rem;
    }
    
    .editor-area h1 {
        font-size: 3rem;
    }
    
    .editor-area:not(.-case) h2,
    .editor-area.-case h2 {
        font-size: 2.6rem;
    }
    
    .editor-area h3 {
        font-size: 2rem;
    }
    
    .editor-area h4,
    .editor-area h5 {
        font-size: 1.6rem;
    }
    
    .editor-area .case_label {
        font-size: 1.6rem;
    }
}
