@charset "UTF-8";
/* CSS Document */

/*---------------------------------
reset
---------------------------------*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a,
a::before,
a::after {
    text-decoration: none;
    transition: .3s all;
    color: inherit;
}

ul,
li {
    list-style-type: none;
}

p {
    text-align: justify;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
}

/*---------------------------------
structure
---------------------------------*/
::selection {
    background: #00bfd8;
    color: #fff;
}

img {
    pointer-events: none;
}

html {
    font-size: 15px;
}

body {
    /* font-family: "Zen Old Mincho",'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; */
    font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    background-color: #eaefe9;
    color: #453434;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    line-height: 1.8;
}

.inr {
    margin: 0 auto;
    width: 90%;
    max-width: 900px;
}

/*hover*/
@media (hover: hover) and (pointer: fine) {
    a img {
        transition: .3s all;
    }
}

/*responsive*/
@media screen and (min-width: 600px) {
    html {
        font-size: 18px;
    }
}


/*---------------------------------
element
---------------------------------*/

.fz400 {
    font-size: 400%;
    line-height: 1.2;
}

.fz360 {
    font-size: 360%;
    line-height: 1.2;
}

.fz320 {
    font-size: 320%;
    line-height: 1.2;
}

.fz280 {
    font-size: 280%;
    line-height: 1.2;
}

.fz240 {
    font-size: 240%;
    line-height: 1.2;
}

.fz200 {
    font-size: 200%;
    line-height: 1.2;
}

.fz180 {
    font-size: 180%;
}

.fz160 {
    font-size: 160%;
}

.fz140 {
    font-size: 140%;
}

.fz120 {
    font-size: 120%;
}

.fz80 {
    font-size: 80%;
}

.mb10 {
    margin-bottom: calc(20px / 2);
}

.mb20 {
    margin-bottom: 20px;
}

.mb40 {
    margin-bottom: calc(20px * 2);
}

.mb60 {
    margin-bottom: calc(20px * 3);
}

.mb80 {
    margin-bottom: calc(20px * 4);
}

.mt10 {
    margin-top: calc(20px / 2);
}

.mt20 {
    margin-top: 20px;
}

.mt40 {
    margin-top: calc(20px * 2);
}

.mt60 {
    margin-top: calc(20px * 3);
}

.mt80 {
    margin-top: calc(20px * 4);
}

.fz_small {
    font-size: small;
}

.fz_xsmall {
    font-size: x-small;
}

.f_bold {
    font-weight: bold;
}

.t_center {
    text-align: center;
}

.primary {
    color: #f12424;
}


ul.list li {
    text-indent: -18px;
    padding-left: 18px;
}

ul.list li::before {
    content: '';
    background-color: #f9a587;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    width: 10px;
    height: 10px;
}

ul.list li+li {
    margin-top: 10px;
}

/* ol{
    padding-left: 2.0em;
}
ol li {
    list-style-type: decimal;
} */

ol li+li {
    margin-top: 20px;
}

img {
    width: 100%;
    height: auto;
}

/*---------------------------------
header
---------------------------------*/
.header_inr{
    max-width: 900px;
    margin-inline: auto;
}
h1 {
    line-height: 1.0;
}

/*---------------------------------
main
---------------------------------*/
h2 {
    font-weight: bold;
    position: relative;
}
h2::before {
    content: "";
    width: 8em;
    height: 2px;
    background-color: #c7dde9;
    display: block;
    position: absolute;
    bottom: 0;
}

h3 {
    font-size: 100%;
}

.btn {
    background-color: #f12424;
    border-radius: 100px;
    color: #fff;
    display: block;
    font-size: 140%;
    margin-inline: auto;
    padding: 20px 20px;
    text-align: center;
    max-width: 600px;
}
.btn.btn_small{
    font-size: 100%;
    padding: 10px 20px;
    max-width: 400px;
}

.btn.next {
    display: grid;
    grid-template-columns: 1fr 20px;
    align-items: center;
}
.btn.next::after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
}

.subttl span {
    background-color: #f59309;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 90%;
    line-height: 1.0;
    margin-bottom: 10px;
    padding: 6px 10px;
}

.contents_block {
    background-color: #fff;
    border-radius: 10px;
    padding: 40px 5%;
}

.bg_block {
    background-color: #fff3f0;
    border-radius: 10px;
    padding: 20px 5%;
}

/*hover*/
@media (hover: hover) and (pointer: fine) {
    .btn:hover {
        background-color: #5f4cbf;
    }
}

/*---------------------------------
footer
---------------------------------*/

