* {
    color: #000;
}
a:hover {
    opacity: 0.7;
    transition: .2s;
}
body {
    overflow-x: unset;
}
.header {
    background: #fff;
    border-radius: 50px;
    box-shadow: 0 2px 5px rgb(139 139 139 / 30%);
    margin: 0 auto;
    padding: 10px 10px 6px;
    position: absolute;
    top: 10px;
    right: 0;
    left: 0;
    width: 95%;
    max-width: 410px;
    z-index: 11;
}
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.header-contact {
    margin: 0 10px 0 0;
}
.header-panel {
    background: #1A1A1A;
    display: none;
    height: 100%;
    margin: auto;
    overflow-y: auto;
    position: fixed;
    top: 0;
    right: 375px;
    width: 100%;
    max-width: 430px;
}
@media screen and (max-width: 1261px) {
    .header-panel {
        right: calc((100% - 430px)/2);;
    }
}
@media screen and (max-width: 1200px) {
    .header-panel {
        right: 375px;
    }
}
@media screen and (max-width: 820px) {
    .header-panel {
        right: inherit;
        left: 0px;
    }
}
@media screen and (max-width: 768px) {
    .header-panel {
        left: 0;
        right: 0;
    }
}
.header-panel__inner {
    margin: 0 auto;
    padding: 20px 0;
    width: 95%;
}
.header-panel__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 25px;
    padding: 0;
}
@media screen and (max-width: 446px) {
    .header-panel__head {
        padding: 0 10px;
    }
}
.header-panel__list {
    margin: 0;
    padding: 0;
}
.header-panel__list li {
    border-bottom: 1px solid #454545;
    list-style: none;
    margin: 0 0 15px;
    padding: 0 10px 15px;
}
.header-panel__list li a {
    color: #fff;
    display: block;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    text-decoration: none;
}
.header-panel__list li a::after {
    background: url(../images/arrow-r.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 8px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    width: 12px;
}
.header-panel__contact {
    padding: 0 10px;
}
/* .line-btn {
    background: #fff;
    border: 3px solid #06C755;
    border-radius: 8px;
    color: #06C755;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 19px;
    font-weight: bold;
    margin: 25px 0 15px;
    padding: 10px;
    position: relative;
    text-decoration: none;
    width: 100%;
}
.line-btn:hover {
    color: #06C755;
    text-decoration: none;
}
.line-btn::before {
    background: url(../images/line.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 43px;
    margin-right: 15px;
    width: 45px;
}
.line-btn::after {
    content: "▶︎";
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
} */
.tel {
    display: block;
    text-align: center;
}
.header-panel__btn {
    display: none;
}
@media screen and (max-width: 1250px) {
    .header-panel__btn {
        display: block;
    }
    .header {
        max-width: 430px;
    }
}
@media screen and (max-width: 768px) {
    .header {
        position: fixed;
    }
}
@media screen and (max-width: 430px) {
    .header {
        position: fixed;
    }
}
/* main visual */
.main-visual {
    background: #E80012;
    padding: 120px 0 55px;
}
.main-visual__inner {
    margin: 0 auto;
    max-width: 430px;
}
.main-visual__image {
    padding: 0 8px;
    text-align: center;
}
.main-visual__text {
    padding: 10px 20px 0;
}
.visual-ttl {
    margin: 35px 0 20px;
    text-align: center;
}
.main-visual__list li {
    list-style: none;
}
.main-visual__list li:not(:last-child) {
    margin: 0 0 15px;
}
.main-visual__list {
    background: #FFEFEF;
    border-radius: 9px;
    margin: 0;
    padding: 20px;
}
.main-visual__list li::before {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 20px;
    margin: 0 10px 0 0;
    position: relative;
    top: 5px;
    width: 72px;
}
.main-visual__list li:first-child::before {
    background-image: url(../images/mv-ttl1.svg);
}
.main-visual__list li:nth-child(2)::before {
    background-image: url(../images/mv-ttl2.svg);
}
.main-visual__list li:last-child::before {
    background-image: url(../images/mv-ttl3.svg);
}
.main-visual__list li p {
    background: linear-gradient(transparent 60%, #FABDBF 60%);
    color: #000;
    display: inline-block;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 18px;
    font-weight: bold;
    margin: 0;
}
/* worries */
.worries {
    background: #E80012;
    padding: 0 0 75px;
}
@media screen and (min-width: 768px) {
    .worries {
        border: 1px solid #f0f0f0;
        border-top: 0;
        border-bottom: 0;
    }
}
.worries-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: 430px;
}
.worries-header {
    margin: 0 0 25px;
    text-align: center;
}
.worries-header h2 {
    background: url(../images/worries-ttl-border.svg) repeat-x;
    background-position: bottom;
    background-size: contain;
    display: inline-block;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 22px;
    font-weight: bold;
    margin: 0;
    padding: 0 0 10px;
    width: 100%;
}
@media screen and (max-width: 400px) {
    .worries-header h2 {
        font-size: 18px;
    }
}
@media screen and (max-width: 345px) {
    .worries-header h2 {
        font-size: 15px;
    }
}
.worries-list__item {
    border-bottom: 2px dotted #E5E5E5;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 10px 15px;
}
.worries-list__item:not(:last-child) {
    margin: 0 0 15px;
}
.worries-list__item dt {
    margin: 0 0 10px;
    width: 64px;
}
.worries-list__item dd {
    margin-left: 15px;
    width: calc(100% - 79px);
}
.worries-list__item p {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 15px;
    margin: 0;
}
/* contact */
.contact {
    background: #FFEA6B;
}
.contact-inner {
    margin: 0 auto;
    padding: 20px;
    width: 100%;
    max-width: 430px;
}
.contact-header {
    margin: 0 0 10px;
}
.contact-header h2 {
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    margin: 0;
}
.contact-header h2::before,
.contact-header h2::after {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 21px;
    width: 19px;
}
.contact-header h2::before {
    background-image: url(../images/contact-ttl-left.svg);
    margin-right: 8px;
}
.contact-header h2::after {
    background-image: url(../images/contact-ttl-right.svg);
    margin-left: 8px;
}
.contact-header h2 span {
    color: #fff;
    font-size: 25px;
    font-weight: bold;
}
.contact-body {
    text-align: center;
}

/* common */
.contents-header {
    margin: 0 0 25px;
    text-align: center;
}
.contents-header p {
    color: #000000;
    font-size: 32px;
    font-weight: 500;
    line-height: 1em;
    margin: 0 0 5px;
}
.contents-header h2 {
    color: #000000;
    font-size: 15px;
    font-weight: 500;
    margin: 0;
}

/* merit */
.merit {
    background: #E80012;
    padding: 80px 0;
}
.merit-inner {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: 430px;
}
.contents-body.merit-body {
    border-radius: 8px;
    padding: 20px 0;
}
.merit-list__item {
    padding: 0 0 20px;
}
.merit-list__item:not(:last-child) {
    margin: 0 0 20px;
    padding: 0 0 20px;
}
.merit-list__item dt {
    margin: 0 0 10px;
    padding-right: 20px;
    text-align: center;
}
.merit-list__item dt p {
    color: #000;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 15px;
    font-weight: bold;
    margin: 0;
}
.merit-list__item dt p span {
    color: #E71A21;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 22px;
    font-weight: bold;
}
.merit-list__item dd {
    padding: 0 20px;
}
.merit-list__item dd p {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}

/* strength */
.strength {
    background: #E80012;
    padding: 0 0 80px;
}
@media screen and (min-width: 768px) {
    .strength {
        border: 1px solid #f0f0f0;
        border-top: 0;
        border-bottom: 0;
    }
}
.strength-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 430px;
}
.strength-item:not(:last-child) {
    margin: 0 0 35px;
}
.strength-item:first-child .strength-item__image {
    text-align: right;
}
.strength-item:nth-child(2) .strength-item__image {
    text-align: left;
}
.strength-item:last-child .strength-item__image {
    text-align: right;
}
.strength-item__image img {
    width: calc(100% - 20px);
}
.strength-item__text {
    margin: 15px 0 0;
    padding: 0 20px;
}
.strength-item__text h2::before {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    content: "";
    display: block;
    height: 11px;
    margin: 0 0 8px;
    width: 100%;
}
.strength-item:first-child .strength-item__text h2::before {
    background-image: url(../images/strength-catch1.svg);
}
.strength-item:nth-child(2) .strength-item__text h2::before {
    background-image: url(../images/strength-catch2.svg);
}
.strength-item:last-child .strength-item__text h2::before {
    background-image: url(../images/strength-catch3.svg);
}
.strength-item__text h2 {
    color: #FFEA6B;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 23px;
    font-weight: bold;
    line-height: 1.8;
    margin: 0 0 15px;
}
.strength-item__text p {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.8;
}
/* which */
.which {
    background: #F0F0F0;
    padding: 80px 0;
    position: relative;
}
.which-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 430px;
}
.which::before {
    background: #000;
    content: "";
    display: block;
    height: 5px;
    position: absolute;
    left: 0;
    top: 5px;
    width: 100%;
}
.which-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}
.which-inner .contents-header {
    margin: 0;
}
.which-inner h2 {
    font-size: 16px;
    font-weight: bold;
    margin: 20px 0 0;
}
.which-inner .contents-header h2 span {
    color: #E71A21;
    font-size: 16px;
    margin: 0 5px;
}
@media screen and (max-width: 340px) {
    .which-inner h2 {
        font-size: 14px;
    }
    .which-inner .contents-header h2 span {
        font-size: 14px;
    }
}
.which-inner .contents-header strong {
    color: #000000;
    display: block;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 22px;
    font-weight: bold;
    margin: 8px 0 0;
    text-align: center;
}
.which-inner .contents-header .notice {
    color: #000;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
    margin: 15px 0 0;
}
.which-table {
    margin: 0 0 15px;
    text-align: center;
}
.which-notice p {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 11px;
    font-weight: normal;
}
.which-notice p:not(:last-child) {
    margin: 0 0 10px;
}
.which-notice p::before {
    font-size: 11px;
    font-weight: normal;
    margin-right: 5px;
}
.which-notice p:first-child::before {
    content: "※1";
}
.which-notice p:nth-child(2)::before {
    content: "※2";
}
.which-notice p:last-child::before {
    content: "※3";
}

/* appearance */
.appearance {
    margin-top: -80px;
    padding-top: 80px;
}
@media screen and (min-width: 768px) {
    .appearance {
        border: 1px solid #f0f0f0;
        border-top: 0;
        border-bottom: 0;
    }
}
.appearance-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 430px;
}
.appearance-table {
    padding-left: 20px;
}
.appearance-table__inner {
    margin: 0 0 10px;
    overflow-y: auto;
    padding-right: 20px;
    text-align: center;
    width: 100%
}
.appearance-table__inner img {
    width: 500px;
    max-width: none;
}
.appearance-table p {
    display: none;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 12px;
    font-weight: normal;
}
.appearance-table p::after {
    background: url(../images/arrow.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 8px;
    margin: 0 0 0 10px;
    width: 12px;
}
@media screen and (max-width: 564px) {
    .appearance-table p {
        display: block;
    }
}
/* point */
.point {
    background: #E80012;
    padding: 80px 0;
}
@media screen and (min-width: 768px) {
    .point {
        border: 1px solid #f0f0f0;
        border-top: 0;
        border-bottom: 0;
    }
}
.point-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: 430px;
}
.point-item:not(:last-child) {
    margin: 0 0 35px;
}
/* voice */
.voice {
    background: #F0F0F0;
    padding: 80px 0;
}
.voice-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: 430px;
}
.voice-item img {
    width: 100%;
    max-width: none;
}
@media screen and (max-width: 415px) {
    .voice-text {
        font-size: 12px;
    }
    .voice-text span {
        font-size: 18px;
    }
}
@media screen and (max-width: 345px) {
    .voice-text {
        font-size: 11px;
    }
    .voice-text span {
        font-size: 15px;
    }
}
.voice-item:not(:last-child) {
    margin: 0 0 35px;
}

/* flow */
.flow {
    background: #E80012;
    padding: 80px 0;
}
@media screen and (min-width: 768px) {
    .flow {
        border: 1px solid #f0f0f0;
        border-top: 0;
        border-bottom: 0;
    }
}
.flow-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: 430px;
}
.contents-body {
    padding: 25px 0 0;
}
.flow-list {
    position: relative;
}
.flow-list::before {
    background: #fff;
    content: "";
    display: block;
    height: 85%;
    position: absolute;
    left: 34px;
    top: 5%;
    width: 2px;
    z-index: 1;
}
.flow-list__item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    z-index: 2;
}
.flow-list__item:not(:last-child) {
    border-bottom: 2px dotted #E5E5E5;
    margin: 0 0 25px;
    padding: 0 0 25px;
}
.flow-list__item dt {
    height: 72px;
    margin: 0 20px 0 0;
    width: 70px;
}
.flow-list__item dd {
    width: calc(100% - 100px);
}
.flow-list__item dd h3 {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 15px;
}
.flow-list__item dd p {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 15px;
    font-weight: normal;
    margin: 0;
}

/* faq */
.faq {
    background: #F0F0F0;
    padding: 80px 0;
}
.faq-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: 430px;
}
.faq-list__item {
    border-radius: 8px;
    padding: 0;
}
.faq-list__item:not(:last-child) {
    margin: 0 0 15px;
}
.faq-list__item dt,
.faq-list__item dd {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.faq-list__item dt {
    background: #fff;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.16);
    border-radius: 0 15px 0 0;
    cursor: pointer;
    margin: 0 0 5px;
    padding: 15px;
    position: relative;
}
.faq-list__item p {
    color: #000;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 15px;
    margin: 0;
    width: calc(100% - 40px);
}
.faq-list__icon {
    height: 30px;
    margin-right: 10px;
    width: 30px;
}
.faq-list__item dt p {
    font-weight: bold;
    padding-right: 50px;
}
.faq-list__item dt::after {
    background: url(../images/arrow-d.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 6px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    width: 11px;
}
.faq-list__item dt.active::after {
    transform: rotateX(180deg);
}
.faq-list__item dd {
    background: #fff;
    border-radius: 0 0 15px 0;
    padding: 15px;
}

.footer {
    background: #333333;
    padding: 80px 0;
}
.footer-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: 430px;
}

.footer-logo {
    margin: 0 0 20px;
    text-align: center;
}
.footer-logo p {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px;
}
.footer-info {
    margin: 0 0 35px;
}
.footer-info__item {
    border-bottom: 2px dotted #454545;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 10px;
    padding: 0 0 10px;
}
.footer-info__item dt,
.footer-info__item dd {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 15px;
}
.footer-info__item dt {
    font-weight: bold;
    width: 30%;
}
.footer-info__item dd {
    width: 70%;
}
.map h2 {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px;
    text-align: center;
}
.map p {
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    margin: 0 0 25px;
}
.map img {
    display: block;
    margin: 0 auto;
    width: 80%;
}
/* copyright */
.copyright {
    background: #E80012;
    padding: 2px 0;
    text-align: center;
}
.copyright p {
    color: #000;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 10px;
    font-weight: 500;
    margin: 0;
}

/* floating */
.floating-btn {
    margin: auto;
    padding: 0 20px;
    position: fixed;
    bottom: 2%;
    right: 375px;
    width: 100%;
    max-width: 430px;
    z-index: 10;
}
/* .floating-btn a {
    background: #fff;
    border: 3px solid #06C755;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgb(139 139 139 / 30%);
    color: #06C755;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    font-weight: bold;
    margin: 0 auto;
    padding: 14px 0;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 100%;
}
.floating-btn a::before {
    background: url(../images/line.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 30px;
    margin-right: 10px;
    width: 25px;
}
.floating-btn a::after {
    background: url(../images/line-arrow.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    height: 19px;
    margin: auto;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    width: 19px;
} */
@media screen and (min-width: 1262px) {
    /* floating */
    .floating-btn {
        display: none !important;
    }
}
@media screen and (max-width: 1261px) {
    /* floating */
    .floating-btn {
        display: block;
        right: calc((100% - 430px)/2);;
    }
    .floating-btn a img {
        width: 100%;
        max-width: none;
    }
}
@media screen and (max-width: 1200px) {
    .floating-btn {
        right: 375px;
    }
}
@media screen and (max-width: 820px) {
    .floating-btn {
        right: inherit;
        left: 0px;
    }
}
@media screen and (max-width: 768px) {
    .floating-btn {
        left: 0;
        right: 0;
    }
}
@media screen and (max-width: 470px) {
    .floating-btn a {
        justify-content: center;
    }
    .floating-btn a::before {
        margin-right: 5px;
    }
    .floating-btn a::after {
        right: 5px;
    }
}