@charset "UTF-8";

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    font-size: 62.5%;
    line-height: 1.65;
}

html,
body {
    height: 100%;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%
}

input,
button,
textarea,
select {
    font: inherit
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word
}

body {
    background: #fff;
}

article {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
}

header {
    width: 100%;
    margin: 1rem auto 0;
}

.ats {
    width: calc(100% - 2rem);
    margin: 1rem auto 2rem;
    padding: 1.5rem;
    background-color: #f4f4f4;
    border: 1px solid #ccc;
    flex: 1;
}

header img,
footer img {
    margin: 0 auto;
}

header h1 {
    text-align: center;
    padding: .8rem;
    color: #666666;
    font-size: 12px;
    margin-top: 0.4rem;
}

footer {
    width: 100%;
    background: #000;
    margin: auto auto 0;
    padding: 0.25rem;
}

/* 文字スタイル */
.ats {
    font-size: 12px;
    line-height: 160%;
    color: #333;
}

h2 {
    font-size: 14px;
    line-height: 1.4;
    color: #1B4991;
    font-weight: bold;
    margin: 2rem auto 0.6rem;
}

h2:first-of-type {
    margin: 0 auto 0.6rem;
}

h3 {
    font-size: 12px;
    color: #333333;
    font-weight: bold;
    margin: 0 auto 0.2rem;
}

.tx1 {
    margin-bottom: 2.5rem;
    padding: 0px;
    font-size: 12px;
    line-height: 160%;
    color: #555555;
}

.ats .tx1:last-of-type {
    margin-bottom: 0;
}

.tx2 {
    font-size: 12px;
    line-height: 160%;
    color: #589EA7;
}

.note {
    padding-left: 1em;
    text-indent: -1em;
}

@media only screen and (max-width: 414px) {
    h2 {
        font-size: 1.6rem;
    }

    h3 {
        font-size: 1.4rem;
    }

    .tx1,
    .tx2 {
        font-size: 1.4rem;
    }

    footer {
        padding: 0.5rem;
    }
}