@charset "UTF-8";
/* ==============================================================================================
 Normalize
================================================================================================= */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15;
}

body {
    margin: 0;
}

h1 {
    margin: .67em 0;
    font-size: 2em;
}

hr {
    overflow: visible;
    box-sizing: content-box;
    height: 0;
}

pre {
    font-size: 1em;
    font-family: monospace, monospace;
}

a {
    background-color: transparent;
}

abbr[title] {
    text-decoration: underline;
    text-decoration: underline dotted;
    -webkit-text-decoration: underline dotted;
    border-bottom: none;
}

b, strong {
    font-weight: bolder;
}

code, kbd, samp {
    font-size: 1em;
    font-family: monospace, monospace;
}

small {
    font-size: 80%;
}

sub, sup {
    position: relative;
    font-size: 75%;
    vertical-align: baseline;
    line-height: 0;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

img {
    border-style: none;
}

button, input, optgroup, select, textarea {
    margin: 0;
    font-size: 100%;
    font-family: inherit;
    line-height: 1.15;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: .35em .75em .625em;
}

legend {
    display: table;
    box-sizing: border-box;
    max-width: 100%;
    padding: 0;
    color: inherit;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type="checkbox"], [type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}

/* ==============================================================================================
 Base
================================================================================================= */
:root {
    font-size: 10px;
}

body {
    overflow-wrap: break-word;
    min-width: 320px;
    font-size: 1.6rem;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
    color: #000;
    line-height: 1.85;
    word-wrap: break-word;
    background: #fff;
}

*, *::before, *::after {
    box-sizing: border-box;
}

main {
    display: block;
}

ul, ol {
    list-style-type: none;
}

a {
    color: #000;
    text-decoration: underline;
}

em {
    font-style: normal;
}

strong {
    font-weight: bold;
}

sup {
    font-size: 1.2rem;
}

i {
    font-style: italic;
}

img {
    display: block;
    max-width: 100%;
}

p, ul, ol, dl, dt, dd, table, h1, h2, h3, h4, h5, h6, blockquote, form {
    margin: 0;
    padding: 0;
}

dfn, cite {
    font-style: normal;
}

small {
    font-size: 80%;
}

table {
    width: 100%;
    border-collapse: collapse;
}

input, select, button, textarea {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
}

input[type="reset"], input[type="image"], input[type="submit"], input[type="button"], button {
    cursor: pointer;
}

button {
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: 0;
}

/* ==============================================================================================
 Structure
================================================================================================= */
/*----------------------------------------
 Footer
----------------------------------------*/
#footer .footer-inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 24px 10px 10px;
}

#footer .footer-inner p, #footer .footer-inner a {
    font-size: 1.2rem;
    color: #595757;
}

#footer .footer-inner p small, #footer .footer-inner a small {
    font-size: 1.2rem;
}

@media only screen and (min-width: 761px), print {
    #footer .footer-inner {
        padding-bottom: 24px;
    }
    #footer .footer-inner p, #footer .footer-inner a {
        font-size: 1.4rem;
    }
    #footer .footer-inner p small, #footer .footer-inner a small {
        font-size: 1.4rem;
    }
}

/*----------------------------------------
 .section
----------------------------------------*/
/*
 * .section-cv
** -------------------------------------*/
.section-cv-a {
    box-shadow: 0 1px 20px 0 rgba(64, 64, 64, .3);
}

.section-cv-a .section-inner {
    padding: 0 10px;
}

.section-cv-b {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}

.section-cv-b .section-inner {
    padding: 0 10px;
}

.section-cv-c {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}

.section-cv-c .section-inner {
    padding: 0 10px;
}

@media only screen and (min-width: 761px), print {
    .section-cv-c {
        border: none;
    }
    .section-cv-c .section-inner {
        position: relative;
    }
    .section-cv-c .section-inner::before {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        width: calc(100% - 20px);
        max-width: 800px;
        height: 1px;
        margin: auto;
        background: #bfbfbf;
        content: "";
    }
}

/*
 * .section-index
** -------------------------------------*/
.section-index-a {
    position: relative;
    overflow: hidden;
    box-shadow: 0 -20px 20px -6px #fff inset;
}

.section-index-a::before, .section-index-a::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: "";
}

.section-index-a::before {
    bottom: -380px;
    left: -400px;
    width: 524px;
    height: 742px;
    background: url(/images/bg-sec-02.png) left bottom no-repeat;
}

.section-index-a::after {
    right: -400px;
    bottom: 0;
    width: 481px;
    height: 556px;
    background: url(/images/bg-sec-03.png) right bottom no-repeat;
}

.section-index-a .section-inner {
    max-width: 1198px;
    margin: 0 auto;
    padding: 20px 10px 0;
}

@media only screen and (min-width: 761px), print {
    .section-index-a::before {
        bottom: 0;
        left: -200px;
        width: 43.73956vw;
        background-size: 43.73956vw;
    }
    .section-index-a::after {
        right: -200px;
        width: 40.15025vw;
        background-size: 40.15025vw;
    }
    .section-index-a .section-inner {
        padding-top: 40px;
    }
}

@media only screen and (min-width: 1198px), print {
    .section-index-a::before {
        left: 50%;
        width: 524px;
        margin-left: -780px;
        background-size: 100%;
    }
    .section-index-a::after {
        right: 50%;
        width: 481px;
        margin-right: -800px;
        background-size: 100%;
    }
}

@media only screen and (min-width: 1560px), print {
    .section-index-a::before {
        left: 0;
        margin-left: auto;
    }
}

@media only screen and (min-width: 1600px), print {
    .section-index-a::after {
        right: 0;
        margin-right: auto;
    }
}

.section-index-b {
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 20px -6px #fff inset;
}

.section-index-b::before {
    position: absolute;
    top: 0;
    right: -195px;
    bottom: 0;
    z-index: -1;
    display: block;
    width: 345px;
    height: 507px;
    margin: auto;
    background: url(/images/bg-sec-04.png) right center no-repeat;
    background-size: 345px 507px;
    content: "";
}

.section-index-b .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 8px 10px 15px;
}

@media only screen and (min-width: 761px), print {
    .section-index-b::before {
        top: -15px;
        bottom: auto;
        width: 549px;
        height: 806px;
        background-position: right top;
        background-size: auto;
    }
    .section-index-b .section-inner {
        padding-top: 55px;
        padding-bottom: 55px;
    }
}

@media only screen and (min-width: 1198px), print {
    .section-index-b::before {
        right: 50%;
        margin-right: -762px;
    }
}

@media only screen and (min-width: 1523px), print {
    .section-index-b::before {
        right: 0;
        margin-right: auto;
    }
}

.section-index-c {
    overflow: hidden;
    background: -webkit-linear-gradient(left, #940612 0, #d92330 15%, #d92330 85%, #940612 100%);
    background: linear-gradient(90deg, #940612 0, #d92330 15%, #d92330 85%, #940612 100%);
}

.section-index-c .section-inner {
    position: relative;
    max-width: 992px;
    margin: 0 auto;
    padding: 33px 10px 10px;
}

.section-index-c .section-inner::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    border-width: 22.5px 22px 0 22px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    content: "";
}

@media only screen and (min-width: 761px), print {
    .section-index-c .section-inner {
        padding-top: 75px;
        padding-bottom: 48px;
    }
    .section-index-c .section-inner::before {
        border-width: 45px 44px 0 44px;
    }
}

.section-index-d .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 15px 10px 20px;
}

@media only screen and (min-width: 761px), print {
    .section-index-d .section-inner {
        padding-top: 40px;
        padding-bottom: 45px;
    }
}

.section-index-e {
    overflow: hidden;
}

.section-index-e .section-outer {
    position: relative;
}

.section-index-e .section-outer .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 0 10px;
}

.section-index-e .section-outer._point1 {
    margin: -3.75vw 0 0;
    padding: 3.75vw 0 3.75vw;
    background: #fff2e3;
    -webkit-transform: skewY(4deg);
    transform: skewY(4deg);
}

.section-index-e .section-outer._point1::before {
    position: absolute;
    top: 10px;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background: url(/images/bg-sec-05.png) center top no-repeat;
    background-size: 155%;
    content: "";
    -webkit-transform: skewY(-4deg) translateX(-50%);
    transform: skewY(-4deg) translateX(-50%);
}

.section-index-e .section-outer._point1 .section-inner {
    padding-top: 7px;
    padding-bottom: 15px;
    -webkit-transform: skewY(-4deg);
    transform: skewY(-4deg);
}

.section-index-e .section-outer._point2 {
    overflow: hidden;
    margin: 0 0 -3.75vw;
    padding: 3.75vw 0 3.75vw;
    background: #fff;
    -webkit-transform: skewY(4deg);
    transform: skewY(4deg);
}

.section-index-e .section-outer._point2::before {
    position: absolute;
    top: -3.75vw;
    bottom: 0;
    display: block;
    width: calc(100% + 3.75vw);
    height: calc(100% + 3.75vw);
    margin: auto;
    background: url(/images/bg-sec-06.png) left center no-repeat;
    background-size: auto calc(100% + 3.75vw);
    content: "";
    -webkit-transform: skewY(-4deg);
    transform: skewY(-4deg);
}

.section-index-e .section-outer._point2 .section-inner {
    padding-bottom: 13px;
    -webkit-transform: skewY(-4deg);
    transform: skewY(-4deg);
}

@media only screen and (min-width: 761px), print {
    .section-index-e .section-outer._point1 {
        background: -webkit-linear-gradient(top, #fffbf6 0, #fff1e2 100%);
        background: linear-gradient(to bottom, #fffbf6 0, #fff1e2 100%);
    }
    .section-index-e .section-outer._point1::before {
        top: -35px;
        width: 1432px;
        height: 601px;
        background-position-y: center;
        background-size: 100%;
    }
    .section-index-e .section-outer._point1 .section-inner {
        padding-top: 26px;
    }
    .section-index-e .section-outer._point2 .section-inner {
        padding-bottom: 42px;
    }
}

@media only screen and (min-width: 1432px), print {
    .section-index-e .section-outer._point1::before {
        width: 100%;
        height: calc(100% + 3.75vw);
    }
}

.section-index-f {
    background: -webkit-linear-gradient(left, #940612 0, #d92330 30%, #d92330 70%, #940612 100%);
    background: linear-gradient(90deg, #940612 0, #d92330 30%, #d92330 70%, #940612 100%);
}

.section-index-f .section-inner {
    position: relative;
    max-width: 992px;
    margin: 0 auto;
    padding: 30px 10px 0;
}

@media only screen and (min-width: 761px), print {
    .section-index-f .section-inner {
        padding-top: 0;
    }
}

.section-index-g .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 15px 10px;
}

@media only screen and (min-width: 761px), print {
    .section-index-g .section-inner {
        padding-top: 47px;
        padding-bottom: 50px;
    }
}

.section-index-h {
    overflow: hidden;
}

.section-index-h .section-outer {
    position: relative;
}

.section-index-h .section-outer .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 0 10px;
}

.section-index-h .section-outer._point1 {
    margin: -3.75vw 0 0;
    padding: 3.75vw 0 3.75vw;
    -webkit-transform: skewY(4deg);
    transform: skewY(4deg);
}

.section-index-h .section-outer._point1::before {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background: url(/images/bg-sec-07.jpg) center no-repeat;
    background-size: cover;
    content: "";
    -webkit-transform: skewY(-4deg);
    transform: skewY(-4deg);
}

.section-index-h .section-outer._point1 .section-inner {
    padding-top: 7px;
    padding-bottom: 15px;
    -webkit-transform: skewY(-4deg);
    transform: skewY(-4deg);
}

.section-index-h .section-outer._point2 {
    overflow: hidden;
    margin: 0 0 -3.75vw;
    padding: 3.75vw 0 3.75vw;
    background: #fff;
    -webkit-transform: skewY(4deg);
    transform: skewY(4deg);
}

.section-index-h .section-outer._point2 .section-inner {
    padding-bottom: 26px;
    -webkit-transform: skewY(-4deg);
    transform: skewY(-4deg);
}

.section-index-h .section-outer._point3 {
    overflow: hidden;
    margin: 0 0 -3.75vw;
    padding: 3.75vw 0 3.75vw;
    -webkit-transform: skewY(-4deg);
    transform: skewY(-4deg);
}

.section-index-h .section-outer._point3::before, .section-index-h .section-outer._point3::after {
    position: absolute;
    top: -3.75vw;
    z-index: -1;
    display: block;
    content: "";
    -webkit-transform: skewY(4deg);
    transform: skewY(4deg);
}

.section-index-h .section-outer._point3::before {
    width: 100%;
    height: 100%;
    background: url(/images/bg-sec-08.jpg) center no-repeat;
    background-size: cover;
}

.section-index-h .section-outer._point3::after {
    right: -25px;
    bottom: 0;
    width: calc(100% + 3.75vw);
    height: calc(100% + 3.75vw);
    margin: auto;
    background: url(/images/bg-sec-09_sp.png) right center no-repeat;
    background-size: auto calc(100% + 3.75vw);
}

.section-index-h .section-outer._point3 .section-inner {
    position: relative;
    z-index: 0;
    padding-bottom: 15px;
    -webkit-transform: skewY(4deg);
    transform: skewY(4deg);
}

@media only screen and (min-width: 761px), print {
    .section-index-h .section-outer._point1 .section-inner {
        padding-top: 25px;
        padding-bottom: 30px;
    }
    .section-index-h .section-outer._point2 .section-inner {
        padding-bottom: 80px;
    }
    .section-index-h .section-outer._point3::after {
        right: 50%;
        margin-right: -780px;
        background-image: url(/images/bg-sec-09_pc.png);
    }
    .section-index-h .section-outer._point3 .section-inner {
        padding-top: 25px;
        padding-bottom: 50px;
    }
}

@media only screen and (min-width: 1561px), print {
    .section-index-h .section-outer._point3::after {
        right: 0;
        margin-right: auto;
    }
}

.section-index-i {
    background: url(/images/bg-sec-10_sp.jpg) center no-repeat;
    background-size: cover;
}

.section-index-i .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 30px 10px 25px;
}

@media only screen and (min-width: 761px), print {
    .section-index-i {
        background: url(/images/bg-sec-10_pc.jpg) center no-repeat;
        background-size: cover;
    }
    .section-index-i .section-inner {
        padding-top: 42px;
        padding-bottom: 45px;
    }
}

.section-index-j {
    background: -webkit-linear-gradient(left, #e3eff7 0, #fff 30%, #fff 70%, #e3eff7 100%);
    background: linear-gradient(to right, #e3eff7 0, #fff 30%, #fff 70%, #e3eff7 100%);
}

.section-index-j .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 25px 10px 15px;
}

@media only screen and (min-width: 761px), print {
    .section-index-j {
        background: -webkit-linear-gradient(left, #abcfe4 0, #ddecf6 19%, #fff 71%, #ddecf6 100%);
        background: linear-gradient(90deg, #abcfe4 0, #ddecf6 19%, #fff 71%, #ddecf6 100%);
    }
    .section-index-j .section-inner {
        padding-top: 50px;
        padding-bottom: 45px;
    }
}

.section-index-k {
    background: url(/images/bg-sec-11.jpg) center no-repeat;
    background-size: cover;
}

.section-index-k .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 15px 10px 12px;
}

@media only screen and (min-width: 761px), print {
    .section-index-k .section-inner {
        padding-top: 48px;
        padding-bottom: 46px;
    }
}

.section-index-l {
    position: relative;
    background: #c00;
}

.section-index-l::before {
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    border-width: 20px 23px 0 23px;
    border-style: solid;
    border-color: #c00 transparent transparent transparent;
    content: "";
}

.section-index-l .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 8px 10px 9px;
}

@media only screen and (min-width: 761px), print {
    .section-index-l {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-orient: vertical;
    }
    .section-index-l::before {
        bottom: -40px;
        border-width: 40px 46px 0 46px;
    }
    .section-index-l .section-outer {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-orient: vertical;
        min-height: 145px;
    }
    .section-index-l .section-outer .section-inner {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-pack: center;
        -webkit-box-flex: 1;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        flex-grow: 1;
        -webkit-flex-grow: 1;
        width: 100%;
    }
}

_:lang(x)::-ms-backdrop, .section-index-l .section-inner {
    padding-top: 16px;
    padding-bottom: 0;
}

.section-index-m {
    overflow: hidden;
    background: url(/images/bg-sec-12.jpg) center no-repeat;
}

.section-index-m .section-inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 36px 10px 12px;
}

@media only screen and (min-width: 761px), print {
    .section-index-m {
        background-size: cover;
    }
    .section-index-m .section-inner {
        padding-top: 63px;
        padding-bottom: 25px;
    }
}

.section-index-o {
    background: #fff;
}

.section-index-o .section-inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 15px 10px;
}

@media only screen and (min-width: 761px), print {
    .section-index-o {
        position: relative;
        overflow: hidden;
    }
    .section-index-o::before, .section-index-o::after {
        position: absolute;
        top: 0;
        display: block;
        width: 50%;
        height: 100%;
        background: #f0f0f0;
        content: "";
    }
    .section-index-o::before {
        left: 50%;
        margin-left: calc(-50% - 690px);
    }
    .section-index-o::after {
        right: 50%;
        margin-right: calc(-50% - 690px);
    }
    .section-index-o .section-inner {
        position: relative;
        padding-top: 40px;
        padding-bottom: 49px;
    }
    .section-index-o .section-inner::before, .section-index-o .section-inner::after {
        position: absolute;
        top: 0;
        display: block;
        width: 275px;
        height: 100%;
        content: "";
    }
    .section-index-o .section-inner::before {
        left: 50%;
        margin-left: -690px;
        background: -webkit-linear-gradient(left, #f0f0f0 0, #f0f0f0 48%, rgba(240, 240, 240, 0) 100%);
        background: linear-gradient(to right, #f0f0f0 0, #f0f0f0 48%, rgba(240, 240, 240, 0) 100%);
    }
    .section-index-o .section-inner::after {
        right: 50%;
        margin-right: -690px;
        background: -webkit-linear-gradient(right, #f0f0f0 0, #f0f0f0 48%, rgba(240, 240, 240, 0) 100%);
        background: linear-gradient(to left, #f0f0f0 0, #f0f0f0 48%, rgba(240, 240, 240, 0) 100%);
    }
}

/* ==============================================================================================
 Modules
================================================================================================= */
/*
 * .hdg
** -------------------------------------*/
.hdg-a-wrap {
    position: relative;
}

.hdg-a-wrap .hdg-a {
    font-weight: bold;
    font-size: 5.25vw;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    color: #d80919;
    text-align: center;
    line-height: 1.46;
}

.hdg-a-wrap .hdg-a em {
    font-size: 7.1vw;
}

.hdg-a-wrap .hdg-a img {
    position: relative;
    top: .25em;
    display: inline-block;
    width: 7px;
    margin: 0 2px;
    vertical-align: top;
}

.hdg-a-wrap .note {
    position: absolute;
    right: 0;
    bottom: 5%;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    font-size: 1rem;
    color: #d80919;
    -webkit-transform: scale(.8);
    transform: scale(.8);
    -webkit-transform-origin: right center;
    transform-origin: right center;
}

.hdg-a-wrap .note > .mark {
    margin: 0 5px 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 666px), print {
    .hdg-a-wrap .hdg-a {
        font-size: 3.5rem;
    }
    .hdg-a-wrap .hdg-a em {
        font-size: 5rem;
    }
    .hdg-a-wrap .hdg-a img {
        width: 14px;
        margin-right: 4px;
        margin-left: 4px;
    }
    .hdg-a-wrap .note {
        right: 50%;
        margin-right: -45%;
        font-size: 1.2rem;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    .hdg-a-wrap .note > .mark {
        margin-right: 7px;
    }
}

@media only screen and (min-width: 1069px), print {
    .hdg-a-wrap .note {
        margin-right: -384px;
    }
}

.hdg-b {
    margin: 0 0 17px;
    font-weight: normal;
    font-size: 7.1875vw;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    color: #d80919;
    text-align: center;
    line-height: 1.4;
}

@media only screen and (min-width: 640px), print {
    .hdg-b {
        margin-bottom: 33px;
        font-size: 4.6rem;
    }
}

@media only screen and (min-width: 761px), print {
    .hdg-b {
        letter-spacing: -.8px;
    }
}

.hdg-c-wrap {
    margin: 0 0 20px;
}

.hdg-c-wrap .hdg-c .num {
    display: block;
    width: 73px;
    margin: 0 auto;
}

.hdg-c-wrap .hdg-c .txt {
    display: block;
    margin: 10px 0 0;
    font-weight: normal;
    font-size: 2.3rem;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    color: #e2224b;
    line-height: 1.4;
}

.hdg-c-wrap .hdg-c .txt em {
    font-weight: bold;
}

._point2 .hdg-c-wrap .hdg-c .txt em {
    letter-spacing: -2px;
}

.hdg-c-wrap .hdg-c .txt em img {
    position: relative;
    top: .25em;
    display: inline-block;
    width: 10px;
    margin: 0 4px;
    vertical-align: top;
}

.hdg-c-wrap .hdg-c .txt .sub {
    display: block;
    margin: 6px 0 0;
    font-size: 1.2rem;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
}

.hdg-c-wrap .hdg-c .txt .sub sup {
    top: -.3em;
    font-size: 1rem;
}

@media only screen and (min-width: 761px), print {
    .hdg-c-wrap {
        margin-bottom: 42px;
    }
    .hdg-c-wrap .hdg-c {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        align-items: center;
        -webkit-box-align: center;
    }
    .hdg-c-wrap .hdg-c .num {
        width: 145px;
        min-width: 145px;
        margin-right: 30px;
        margin-left: 0;
    }
    .hdg-c-wrap .hdg-c .txt {
        font-size: 4.63709vw;
    }
    .hdg-c-wrap .hdg-c .txt em img {
        width: 14px;
    }
    .hdg-c-wrap .hdg-c .txt .sub {
        font-size: 1.6rem;
    }
    .hdg-c-wrap .hdg-c .txt .sub sup {
        top: -.5em;
    }
}

@media only screen and (min-width: 993px), print {
    .hdg-c-wrap .hdg-c .txt {
        font-size: 4.6rem;
    }
}

.hdg-d {
    margin: 0 0 10px;
}

.hdg-d img {
    margin: 0 auto;
}

@media only screen and (min-width: 761px), print {
    .hdg-d {
        margin-bottom: 13px;
    }
}

.hdg-f-wrap {
    margin: 0 0 10px;
}

.hdg-f-wrap .hdg-f .num {
    display: block;
    width: 73px;
    margin: 0 auto;
}

.hdg-f-wrap .hdg-f .txt {
    display: block;
    margin: 10px 0 0;
    font-weight: normal;
    font-size: 2.3rem;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    color: #bd8b00;
    text-align: center;
    line-height: 1.4;
}

.hdg-f-wrap .hdg-f .txt em {
    font-weight: bold;
}

._point2 .hdg-f-wrap .hdg-f .txt em {
    letter-spacing: -2px;
}

._point2 .hdg-f-wrap .hdg-f .txt em img {
    position: relative;
    top: .25em;
    display: inline-block;
    margin: 0 4px;
    vertical-align: top;
}

.hdg-f-wrap .hdg-f .txt .sub {
    display: block;
    margin: 6px 0 0;
    font-size: 1.2rem;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
}

.hdg-f-wrap .hdg-f .txt .sub sup {
    font-size: 1rem;
}

@media only screen and (min-width: 761px), print {
    .hdg-f-wrap {
        margin-bottom: 28px;
    }
    .hdg-f-wrap .hdg-f {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        align-items: center;
        -webkit-box-align: center;
    }
    .hdg-f-wrap .hdg-f .num {
        width: 145px;
        min-width: 145px;
        margin-right: 30px;
        margin-left: 0;
    }
    .hdg-f-wrap .hdg-f .txt {
        font-size: 4.63709vw;
    }
    .hdg-f-wrap .hdg-f .txt .sub {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 993px), print {
    .hdg-f-wrap .hdg-f .txt {
        font-size: 4.6rem;
    }
}

.hdg-g {
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 8px;
    font-weight: normal;
    font-size: 7.8125vw;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    text-align: center;
    line-height: 1.4;
}

.hdg-g::before {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: #999;
    content: "";
}

@media only screen and (min-width: 640px), print {
    .hdg-g {
        margin-bottom: 20px;
        padding-bottom: 18px;
        font-size: 5rem;
    }
}

.hdg-h {
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 19px;
}

.hdg-h::before, .hdg-h::after {
    position: absolute;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    max-width: 565px;
    height: 1px;
    margin: auto;
    background: #bebebf;
    content: "";
}

.hdg-h::before {
    bottom: 2px;
}

.hdg-h::after {
    bottom: 0;
}

.hdg-h > img {
    margin: 0 auto;
}

@media only screen and (min-width: 761px), print {
    .hdg-h {
        margin-bottom: 22px;
        padding-bottom: 36px;
    }
    .hdg-h::before, .hdg-h::after {
        right: auto;
    }
    .hdg-h::before {
        bottom: 4px;
    }
    .hdg-h > img {
        margin-right: 0;
        margin-left: 0;
    }
}

.hdg-i-wrap {
    position: relative;
    max-width: 850px;
    margin: 0 auto 19px;
    padding: 0 0 30px;
}

.hdg-i-wrap::before, .hdg-i-wrap::after {
    position: absolute;
    bottom: 0;
    display: block;
    width: 28px;
    height: 1px;
    background: #666;
    content: "";
}

.hdg-i-wrap::before {
    left: 50%;
    margin-left: -14px;
    -webkit-transform: rotate(40deg) translateX(-50%);
    transform: rotate(40deg) translateX(-50%);
}

.hdg-i-wrap::after {
    right: 50%;
    margin-right: -14px;
    -webkit-transform: rotate(-40deg) translateX(50%);
    transform: rotate(-40deg) translateX(50%);
}

.hdg-i-wrap .hdg-i-inner {
    position: relative;
}

.hdg-i-wrap .hdg-i-inner::before, .hdg-i-wrap .hdg-i-inner::after {
    position: absolute;
    display: block;
    width: 64px;
    height: 1px;
    background: #666;
    content: "";
}

.hdg-i-wrap .hdg-i-inner::before {
    top: 0;
    left: 0;
}

.hdg-i-wrap .hdg-i-inner::after {
    right: 0;
    bottom: 0;
}

.hdg-i-wrap .hdg-i-inner .hdg-i {
    position: relative;
    padding: 25px 0 10px;
    font-weight: normal;
    font-size: 4.375vw;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    text-align: center;
    line-height: 1.45;
}

.hdg-i-wrap .hdg-i-inner .hdg-i::before, .hdg-i-wrap .hdg-i-inner .hdg-i::after {
    position: absolute;
    display: block;
    width: 1px;
    height: 64px;
    background: #666;
    content: "";
}

.hdg-i-wrap .hdg-i-inner .hdg-i::before {
    top: 0;
    left: 0;
}

.hdg-i-wrap .hdg-i-inner .hdg-i::after {
    right: 0;
    bottom: 0;
}

.hdg-i-wrap .hdg-i-inner .hdg-i > img {
    width: 49.375vw;
    max-width: 316px;
    margin: -7px auto 0;
}

@media only screen and (min-width: 761px), print {
    .hdg-i-wrap {
        margin-bottom: 38px;
        padding-bottom: 68px;
    }
    .hdg-i-wrap::before, .hdg-i-wrap::after {
        width: 58px;
    }
    .hdg-i-wrap::before {
        margin-left: -29px;
    }
    .hdg-i-wrap::after {
        margin-right: -29px;
    }
    .hdg-i-wrap .hdg-i-inner::before, .hdg-i-wrap .hdg-i-inner::after {
        width: 127px;
    }
    .hdg-i-wrap .hdg-i-inner .hdg-i {
        padding-top: 18px;
        padding-bottom: 0;
        font-size: 2.8rem;
        line-height: 1.78;
    }
    .hdg-i-wrap .hdg-i-inner .hdg-i::before, .hdg-i-wrap .hdg-i-inner .hdg-i::after {
        height: 127px;
    }
    .hdg-i-wrap .hdg-i-inner .hdg-i > img {
        width: auto;
        margin-top: -19px;
    }
}

.hdg-j {
    font-weight: normal;
    font-size: 7.8125vw;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    color: #fff;
    text-align: center;
    line-height: 1.5;
}

.hdg-j > img {
    position: relative;
    top: .25em;
    display: inline-block;
    width: 6px;
    margin: 0 2px;
    vertical-align: top;
}

@media only screen and (min-width: 640px), print {
    .hdg-j {
        font-size: 5rem;
    }
    .hdg-j > img {
        width: 12px;
        margin-right: 4px;
        margin-left: 4px;
    }
}

.hdg-k {
    margin: 0 0 18px;
    font-size: 4.4vw;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    text-align: center;
    line-height: 1.5;
}

.hdg-k > b {
    font-weight: normal;
}

.hdg-k .kerning {
    letter-spacing: -6px;
}

.hdg-k img {
    position: relative;
    top: .25em;
    display: inline-block;
    width: 8px;
    margin: 0 .2%;
    vertical-align: top;
}

@media only screen and (min-width: 761px), print {
    .hdg-k {
        margin-bottom: 40px;
    }
}

@media only screen and (min-width: 870px), print {
    .hdg-k {
        font-size: 4rem;
    }
    .hdg-k img {
        width: 14px;
    }
}

/*
 * .txt-lead
** -------------------------------------*/
.txt-lead-a {
    text-align: center;
}

.txt-lead-a > b {
    font-weight: bold;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    color: #fff;
}

.txt-lead-a > b img {
    position: relative;
    top: .25em;
    display: inline-block;
    width: 10px;
    margin: 0 2px;
    vertical-align: top;
}

.txt-lead-a > b > em {
    font-size: 6.25vw;
    line-height: 1.5;
}

.txt-lead-a > b > .sub {
    display: block;
    font-size: 4.68vw;
    line-height: 1.6;
}

.txt-lead-a > b > .sub img {
    width: 8px;
}

@media only screen and (min-width: 640px), print {
    .txt-lead-a > b > em {
        font-size: 4rem;
    }
    .txt-lead-a > b > em img {
        width: 12px;
    }
    .txt-lead-a > b > .sub {
        font-size: 3rem;
        letter-spacing: -1px;
    }
    .txt-lead-a > b > .sub img {
        width: 10px;
    }
}

@media only screen and (min-width: 993px), print {
    .txt-lead-a {
        position: relative;
    }
    .txt-lead-a::before, .txt-lead-a::after {
        position: absolute;
        top: 0;
        bottom: 0;
        display: block;
        margin: auto;
        content: "";
    }
    .txt-lead-a::before {
        left: 50%;
        width: 81px;
        height: 153px;
        margin-left: -575px;
        background: url(/images/img-deco-01.png) left center no-repeat;
    }
    .txt-lead-a::after {
        right: 50%;
        width: 79px;
        height: 149px;
        margin-right: -575px;
        background: url(/images/img-deco-02.png) right center no-repeat;
    }
}

.txt-lead-b {
    position: relative;
    padding: 30px 0 0;
}

.txt-lead-b::before, .txt-lead-b::after {
    position: absolute;
    top: 18px;
    display: block;
    width: 28px;
    height: 1px;
    content: "";
}

.txt-lead-b._red::before, .txt-lead-b._red::after {
    background: #e03b48;
}

.txt-lead-b._gold::before, .txt-lead-b._gold::after {
    background: #e3b03a;
}

.txt-lead-b::before {
    left: 50%;
    margin-left: -14px;
    -webkit-transform: rotate(40deg) translateX(-50%);
    transform: rotate(40deg) translateX(-50%);
}

.txt-lead-b::after {
    right: 50%;
    margin-right: -14px;
    -webkit-transform: rotate(-40deg) translateX(50%);
    transform: rotate(-40deg) translateX(50%);
}

.txt-lead-b img {
    margin: 0 auto;
}

@media only screen and (min-width: 761px), print {
    .txt-lead-b {
        padding-top: 58px;
    }
    .txt-lead-b::before, .txt-lead-b::after {
        top: 37px;
        width: 58px;
    }
    .txt-lead-b::before {
        margin-left: -29px;
    }
    .txt-lead-b::after {
        margin-right: -29px;
    }
    .txt-lead-b._red {
        padding-top: 68px;
    }
}

.txt-lead-c {
    margin: 15px 0 10px;
}

.txt-lead-c img {
    margin: 0 auto;
}

@media only screen and (min-width: 761px), print {
    .txt-lead-c {
        margin-top: 45px;
        margin-bottom: 45px;
    }
}

.txt-lead-d {
    font-size: 3.125vw;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    text-align: center;
    line-height: 2.1;
}

.txt-lead-d ruby rt {
    font-size: 1rem;
    -webkit-transform: scale(.8);
    transform: scale(.8);
}

.txt-lead-d > img {
    position: relative;
    top: .5em;
    display: inline-block;
    width: 8px;
    margin: 0 2px;
    vertical-align: top;
}

.txt-lead-d + .txt-lead-d {
    margin-top: 17px;
}

@media only screen and (min-width: 640px), print {
    .txt-lead-d {
        font-size: 2rem;
    }
    .txt-lead-d + .txt-lead-d {
        margin-top: 40px;
    }
    .txt-lead-d + .txt-note-b {
        margin-top: 23px;
    }
    .txt-lead-d img {
        width: 12px;
    }
}

_:lang(x)::-ms-backdrop, .txt-lead-d ruby rt {
    position: relative;
    top: -3px;
    transform: none;
}

.txt-lead-e {
    font-size: 6.25vw;
    line-height: 1.5;
}

.txt-lead-e > b {
    font-weight: normal;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    color: #bd8b00;
}

.txt-lead-e > b > img {
    position: relative;
    top: .25em;
    display: inline-block;
    width: 7px;
    margin: 0 2px;
    vertical-align: top;
}

@media only screen and (min-width: 640px), print {
    .txt-lead-e {
        margin-bottom: 14px;
        font-size: 4rem;
    }
    .txt-lead-e > b > img {
        width: 14px;
    }
}

.txt-lead-f {
    position: relative;
    margin: 0 0 17px;
    padding: 3px 0;
    text-align: center;
    line-height: 1.4;
    border: solid 1px #bfbfbf;
    border-right: none;
    border-left: none;
}

.txt-lead-f::before, .txt-lead-f::after {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: #bfbfbf;
    content: "";
}

.txt-lead-f::before {
    top: 2px;
}

.txt-lead-f::after {
    bottom: 2px;
}

.txt-lead-f > b {
    display: block;
    padding: 15px 7px 14px;
    font-weight: normal;
    font-size: 1.5rem;
    color: #666;
}

@media only screen and (min-width: 761px), print {
    .txt-lead-f {
        margin-bottom: 39px;
        padding-top: 5px;
        padding-bottom: 5px;
        line-height: 1.53;
    }
    .txt-lead-f::before {
        top: 4px;
    }
    .txt-lead-f::after {
        bottom: 4px;
    }
    .txt-lead-f > b {
        padding-top: 36px;
        padding-bottom: 36px;
        font-size: 3rem;
    }
    .txt-lead-f > b .kerning {
        letter-spacing: -10px;
    }
}

/*
 * .txt-note
** -------------------------------------*/
.txt-note-a {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    font-size: 1rem;
    line-height: 1.3;
}

.txt-note-a > .mark {
    margin: 0 5px 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 761px), print {
    .txt-note-a {
        font-size: 1.2rem;
    }
    .txt-note-a > .mark {
        margin-right: 7px;
    }
}

.txt-note-b {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin: 10px 0 0;
    font-size: 1rem;
    color: #000;
}

.txt-note-b > .mark {
    margin: 0 5px 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 761px), print {
    .txt-note-b {
        margin-top: 11px;
        font-size: 1.2rem;
    }
    .txt-note-b > .mark {
        margin-right: 7px;
    }
}

.txt-note-c {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    font-size: 1.2rem;
}

.txt-note-c > .mark {
    margin: 0 5px 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 761px), print {
    .txt-note-c {
        font-size: 1.4rem;
    }
    .txt-note-c > .mark {
        margin-right: 7px;
    }
}

.txt-note-d {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin: 8px 0 0;
    font-size: 1rem;
    color: #fff;
}

.txt-note-d > .mark {
    margin: 0 5px 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 761px), print {
    .txt-note-d {
        font-size: 1.4rem;
    }
}

/*
 * .txt-img
** -------------------------------------*/
.txt-img-a > img {
    width: 74.57%;
    max-width: 466px;
    margin: 0 auto;
}

@media only screen and (min-width: 761px), print {
    .txt-img-a > img {
        width: auto;
        max-width: 100%;
    }
}

.txt-img-b > img {
    margin: 0 auto;
}

.txt-img-c > img {
    margin: 0 auto;
}

@media only screen and (min-width: 761px), print {
    .txt-img-c {
        margin-top: 50px;
    }
}

/*
 * .list-check
** -------------------------------------*/
.list-check-a > li + li {
    margin-top: 8px;
}

.list-check-a > li .txt {
    position: relative;
    display: block;
    padding: 0 0 4px 24px;
    font-size: 1.2rem;
    line-height: 1.6;
}

.list-check-a > li .txt::before {
    position: absolute;
    top: 2px;
    left: 0;
    display: block;
    width: 16px;
    height: 13px;
    content: "";
}

.list-check-a._red > li .txt {
    border-bottom: solid 1px #eb848c;
}

.list-check-a._red > li .txt::before {
    background: url(/images/img-check-01.png) left top no-repeat;
    background-size: 16px 13px;
}

.list-check-a._gold > li .txt {
    border-bottom: solid 1px #eed089;
}

.list-check-a._gold > li .txt::before {
    background: url(/images/img-check-02.png) left top no-repeat;
    background-size: 16px 13px;
}

@media only screen and (min-width: 761px), print {
    .list-check-a {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: -44px 0 0 -33px;
    }
    .list-check-a > li {
        padding: 44px 0 0 33px;
    }
    .list-check-a > li + li {
        margin-top: 0;
    }
    .list-check-a > li .txt {
        padding-bottom: 10px;
        padding-left: 46px;
        font-size: 2.4rem;
        line-height: 1.4;
        letter-spacing: -1px;
    }
    .list-check-a > li .txt::before {
        top: 0;
        width: 32px;
        height: 26px;
    }
    .list-check-a._red > li .txt::before, .list-check-a._gold > li .txt::before {
        background-size: 32px 26px;
    }
    .list-check-a._gold > li:nth-child(odd) {
        width: 56%;
    }
    .list-check-a._gold > li:nth-child(even) {
        width: 44%;
    }
    .list-check-a._red > li {
        width: 50%;
    }
}

/*
 * .list-note
** -------------------------------------*/
.list-note-a {
    position: absolute;
    right: 10px;
    bottom: 10px;
}

.list-note-a > li {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    font-size: 3.125vw;
    color: #fff;
    line-height: 1.4;
    -webkit-transform: scale(.7);
    transform: scale(.7);
    -webkit-transform-origin: right top;
    transform-origin: right top;
}

.list-note-a > li > .mark {
    min-width: 5.625vw;
    margin: 0 5px 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 640px), print {
    .list-note-a {
        bottom: 18px;
    }
    .list-note-a > li {
        font-size: 1.4rem;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    .list-note-a > li + li {
        margin-top: 8px;
    }
    .list-note-a > li > .mark {
        min-width: 25px;
    }
}

.list-note-b > li {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    font-size: 1rem;
    line-height: 1.3;
}

.list-note-b > li + li {
    margin-top: 6px;
}

.list-note-b > li > .mark {
    margin: 0 5px 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 761px), print {
    .list-note-b {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: -10px 0 0 -18px;
    }
    .list-note-b > li {
        padding-top: 10px;
        padding-left: 18px;
        font-size: 1.2rem;
    }
    .list-note-b > li + li {
        margin-top: 0;
    }
    .list-note-b > li > .mark {
        margin-right: 7px;
    }
}

.list-note-c > li {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    font-size: 1rem;
}

.list-note-c > li > .mark {
    min-width: 18px;
    margin: 0 5px 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 761px), print {
    .list-note-c > li {
        font-size: 1.4rem;
    }
    .list-note-c > li + li {
        margin-top: 2px;
    }
    .list-note-c > li > .mark {
        min-width: 24px;
        margin-right: 7px;
    }
}

/*
 * .list-voice
** -------------------------------------*/
.list-voice-a {
    margin: 15px auto;
}

.list-voice-a > div + div {
    margin: 15px 0 0;
}

.list-voice-a > div > dt {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    margin: 0 0 5px;
}

.list-voice-a > div > dt > .num {
    width: 23px;
    min-width: 23px;
    margin: 0 8px 0 0;
}

.list-voice-a > div > dt > .txt {
    margin: 6px 0 0;
    font-size: 1.2rem;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    line-height: 1.4;
}

.list-voice-a > div > dt > .txt > sup {
    font-size: 1rem;
}

.list-voice-a > div > dt > .txt > em {
    font-weight: bold;
    color: #d80919;
}

.list-voice-a > div > dd {
    font-size: 1rem;
}

@media only screen and (min-width: 761px), print {
    .list-voice-a {
        max-width: 800px;
        margin-top: 28px;
        margin-bottom: 35px;
    }
    .list-voice-a > div + div {
        margin-top: 32px;
    }
    .list-voice-a > div > dt > .num {
        width: 45px;
        min-width: 45px;
        margin-right: 15px;
    }
    .list-voice-a > div > dt > .txt {
        margin-top: 14px;
        font-size: 1.8rem;
    }
    .list-voice-a > div > dt > .txt > sup {
        font-size: 1.2rem;
    }
    .list-voice-a > div > dd {
        font-size: 1.5rem;
    }
}

/*
 * .list-desc
** -------------------------------------*/
.list-desc-a > div + div {
    margin: 10px 0 0;
}

.list-desc-a > div > dt {
    margin: 0 0 7px;
    font-size: 1.5rem;
    color: #d80919;
    line-height: 1.4;
}

.list-desc-a > div > dt > sup {
    font-size: 1rem;
}

.list-desc-a > div > dd {
    font-size: 1.2rem;
    line-height: 2;
}

@media only screen and (min-width: 761px), print {
    .list-desc-a > div + div {
        margin-top: 48px;
    }
    .list-desc-a > div > dt {
        font-size: 3rem;
    }
    .list-desc-a > div > dt > sup {
        top: -1.3em;
        font-size: 1.2rem;
    }
    .list-desc-a > div > dd {
        font-size: 1.6rem;
    }
}

.list-desc-b {
    margin: 28px 0 18px;
}

.list-desc-b > div + div {
    margin: 18px 0 0;
}

.list-desc-b > div > dt, .list-desc-b > div > dd {
    font-size: 1.2rem;
    line-height: 1.25;
}

.list-desc-b > div > dt sup, .list-desc-b > div > dd sup {
    top: -.2em;
    font-size: 1rem;
}

.list-desc-b > div > dt {
    margin: 0 0 7px;
    color: #d80919;
}

.list-desc-b > div > dd {
    color: #666;
}

.list-desc-b > div > dd .sub {
    margin: 6px 0 0;
    font-size: 1rem;
    line-height: 1.6;
}

@media only screen and (min-width: 450px), print {
    .list-desc-b {
        -webkit-columns: 2;
        columns: 2;
        -webkit-column-gap: 2em;
        column-gap: 2em;
    }
    .list-desc-b > div {
        break-inside: avoid;
        page-break-inside: avoid;
        -webkit-column-break-inside: avoid;
    }
}

@media only screen and (min-width: 761px), print {
    .list-desc-b {
        -webkit-columns: 3;
        columns: 3;
        -webkit-column-gap: 5.5em;
        column-gap: 5.5em;
    }
    .list-desc-b > div + div {
        margin-top: 26px;
    }
    .list-desc-b > div > dt, .list-desc-b > div > dd {
        font-size: 1.4rem;
    }
    .list-desc-b > div > dt sup, .list-desc-b > div > dd sup {
        top: -.5em;
    }
}

.list-desc-c > div {
    overflow: hidden;
    max-width: 73.333333%;
    min-height: 100px;
    margin: 0 auto;
    padding: 8px 9px 8px;
    border: solid 1px #a98e6b;
    border-radius: 2px;
}

.list-desc-c > div + div {
    margin-top: 10px;
}

.list-desc-c > div:only-child {
    max-width: 601px;
}

.list-desc-c > div > dt {
    padding: 0 0 8px;
    font-size: 1.2rem;
    color: #a98e6b;
    text-align: center;
    line-height: 1.2;
    background-image: -webkit-linear-gradient(left, #a98e6b, #a98e6b 2px, transparent 1px, transparent 2px);
    background-image: linear-gradient(to right, #a98e6b, #a98e6b 2px, transparent 1px, transparent 2px);
    background-position: bottom;
    background-size: 5px 1px;
    background-repeat: repeat-x;
}

.list-desc-c > div > dd {
    padding: 6px 0 0;
    font-size: 1rem;
}

@media only screen and (min-width: 761px), print {
    .list-desc-c {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 918px;
        margin: 0 auto;
    }
    .list-desc-c > div {
        margin: 0;
        padding: 16px 20px 15px;
        border-width: 2px;
        border-radius: 4px;
    }
    .list-desc-c > div + div {
        margin-top: 0;
        margin-left: 36px;
    }
    .list-desc-c > div:not(:only-child) {
        width: calc(50% - 18px);
        max-width: none;
    }
    .list-desc-c > div > dt {
        padding-bottom: 15px;
        font-size: 2.41935vw;
    }
    .list-desc-c > div > dd {
        padding-top: 9px;
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 993px), print {
    .list-desc-c > div > dt {
        font-size: 2.4rem;
    }
}

/*
 * .list-label
** -------------------------------------*/
.list-label-a {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 2px 0 0 -6px;
}

.list-label-a > li {
    padding: 0 0 0 6px;
    line-height: 1;
}

.list-label-a > li .txt {
    display: block;
    padding: 3px 17px;
    font-size: 1.2rem;
    color: #d80919;
    border: solid 1px #d80919;
}

.list-label-a + .txt-note-a {
    margin-top: 7px;
}

@media only screen and (min-width: 761px), print {
    .list-label-a {
        margin-top: 4px;
        margin-left: -11px;
    }
    .list-label-a > li {
        padding-left: 11px;
    }
    .list-label-a > li .txt {
        padding: 7px 43px;
        font-size: 1.6rem;
        color: #d80919;
    }
    .list-label-a + .txt-note-a {
        margin-top: 29px;
    }
}

_:lang(x)::-ms-backdrop, .list-label-a > li .txt {
    padding-top: 4px;
    padding-bottom: 2px;
}

@media only screen and (min-width: 761px), print {
    _:lang(x)::-ms-backdrop, .list-label-a > li .txt {
        padding-top: 9px;
        padding-bottom: 5px;
    }
}

/*
 * .btn
** -------------------------------------*/
.btn-a {
    width: 100%;
    max-width: 300px;
    margin: 10px 0 0;
}

.btn-a a {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    width: 100%;
    height: 37px;
    padding: 0 20px 0 30px;
    text-decoration: none;
    background: -webkit-linear-gradient(top, #e4535e 0, #e4535e 50%, #d80919 50%, #d80919 100%);
    background: linear-gradient(to bottom, #e4535e 0, #e4535e 50%, #d80919 50%, #d80919 100%);
    border-radius: 3px;
    -webkit-transition: opacity .2s;
    transition: opacity .2s;
}

.btn-a a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 13px;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    border-width: 5px 0 5px 8px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    content: "";
}

.btn-a a .txt {
    font-size: 2rem;
    color: #fff;
    line-height: 1.2;
}

.btn-a a .txt > img {
    display: inline-block;
    width: 15px;
    margin: 0 0 0 10px;
}

.btn-a a:hover, .btn-a a:active, .btn-a a:focus {
    opacity: .8;
}

@media only screen and (min-width: 761px), print {
    .btn-a {
        max-width: 414px;
        margin-top: 0;
    }
    .btn-a a {
        height: 53px;
        padding-left: 35px;
    }
    .btn-a a::before {
        left: 18px;
        border-width: 6px 0 6px 10px;
    }
    .btn-a a .txt {
        font-size: 3rem;
    }
    .btn-a a .txt > img {
        width: 22px;
        margin-left: 7px;
    }
}

_:lang(x)::-ms-backdrop, .btn-a a .txt {
    padding-top: 5px;
}

.btn-b {
    width: 100%;
    max-width: 160px;
    max-height: 40px;
}

.btn-b a {
    display: block;
    padding: 8% 10%;
    text-decoration: none;
    background: -webkit-linear-gradient(left, #e6c346 0, #feefb1 15%, #d9b43a 38%, #d9b43a 62%, #feefb1 85%, #e6c346 100%);
    background: linear-gradient(to right, #e6c346 0, #feefb1 15%, #d9b43a 38%, #d9b43a 62%, #feefb1 85%, #e6c346 100%);
    background-size: 200% auto;
    border-radius: 20px;
    -webkit-transition: background-position .2s;
    transition: background-position .2s;
}

.btn-b a:hover, .btn-b a:active, .btn-b a:focus {
    background-position: right center;
}

.btn-b a img {
    margin: 0 auto;
}

@media only screen and (min-width: 761px), print {
    .btn-b a {
        padding: 12px 19px 13px;
    }
}

/*
 * .lyt-cv
** -------------------------------------*/
.lyt-cv-a {
    padding: 20px 0;
}

.lyt-cv-a .col {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-orient: vertical;
}

.lyt-cv-a .col:first-child > * {
    max-width: 100%;
}

.lyt-cv-a .tel {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
}

.lyt-cv-a .tel > img {
    width: 25px;
    min-width: 25px;
    margin: 0 10px 0 0;
}

.lyt-cv-a .tel .num {
    font-weight: bold;
    font-size: 2.4rem;
    color: #d80919;
    line-height: 1;
    word-break: break-all;
}

.lyt-cv-a .tel + p {
    margin: 2px 0 0;
    font-size: 1.1rem;
    color: #595757;
}

@media only screen and (min-width: 761px), print {
    .lyt-cv-a {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row-reverse;
        -webkit-box-direction: reverse;
        flex-direction: row-reverse;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-orient: horizontal;
        margin-left: -20px;
    }
    .lyt-cv-a .col {
        -webkit-align-items: flex-start;
        align-items: flex-start;
        -webkit-box-align: start;
        padding-left: 20px;
    }
    .lyt-cv-a .col:first-child {
        max-width: calc(100% - 434px);
    }
    .lyt-cv-a .col:last-child {
        min-width: 434px;
    }
    .lyt-cv-a .tel > img {
        width: 40px;
        min-width: 40px;
    }
    .lyt-cv-a .tel .num {
        font-size: 3rem;
    }
    .lyt-cv-a .tel + p {
        font-size: 1.4rem;
    }
}

/*
 * .lyt-img
** -------------------------------------*/
.lyt-img-a .img {
    margin: 0 0 17px;
}

.lyt-img-a .img > img {
    margin: 0 auto;
}

.lyt-img-a .txt p {
    font-size: 1.2rem;
    color: #666;
    line-height: 1.6;
}

@media only screen and (min-width: 761px), print {
    .lyt-img-a {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
    }
    .lyt-img-a .img {
        min-width: 190px;
        margin-right: 20px;
        margin-bottom: 0;
    }
    .lyt-img-a .txt p {
        font-size: 1.4rem;
        line-height: 1.85;
    }
}

.lyt-img-b {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row-reverse;
    -webkit-box-direction: reverse;
    flex-direction: row-reverse;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    max-width: calc(100% - 20px);
    margin: 3px auto 0;
}

.lyt-img-b .txt {
    -webkit-box-flex: 1;
    flex-grow: 1;
    -webkit-flex-grow: 1;
    width: 62%;
    line-height: 1.68;
}

.lyt-img-b .img {
    width: 38%;
    max-width: 176px;
    margin: 0 19px 0 0;
}

.lyt-img-b .img .img-inner {
    text-align: center;
}

.lyt-img-b .img .img-inner > img {
    min-width: 90px;
}

.lyt-img-b .img .img-inner .caption {
    display: block;
    margin: 3px 0 0;
    font-size: 1rem;
    -webkit-transform: scale(.8);
    transform: scale(.8);
    -webkit-transform-origin: center top;
    transform-origin: center top;
}

@media only screen and (min-width: 761px), print {
    .lyt-img-b {
        margin-top: 8px;
    }
    .lyt-img-b .img {
        min-width: 176px;
        margin-right: 38px;
    }
    .lyt-img-b .img .img-inner .caption {
        margin-top: 6px;
        font-size: 1.4rem;
    }
}

.lyt-img-c {
    margin: 0 15px 10px;
}

.lyt-img-c > * {
    max-width: 100%;
    min-height: calc(0%);
}

.lyt-img-c > * img {
    margin: 0 auto;
}

.lyt-img-c .product {
    margin: 9px 0 0;
}

.lyt-img-c .product > img {
    width: 14.53125vw;
    max-width: 93px;
}

.lyt-img-c .txt {
    margin: 15px 0 0;
}

@media only screen and (min-width: 761px), print {
    .lyt-img-c {
        display: block;
    }
    .lyt-img-c::before, .lyt-img-c::after {
        display: table;
        content: "";
    }
    .lyt-img-c::after {
        clear: both;
    }
    .lyt-img-c .product {
        margin-top: 0;
    }
    .lyt-img-c:not(._reverse) .award, .lyt-img-c:not(._reverse) .txt {
        float: left;
        width: calc(100% - 123px);
    }
    .lyt-img-c:not(._reverse) .award img, .lyt-img-c:not(._reverse) .txt img {
        margin-right: 0;
    }
    .lyt-img-c:not(._reverse) .product {
        float: right;
    }
    .lyt-img-c._reverse .award, .lyt-img-c._reverse .txt {
        float: right;
        width: calc(100% - 123px);
    }
    .lyt-img-c._reverse .award img, .lyt-img-c._reverse .txt img {
        margin-left: 0;
    }
    .lyt-img-c._reverse .product {
        float: left;
    }
}

.lyt-img-d {
    max-width: 565px;
    margin: 0 auto;
}

.lyt-img-d .img {
    margin: 5px 0 0;
}

.lyt-img-d .img .img-inner img {
    width: 45%;
    margin: 0 auto;
}

.lyt-img-d p:not([class]) {
    font-size: 1.4rem;
    color: #231815;
}

.lyt-img-d p:not([class]) sup {
    font-size: 1rem;
}

.lyt-img-d + .txt-note-b {
    margin-top: 0;
}

@media only screen and (min-width: 761px), print {
    .lyt-img-d {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row-reverse;
        -webkit-box-direction: reverse;
        flex-direction: row-reverse;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-orient: horizontal;
        max-width: none;
    }
    .lyt-img-d .txt {
        align-self: flex-start;
        -webkit-align-self: flex-start;
        width: 62.56791%;
    }
    .lyt-img-d .img {
        align-self: center;
        -webkit-align-self: center;
        -ms-grid-row-align: center;
        width: 37.43209%;
        margin-top: 18px;
        padding-right: 7.511%;
        padding-left: 3.087%;
    }
    .lyt-img-d .img .img-inner img {
        width: 100%;
        margin: 0 auto;
    }
    .lyt-img-d p:not([class]) {
        font-size: 1.6rem;
        line-height: 1.68;
    }
}

.lyt-img-e {
    max-width: 565px;
    margin: 0 auto;
}

.lyt-img-e .img .img-inner img {
    position: relative;
    left: -10%;
    width: 42%;
    margin: 0 auto;
}

.lyt-img-e p:not([class]) {
    font-size: 1.4rem;
    color: #fff;
    text-align: center;
    line-height: 2;
}

.lyt-img-e p:not([class]) sup {
    font-size: 1rem;
}

.lyt-img-e p:not([class]) + p:not([class]) {
    margin-top: 8px;
}

.lyt-img-e + .txt-note-b {
    margin-top: 0;
}

@media only screen and (min-width: 761px), print {
    .lyt-img-e {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row-reverse;
        -webkit-box-direction: reverse;
        flex-direction: row-reverse;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-orient: horizontal;
        max-width: none;
    }
    .lyt-img-e .txt {
        width: 73.0821%;
        margin-top: 80px;
        padding-bottom: 80px;
    }
    .lyt-img-e .txt > *:not(.hdg-d) {
        margin-left: 20px;
    }
    .lyt-img-e .img {
        align-self: flex-end;
        -webkit-align-self: flex-end;
        width: 26.9179%;
    }
    .lyt-img-e .img .img-inner img {
        left: auto;
        width: 100%;
        max-width: 242px;
        margin-right: 0;
    }
    .lyt-img-e p:not([class]) {
        font-size: 1.6rem;
    }
    .lyt-img-e p:not([class]) + p:not([class]) {
        margin-top: 14px;
    }
}

.lyt-img-f::before, .lyt-img-f::after {
    display: table;
    content: "";
}

.lyt-img-f::after {
    clear: both;
}

.lyt-img-f > .txt {
    float: left;
    width: calc(100% - 129px);
    margin: 0 0 5px;
}

.lyt-img-f > .img {
    float: right;
    width: 129px;
    margin: 0 0 5px;
    padding: 0 0 0 13px;
}

.lyt-img-f > .note {
    clear: both;
    margin: 10px 0 0;
}

@media only screen and (min-width: 761px), print {
    .lyt-img-f > .txt {
        width: calc(100% - 265px);
        margin-bottom: 10px;
    }
    .lyt-img-f > .img {
        width: 265px;
        padding-left: 30px;
    }
    .lyt-img-f > .note {
        clear: left;
        width: calc(100% - 265px);
    }
}

.lyt-img-g > .txt {
    font-size: 1.2rem;
    line-height: 1.5;
}

.lyt-img-g > .txt .name {
    margin: 0 0 8px;
    padding: 0 0 4px;
    font-size: 1.5rem;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    border-bottom: solid 1px #999;
}

.lyt-img-g > .txt .name > b {
    font-weight: normal;
}

.lyt-img-g > .img {
    display: none;
}

@media only screen and (min-width: 761px), print {
    .lyt-img-g {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    .lyt-img-g > .txt {
        width: 72%;
        font-size: 1.6rem;
        line-height: 1.875;
    }
    .lyt-img-g > .txt .name {
        margin-bottom: 15px;
        padding-bottom: 14px;
        font-size: 3rem;
        line-height: 1.5;
    }
    .lyt-img-g > .img {
        display: block;
        width: 28%;
        max-width: 192px;
        margin-right: 25px;
    }
}

.lyt-img-h {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-align: start;
    margin: 17px 0 10px;
}

.lyt-img-h > li {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
    -webkit-box-direction: reverse;
    flex-direction: column-reverse;
    -webkit-box-orient: vertical;
    width: 50%;
    padding: 0 10px;
}

.lyt-img-h > li .img {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
}

.lyt-img-h > li .img > img {
    width: 50%;
    max-width: 107px;
    margin: 0 auto;
}

.lyt-img-h > li .txt {
    margin: 10px 0 0;
    text-align: center;
    line-height: 1.6;
}

.lyt-img-h > li .txt .title {
    line-height: 1.4;
}

.lyt-img-h > li .txt .title > b {
    font-weight: normal;
    font-size: 1.2rem;
}

.lyt-img-h > li .txt p:not([class]) {
    margin: 4px 0 0;
    font-size: 1rem;
}

.lyt-img-h > li:only-child {
    -webkit-flex-direction: row-reverse;
    -webkit-box-direction: reverse;
    flex-direction: row-reverse;
    -webkit-box-orient: horizontal;
    width: 100%;
    padding: 0;
}

.lyt-img-h > li:only-child .txt {
    width: 72%;
    margin-top: 0;
    text-align: left;
}

.lyt-img-h > li:only-child .img {
    flex-shrink: unset;
    -webkit-flex-shrink: unset;
    width: 28%;
    margin-right: 14px;
}

.lyt-img-h > li:only-child .img > img {
    width: 100%;
    min-width: 54px;
}

@media only screen and (min-width: 761px), print {
    .lyt-img-h {
        margin-top: 20px;
        margin-bottom: 20px;
        margin-left: -20px;
    }
    .lyt-img-h > li {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-box-align: center;
        padding-right: 0;
        padding-left: 20px;
    }
    .lyt-img-h > li .img {
        margin-right: 24px;
    }
    .lyt-img-h > li .img > img {
        width: auto;
    }
    .lyt-img-h > li .txt .title > b {
        font-size: 1.8rem;
    }
    .lyt-img-h > li .txt p:not([class]) {
        font-size: 1.6rem;
    }
    .lyt-img-h > li:only-child {
        -webkit-align-items: flex-start;
        align-items: flex-start;
        -webkit-box-align: start;
        padding-left: 20px;
    }
    .lyt-img-h > li:only-child .txt {
        width: calc(100% - 131px);
        margin-top: 0;
    }
    .lyt-img-h > li:only-child .img {
        width: 107px;
        margin-right: 24px;
    }
    .lyt-img-h > li:only-child .img > img {
        width: 107px;
    }
}

/*
 * .lyt-col
** -------------------------------------*/
.lyt-col-a {
    width: calc(100% - 66px);
    margin: 0 auto 20px;
}

.lyt-col-a > .col {
    max-width: 467px;
    margin: 0 auto;
}

.lyt-col-a > .col > :last-child {
    margin-bottom: 0;
}

.lyt-col-a > .col + .col {
    padding-top: 20px;
}

.lyt-col-a .box-d {
    margin-top: calc(2.8125vw + 10px);
}

.lyt-col-a .box-d .box-hdg-a b > img {
    width: calc((100% + 66px) / 2);
}

@media only screen and (min-width: 500px), print {
    .lyt-col-a .box-d {
        margin-top: 32px;
    }
}

@media only screen and (min-width: 761px), print {
    .lyt-col-a {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        width: auto;
        margin-right: 0;
        margin-bottom: 40px;
        margin-left: -36px;
    }
    .lyt-col-a > .col {
        width: 50%;
        max-width: none;
        padding-left: 36px;
    }
    .lyt-col-a > .col + .col {
        padding-top: 0;
    }
    .lyt-col-a > .col + .col .txt-img-b {
        margin-top: 39px;
    }
    .lyt-col-a .box-d {
        margin-top: 16px;
    }
}

.lyt-col-b {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.lyt-col-b > .col._red, .lyt-col-b > .col._white {
    width: calc((100% - 8.125vw) / 2);
}

.lyt-col-b > .col._and {
    position: relative;
    top: 11vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    -webkit-flex-basis: auto;
    flex-basis: auto;
}

.lyt-col-b > .col._and > img {
    width: 8.125vw;
    max-width: 54px;
}

@media only screen and (min-width: 660px), print {
    .lyt-col-b > .col._and {
        top: 73px;
    }
}

@media only screen and (min-width: 761px), print {
    .lyt-col-b > .col._red, .lyt-col-b > .col._white {
        width: calc((100% - 54px) / 2);
    }
    .lyt-col-b > .col._red .lyt-img-c {
        margin-right: 5.65843vw;
    }
    .lyt-col-b > .col._white .lyt-img-c {
        margin-left: 5.65843vw;
    }
    .lyt-col-b > .col._and {
        top: 0;
    }
}

@media only screen and (min-width: 972px), print {
    .lyt-col-b > .col._red .lyt-img-c {
        margin-right: 55px;
    }
    .lyt-col-b > .col._white .lyt-img-c {
        margin-left: 55px;
    }
}

.lyt-col-c {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    -webkit-box-align: end;
    width: 100%;
    height: 51.5625vw;
    max-height: 552px;
    margin: 15px 0 0;
    padding: 0 0 4px;
}

.lyt-col-c::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: -1;
    display: block;
    width: 62.5vw;
    max-width: 689px;
    height: 51.5625vw;
    margin-left: -37%;
    background: url(/images/bg-sec-01.png) center bottom no-repeat;
    background-size: 100%;
    content: "";
}

.lyt-col-c .col {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    -webkit-box-align: end;
    -webkit-box-orient: vertical;
    width: 22.5%;
}

.lyt-col-c .col._red {
    margin-left: auto;
}

.lyt-col-c .col .detail {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    width: 100%;
    margin: 0 0 7px;
}

.lyt-col-c .col .btn-b {
    margin: 0 0 7px;
}

.lyt-col-c .col .txt-note-a {
    width: 125%;
    -webkit-transform: scale(.8);
    transform: scale(.8);
    -webkit-transform-origin: right top;
    transform-origin: right top;
}

@media only screen and (min-width: 761px), print {
    .lyt-col-c {
        padding-bottom: 15px;
    }
    .lyt-col-c .col {
        width: 26.9616vw;
        max-width: 323px;
    }
    .lyt-col-c .col .detail {
        align-self: flex-start;
        -webkit-align-self: flex-start;
        width: 85%;
        margin-bottom: 24px;
    }
    .lyt-col-c .col .btn-b {
        align-self: center;
        -webkit-align-self: center;
        -ms-grid-row-align: center;
        margin-bottom: 25px;
    }
    .lyt-col-c .col .txt-note-a {
        width: auto;
        max-width: 100%;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@media only screen and (min-width: 1103px), print {
    .lyt-col-c::before {
        margin-left: -400px;
    }
}

@media only screen and (min-width: 1262px), print {
    .lyt-col-c .col._white {
        margin-left: 80px;
    }
    .lyt-col-c .col._red {
        margin-right: 50px;
    }
}

.lyt-col-d {
    overflow: hidden;
}

.lyt-col-d > .col._red {
    background: -webkit-linear-gradient(left, #a70714 0, #cb0e1c 20%, #d80919 40%, #d80919 50%, #d80919 80%, #d80919 100%);
    background: linear-gradient(to right, #a70714 0, #cb0e1c 20%, #d80919 40%, #d80919 50%, #d80919 80%, #d80919 100%);
}

.lyt-col-d > .col._white {
    padding-top: 9px;
    background: -webkit-linear-gradient(left, #fff 0, #fff 20%, #fdfefe 40%, #f6fafd 50%, #e5f1f8 80%, #ddecf6 100%);
    background: linear-gradient(to right, #fff 0, #fff 20%, #fdfefe 40%, #f6fafd 50%, #e5f1f8 80%, #ddecf6 100%);
}

@media only screen and (min-width: 761px), print {
    .lyt-col-d {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    .lyt-col-d > .col {
        position: relative;
        width: 50%;
    }
    .lyt-col-d > .col._red, .lyt-col-d > .col._white {
        z-index: 0;
        padding: 35px 0 12px;
    }
    .lyt-col-d > .col._red::before, .lyt-col-d > .col._red::after, .lyt-col-d > .col._white::before, .lyt-col-d > .col._white::after {
        position: absolute;
        top: 0;
        display: block;
        height: 100%;
        content: "";
    }
    .lyt-col-d > .col._red {
        background: #d80919;
    }
    .lyt-col-d > .col._red::before {
        right: 0;
        z-index: -1;
        width: 213px;
        margin-right: 490px;
        background: -webkit-linear-gradient(left, #a70714 0, rgba(166, 7, 20, .9) 10%, rgba(166, 7, 20, 0) 100%);
        background: linear-gradient(to right, #a70714 0, rgba(166, 7, 20, .9) 10%, rgba(166, 7, 20, 0) 100%);
    }
    .lyt-col-d > .col._red::after {
        right: 0;
        z-index: -1;
        width: 100%;
        margin-right: 703px;
        background: #a70714;
    }
    .lyt-col-d > .col._red img {
        margin-right: 0;
        padding-right: 20px;
    }
    .lyt-col-d > .col._white {
        background: #fff;
    }
    .lyt-col-d > .col._white::before {
        left: 0;
        z-index: -1;
        width: 486px;
        margin-left: 198px;
        background: -webkit-linear-gradient(left, rgba(222, 236, 246, 0) 0, rgba(222, 236, 246, .9) 70%, #deecf6 100%);
        background: linear-gradient(to right, rgba(222, 236, 246, 0) 0, rgba(222, 236, 246, .9) 70%, #deecf6 100%);
    }
    .lyt-col-d > .col._white::after {
        left: 0;
        z-index: -1;
        width: 100%;
        margin-left: 683px;
        background: #deecf6;
    }
    .lyt-col-d > .col._white img {
        margin-left: 0;
        padding-left: 20px;
    }
}

/*
 * .box
** -------------------------------------*/
.box-a {
    margin: 17px 0 0;
    padding: 13px 10px 12px;
    font-size: 1.2rem;
    color: #666;
    background: #f5f5f5;
}

.box-a .box-hdg-a > b {
    font-weight: bold;
}

@media only screen and (min-width: 761px), print {
    .box-a {
        padding: 18px 20px 15px;
        font-size: 1.3rem;
    }
}

.box-b {
    position: relative;
    margin: 0 0 10px;
    padding: 10px 0 12px;
}

.box-b::before, .box-b::after {
    position: absolute;
    display: block;
    width: 100%;
    height: 2.5px;
    background: url(/images/bg-box-02.png) left center repeat-x;
    background-size: 4px 2.5px;
    content: "";
}

.box-b::before {
    top: 0;
}

.box-b::after {
    bottom: 0;
}

.box-b .box-hdg-a {
    margin: 0 0 14px;
    font-size: 3.125vw;
    text-align: center;
    line-height: 1.6;
}

.box-b .box-hdg-a > b {
    font-weight: normal;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
}

.box-b .box-hdg-a > b em {
    color: #c00;
}

@media only screen and (min-width: 761px), print {
    .box-b {
        margin-bottom: 18px;
        padding-top: 25px;
        padding-bottom: 30px;
    }
    .box-b::before, .box-b::after {
        height: 5px;
        background-size: 8px 5px;
    }
    .box-b .box-hdg-a {
        margin-bottom: 24px;
        font-size: 2rem;
    }
}

.box-c {
    margin: 8.4375vw 0 15px;
    padding: 5px;
    background: url(/images/bg-box-01.png) left top;
    background-size: 4px;
}

.box-c .box-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-orient: vertical;
    padding: 0 24px 17px;
    background: #fff;
}

.box-c .box-hdg-a {
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-row-align: center;
    margin: -8.4375vw 0 8px;
    padding: 0 17px;
    font-weight: normal;
    font-size: 7.1875vw;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HG Mincho E", "MS PMincho", Arial, serif;
    text-align: center;
    line-height: 1.2;
    background: #fff;
}

@media only screen and (min-width: 420px), print {
    .box-c {
        margin-top: 36px;
    }
    .box-c .box-hdg-a {
        margin-top: -36px;
        font-size: 3rem;
    }
}

@media only screen and (min-width: 761px), print {
    .box-c {
        margin-top: 30px;
        margin-bottom: 30px;
        padding: 10px;
        background-size: 8px;
    }
    .box-c .box-inner {
        padding-right: 52px;
        padding-bottom: 68px;
        padding-left: 52px;
    }
    .box-c .box-hdg-a {
        margin-top: -30px;
        margin-bottom: 33px;
        font-size: 5.14403vw;
    }
}

@media only screen and (min-width: 993px), print {
    .box-c .box-hdg-a {
        font-size: 5rem;
    }
}

.box-d {
    max-width: 677px;
    margin: calc(2.8125vw + 19px) auto 13px;
    padding: 0 19px 15px;
    background: #fff;
    border: solid 2px;
    box-shadow: 0 0 0 4px #e5e5e5 inset;
}

.box-d._red {
    border-color: #e00d3b;
}

.box-d._gold {
    border-color: #a98e6b;
}

.box-d .box-hdg-a {
    margin: -2.8125vw 0 0;
}

.box-d .box-hdg-a b > img {
    width: 50%;
    max-width: 218px;
    margin: 0 auto;
}

@media only screen and (min-width: 500px), print {
    .box-d {
        margin-top: 32px;
    }
    .box-d .box-hdg-a {
        margin-top: -14px;
    }
}

@media only screen and (min-width: 761px), print {
    .box-d {
        margin-top: 56px;
        margin-bottom: 40px;
        padding-right: 30px;
        padding-bottom: 18px;
        padding-left: 30px;
        border-width: 3px;
        box-shadow: 0 0 0 7px #e5e5e5 inset;
    }
    .box-d .box-hdg-a {
        margin-top: -16px;
    }
}

.box-e {
    padding: 15px 0 0;
    background-image: -webkit-linear-gradient(left, #e5355b, #e5355b 2px, transparent 1px, transparent 2px);
    background-image: linear-gradient(to right, #e5355b, #e5355b 2px, transparent 1px, transparent 2px);
    background-position: top;
    background-size: 5px 1px;
    background-repeat: repeat-x;
}

@media only screen and (min-width: 761px), print {
    .box-e {
        padding: 40px 24px 0;
    }
}

/*
 * .box-voice
** -------------------------------------*/
.box-voice-a {
    margin: 2.8125vw 0 0;
    padding: 0 19px 14px;
    border: solid 2px #e00d3b;
    box-shadow: 0 0 0 4px #e5e5e5 inset;
}

.box-voice-a .box-hdg-a {
    margin: -2.8125vw 0 0;
}

.box-voice-a .box-hdg-a > img {
    width: 50%;
    max-width: 218px;
    margin: 0 auto;
}

.box-voice-a > p {
    font-size: 3.125vw;
    text-align: center;
    line-height: 1.5;
}

@media only screen and (min-width: 500px), print {
    .box-voice-a {
        margin-top: 14px;
    }
    .box-voice-a .box-hdg-a {
        margin-top: -14px;
    }
}

@media only screen and (min-width: 640px), print {
    .box-voice-a > p {
        font-size: 2rem;
    }
}

@media only screen and (min-width: 761px), print {
    .box-voice-a {
        margin-top: 16px;
        padding-bottom: 39px;
        border-width: 3px;
        box-shadow: 0 0 0 7px #e5e5e5 inset;
    }
    .box-voice-a .box-hdg-a {
        margin-top: -16px;
    }
}

/*
 * .pc-show, .sp-show
** -------------------------------------*/
br.pc-show, img.pc-show {
    display: none;
}

@media only screen and (min-width: 761px), print {
    br.pc-show, img.pc-show {
        display: block;
    }
}

br.sp-show, img.sp-show {
    display: block;
}

@media only screen and (min-width: 761px), print {
    br.sp-show, img.sp-show {
        display: none;
    }
}

/*
 * .inline
** -------------------------------------*/
span.inline {
    display: inline-block;
}
