@charset "UTF-8";
/* --------------------
 Service - Aoiro
-------------------- */
main {
    font-weight: 500;
    letter-spacing: 0.1em;
}

img {
    height: auto;
}

.aoiro {
    --color-aoiro:#223b97;
}

.com-sub-menu {
    background-color: var(--color-aoiro);
    margin: 0;
    padding: 0;
    position: sticky;
    top: 70px;
    width: 100%;
    z-index: 98;
}

@media (min-width: 992px) {
    .com-sub-menu {
        margin: 0;
        padding: 0;
        top: 90px;
    }
}

.com-sub-menu-container {
    margin: 0;
    padding: 0 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .com-sub-menu-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 1060px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.com-sub-menu__list {
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-box-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-pack: center;
    gap: 12px 0;
    justify-content: center;
    padding: 12px 0;
}

@media (min-width: 768px) {
    .com-sub-menu__list {
        -ms-flex-flow: nowrap;
            flex-flow: nowrap;
    }
}

.com-sub-menu__list__item {
    border-right: 1px solid #fff;
    font-size: 1.2rem;
    line-height: 1;
    padding: 0 20px;
    text-align: center;
    width: auto;
}

@media (min-width: 992px) {
    .com-sub-menu__list__item {
        font-size: 1.6rem;
        line-height: 1.2;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.com-sub-menu__list__item:last-child {
    border-right: none;
}

.com-sub-menu__list__item__link {
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-box-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-pack: center;
    font-size: inherit;
    font-weight: 700;
    justify-content: center;
    letter-spacing: .2em;
    line-height: 1.2;
    text-align: center;
    -webkit-transition: opacity .2s cubic-bezier(.645, .045, .355, 1) 0s;
            transition: opacity .2s cubic-bezier(.645, .045, .355, 1) 0s;
}

@media (min-width: 768px) {
    .com-sub-menu__list__item__link {
        letter-spacing: .4em;
    }
}

@media (min-width: 992px) {
    .com-sub-menu__list__item__link {
        letter-spacing: .6em;
    }
}

.com-sub-menu__list__item__link:after {
    content: '';
}

@media (min-width: 768px) {
    .com-sub-menu__list__item__link:after {
        margin-right: -.6em;
    }
}

.com-sub-menu__list__item__link span {
    color: #fff;
    display: block;
}

.com-sub-menu__list__item__link:focus {
    opacity: .75;
}

@media (hover: hover) and (pointer: fine) {
    .com-sub-menu__list__item__link:hover {
        opacity: .75;
    }
}

/* --------------------
  Hero
-------------------- */

@media (min-width: 768px) {
    .aoiro__hero {
        height: 600px;
    }
}

@media (min-width: 1240px) {
    .aoiro__hero {
        height: 830px;
    }
}

.aoiro__hero__slider {
    height: 100%;
    position: relative;
}

.aoiro__hero__slider__item {
      height: 100%;
      position: relative;
}

.aoiro__hero__slider__item img {
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.aoiro__hero__slider .slick-list {
    height: 100%;
}

.aoiro__hero__slider .slick-track {
    align-items: stretch;
    display: flex;
    flex-flow: row nowrap;
    height: 100%;
    justify-content: flex-start;
}

.aoiro__hero__slider .slick-track:after {
    display: none;
}

.aoiro__hero__slider .slick-slide {
    float: none;
}

.aoiro__hero__slider .slick-slide img {
    display: inline;
}


@media (min-width: 2100px) {
    .aoiro__hero__slider__item.first {
        background: #e9f6ff;
    }
    .aoiro__hero__slider__item__image {
        display: block;
        margin: 0 auto;
        width: 2100px;
    }
}

.aoiro__hero__slider__item__message {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 2;
    margin: 0 auto 15px;
    padding-left: 30px;
    position: relative;
    width: fit-content;
}

@media (min-width: 768px) {
    .aoiro__hero__slider__item__message {
        margin: auto;
        position: absolute;
    }

    .aoiro__hero__slider__item.first .aoiro__hero__slider__item__message {
        inset: 60px 66% auto auto;
    }

    .aoiro__hero__slider__item.second .aoiro__hero__slider__item__message {
        inset: auto 0 40px 0;
    }
}

@media (min-width: 1240px) {
    .aoiro__hero__slider__item__message {
        font-size: 2.6rem;
    }
    .aoiro__hero__slider__item.first .aoiro__hero__slider__item__message {
        inset: 110px 60% auto auto;;
    }
}


.aoiro__hero__slider__item__message::before {
    background: url(../../images/icons/icon-plus-yellow.svg) no-repeat center / contain;
    content: '';
    height: 30px;
    left: -10px;
    position: absolute;
    top: 0;
    width: 30px;
}

@media (min-width: 768px) {
    .aoiro__hero__slider__item.second .aoiro__hero__slider__item__message::before {
        top: 10px;
    }
}

@media (min-width: 1240px) {
    .aoiro__hero__slider__item.first .aoiro__hero__slider__item__message::before {
        top: 10px;
    }
    .aoiro__hero__slider__item.second .aoiro__hero__slider__item__message::before {
        top: 20px;
    }
}

.aoiro__hero__slider__item__message span {
    background: linear-gradient(transparent 0, transparent 75%, #ffd300 75%, #ffd300 85%, transparent 85%);
    margin-right: 5px;
    padding: 10px 0;
    position: relative;
}

.aoiro__hero__slider__item__message span::before {
    background: #fff;
    content: '';
    display: inline-block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.aoiro__hero__slider__item__message em {
    color: #223b97;
    font-size: 2.3rem;
    font-style:normal;
}

@media (min-width: 1240px) {
    .aoiro__hero__slider__item__message em {
        font-size: 3.3rem;
    }
}

/* --------------------
  Feature
-------------------- */

.aoiro__overview {
    background: rgba(226, 227, 227, 0.48);
    padding: 30px 15px;
}

.aoiro__overview__feature {
    margin: 0 auto;
    width: min(1200px, 100%);
}

.aoiro__overview__feature__title {
    height: 48px;
    text-align: center;
}

@media (min-width: 768px) {
    .aoiro__overview__feature__title {
        height: 60px;
    }
}

.aoiro__overview__feature__title img {
    height: 100%;
}

@media (min-width: 768px) {
    .aoiro__overview__feature__intro {
        align-items: center;
        display: flex;
        gap: min(5vw, 50px);
        justify-content: center;
        margin-bottom: 90px;
    }
}

.aoiro__overview__feature__intro__image {
    margin: 0 auto 60px;
    position: relative;
    width: min(60%, 400px);
}

@media (min-width: 768px) {
    .aoiro__overview__feature__intro__image {
        margin: 0;
        flex-shrink: 0;
        width: min(50vw, 547px);
    }
}

.aoiro__overview__feature__intro__image__sp {
    inset: auto auto -40px -15px;
    margin: auto;
    position: absolute;
    width: 200px;
}

@media (min-width: 768px) {
    .aoiro__overview__feature__intro__image__sp {
        width: 405px;
        inset: auto auto -100px -140px;
    }
}

@media (min-width: 1240px) {
    .aoiro__overview__feature__intro__body {
        padding-right: 100px;
    } 
}

.aoiro__overview__feature__intro__body__message {
    display: inline;
    font-size: min(2rem, 5vw);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 2;
    word-break: keep-all;
}

@media (min-width: 768px) {
    .aoiro__overview__feature__intro__body__message {
        font-size: 2.6rem;
        line-height: 2.2;
    }
}

.aoiro__overview__feature__intro__body__desc {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 1.8;
}

@media (min-width: 768px) {
    .aoiro__overview__feature__intro__body__desc {
        font-size: 1.6rem;
        line-height: 2.2;
    }
}

.aoiro__overview__feature__message {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 2;
    text-align: center;
    word-break: keep-all;
}

@media (min-width: 768px) {
    .aoiro__overview__feature__message {
        font-size: 2.6rem;
        letter-spacing: 0.2em;
        line-height: 2.2;
    }
}

.aoiro__overview__feature__message__text {
    background: #ffffff;
    padding: 0.2em;
}

.aoiro__overview__feature__message__text--blue {
    color: #223b8f;
}

.aoiro__overview__feature__message__text--skyblue {
    color: #0781d9;
    font-style: normal;
}

.aoiro__overview__feature__issue {
    display: block;
    margin: 0 auto min(60px, 10vw);
    width: min(766px, 100%);
}

/* --------------------
  Product
-------------------- */

.aoiro__overview__product {
    background: #fff;
    clip-path: polygon(0 0, 40% 0, 50% calc(0% + 30px), 60% 0, 100% 0, 100% 100%, 0 100%);
    margin: 0 auto;
    padding: 40px 15px 30px;
    width: min(1200px, 100%);
}

@media (min-width: 768px) {
    .aoiro__overview__product {
        clip-path: polygon(0 0, calc(50% - 130px) 0, 50% calc(0% + 60px), calc(50% + 130px) 0, 100% 0, 100% 100%, 0 100%);
        padding-top: 100px;
        margin-bottom: 100px;
    }
}

.aoiro__overview__product__title {
    height: 48px;
    margin: 0 auto 1em;
    text-align: center;
}

@media (min-width: 768px) {
    .aoiro__overview__product__title {
        height: 60px;
    }
}

.aoiro__overview__product__title img {
    height: 100%;
}

.aoiro__overview__product__intro {
    margin: 0 auto 60px;
    width: min(400px, 100%);
}

@media (min-width: 768px) {
    .aoiro__overview__product__intro {
        align-items: center;
        display: flex;
        gap: min(5vw, 50px);
        justify-content: center;
        width: min(867px, 100%);
    }
}

@media (min-width: 768px) {
    .aoiro__overview__product__intro__image {
        flex-shrink: 0;
        width: 50%;
    }
}

.aoiro__overview__feature {
    padding: 0 0 60px;
}

.aoiro__overview__feature__intro__action {
    width: 100%;
}

.aoiro__overview__feature__intro__action a {
    align-items: center;
    background: var(--color-aoiro);
    color: #fff;
    display: flex;
    font-weight: 700;
    height: 40px;
    justify-content: center;
    margin: 10px auto;
}

.aoiro__overview__feature__intro__action a::after {
    content: " >>";
}

.aoiro__overview__feature__intro__action a:hover {
    opacity: 0.8;
}

.aoiro__overview__product__main {
    margin: 0 auto;
    width: min(1000px, 100%);
}

@media (min-width: 768px) {
    .aoiro__overview__product__main {
        align-items: center;
        display: flex;
        justify-content: center;
        margin-bottom: 50px;
    }
}

.aoiro__overview__product__figure__capture {
    display: block;
    margin: 0 auto;
    width: min(100%, 200px);
}

@media (min-width: 768px) {
    .aoiro__overview__product__figure__capture {
        text-align: right;
        width: min(50%, 437px);
    }
}

.aoiro__overview__product__figure__body {
    display: grid;
    gap: 1em 0.5em;
    margin: 10px auto;
    place-items: center;
    width: min(400px, 100%);
}

@media (min-width: 768px) {
    .aoiro__overview__product__figure__body {
        flex-shrink: 0;
        width: min(560px, 56%);
    }
}

.aoiro__overview__product__figure__body__list {
    display: flex;
    gap: min(10px, 1vw);
    justify-content: center;
}

.aoiro__overview__product__figure__body__list img {
    width: min(116px, 30%);
}

.aoiro__overview__product__note {
    background: #ffd300;
    color: #4472bb;
    line-height: 1.6;
    margin: 0 auto;
    padding: 1em;
    width:min(1000px, 100%);
}

@media (min-width: 768px) {
    .aoiro__overview__product__note {
        font-size: 1.6rem;
    }
}

@media (min-width: 992px) {
    .aoiro__overview__product__note {
        text-align: center;
    }
}

/* --------------------
  Trouble
-------------------- */


.aoiro__trouble {
    margin: 0 0 90px;
    padding: 40px 0 0;
    position: relative;
}

@media (min-width: 768px) {
    .aoiro__trouble {
        padding-top: 80px;
    }
}

@media (min-width: 992px) {
    .aoiro__trouble {
        padding-top: 100px;
    }
}

.aoiro__trouble:before {
    background-image: url(../images/pages/eccube/eccube-overview-title-deco-1.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px 16.32px;
    bottom: 0;
    content: '';
    height: 17px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 12px;
}

@media (min-width: 768px) {
    .aoiro__trouble:before {
        background-size: 20px 27.2px;
        height: 28px;
        width: 20px;
    }
}

@media (min-width: 992px) {
    .aoiro__trouble:before {
        background-size: 25px 34px;
        height: 34px;
        width: 25px;
    }
}

.aoiro__trouble-container {
    margin: 0;
    padding: 0 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .aoiro__trouble-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 1060px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.aoiro__trouble__title {
    align-items: flex-end;
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
    gap: 1em;
    justify-content: center;
    margin: -60px auto 30px;
}

@media (min-width: 768px) {
    .aoiro__trouble__title {
        font-size: 3rem;
        margin: -160px auto 60px;
    }
}

.aoiro__trouble__title::before {
    aspect-ratio: 156/198;
    background: url(../../images/pages/service/aoiro/aoiro-trouble-character.svg) no-repeat bottom / contain;
    content: "";
    display: block;
    width: min(100px, 20vw);
}

@media (min-width: 768px) {
    .aoiro__trouble__title::before {
        width: 156px;
    }
}

.aoiro__trouble__message {
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 2;
    margin: 0 auto 30px;
    padding: 0 30px;
    position: relative;
    text-align: center;
    word-break: keep-all;
}

@media (min-width: 768px) {
    .aoiro__trouble__message {
        font-size: 2.2rem;
    }
}

.aoiro__trouble__message:before {
    aspect-ratio: 64/82;
    background: url(../../images/pages/service/aoiro/aoiro-trouble-slash-before.svg) no-repeat center / contain;
    content: '';
    inset: auto auto 0 0;
    margin: 0;
    position: absolute;
    width: min(10vw,50px);
}

.aoiro__trouble__message:after {
    aspect-ratio: 64/82;
    background: url(../../images/pages/service/aoiro/aoiro-trouble-slash-after.svg) no-repeat center / contain;
    content: '';
    inset: auto 0 0 auto;
    margin: 0;
    position: absolute;
    width: min(10vw,50px);
}

@media (min-width: 992px) {
    .aoiro__trouble__message:before, .aoiro__trouble__message:after {
        bottom: 10px;
    }
}

.aoiro__trouble__content {
    margin: 0 auto 40px;
    max-width: 540px;
}

@media (min-width: 768px) {
    .aoiro__trouble__content {
        margin-bottom: 60px;
    }
}

.aoiro__trouble__content p {
    font-size: 1.4rem;
    letter-spacing: .1em;
    line-height: 2.2;
    margin: 0 0 1.5em;
}

@media (min-width: 768px) {
    .aoiro__trouble__content p {
        font-size: 1.6rem;
    }
}

.aoiro__trouble__content p:last-child {
    margin-bottom: 0;
}

.aoiro__trouble__list {
    align-items: flex-end;
    -webkit-box-align: end;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-box-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-pack: justify;
    gap: 0 10px;
    justify-content: space-between;
    margin: 0 auto 40px;
}

@media (min-width: 768px) {
    .aoiro__trouble__list {
        -webkit-column-gap: 20px;
           -moz-column-gap: 20px;
                column-gap: 20px;
        margin-bottom: 80px;
    }
}

.aoiro__trouble__detail {
    -webkit-filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, .3));
            filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, .3));
    margin: 0 auto;
    max-width: 860px;
    padding: 30px 20px;
    position: relative;
}

@media (min-width: 768px) {
    .aoiro__trouble__detail {
        padding: 60px 30px;
    }
}

.aoiro__trouble__detail:before {
    background-color: #ffffff;
    bottom: 0;
    -webkit-clip-path: polygon(25px 0, 100% 0, 100% calc(100% - 25px), calc(100% - 25px) 100%, 0 100%, 0 25px);
            clip-path: polygon(25px 0, 100% 0, 100% calc(100% - 25px), calc(100% - 25px) 100%, 0 100%, 0 25px);
    content: '';
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
}

@media (min-width: 768px) {
    .aoiro__trouble__detail:before {
        -webkit-clip-path: polygon(45px 0, 100% 0, 100% calc(100% - 45px), calc(100% - 45px) 100%, 0 100%, 0 45px);
                clip-path: polygon(45px 0, 100% 0, 100% calc(100% - 45px), calc(100% - 45px) 100%, 0 100%, 0 45px);
    }
}

.aoiro__trouble__detail-inner {
    margin: 0 auto;
    max-width: 700px;
    position: relative;
    z-index: 1;
}

.aoiro__trouble__detail__title {
    font-size: 2.0rem;
    letter-spacing: .2em;
    margin: 0 0 20px;
    text-align: center;
}

@media (min-width: 768px) {
    .aoiro__trouble__detail__title {
        font-size: 2.4rem;
    }
}

@media (min-width: 992px) {
    .aoiro__trouble__detail__title {
        font-size: 2.4rem;
    }
}

.aoiro__trouble__detail__content {
    margin: 0 auto 50px;
    max-width: 560px;
}

.aoiro__trouble__detail__content p {
    font-size: 1.4rem;
    letter-spacing: .1em;
    line-height: 2.0;
    margin: 0 0 1.5em;
}

@media (min-width: 768px) {
    .aoiro__trouble__detail__content p {
        font-size: 1.6rem;
    }
}

@media (min-width: 992px) {
    .aoiro__trouble__detail__content p {
        font-size: 1.7rem;
    }
}

.aoiro__trouble__detail__content p:last-child {
    margin-bottom: 0;
}

.aoiro__trouble__detail__fig {
    margin: 0 0 20px;
    text-align: center;
}

.aoiro__trouble__detail__note {
    margin: 0 auto;
    max-width: 660px;
}

.aoiro__trouble__detail__note p {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 2.0;
    margin: 0 0 1.5em;
    text-align: right;
}

@media (min-width: 768px) {
    .aoiro__trouble__detail__note p {
        font-size: 1.4rem;
        letter-spacing: .1em;
    }
}

.aoiro__trouble__detail__note p:last-child {
    margin-bottom: 0;
}

/* --------------------
  CMS
-------------------- */

.aoiro__cms {
    background: #daf4ff;
    clip-path: polygon(0 0, 40% 0, 50% calc(0% + 30px), 60% 0, 100% 0, 100% 100%, 0 100%);
    font-family: 'Noto Sans JP', sans-serif;
    padding: 60px 15px 40px;
}

@media (min-width: 768px) {
    .aoiro__cms {
        clip-path: polygon(0 0, calc(50% - 130px) 0, 50% calc(0% + 60px), calc(50% + 130px) 0, 100% 0, 100% 100%, 0 100%);
    }
}

.aoiro__cms-container {
    position: relative;
    width: 100%;
}

.aoiro__cms-container::before {
    background: #ffffff;
    border-radius: 50%;
    content: '';
    height: min(510px, 80vw);
    inset: 0px 0 auto 0;
    margin: auto;
    position: absolute;
    width: min(510px, 80vw);
    z-index: -1;
}

@media (min-width: 768px) {
    .aoiro__cms-container {
      margin: 0 auto;
      max-width: 860px;
      padding: 60px 0;
    }
    .aoiro__cms-container::before {
        height: min(510px, 50vw);
        inset: 30px 0 auto 0;
        width: min(510px, 50vw);
    }
}

.aoiro__cms__head {
    align-items: center;
    display: flex;
    flex-flow: column;
    font-size: 1.4rem;
    margin: 0 auto 30px;
}

@media (min-width: 768px) {
    .aoiro__cms__head {
      font-size: 1.8rem;
    }
}

.aoiro__cms__main {
    text-align: center;
}

.aoiro__cms__main__catch {
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.2;
    text-align: center;
}

.aoiro__cms__main__catch em {
    color: #fb4600;
    font-size: 4rem;
    font-style: normal;
}

.aoiro__cms__main__catch span {
    color: #2c96d0;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0;
}

@media (min-width: 768px) {
    .aoiro__cms__main__catch {
      font-size: 4rem;
    }
    .aoiro__cms__main__catch em {
      font-size: 6rem;
    }
    .aoiro__cms__main__catch span {
      font-size: 1.6rem;
    }
}

.aoiro__cms__main__list {
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(3, 1fr);
    margin: 10px auto 20px;
    padding: 0;
    width: min(400px, 100%);
}

@media (min-width: 768px) {
    .aoiro__cms__main__list {
        gap: 40px;
        margin: 30px auto 40px;
        width: 100%;
    }
}

.aoiro__cms__main__list__item {
    align-items: center;
    aspect-ratio: 1;
    background: #2c96d0;
    border-radius: 50%;
    box-shadow: 0 8px 0 0 #c5e2f2;
    display: flex;
    flex-flow: column;
    gap: 1vw;
    justify-content: center;
    max-width: 100%;
    padding: 15px 0;
}

.aoiro__cms__main__list__item_head {
    align-items: center;
    color: #fff;
    display: flex;
    flex-flow: column;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}

@media (max-width: 767px) {
    .aoiro__cms__main__list .aoiro__cms__main__list__item:nth-child(3) .aoiro__cms__main__list__item_head {
        font-size: 1.2rem;
    }
}

.aoiro__cms__main__list__item_head em {
    color: #feed00;
    font-style: normal;
}

.aoiro__cms__main__list__item_head span {
    font-size: 0.8rem;
}

@media (min-width: 768px) {
    .aoiro__cms__main__list__item_head {
      font-size: 3rem;
    }
    .aoiro__cms__main__list__item_head span {
      font-size: 1.6rem;
    }
}

.aoiro__cms__main__list__item img {
    max-height: 30px;
    max-width: 30px;
}

@media (min-width: 768px) {
    .aoiro__cms__main__list__item img {
      max-height: none;
      max-width: none;
    }
}

.aoiro__cms__main_subcatch {
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-align: center;
}

@media (min-width: 768px) {
    .aoiro__cms__main_subcatch {
      font-size: 3rem;
    }
}

.aoiro__cms__main_sublist {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 20px auto;
    padding: 0;
}

@media (min-width: 768px) {
    .aoiro__cms__main_sublist {
      flex-wrap: nowrap;
      gap: 15px;
      margin: 30px auto;
    }
}

.aoiro__cms__main_sublist_item {
    align-items: center;
    background: #fff;
    border: 3px solid #2c96d0;
    border-radius: 16px;
    display: flex;
    flex-flow: column;
    gap: 5px;
    height: 140px;
    justify-content: center;
    width: calc(50% - 5px);
}

@media (min-width: 768px) {
    .aoiro__cms__main_sublist_item {
      gap: 10px;
      height: 170px;
      width: 170px;
    }
}

.aoiro__cms__main_sublist_item_head {
    color: #2c96d0;
    font-size: 1.4rem;
    margin: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .aoiro__cms__main_sublist_item_head {
      font-size: 1.6rem;
    }
    .aoiro__cms__main_sublist_item_head span {
      font-size: 1.2rem;
    }
}

.aoiro__cms__main_sublist .aoiro__cms__main_sublist_item:nth-child(2) .aoiro__cms__main_sublist_item_head {
    line-height: 1.4;
}

.aoiro__cms__main_note {
    color: #2c96d0;
    margin: 0 auto;
    max-width: 700px;
    padding: 0;
    text-align: left;
}

.aoiro__cms__main_note li {
    list-style: none;
    padding-left: 2em;
    text-indent: -2em;
}

.aoiro__cms__security {
    background: #ffffff;
    border: 3px solid #2c96d0;
    margin: 40px auto 0;
    width: min(794px, 100%);
}

.aoiro__cms__security-container {
    margin: -32px auto 0;
    padding: 5px 15px 40px;
    width: 100%;
}

.aoiro__cms__security h3 {
    align-items: flex-end;
    background-color: #fff;
    border: 2px solid #2c96d0;
    display: flex;
    font-size: 1.8rem;
    font-size: 1.4rem;
    justify-content: center;
    letter-spacing: 0.1em;
    margin: 0 auto 30px;
    margin-left: 0;
    padding: 10px;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}

.aoiro__cms__security h3 span {
    color: #2c96d0;
    font-size: 2.6rem;
    line-height: 1.5;
    margin: 0 2px;
}

.aoiro__cms__security h3 img {
    height: 40px;
    margin: -5px 5px -3px;
}

@media (min-width: 768px) {
    .aoiro__cms__security h3 {
      font-size: 3rem;
      padding: 10px 50px;
      width: -moz-fit-content;
      width: fit-content;
    }
    .aoiro__cms__security h3 span {
      font-size: 4rem;
      margin: 0 5px;
    }
    .aoiro__cms__security h3 img {
      height: auto;
      margin: -5px 10px -3px;
    }
}

.aoiro__cms__security h3 span {
    font-size: 2rem;
}

.aoiro__cms__security h3:before {
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: solid 20px #2c96d0;
    bottom: -20px;
    content: "";
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
}

.aoiro__cms__security h3:after {
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: solid 20px #fff;
    bottom: -17px;
    content: "";
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
}

@media (min-width: 768px) {
    .aoiro__cms__security h3 {
      font-size: 2.2rem;
    }
    .aoiro__cms__security h3 span {
      font-size: 3rem;
    }
}

.aoiro__cms__security_main {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

@media (min-width: 768px) {
    .aoiro__cms__security_main {
      gap: 30px;
    }
}

.aoiro__cms__security_main p {
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0;
}

@media (min-width: 768px) {
    .aoiro__cms__security_main p {
      font-size: 1.6rem;
    }
}

.aoiro__cms__security_main img {
    width: min(20%,58px );
}

.aoiro__price {
    background: #fff;
    color: #000000;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 40px 15px;
}
@media (min-width: 768px) {
    .aoiro__price {
      padding: 60px 15px;
    }
}

.aoiro__price-container {
    margin: 0 auto;
    width: min(900px, 100%);
}

.aoiro__price__head {
    align-items: flex-end;
    display: flex;
    font-size: 1.8rem;
    justify-content: center;
    letter-spacing: 0.1em;
    margin: 0 auto 30px;
    padding: 10px 10px 15px;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}

.aoiro__price__head img {
    height: 40px;
    margin: 0 0.4em 0.2em 0;
}

@media (min-width: 768px) {
    .aoiro__price__head {
      font-size: 3rem;
      padding: 10px 50px 15px;
      width: -moz-fit-content;
      width: fit-content;
    }
    .aoiro__price__head img {
      height: auto;
    }
}

.aoiro__price__list {
    display: flex;
    flex-flow: column;
    gap: 12px;
}

@media (min-width: 768px) {
    .aoiro__price__list {
        display: grid;
        grid-template-columns: min(600px,60vw) 1fr;
    }
}

.aoiro__price__list__title {
    background: #2c96d0;
    color: #fff;
    display: block;
    font-size: 2rem;
    font-weight: 700;
    line-height: 40px;
    margin: 0 0 4px;
    padding: 10px;
    text-align: center
}

@media (min-width: 768px) {
    .aoiro__price__list__title {
      font-size: 2.2rem;
    }
}

.aoiro__price__list__title span {
    font-size: 0.8em;
}

.aoiro__price__list__main .aoiro__price__list__body {
    display: grid;
    gap: 4px;
    grid-template-columns: max(200px,60%) 1fr;
    margin: 0;
}

.aoiro__price__list__body dt, .aoiro__price__list__body dd {
    align-items: center;
    background: #dcf2fc;
    display:flex;
    justify-content: center;
    margin: 0;
    padding: 10px;
    position:relative;
}

@media (min-width: 992px) {
    .aoiro__price__list__body dt, .aoiro__price__list__body dd {
      font-size: 2rem;
    }
}

.aoiro__price__list__body dd {
    font-size: 1.6rem;
}

@media (min-width: 992px) {
    .aoiro__price__list__body dd {
        font-size: 3rem;
    }
}

.aoiro__price__list__body dt.aoiro__price__list__body__item--yellow, .aoiro__price__list__body dd.aoiro__price__list__body__item--yellow {
    background: #ffff3f;
    border: 2px solid #fec800;
}

.aoiro__price__list__body dd.aoiro__price__list__body__item--yellow {
    color: #fb4600;
}

.aoiro__price__list__body dd {
    color: #2c96d0;
    font-weight: 900;
}

.aoiro__price__list__sub {
    align-items: stretch;
    display: flex;
    flex-flow: column;
    margin: 0;
}

.aoiro__price__list__sub dd {
    align-items: center;
    background: #dcf2fc;
    color: #2c96d0;
    display:flex;
    flex: 1;
    font-size: 2rem;
    font-weight: 900;
    justify-content: center;
    margin: 0;
    padding: 10px;
    position:relative;
}

@media (min-width: 992px) {
    .aoiro__price__list__sub dd {
      font-size: 3rem;
    }
}

.aoiro__price__list__sub__note-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.aoiro__price__list__sub__note {
    color: #000;
    font-weight: 400;
    font-size: 1.4rem;
    position: absolute;
    inset: auto 0 0 auto;
    margin: auto;
}

@media (min-width: 992px) {
    .aoiro__price__list__sub__note {
      font-size: 1.6rem;
    }
}

.aoiro__price__list__body__item-container {
    align-items: center;
    display: flex;
    flex-flow: column;
}

@media (min-width: 768px) {
    .aoiro__price__list__body__item-container {
      flex-flow: row;
      gap: 5px;
    }
}

.aoiro__price__list__body__item__label {
    color: #fb4600;
    flex-shrink: 0;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.2;
}

@media (min-width: 992px) {
    .aoiro__price__list__body__item__label {
      font-size: 3rem;
    }
}

.aoiro__price__list__body__item__link {
    color: #000000;
    font-weight: 900;
    margin-right: 3px;
    text-decoration: underline;
}

.aoiro__price__main__cost {
    display: flex;
    flex-flow: column;
    gap: 4px;
    justify-content: space-between;
}

@media (min-width: 768px) {
    .aoiro__price__main__cost {
      flex-flow: row;
    }
}

.aoiro__price__main__cost table {
    border-collapse: collapse;
}

.aoiro__price__main__cost thead th {
    background: #2c96d0;
    border: 4px solid #fff;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 10px;
}

.aoiro__price__main__cost th span {
    font-size: 1.2rem;
}

@media (min-width: 768px) {
    .aoiro__price__main__cost th {
      font-size: 2.2rem;
      padding: 20px;
    }
    .aoiro__price__main__cost th span {
      font-size: 1.8rem;
    }
}

.aoiro__price__main__cost tbody td, .aoiro__price__main__cost tbody th {
    background: #dcf2fc;
    border: 4px solid #fff;
    font-size: 1.4rem;
    text-align: center;
}

.aoiro__price__main__cost td a {
    font-weight: 900;
    text-decoration: underline;
}

.aoiro__price__main__cost td span {
    color: #2c96d0;
    font-weight: 900;
}

.aoiro__price__main__cost td em {
    color: #2c96d0;
    font-size: 2rem;
    font-weight: 900;
}

@media (min-width: 768px) {
    .aoiro__price__main__cost td {
      font-size: 2rem;
    }
    .aoiro__price__main__cost td em {
      font-size: 3rem;
    }
}

@media (min-width: 768px) {
    .aoiro__price__main__cost-init {
      width: 550px;
    }
}

.aoiro__price__main__cost--yellow {
    background: #ffff3f;
    border: 2px solid #fec800;
}

.aoiro__price__main__cost--yellow span {
    color: #fb4600;
}

.aoiro__price__main__cost--yellow em {
    color: #fb4600;
}

.aoiro__price__main__cost-month {
    border-spacing: 4px;
    position: relative;
    width: 100%;
}

.aoiro__price__main__cost-month th {
    background: #2c96d0;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 10px;
}

.aoiro__price__main__cost-month th span {
    font-size: 1.2rem;
}

@media (min-width: 768px) {
    .aoiro__price__main__cost-month th {
      font-size: 2.2rem;
      padding: 20px;
    }
    .aoiro__price__main__cost-month th span {
      font-size: 1.8rem;
    }
}

.aoiro__price__main__cost-month td {
    background: #dcf2fc;
    font-size: 1.4rem;
    padding: 10px;
    text-align: center;
}

.aoiro__price__main__cost-month td a {
    font-weight: 900;
    text-decoration: underline;
}

.aoiro__price__main__cost-month td span {
    color: #2c96d0;
    font-weight: 900;
}

.aoiro__price__main__cost-month td em {
    color: #2c96d0;
    font-size: 2rem;
    font-weight: 900;
}

@media (min-width: 768px) {
    .aoiro__price__main__cost-month td {
      font-size: 2rem;
      padding: 24px;
    }
    .aoiro__price__main__cost-month td em {
      font-size: 3rem;
    }
}

@media (min-width: 768px) {
    .aoiro__price__main__cost-month {
      width: 280px;
    }
}

.aoiro__price__main__cost-month td {
    height: 100%;
}

.aoiro__price__main__cost-month caption {
    bottom: 16px;
    position: absolute;
    right: 24px;
}

.aoiro__price__note {
    color: #2c96d0;
    margin: 1em 0;
}

/* --------------------
  Service
-------------------- */

.aoiro__service {
    background: rgba(226, 227, 227, 0.48);
    padding: 60px 0;
}

@media (min-width: 768px) {
    .aoiro__service {
        padding-bottom: 100px;
        padding-top: 100px;
    }
}

.aoiro__service__title {
    font-size: 1.0;
    margin: 0 0 15px;
    text-align: center;
}

.aoiro__service__subtitle {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .3em;
    margin: 0 0 40px;
    text-align: center;
}

@media (min-width: 768px) {
    .aoiro__service__subtitle {
        font-size: 1.6rem;
    }
}

.aoiro__service__main {
    margin: 0 -15px;
}

@media (min-width: 768px) {
    .aoiro__service__main {
        align-items: stretch;
        -webkit-box-align: stretch;
        -webkit-box-direction: normal;
        -webkit-box-orient: horizontal;
        -webkit-box-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: stretch;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.aoiro__service__slider {
    position: relative;
    z-index: 2;
}

.aoiro__service__slider__item {
    transform: translateZ(0);
}

.aoiro__service__slider__item__link {
    transition: opacity .35s cubic-bezier(.645, .045, .355, 1) 0s;
}

.aoiro__service__slider__item__link:focus {
    opacity: .6;
}

@media (hover: hover) and (pointer: fine) {
    .aoiro__service__slider__item__link:hover {
        opacity: .6;
    }
}

.aoiro__service__slider__item img {
    -webkit-filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .3));
            filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .3));
    height: auto;
    transform: translateZ(0);
}

.aoiro__service__slider .swiper-wrapper {
    padding: 0 0 5px;
}

.aoiro__service__slider .swiper-slide {
    width: auto;
}

.aoiro__service__slider .swiper .swiper-button-prev, .aoiro__service__slider .swiper .swiper-button-next {
    height: 42px;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);
    transition: opacity .35s cubic-bezier(.645, .045, .355, 1) 0s;
    width: 42px;
}

.aoiro__service__slider .swiper .swiper-button-prev:after, .aoiro__service__slider .swiper .swiper-button-next:after {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 42px 42px;
    bottom: 0;
    content: "";
    display: block;
    height: 42px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 42px;
}

.aoiro__service__slider .swiper .swiper-button-prev:focus, .aoiro__service__slider .swiper .swiper-button-next:focus {
    opacity: .7;
}

@media (hover: hover) and (pointer: fine) {
    .aoiro__service__slider .swiper .swiper-button-prev:hover, .aoiro__service__slider .swiper .swiper-button-next:hover {
        opacity: .7;
    }
}

.aoiro__service__slider .swiper .swiper-button-prev:after {
    background-image: url(../images/icons/icon-circle-gray-angle-left-white.svg);
}

.aoiro__service__slider .swiper .swiper-button-next:after {
    background-image: url(../images/icons/icon-circle-gray-angle-right-white.svg);
}

.aoiro__service__slider .swiper-pagination {
    align-items: center;
    bottom: -40px;
    /* display: none; */
    flex-flow: row nowrap;
    gap: 0 20px;
    justify-content: center;
}

.aoiro__service__slider .swiper-pagination .swiper-pagination-bullet {
    background-color: #a8adb6;
    border-radius: 50%;
    /* display: block; */
    height: 8px;
    margin: 0 5px;
    opacity: 1;
    padding: 0;
    width: 8px;
}

.aoiro__service__slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #364156;
}

.aoiro__service__main__item {
    margin: 10px 15px 80px;
    position: relative;
    width: calc(100% - 30px);
}

.aoiro__service__main__item:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .aoiro__service__main__item {
        margin: 10px 0 10px;
        padding: 0;
        width: 360px;
    }
}

.aoiro__service__main__item-1 {
    background-color: #ee8fa5;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-2 {
    background-color: #178ec7;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-3 {
    background-color: #ff9900;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-4 {
    background-color: #099088;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-5 {
    background-color: #33abff;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-6 {
    background-color: #ff5f9b;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-7 {
    background-color: #33abff;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-8 {
    background-color: #6bb96c;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-9 {
    background-color: #5dc6be;
    border-bottom: 20px solid #ffe000;
    height: 100%;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 0;
}

.aoiro__service__main__item-inner {
    margin: 0 auto;
    /* max-width: 290px; */
    position: relative;
}

@media (min-width: 768px) {
    .aoiro__service__main__item-inner {
        max-width: none;
    }
}

.aoiro__service__main__item__title {
    color: #ffffff;
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: .2em;
    margin: 0;
    text-align: center;
}

.aoiro__service__main__item__thumb {
    margin: 0;
    text-align: center;
}

.aoiro__service__main__item__desc {
    color: #ffffff;
    font-size: 1.8rem;
    line-height: 1.4em;
    margin: 0 0 10px;
    text-align: center;
}

@media (min-width: 768px) {
    .aoiro__service__main__item__desc {
        font-size: 2.0rem;
    }
}

.aoiro__service__main__item__button {
    font-size: 1.6rem;
    text-align: center;
}

.aoiro__service__main__item__button__action {
    background-color: #ffffff;
    border: 1px solid #ffffff;
    display: block;
    font-weight: 800;
    height: 30px;
    line-height: 30px;
    margin: 0 auto;
    width: 80%;
}

@media (min-width: 768px) {
    .aoiro__service__main__item__button__action {
        width: 80%;
    }
}

.aoiro__service__main__item-1 .aoiro__service__main__item__button__action {
    color: #ee8fa5;
}

.aoiro__service__main__item-2 .aoiro__service__main__item__button__action {
    color: #178ec7;
}

.aoiro__service__main__item-3 .aoiro__service__main__item__button__action {
    color: #ff9900;
}

.aoiro__service__main__item-4 .aoiro__service__main__item__button__action {
    color: #099088;
}

.aoiro__service__main__item-5 .aoiro__service__main__item__button__action {
    color: #33abff;
}

.aoiro__service__main__item-6 .aoiro__service__main__item__button__action {
    color: #ff5f9b;
}

.aoiro__service__main__item-7 .aoiro__service__main__item__button__action {
    color: #33abff;
}

.aoiro__service__main__item-8 .aoiro__service__main__item__button__action {
    color: #6bb96c;
}

.aoiro__service__main__item-9 .aoiro__service__main__item__button__action {
    color: #5dc6be;
}

.aoiro__service__main__item-1, .aoiro__service__main__item-2, .aoiro__service__main__item-3, .aoiro__service__main__item-4, .aoiro__service__main__item-5, .aoiro__service__main__item-6, .aoiro__service__main__item-7, .aoiro__service__main__item-8, .aoiro__service__main__item-9 {
    transition:box-shadow 0.3s, transform 0.3s;
}

.aoiro__service__main__item-1:hover, .aoiro__service__main__item-1:focus, .aoiro__service__main__item-2:hover, .aoiro__service__main__item-2:focus, .aoiro__service__main__item-3:hover, .aoiro__service__main__item-3:focus, .aoiro__service__main__item-4:hover, .aoiro__service__main__item-4:focus, .aoiro__service__main__item-5:hover, .aoiro__service__main__item-5:focus, .aoiro__service__main__item-6:hover, .aoiro__service__main__item-6:focus, .aoiro__service__main__item-7:hover, .aoiro__service__main__item-7:focus, .aoiro__service__main__item-8:hover, .aoiro__service__main__item-8:focus, .aoiro__service__main__item-9:hover, .aoiro__service__main__item-9:focus {
    box-shadow:0 2px 5px rgba(0, 0, 0, 0.3);
    transform:scale(1.02);
}

.aoiro__service__slider__thumb {
    display: flex;
    gap: 6px;
    margin: 0 auto;
    padding: 0 15px 6px;
    width: min(390px,100%);
}

@media (min-width: 768px) {
    .aoiro__service__slider__thumb {
        display: none;
    }
}

.aoiro__service__slider__thumb__item.is-active {
    outline: 3px solid #808080;
    outline-offset: -3px;
}

.aoiro__service__slider__thumb__item picture img {
    height: auto;
}