/* リセット */
* {
    margin: 0;
    padding: 0;
}

body {
    background: #fff;
    font-family: sans-serif;
    -webkit-touch-callout: none; // リンク長押しのポップアップを無効化
    -webkit-user-select: none; // テキスト長押しの選択ボックスを無効化
}

/* タイトル */
h1 {
    color: #454545;
    font-size: 1.6rem;
    margin: 3% 3% 0;
}

h2 {
    color: #454545;
    font-size: 1.4rem;
    margin:5% 3% 5% 3%;
}


/* 基本構造 */
p {
    color: #454545;
    font-size: 1.0rem;
    margin: 1em 3%;
}

img {
    margin: 0;
    vertical-align: top;
}

a {
    text-decoration: none;
}

b {
    color: red;
}

blockquote {
    background: #f7f9f9;
    margin: 2em 0.5em;
    padding: 1em;
}

header {
    position: fixed;
    top: 0;
    z-index: 5;
    width: 100%;
    height: 50px;
    background: rgba(250, 250, 250, 1);
}

article {
    margin: 0 auto;
    padding: 0px;
}

section {
    overflow: hidden;
}

section.float {
    position: fixed;
    margin: 0 auto;
    padding: 1%;
    text-align: center;
    background: rgba(250, 250, 250, 1);
    left: 0;
    right: 0;
    bottom: 0;
}

footer {
    margin: 0 auto;
    padding: 2rem 1em;
    background: #333;
    color: #fff;
    font-size: x-small;
}

.wrap {
    margin: 0 auto;
    max-width: 750px;
    padding: 0px;
}

/* スタイル */
.title {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 2fr 1fr;
    padding: 0 3%;
}


.title_logo {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    width: 140px;
    margin: 2.5px 0;
}

.title_btn {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    margin: 5px 0;
}

.topheart {
    margin: 0 3%;
    color: #ec5471;
}

ul.mokuji {
    position: relative;
    background: #f7f9f9;
    margin: 2em 0.5em;
    padding: 2em 3% 0.5em;
    list-style-type: none;
}

ul.mokuji::after {
    position: absolute;
    content: "▼ 目次";
    top: 15px;
    left: 10px;
    font-weight: bold;
    font-size: .8em;
    color: #787c7b;
    padding: 1px 7px;
}

ul.mokuji li {
    margin: 10px;
    color: #858a89;
    border-bottom: 1px solid #eaeaea;
}

ul.mokuji a {
    color: #858a89;
}

.ctabox {
    background: #f7f9f9;
    color: gray;
    padding: 2em 5%;
}

.ctabox p,
img {
    vertical-align: middle;
}

.ctabox_textarea {
    color: #222;
    font-size: 0.8em;
    text-align: center;
}

.ctabox_btnarea {
    background: #fff;
    border-radius: 15px;
    margin: 0 auto;
    padding: 1em 2em;
}

.cbox {
    position: relative;
}

.cbox_child {
    position: absolute;
}

.btn-cta {
    display: block;
    width: 100%;
    color: #ffffff;
    background-color: #2cb696;
    margin: 0 auto;
    padding: 8px 0;
    text-align: center;
    border: none;
    border-radius: 4px;
    font-size: 1.4em;
    font-weight: bold;
    text-decoration: none;
}

.btn-inst {
    display: block;
    width: 80%;
    color: #ffffff;
    background-color: #2cb696;
    margin: 0 auto;
    padding: 8px 10px;
    text-align: center;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    text-decoration: none;
}

.flexbox {
    display: -webkit-flex;
    display: flex;
    flex-wrap: nowrap;
    margin: 1em 3% 0;
}

.flexitem {
    padding: 1%;
}

.flexitem img {
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.flexitem p {
    color: #282828;
    font-size: small;
    margin: 0;
}

/* 動的表現 */
.pulse {
    animation: pulse;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}



.result_wrapper{
    margin: 0 auto;
    width: 80%;
}

.result_wrapper img{
    width: 100%;
    margin-bottom: 30px;
}