a,
abbr,
acronym,
address,
applet,
big,
blockquote,
body,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
iframe,
img,
ins,
kbd,
label,
legend,
li,
object,
ol,
p,
pre,
q,
s,
samp,
small,
span,
strike,
strong,
sub,
sup,
tbody,
tfoot,
thead,
tr,
tt,
ul,
var {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-family: inherit;
    font-size: 100%;
    vertical-align: baseline
}

button,
figure,
input,
table {
    margin: 0;
    padding: 0;
    border: 0
}

caption,
table,
td,
th {
    font-style: inherit;
    font-family: inherit;
    font-size: 100%;
    vertical-align: middle
}

table {
    font-weight: inherit;
    border-collapse: separate;
    border-spacing: 0
}

caption,
td,
th {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    text-align: left;
    font-weight: 400
}

body {
    line-height: 1;
    color: #000;
    background: #fff;
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: initial;
    -webkit-font-smoothing: antialiased;
    zoom: .8
}

ol,
ul {
    list-style: none
}

a img {
    border: 0
}

html {
    overflow-x: hidden
}

button,
figure,
input {
    outline: 0
}

button {
    cursor: pointer
}

select,
table {
    outline: 0
}

a {
    text-decoration: none
}

a,
input {
    box-sizing: border-box
}

main {
    margin-top: 100px
}

.page-header,
.page-header p {
    display: flex;
    flex-flow: column;
    align-items: center
}

.page-header {
    justify-content: center;
    height: 400px;
    background: linear-gradient(102deg, #61d9ff 0, #00b1ff 100%)
}

.page-header h1,
.page-header small {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    color: #fff;
    font-weight: 700
}

.page-header h1 {
    font-size: 43px;
    letter-spacing: .86px;
    margin-bottom: 40px
}

.page-header p {
    justify-content: space-between;
    height: initial
}

.page-header small {
    font-size: 20px;
    letter-spacing: 1.28px
}

.header {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 2;
    background-color: #fff
}

.header nav {
    display: grid;
    grid-template-rows: 25px 5px 44px 1px 25px;
    grid-template-columns: 34px 158px 1fr auto 27px
}

.header nav>a {
    grid-row: 3;
    grid-column: 2;
    width: 158px;
    height: 44px
}

.header div {
    grid-row: 2/5;
    grid-column: 4;
    display: grid;
    grid-template-rows: initial;
    grid-template-columns: minmax(auto, 32px) minmax(auto, 720px) minmax(auto, 32px) 540px
}

.header ul:first-child {
    grid-column: 2;
    display: flex;
    flex-flow: initial;
    align-items: initial;
    justify-content: space-between
}

.header ul:first-child a {
    position: relative;
    top: 18px;
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 17px;
    letter-spacing: 0;
    color: #565656;
    font-weight: 700;
    white-space: nowrap
}

.header ul:last-child {
    grid-column: 4;
    display: grid;
    grid-template-rows: initial;
    grid-template-columns: 250px;
    grid-column-gap: 22px
}

.header ul:last-child li {
    grid-row: 1
}

.header ul:last-child a,
.header ul:last-child label {
    height: 100%;
    border-radius: 42px;
    box-sizing: border-box;
    display: flex;
    flex-flow: initial;
    align-items: center;
    justify-content: center;
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 17px;
    letter-spacing: 1.53px;
    color: initial;
    font-weight: 700
}

.header ul:last-child li:first-child a {
    background: linear-gradient(99deg, #0de6ff 0, #51b4ff 100%) 0 0;
    color: #fff
}

.header ul:last-child li:last-child label {
    border: 2px solid #00b1ff;
    background-color: #fff;
    color: #00b1ff
}

.register {
    display: flex;
    flex-flow: initial;
    align-items: initial;
    justify-content: center
}

.register nav {
    display: grid;
    grid-template-rows: 30px 49px 130px 25px 84px 18px 153px 28px 20px 21px 15px;
    grid-template-columns: minmax(auto, 258px) 461px 41px 892px minmax(auto, 268px)
}

.register figure:first-child {
    grid-row: 1/11;
    grid-column: 2
}

.register figure:nth-child(2),
.register small,
.register ul:nth-child(3),
.register ul:nth-child(4) {
    grid-column: 4
}

.register figure:nth-child(2) {
    grid-row: 1/4;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between
}

.register figcaption {
    position: relative;
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 30px;
    letter-spacing: 2.1px;
    color: #000;
    font-weight: 700
}

.register figcaption:before {
    position: absolute;
    top: 19px;
    z-index: -1;
    width: 100%;
    height: 18px;
    content: '';
    background: linear-gradient(transparent 0, #ffd9e1 0)
}

.register ul:nth-child(3) {
    grid-row: 5;
    display: flex;
    flex-flow: initial;
    align-items: center;
    justify-content: space-between
}

.register ul:nth-child(3) li a {
    display: flex;
    flex-flow: initial;
    align-items: center;
    justify-content: center;
    height: 84px;
    border-radius: 42px;
    box-sizing: border-box
}

.register ul:nth-child(3) li:first-child a {
    width: 580px;
    background: linear-gradient(91deg, #31d6f8 0, #238be6 100%);
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 28px;
    letter-spacing: 1.48px;
    color: #fff;
    font-weight: 700
}

.register ul:nth-child(3) li:last-child a {
    width: 271px;
    border: 4px solid #00d3ff;
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 23px;
    letter-spacing: 0;
    color: #00d3ff;
    font-weight: 700
}

.register ul:nth-child(4) {
    grid-row: 7;
    background-color: #f2fbff;
    display: flex;
    flex-flow: initial;
    align-items: center;
    justify-content: center
}

.register ul:nth-child(4) li:nth-child(2) {
    margin-left: 35px
}

.register small {
    grid-row: 9;
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 20px;
    letter-spacing: 1.26px;
    color: #7a7a7a;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

.footer {
    display: flex;
    flex-flow: initial;
    align-items: initial;
    justify-content: center;
    position: relative;
    background-color: #3dbdff
}

.footer nav {
    display: grid;
    grid-template-rows: 112px 20px 45px 20px 24px 45px 83px 22px 26px;
    grid-template-columns: minmax(auto, 206px) 306px minmax(auto, 87px) auto minmax(auto, 226px)
}

.footer nav>a {
    grid-row: 2/5;
    grid-column: 2
}

.footer nav>p:nth-child(2) {
    grid-row: 6;
    grid-column: 2;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between
}

.footer nav>p:nth-child(2) small {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 14px;
    letter-spacing: .88px;
    color: #fff;
    font-weight: initial
}

.footer ul {
    grid-row: 3;
    display: flex;
    align-items: center;
    justify-content: space-around;
    border-left: 4px solid #fff;
    border-right: 4px solid #fff
}

.footer ul a,
.footer ul label {
    padding: 0 8px;
    font-size: 18px;
    letter-spacing: 1.32px;
    color: #fff;
}

.footer nav>div,
.footer>a>span {
    display: flex;
    align-items: initial;
    justify-content: space-between
}

.footer nav>div,
.footer ul {
    grid-column: 4;
    flex-flow: initial
}

.footer nav>div {
    grid-row: 6;
    overflow: hidden
}

.footer nav>div p {
    width: 100%
}

.footer nav>div small,
.footer ul a,
.footer ul label,
.footer>a {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-weight: 700;
    white-space: nowrap
}

.footer nav>div small {
    display: block;
    font-size: 20px;
    letter-spacing: 1.26px;
    color: #fff;
    text-overflow: ellipsis;
    overflow: hidden
}

.footer nav>div div {
    position: relative;
    top: -50%;
    min-width: 200px;
    height: 65px
}

.footer>a {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    flex-flow: initial;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 65px;
    background-color: #fff;
    font-size: 12px;
    letter-spacing: .73px;
    color: #64c92a
}

.footer>a>span {
    flex-flow: column;
    height: 33px
}

.footer p:last-child {
    grid-row: 8;
    grid-column: 1/6;
    height: 22px;
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 20px;
    letter-spacing: 1.26px;
    color: #fff;
    font-weight: 700;
    text-align: center
}

.footer p:last-child a {
    color: #fff
}

#login:checked~.login {
    display: flex
}

.login {
    display: flex;
    flex-flow: initial;
    align-items: center;
    justify-content: center;
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 3;
    background-color: rgba(86, 86, 86, .7)
}

.login-content {
    position: relative;
    width: 820px;
    height: 960px;
    background-color: #fff;
    border-radius: 49px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, .161);
    display: grid;
    grid-template-rows: 60px 30px 40px 19px 20px 18px 50px 65px 40px 65px 30px 37px 40px 70px 66px 47px 30px 148px 34px 18px 33px;
    grid-template-columns: initial
}

.login-content label {
    position: absolute;
    top: 43.04px;
    left: 46.04px;
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 24px;
    letter-spacing: initial;
    color: #3c3c3c;
    font-weight: 700;
    cursor: pointer
}

.login-content div:nth-child(1) {
    grid-row: 2;
    display: flex;
    flex-flow: initial;
    align-items: initial;
    justify-content: center
}

.login-content div:nth-child(1) p {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 30px;
    letter-spacing: .6px;
    color: #00b1ff;
    font-weight: 700
}

.login-content div:nth-child(2),
.login-content div:nth-child(3),
.login-content div:nth-child(4) {
    grid-row: 4;
    display: flex;
    flex-flow: initial;
    align-items: initial;
    justify-content: center
}

.login-content div:nth-child(2) p,
.login-content div:nth-child(3) p,
.login-content div:nth-child(4) input,
.login-content div:nth-child(5) input {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 18px;
    letter-spacing: .9px;
    color: #3e3e3e;
    font-weight: 700
}

.login-content div:nth-child(3),
.login-content div:nth-child(4) {
    grid-row: 6
}

.login-content div:nth-child(3) p,
.login-content div:nth-child(4) input,
.login-content div:nth-child(5) input {
    letter-spacing: 1.44px;
    color: #ff6580
}

.login-content div:nth-child(4) {
    grid-row: 8
}

.login-content div:nth-child(4) input,
.login-content div:nth-child(5) input {
    width: 620px;
    height: 100%;
    border: 1px solid #c1c1c1;
    background-color: #fff;
    border-radius: 33px;
    font-size: 20px;
    color: #565656;
    padding: 0 35px
}

.login-content div:nth-child(4) input::placeholder,
.login-content div:nth-child(5) input::placeholder {
    color: #d5d5d5;
    font-weight: initial
}

.login-content div:nth-child(5) {
    grid-row: 10;
    display: flex;
    flex-flow: initial;
    align-items: initial;
    justify-content: center
}

.login-content div:nth-child(6) {
    grid-row: 12;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between
}

.login-content div:nth-child(6) p {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 13px;
    letter-spacing: .39px;
    color: #3e3e3e;
    font-weight: initial
}

.login-content div:nth-child(7) {
    grid-row: 14;
    display: flex;
    flex-flow: initial;
    align-items: initial;
    justify-content: center
}

.login-content div:nth-child(10) p,
.login-content div:nth-child(7) button,
.login-content div:nth-child(8) p {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-weight: 700
}

.login-content div:nth-child(7) button {
    width: 460px;
    height: 100%;
    background-color: #23cbee;
    border-radius: 35px;
    font-size: 20px;
    letter-spacing: 1.44px;
    color: #fff
}

.login-content div:nth-child(8) {
    grid-row: 16;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between
}

.login-content div:nth-child(10) p,
.login-content div:nth-child(8) p {
    font-size: 17px;
    letter-spacing: .51px;
    color: #3e3e3e
}

.login-content div:nth-child(10),
.login-content div:nth-child(9) {
    grid-row: 18;
    display: flex;
    flex-flow: initial;
    align-items: initial;
    justify-content: center
}

.login-content div:nth-child(9) img {
    width: 148px;
    height: 148px
}

.login-content div:nth-child(10) {
    grid-row: 20
}

.login-content div:nth-child(10) p {
    letter-spacing: 1.38px
}

main .contents:first-of-type {
    display: grid;
    grid-template-rows: 174px auto 140px;
    grid-template-columns: 1fr 1229px 1fr
}

main .contents:last-of-type {
    display: grid;
    grid-template-rows: 70px auto 140px auto 140px auto 224px;
    grid-template-columns: 1fr 1229px 1fr
}

.articles {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1229px 1fr;
    grid-row-gap: 140px
}

.article,
.content {
    grid-column: 2
}

.article h3,
.article p,
.content div>p,
.content h2,
.content h3 {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif
}

.article h3,
.content h2,
.content h3 {
    padding-bottom: 25px;
    border-bottom: 10px solid #d3d3d3;
    margin-bottom: 35px;
    font-size: 38px;
    letter-spacing: 1.37px;
    color: #565656;
    font-weight: 700
}

.article p,
.content div>p {
    font-size: 20px;
    letter-spacing: 1.66px;
    color: #3e3e3e;
    font-weight: initial;
    white-space: nowrap
}

.content blockquote p {
    letter-spacing: 1.35px
}

.article>div,
.content>blockquote,
.content>div {
    display: flex;
    flex-flow: column;
    align-items: initial;
    justify-content: space-between;
    line-height: 1.8;
}

.content>div:nth-child(n+3),
.article>div:nth-child(n+3) {
    margin-top: 48px;
}

.article li,
.content blockquote p,
.content[data-id='2'] a,
.content[data-id='2'] small {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif
}

.article li,
.content blockquote p {
    font-size: 18px;
    color: #3e3e3e;
    font-weight: initial
}

.article li {
    grid-column: 2;
    letter-spacing: 1.26px
}

.content[data-id='1'] {
    grid-row: 2
}

.content[data-id='2'] {
    grid-row: 4
}

.content[data-id='2'] a,
.content[data-id='2'] small {
    font-size: 30px;
    letter-spacing: .9px;
    font-weight: 700
}

.content[data-id='2'] small {
    display: block;
    margin-bottom: 40px;
    color: #64c92a
}

.content[data-id='2'] a {
    color: #006bf0;
    border-bottom: 4px solid #006bf0;
    padding-bottom: 17px
}

.article ul,
.article ul {
    display: grid;
    grid-template-rows: initial;
    grid-template-columns: 26px 1fr;
    margin-top: 40px;
    margin-bottom: 48px;
    grid-row-gap: 30px
}

.article li:last-child {
    display: flex;
    flex-flow: column;
    align-items: initial;
    justify-content: space-between
}

.article[data-id='10'] a {
    color: #006bf0
}

.article[data-id='11'] aside {
    margin-top: 70px
}

.article[data-id='11'] small {
    height: 29px;
    font-size: 20px;
    letter-spacing: 1.5px
}

.article[data-id='11'] strong {
    display: flex;
    flex-flow: column;
    align-items: initial;
    justify-content: center;
    height: 104px;
    margin-top: 40px;
    border-top: 1px solid #565656;
    border-bottom: 1px solid #565656
}

.content[data-id='3'] {
    grid-row: 2
}

.article[data-id='11'] small,
.content[data-id='3'] p strong,
.content[data-id='3'] small,
.content[data-id='5'] small {
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    color: #3e3e3e;
    font-weight: initial
}

.content[data-id='3'] small {
    display: block;
    font-size: 20px;
    letter-spacing: 1.5px;
    height: 29px
}

.content[data-id='3'] p,
.content[data-id='5'] blockquote {
    padding-top: 25px;
    padding-bottom: 25px;
    border-top: 1px solid #3e3e3e;
    border-bottom: 1px solid #3e3e3e
}

.content[data-id='3'] p {
    display: flex;
    flex-flow: column;
    align-items: initial;
    justify-content: space-between;
    height: 54px;
    margin-top: 40px
}

.content[data-id='3'] p strong,
.content[data-id='5'] small {
    font-size: 18px;
    letter-spacing: 1.26px
}

.content[data-id='4'] {
    grid-row: 4
}

.content[data-id='4'] div {
    height: 226px
}

.content[data-id='5'] {
    grid-row: 6
}

.content[data-id='5'] div {
    height: 264px
}

.content[data-id='5'] small {
    display: block;
    margin-top: 105px;
    margin-bottom: 47px;
    font-size: 20px;
    letter-spacing: 1.5px
}

.content[data-id='5'] blockquote {
    height: 298px
}


/* add */
.asobo-notification {
    margin-bottom: 140px;
    padding: 32px;
    text-align: center;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}

.mb_xl {
    margin-bottom: 80px !important;
}

.article h3.mb_xl,
.content h2 {
    color: #06b4ff;
    border-color: #06b4ff;
}

.header nav div ul:nth-child(1) li:nth-child(1) a {
    color: #00b1ff;
    border-bottom: 5px solid #00b1ff;
    padding-bottom: 9px
}