@charset "utf-8";

/*---------------------------------
Font
---------------------------------*/
/* English
---------------------------------*/
/* ExtraBold */
@font-face {
    font-family: 'sen';
    src: url('../font/Sen-ExtraBold.ttf') format('truetype');
    font-weight: 900;
    font-display: swap;
}
/* Bold */
@font-face {
    font-family: 'sen';
    src: url('../font/Sen-Bold.ttf') format('truetype');
    font-weight: 700;
    font-display: swap;
}
/* Regular */
@font-face {
    font-family: 'sen';
    src: url('../font/Sen-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}

html {
    margin: 0;
    padding: 0;
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    width: 100%;
    height: 100%;
    background: #fff;
}
body {
    margin: 0;
    font-family: "游ゴシック", YuGothic, 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", sans-serif;
    color: #333;
    height: 100%;
    width: 100%;
    font-size: 1.4rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
div {
    box-sizing: border-box;
}
a {
    color: #1db9c3;
    font-weight: 700;
}
a:hover {
    color: #1db9c3;
}
a:visited {
    color: #1db9c3;
}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
ol {
    padding-left: 1.6rem;
}
img {
    width: 100%;
}
p {
    font-size: 1.4rem;
    margin: 0;
    line-height: 1.8em;
    font-weight: 500;
}
.page_contents p {
    margin: 16px 0;
}
p + p {
    margin: 1.6em 0 0 0;
}
.text_box + p {
    margin: 1.6em 0 0 0;
}
strong {
    color: #fd7a9f;
}
li {
    font-size: 1.5rem;
}
li + li {
    margin-top: 4px;
}
pre {
    margin: 0;
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow: auto;
}
@media (min-width: 769px) {
    p {
        font-size: 1.6rem;
    }
    li {
        font-size: 1.6rem;
    }
    li + li {
        margin-top: 8px;
    }
}

/*---------------------------------
Common
---------------------------------*/
#wrapper {
    position: relative;
    padding-top: 56px;
    min-height: 100%;
    height: auto;
    box-sizing:border-box;
    animation: fadein 2s ease 0s 1 normal;
    -webkit-animation: fadein 2s ease 0s 1 normal;
}
.obj-fit-img {
    object-fit: cover;
    object-position: center;
    font-family: 'object-fit: cover; object-position: center;'
}
.container {
    margin: 0 3.2vw;
}

.page_contents .container:has(h2.smart_phone),
.page_contents .container:has(h2.computer) {
    position: relative;
    z-index: 0;
}

.image img {
    width: 100%;
}
.display_pc {
    display: none;
}
.display_sp {
    display: block;
}
@media (min-width: 769px) {
    #wrapper {
        padding-top: 160px;
    }
    .display_pc {
        display: block;
    }
    .display_sp {
        display: none;
    }
    .container {
        max-width: 1200px;
        padding: 0 40px;
        margin: 0 auto;
    }
    body:not(.blog,.category) .page_contents .container {
        max-width: 1000px;
    }
}
@media (min-width: 1001px) {
    .page_contents .section .container {
        margin: 0 auto;
    }
}
@media (min-width: 1201px) {
}

/*
Btn
---------------------------------*/
.btn_wrapper {
    margin: 0 auto;
    margin-top: 32px;
    max-width: 320px;
    position: relative;
}
a.btn,
p.btn a {
    position: relative;
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    background: #FD7A9F;
    padding: 12px;
    z-index: 2;
    transition: transform .3s;
    border-radius: 40px;
    box-shadow: 0px 0px 4px rgba(240, 110, 144, 0.7);
    text-decoration: none;
}
.btn::after,
p.btn a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 12px;
    height: 16px;
    width: 16px;
    margin: auto;
    background: url(../img/icon_angle_r_w.svg) center/contain no-repeat;
}
a.btn:hover,
p.btn a:hover {
    text-decoration: none;
}

a.home-btn {
    position: relative;
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    background: #1db9c3;
    padding: 12px;
    z-index: 2;
    transition: transform .3s;
    border-radius: 8px;
    box-shadow: 0px 0px 4px rgba(29, 185, 195, 0.7);
    text-decoration: none;
    margin: 32px auto 0;
}

.btn_entry_list {
    display: flex;
    justify-content: space-between;
}
.btn_entry_list .btn { width: 48%; border-radius: 40px; letter-spacing: .1em;  padding-left: 30px;  position: relative;  font-size: 1.5rem;border: 1px solid #fff8;}
.btn_entry_list .btn::after {
    content: none;
}
.btn_entry_list .btn img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
    margin: auto;
    width: 20px;
}
a.btn_entry_home {
    background: #1db9c3;
    box-shadow: 0px 0px 4px rgba(29, 185, 195, 0.7);
}

@media (min-width: 769px) {
    .btn_wrapper {
        margin-top: 48px;
        max-width: 380px;
        width: 100%;
    }
    a.btn,
    p.btn a {
        max-width: 320px;
        font-size: 1.8rem;
        padding: 15px;
        border-radius: 8px;
        transition: .3s;
        box-shadow: 0px 0px 16px rgba(252, 121, 158, 0.7);
		border: solid 2px #00000011;
		border-bottom: solid 4px #00000022;
    }
    p.btn a {
        margin: 48px auto 0;
    }
    .btn_wrapper::after {
        transform: translate(3px,3px);
        height: calc(100% - 6px);
        width: calc(100% - 6px);
    }
    a.btn:hover,
    p.btn a:hover {
        box-shadow: 0px 8px 24px rgba(252, 121, 158, 0.7);
    }

    a.home-btn {
        max-width: 320px;
        font-size: 1.8rem;
        padding: 15px;
        border-radius: 8px;
        transition: .3s;
        box-shadow: 0px 0px 16px rgba(29, 185, 195, 0.7);
        margin: 64px auto 0;

    }
    a.home-btn:hover {
        box-shadow: 0px 8px 16px rgba(29, 185, 195, 0.7);
    }

    .btn_entry_list {
        max-width: 880px;
        padding: 0 24px;
        margin: 0 auto;
    }
    .btn_entry_list .btn {
        padding-left: 30px;
        font-size: 2.4rem;
        max-width: 400px;
        padding: 22px 22px 22px 52px;
    }
    .btn_entry_list .btn img {
        width: 32px;
        left: 22px;
    }
    a.btn_entry_home {
        box-shadow: 0px 0px 16px rgba(29, 185, 195, 0.7);
    }
    a.btn_entry_home:hover {
        box-shadow: 0px 8px 16px rgba(29, 185, 195, 0.7);
    }
}
@media (min-width: 961px) {
    .btn_wrapper {
        margin-top: 48px;
        max-width: 420px;
        width: 100%;
    }

}

.link_btn {
    margin-top: 16px;
    text-align: right;
}
.link_btn a {
    position: relative;
    color: #5275E5;
    font-weight: 700;
    display: inline-block;
    padding-right: 40px;
    font-size: 1.6rem;
}
.link_btn a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 8px;
    width: 40px;
    background: url(../img/icon_arrow_b_r.svg) right/auto 100% no-repeat;
}
@media (min-width: 769px) {
    .link_btn {
        margin-top: 24px;
    }
    .link_btn a {
        transition: opacity .3s;
        padding-right: 56px;
        font-size: 1.8rem;
    }
    .link_btn a::after {
        height: 10px;
        width: 48px;
    }
    .link_btn a:hover {
        opacity: .7;
    }
}



/*
Link
---------------------------------*/
a.link_text {
    position: relative;
    color: #5275E5;
    transition: opacity .3s;
}
@media (min-width: 769px) {
    a.link_text:hover {
        opacity: .7;
    }
}
@media (min-width: 1024px) {

}

/*
Flame
---------------------------------*/
.flame {
    border: solid 2px #364f6b;
    border-radius: 4px;
    padding: 3.2vw;
}
* + .flame {
    margin-top: 24px;
}
.flame .title {
    border-bottom: solid 2px #364f6b;
    font-size: 1.6rem;
    padding-bottom: 8px;
    margin-bottom: 8px;
    color: #364f6b;
    font-weight: 700;
}
.flame_01 {
    border: solid 2px #fd7a9f;
}
.flame_01 .title {
    border-bottom: solid 2px #fd7a9f;
    color: #fd7a9f;
}
@media (min-width: 769px) {
    .flame {
        padding: 40px;
        border-radius: 12px;
    }
}

/*
Title
---------------------------------*/
.page_contents h2 {
    color: #364F6B;
    display: block;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: 0;
}

.page_contents h2.smart_phone,
.page_contents h2.computer {
    font-size: 2rem;
    position: relative;
    padding: 16px 16px 16px 48px;
    background-color: #fff;
    color: #364F6B;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .2);
}
.page_contents h2.smart_phone::after,
.page_contents h2.computer::after {
    content: "";
    position: absolute;
    top: 1.6vw;
    left: 1.6vw;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: linear-gradient(315deg, #1db8c3 0%, rgba(205, 240, 234, 0) 100%);
    opacity: 0.5;
    z-index: -1;
}

.page_contents h2.smart_phone::before {
    content: "";
    position: absolute;
    background: url(../img/mobile-screen-button-solid.svg) no-repeat;
    top: 50%;
    left: 16px;
    transform: translate(0, -50%);
    height: 30px;
    width: 22px;
}

.page_contents h2.computer::before {
    content: "";
    position: absolute;
    background: url(../img/laptop-solid.svg) no-repeat;
    top: 50%;
    left: 0;
    transform: translate(8px, -50%);
    height: 24px;
    width: 30px;
}

.heading_3,
.page_contents h3:not(.topics_item_title,.question_title) {
    color: #fd7a9f;
    position: relative;
    padding-left: 16px;
    margin: 16px 0;
    font-size: 1.8rem;
}
.page_contents h3:not(.topics_item_title,.question_title) {
    margin: 32px 0 16px;
}
.heading_3::before,
.page_contents h3:not(.topics_item_title,.question_title)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #fd7a9f;
    border-radius: 2px;
}
.section_top_after .heading_3{
    color: #364F6C;
    position: relative;
    padding-left: 16px;
    margin: 16px 0;
    font-size: 1.8rem;
}
.section_top_after .heading_3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #364F6C;
    border-radius: 2px;
}
.page_contents h4 {
    font-size: 1.6rem;
    background-color: #1db9c3;
    color: white;
    padding: 6px 15px;
    border-radius: 4px;
    line-height: 1.8;
    margin: 24px auto 16px;
}
.page_contents h5 {
    font-size: 1.6rem;
    border-top: solid 1px #aaa;
    border-bottom: solid 1px #aaa;
    padding: 8px;
    margin: 24px auto 8px;
}
@media (min-width: 769px) {
    .page_contents h2 {
        font-size: 4rem;
    }
    .page_contents h2.smart_phone,
    .page_contents h2.computer {
        font-size: 3rem;
        border-radius: 16px;
    }

    .page_contents h2.smart_phone::after,
    .page_contents h2.computer::after {
        top: 12px;
        left: 12px;
        border-radius: 16px;
    }

    .page_contents h2.computer {
        padding: 16px 16px 16px 64px;
    }

    .page_contents h2.computer::before {
        transform: translate(16px, -50%);
    }

    .heading_3,
    .page_contents h3:not(.topics_item_title,.question_title) {
        font-size: 2.6rem;
        margin: 24px 0;
        padding-left: 24px;
    }
    .page_contents h3:not(.topics_item_title,.question_title) {
        margin: 56px 0 24px;
    }
    .heading_3::before,
    .page_contents h3:not(.topics_item_title,.question_title)::before {
        width: 6px;
        border-radius: 3px;
    }
    .page_contents h4 {
        font-size: 2rem;
        margin: 48px auto 20px;
    }
    .page_contents h5 {
        font-size: 1.8rem;
        margin: 40px auto 12px;
    }
}

/*
Pagenation
---------------------------------*/
.pagination {
    margin: 40px 0 0;
}
.pagination div {
    width: 48%;
    display: flex;
    justify-content: center;
}
.pagination a {
    position: relative;
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    background: #FD7A9F;
    padding: 12px;
    z-index: 2;
    transition: transform .3s;
    border-radius: 8px;
    box-shadow: 0px 0px 4px rgba(240, 110, 144, 0.7);
    text-decoration: none;
}
@media (min-width: 769px) {
    .pagination {
        margin-top: 96px;
        display: flex;
    }
    .pagination a {
        max-width: 320px;
        font-size: 1.8rem;
        padding: 15px;
        border-radius: 8px;
        transition: .3s;
        box-shadow: 0px 0px 16px rgba(252, 121, 158, 0.7);
    }

}


/*
Breadcrumb
---------------------------------*/
.breadcrumb_wrapper {
    background: #F9F3F3;
    width: 100%;
}
.breadcrumb {
    width: 100%;
    padding: 16px 3.2vw;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 1.2rem;
    font-weight: 700;
    color: #364F6B;
}
@media (min-width: 769px) {
    .breadcrumb {
        max-width: 1000px;
        padding: 32px 40px;
        margin: 0 auto;
        font-size: 1.4rem;
    }
    .blog .breadcrumb,
    .category .breadcrumb {
        max-width: 1200px;
    }
    .breadcrumb a:hover {
        opacity: .7;
    }
}

/*
TOC
---------------------------------*/
.single_table_of_contents {
    background: #fff;
    padding: 56px 16px 8px 16px;
    position: relative;
    border: none;
    margin: 40px 0;
    counter-reset: item;
    border-radius: 8px;
    overflow: hidden;
}
.single_table_of_contents::before {
    content: "目次";
    position: absolute;
    top: 0;
    left: 0;
    height: 40px;
    width: 100%;
    background: #364F6B;
    padding: 8px 8px 8px 64px;
    color: #fff;
    box-sizing: border-box;
    font-size: 1.6rem;
    font-weight: 700;
}
.single_table_of_contents::after {
    content: "";
    position: absolute;
    left: 16px;
    top: 10px;
    background: url(../img/icon_toc_w.png);
    width: 32px;
    height: 20px;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}
ul.single_table_of_contents li {
    list-style: none;
    position: relative;
    padding-left: 32px;
    margin: 0 0 8px;
}
ul.single_table_of_contents li::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    counter-increment: item;
    content: counter(item)'';
    background: #364F6B;
    color: #fff;
    font-weight: 700;
    border-radius: 50%;
    height: 24px;
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

ul.single_table_of_contents li.count_reset{
    counter-reset: item;
}
ul.single_table_of_contents li.count_reset2 {
	counter-reset: item 1;
}
ul.single_table_of_contents li.count_reset3 {
	counter-reset: item 2;
}
ul.single_table_of_contents li.count_reset4 {
	counter-reset: item 3;
}
ul.single_table_of_contents li.count_reset5 {
	counter-reset: item 4;
}
@media (min-width: 769px) {
    ul.single_table_of_contents {
        padding: 64px 24px 16px 24px;
    }
    ul.single_table_of_contents li {
        margin: 0 0 16px;
    }
}


/*
Animation
---------------------------------*/
@keyframes fadein {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadein {
    0% {opacity: 0}
    100% {opacity: 1}
}

.-effect {
    opacity: 0;
}
.-effect.-animated {
    -webkit-animation: effect-visible .7s .2s cubic-bezier(.25,.46,.45,.94);
    animation: effect-visible .7s .2s cubic-bezier(.25,.46,.45,.94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
@keyframes effect-visible {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        -moz-transform: translateY(20px);
        -ms-transform: translateY(20px);
        -o-transform: translateY(20px);
        transform: translateY(20px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0)
    }
}
.-effect-child {
    opacity: 0
}
.-animated .-effect-child:nth-child(1) {
    -webkit-animation: effect-visible .6s .55s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s .55s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(2) {
    -webkit-animation: effect-visible .6s .7s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s .7s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(3) {
    -webkit-animation: effect-visible .6s .85s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s .85s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(4) {
    -webkit-animation: effect-visible .6s 1s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s 1s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(5) {
    -webkit-animation: effect-visible .6s 1.15s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s 1.15s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(6) {
    -webkit-animation: effect-visible .6s 1.3s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s 1.3s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(7) {
    -webkit-animation: effect-visible .6s 1.45s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s 1.45s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(8) {
    -webkit-animation: effect-visible .6s 1.6s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s 1.6s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(9) {
    -webkit-animation: effect-visible .6s 1.75s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s 1.75s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.-animated .-effect-child:nth-child(10) {
    -webkit-animation: effect-visible .6s 1.9s cubic-bezier(.25, .46, .45, .94);
    animation: effect-visible .6s 1.9s cubic-bezier(.25, .46, .45, .94);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

/*---------------------------------
Header Footer
---------------------------------*/
/*
Header
---------------------------------*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    right : 0;
    height: 56px;
    background: #fff;
    width: 100%;
    z-index: 100;
    transition: height .3s;
}
.header.scroll {
    box-shadow: 0 0 8px rgba(71, 77, 111, 0.5);
}
.header_inner {
    margin: 0;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header_logo {
    display: block;
    width: auto;
    height: 32px;
    margin: 0 0 0 12px;
    transition: opacity .3s;
}
.header_logo img {
    height: 100%;
    width: auto;
}
.header_site_name {
    display: none;
}
.header_login {
    margin-right: 48px;
}
a.btn_login {
    background: #e4ff1a;
    color: #364f6b;
    font-size: 1rem;
    border-radius: 40px;
    padding: 8px;
    box-shadow: 0px 0px 4px rgba(137, 171, 0, 0.7);
}
a.btn_login::after {
    content: none;
}
@media (min-width:  769px) {
    .header {
        height: 80px;
    }
    .header_inner {
        margin: 0 auto;
        max-width: 1200px;
        padding: 0 40px;
    }
    .header_logo {
        height: 48px;
        margin: 0;
    }
    .header_logo span {
        font-size: 1.3rem;
        margin: 4px 0 0 16px;
    }
    .header_logo:hover {
        opacity: 0.7;
    }
    .header_site_name {
        display: block;
        margin: 0 8px;
    }
    .header_site_name h1 {
        font-size: 1.2rem;
        margin: 8px 0 0 0;
    }
    .header_site_name p {
        display: none;
    }
    .header_site_name p br {
        display: block;
    }
    .header_login {
        margin: 0 8px 0 auto;
    }
    a.btn_login {
        font-size: 1.2rem;
    }
    a.btn_login:hover {
        box-shadow: 0px 0px 8px rgba(137, 171, 0, 0.7);
    }
}
@media (min-width:  901px) {
    a.btn_login {
        font-size: 1.5rem;
        padding: 12px;
    }
}
@media (min-width:  1001px) {
    .header_site_name {
        margin: 0 16px;
    }
    .header_site_name p {
        display: block;
        font-size: 1rem;
        margin: 4px 0 0 0;
    }
}
@media (min-width:  1201px) {
    .header_site_name p br {
        display: none;
    }
}

/*
Menu Btn
---------------------------------*/
.btn_menu {
    display: block;
    height: 48px;
    width: 48px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding: 12px;
    box-sizing: border-box;
    cursor: pointer;
    transition: opacity .3s;
    text-decoration: none;
}
.btn_menu:hover {
    text-decoration: none;
}
.btn_menu span {
    display: block;
    height: 3px;
    width: 24px;
    background: #474D6F;
    margin: 0;
    transition: transform .3s;
    transform-origin: left;
    border-radius: 2px;
}
.global_nav .btn_menu span {
    background: #fff;
}
.btn_menu span:nth-child(2) {
    margin-top: 8px;
    transition: opacity.3s;
}
.btn_menu span:nth-child(3) {
    margin-top: 8px;
    transform-origin: left;
}
.btn_menu div {
    display: none;
}
.btn_menu.active span:nth-child(1) {
    transform: rotate(44deg);
    width: 32px;
}
.btn_menu.active span:nth-child(2) {
    opacity: 0;
}
.btn_menu.active span:nth-child(3) {
    transform: rotate(-44deg);
    width: 32px;
}
@media (min-width: 769px) {
    .btn_menu {
        position: static;
        margin: 0;
        width: 56px;
        height: 56px;
    }
    .btn_menu span {
        width: 32px;
        height: 4px;
    }
    .btn_menu span:nth-child(2) {
        margin-top: 10px;
    }
    .btn_menu span:nth-child(3) {
        margin-top: 10px;
    }
    .btn_menu.active span:nth-child(1) {
        transform: rotate(42deg);
        width: 42px;
    }
    .btn_menu.active span:nth-child(3) {
        transform: rotate(-42deg);
        width: 42px;
    }
}

/*
Menu Nav
---------------------------------*/
.menu_nav {
    position: fixed;
    top: 56px;
    left: 0;
    width:  100%;
    height: 0;
    min-height: 0;
    transition: min-height .3s;
    background: #fff;
    overflow: hidden;
    z-index: 1;
}
.menu_nav.active {
    min-height: 100vh;
}
.menu_nav_inner {
    margin: 0 3.2vw;
}
.menu_nav_item {
    margin-top: 16px;
}
.menu_nav_item a {
    position: relative;
    text-decoration: none;
    color: #fd7a9f;
    padding-left: 24px;
    font-size: 1.4rem;
}
.menu_nav_item a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    height: 16px;
    width: 16px;
    margin: auto;
    background: url(../img/icon_angle_r_p.svg) center/contain no-repeat;
}
.menu_nav_inner .btn_entry_list {
    margin: 32px 0;
}
.menu_nav_title {
    margin-top: 24px;
    color: #7F8D9D;
    font-size: 1.6rem;
    font-weight: 700;
}
@media (min-width:  769px) {
    .menu_nav {
        top: 80px;
    }
    .menu_nav_inner {
        margin: 0 auto;
        max-width: 1200px;
        padding: 0 40px;
    }
    .menu_nav_list {
        display: flex;
        flex-wrap: wrap;
    }
    .menu_nav_item {
        margin: 24px 24px 0 0;
    }
    .menu_nav_item a {
        font-size: 1.6rem;
    }
    .menu_nav_inner .btn_entry_list {
        margin: 32px auto;
        max-width: none;
        justify-content: center;
        border-bottom: solid #F0F0F0 2px;
        padding-bottom: 32px;
    }
    .menu_nav_inner .btn_entry_list .btn_entry_home {
        margin-left: 48px;
    }
}

/*
Global Nav
---------------------------------*/
.global_nav {
    display: none;
}
@media (min-width:  769px) {
    .global_nav {
        background: #fff;
        display: block;
        height: 80px;
        position: absolute;
        top: 80px;
        left: 0;
        right: 0;
    }
    .global_nav_inner {
        max-width: 1200px;
        padding: 0 40px;
        margin: 0 auto;
        height: 100%;
    }
    .global_nav_list {
        height: 100%;
        display: flex;
        align-items: center;
    }
    .global_nav_item + .global_nav_item {
        margin: 0 0 0 24px;
    }
    .global_nav_item a {
        position: relative;
        text-decoration: none;
        color: #fd7a9f;
        padding: 24px 4px;
    }
    .global_nav_item a::before {
        content: "";
        position: absolute;
        bottom: 8px;
        left: 0;
        right: 0;
        margin: auto;
        height: 6px;
        width: 6px;
        background: #fd7a9f;
        border-radius: 3px;
        transition: .3s;
    }
    .global_nav_item a:hover::before {
        width: 32px;
    }
}
@media (min-width:  1001px) {
    .global_nav_item a {
        padding: 24px 8px;
    }
}

/*
Footer
---------------------------------*/
.footer {
    background: #364F6B;
    padding: 40px 0 250px;
    width: 100%;
    text-align: center;
}
.footer_inner {
    margin: 0 3.2vw;
    text-align: left;
}
.footer_nav_title {
    color: #1db9c3;
    font-size: 1.6rem;
    font-weight: 700;
    display: inline-block;
    border-bottom: solid 2px #1db9c3;
}
.footer_nav_title:not(:first-child) {
    margin-top: 24px;
}
.footer_nav_list + .footer_nav_list {
    border-top: solid 2px #1db9c3;
    margin-top: 24px;
    padding-top: 8px;
}
.footer_nav_item {
    margin-top: 16px;
}
.footer_nav_item a {
    position: relative;
    padding-left: 20px;
    font-size: 1.4rem;
    text-decoration: none;
    color: #fff;
}
.footer_nav_item a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    height: 12px;
    width: 12px;
    margin: auto;
    background: url(../img/icon_angle_r_w.svg) center/contain no-repeat;
}
.copyright {
    text-align: center;
    margin-top: 24px;
}
.copyright a {
    color: #fff;
    font-weight: 400;
}
.copyright small {
    font-size: 1.2rem;

}
#line_box {
    position: fixed;
    bottom: 3.2vw;
    right: calc(6.4vw + 48px );
    box-sizing: border-box;
    z-index: 100;
    display: block;
    border-radius: 40px;
    box-shadow: 0 0 8px rgb(0 0 0 / 20%);
    padding: 8px 8px 8px 40px;
    margin: 0;
    border: solid 2px #00B900;
    background-color: #fff;
    background-image: url(//distnoah.com/svg/line.svg);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 5px center;
}
#line_box a {
    display: block;
    color: #364F6B;
    font-size: 1.1rem;
    text-decoration: none;
    line-height: 1.3;
}
#return_top {
    position: fixed;
    right: 3.2vw;
    bottom: 3.2vw;
    z-index: 5;
}
#return_top a {
    background: #fff;
    border: solid 2px #364F6B;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1em;
    text-decoration: none;
    box-shadow: 0 0 8px rgb(0 0 0 / 20%);
}
#return_top i {
    color: #364F6B;
    font-size: 3.2rem;
    display: block;
}
@media (min-width: 769px) {
    .footer {
        padding: 80px 0 250px;
    }
    .footer_inner {
        max-width: 1200px;
        padding: 0 40px;
        margin: 0 auto;
    }
    .footer_nav_title:not(:first-child) {
        margin-top: 40px;
    }
    .footer_nav_list {
        margin: 0;
        display: flex;
        flex-wrap: wrap;
    }
    .footer_nav_list + .footer_nav_list {
        margin-top: 40px;
        padding-top: 24px;
    }
    .footer_nav_item {
        margin: 24px 24px 0 0;
    }
    .footer_nav_item a {
        font-size: 1.6rem;
        transition: opacity .3s;
    }
    .footer_nav_item a:hover {
        opacity: .7;
    }
    .copyright small {
        font-size: 1.4rem;
    }
    #line_box {
        display: none;
    }
}

aside.cljp-service {
    background: #f5f5f5;
    border-top: 1px solid #00000005;
    border-bottom: 1px solid #00000005;
    padding: 50px 0;
    width: 100%;
}
aside.cljp-service h2 {
    background: none !important;
    text-align: center;
    font-size: 140%;
}
aside.cljp-service ul {
    width: 100%;
    padding: 0;
    margin: 0 auto;
    display: flex;
    display: -webkit-flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
aside.cljp-service ul li {
    display: block;
    background: white;
    border: 1px solid #00000033;
    border-radius: 3px;
    box-sizing: border-box;
    width: 260px;
    padding: 10px 15px 15px;
    margin: 0 0 30px;
    transition: 0.3s;
}
aside.cljp-service ul li a {
    font-size: 85%;
    text-decoration: none;
    text-align: center;
    color: #777;
    display: block;
}
aside.cljp-service ul li img {
    width: 100%;
    height: auto;
}
@media (min-width: 769px) {
    aside.cljp-service {
        padding: 50px calc(50% - 490px);
    }
}

/*---------------------------------
Main
---------------------------------*/
/*
Main Visual
---------------------------------*/
.main_visual {
    position: relative;
    height: 54vw;
}
.main_visual {
    position: relative;
    height: 80vw;
    background: url(../img/mv_sp.webp) center/cover;
    padding: 3.2vw;
}
.main_visual_inner {
    position: relative;
    overflow: hidden;
    height: 100%;
    padding: 1.6vw;
    border: solid 2px #fff;
    border-radius: 4px;
}
.main_visual_copy {
    position: relative;
    font-size: 7.4vw;
    color: #364f6b;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: left;
    margin: 4% 0 0 42%;
    line-height: 2;
}
.main_visual_copy span {
    font-size: 8.5vw;
}
.main_visual_reward {
    font-size: 4.2vw;
    color: #364f6b;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: 0 0 0 42%;
}
.main_visual_reward .cost {
    font-size: 9.6vw;
    color: #fd7a9f;
    font-family: 'Sen',sans-serif;
    border-bottom: solid 2px #fd7a9f;
}
.main_visual_reward .yen {
    font-size: 6.4vw;
}
.main_visual_btn {
    position: absolute;
    left: 6.4vw;
    bottom: 6.4vw;
    width: calc( 100% - 12.8vw);
}
@media (min-width: 769px) {
    .main_visual {
        height: 720px;
    }
    .main_visual {
        height: 720px;
        background: url(../img/mv_pc.webp) left 40% center/cover;
        padding: 40px;
    }
    .main_visual_inner {
        justify-content: flex-start;
        margin: 0;
        border-radius: 16px;
        border: solid 3px #fff;
        padding: 40px;
    }
    .main_visual_copy {
        font-size: 5.6rem;
        margin: 20px 0 0 35%;
    }
    .main_visual_copy span {
        font-size: 6.4rem;
        margin-top: -12px;
    }
    .main_visual_reward {
        font-size: 3.6rem;
        margin-left: 35%;
    }
    .main_visual_reward .cost {
        font-size: 7.2rem;
        border-bottom: solid 4px #fd7a9f;
    }
    .main_visual_reward .yen {
        font-size: 4.8rem;
    }
    .main_visual_btn {
        max-width: 880px;
        padding: 0 24px;
        margin: 0 auto;
        left: 0;
        right: 0;
        bottom: 80px;
    }
}
@media (min-width: 1031px) {
    .main_visual {
        background: url(../img/mv_pc.webp) center/cover;
    }
    .main_visual_copy {
        font-size: 6.4rem;
        margin: 0 0 0 40%;
    }
    .main_visual_copy span {
        font-size: 7.2rem;
    }
    .main_visual_reward {
        margin-left: 40%;
        font-size: 4.8rem;
    }
    .main_visual_reward .cost {
        font-size: 9.6rem;
    }
    .main_visual_reward .yen {
        font-size: 6.4rem;
    }
}
@media (min-width: 1201px) {
    .main_visual_copy {
        margin: 0 0 0 50%;
    }
    .main_visual_reward {
        margin-left: 50%;
    }
}

/*
Section
---------------------------------*/
.section {
    margin: 40px 0;
}
.section_bg {
    padding: 40px 0;
    margin: 0;
}
.section_bg_01, .section_bg_08{
    background: #F9F3F3;
}
.section_bg_02 , .section_bg_07 {
    background: url(../img/bg_02_sp.webp) center/cover;
}
.section_bg_03 {
    background: #E9F5F3;
}
.section_bg_04 {
    background: url(../img/bg_04_sp.webp) center/cover;
}
.section_title {
    position: relative;
    margin: 0 0 32px;
    padding: 0;
    text-align: center;
}
.section_title h2 {
    color: #364F6B;
    display: block;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: 0;
}
.section_title span {
    color: #999999;
    display: block;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    font-family: 'Sen',sans-serif;
    line-height: 1;
    padding-top: 4px;
}
.section_text p {
    line-height: 1.8;
    font-weight: 700;
    font-size: 1.6rem;
}
.section_text p + p {
    margin: 0 0 2em 0;
}
.section_bg_06{
    background: url(../img/bg_06_sp.webp) center/cover;
}
@media (min-width: 769px) {
    .section {
        margin: 56px 0;
    }
    .section_bg {
        padding: 56px 0;
        margin: 0;
    }
    .section_bg_02 {
        background: url(../img/bg_02_pc.webp) center/cover;
    }
    .section_bg_04 {
        background: url(../img/bg_04_pc.webp) center/cover;
    }
	.section_bg_06 {
        background: url(../img/bg_06_pc.webp) center/cover;
    }
    .section_title {
        margin: 0 0 48px;
    }
    .section_title h2 {
        font-size: 3.2rem;
    }
    .section_title span {
        font-size: 1.4rem;
    }
    .section_text p {
        font-size: 1.8rem;
    }
}
@media (min-width: 1201px) {
    .section {
        margin: 80px 0;
    }
    .section_bg {
        padding: 80px 0;
        margin: 0;
    }
    .section_title {
        margin: 0 0 64px;
    }
    .section_title h2 {
        font-size: 4rem;
    }
    .section_title span {
        font-size: 1.6rem;
    }
    .section_text p {
        font-size: 2rem;
    }
}

/*
Section Top Info
---------------------------------*/

.section_top_info .section_title , .section_top_sim .section_title {
    padding: 12px 0;
    background: url(../img/bg_title_01.png) center/auto 100% no-repeat;
}
.info_item {
    margin-top: 32px;
}
.info_item .image {
    position: relative;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.24);
    border-radius: 12px;
    margin-bottom: 24px;
}
.info_item .image::before {
    content: "";
    position: absolute;
    top: 1.6vw;
    bottom: 1.6vw;
    left: 1.6vw;
    right: 1.6vw;
    border: solid 2px #fff;
    border-radius: 4px;
}
.info_item .image::after {
    content: "";
    position: absolute;
    top: 1.6vw;
    left: 1.6vw;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: linear-gradient(315deg ,#ffccd2 0%, #f9f3f3 100%);
    z-index: -1;
}
.info_item .image img {
    border-radius: 12px;
}
.info_item .inner {
    margin: 0 3.2vw;
}
.info_item .btn {
    margin-top: 24px;
}

@media (min-width: 769px) {
    .section_top_info .info_item:nth-child(odd) {
        flex-direction: row-reverse;
    }
    .section_top_info .section_title {
        padding: 24px 0;
    }
    .info_item {
        margin-top: 48px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .info_item .image {
        width: 48%;
    }
    .info_item .image::before {
        top: 12px;
        bottom: 12px;
        left: 12px;
        right: 12px;
    }
    .info_item .image::after {
        top: 12px;
        left: 12px;
    }
    .info_item .inner {
        width: 48%;
        padding: 0 40px;
        margin: 0;
    }
    .info_item .heading_3 {
        margin-top: 0;
    }
    .info_item .btn {
        margin-top: 32px;
    }
}

/*
Section Top Work
---------------------------------*/
.work_item {
    position: relative;
    background: #fff;
    margin-top: 60px;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
    padding: calc( 3.2vw + 24px) 8.2vw 9.2vw;
}
.work_item::after {
    content: "";
    position: absolute;
    top: 1.6vw;
    left: 1.6vw;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: linear-gradient(315deg ,#364f6b 0%, rgba(54, 79, 107, 0) 100%);
    opacity: 0.5;
    z-index: -1;
}
.work_ribbon {
    position: absolute;
    top: -28px;
    left: -3.2vw;
    width: 100%;
    background: url(../img/bg_ribbon_sp.svg) left/auto 100% no-repeat;
    color: #fff;
    font-family: 'Sen',sans-serif;
    padding: 4px 4px 4px 3.2vw;
    display: flex;
    align-items: center;
}
.work_ribbon .title {
    font-size: 1.8rem;
    border-bottom: 2px solid #fff;
}
.work_ribbon .num {
    font-size: 3.2rem;
    margin-left: 16px;
}
.work_item .btn {
    margin-top: 24px;
}
.work_ribbon2 {
    position: absolute;
    top: -23px;
    left: -3.2vw;
    width: 100%;
    background: url(../img/bg_ribbon_sp2.webp) left/auto 100% no-repeat;
    color: #fff;
    padding: 7px 0 9px 3.2vw;
    display: flex;
    align-items: center;
}
.work_item2 {
    position: relative;
    background: #fff;
    margin-top: 50px;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
    padding: calc( 3.2vw + 24px) 8.2vw 9.2vw;
}
.work_ribbon2 .title {
    font-size: 1.8rem;
    border-bottom: 2px solid #fff;
}
.top_smartphone_area img{
	width: 100%;
}
.top_smartphone_area_text{
	 position: relative;
    background: #fff;
    margin: 18px 0 40px 0;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}
.top_smartphone_area_text::after {
    content: "";
    position: absolute;
    top: 1.6vw;
    left: 1.6vw;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: linear-gradient(315deg ,#364f6b 0%, rgba(54, 79, 107, 0) 100%);
    opacity: 0.5;
    z-index: -1;
}
.top_smartphone_area p {
    font-size: 7.4vw;
    color: #364f6b;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    line-height: 2;
}

@media (min-width: 769px) {
    .work_list {
        margin: 50px 40px 0;
    }
	 .work_list2 {
        margin: 50px 40px 0;
    }
    .work_item {
        padding: 48px 40px 40px;
        border-radius: 16px;
        margin-top: 72px;
    }
    .work_item::after {
        top: 12px;
        left: 12px;
        border-radius: 16px;
    }
    .work_ribbon {
        background: url(../img/bg_ribbon_pc.svg) left/auto 100% no-repeat;
        padding: 2px 2px 2px 40px;
        left: -40px;
        top: -38px;
    }
	 .work_ribbon2 {
        background: url(../img/bg_ribbon_pc2.webp) left/auto 100% no-repeat;
        padding: 7px 2px 10px 23px;
        left: -40px;
        top: -31px;
    }
    .work_ribbon .title {
        font-size: 2.4rem;
    }
    .work_ribbon .num {
        font-size: 4.8rem;

    }
    .work_item .btn {
        margin-top: 32px;
    }
	.section_top_after .heading_3 {
		font-size: 2.6rem;
    	margin: 24px 0;
    	padding-left: 24px;
	}

}
@media (min-width: 1061px) {
    .work_list {
        display: flex;
        justify-content: space-between;
        margin: 80px 40px 0;
    }
	.work_list2 {
        justify-content: space-between;
        margin: 80px 40px 0;
    }
    .work_item {
        width: 46%;
        margin: 0;
        padding: 56px 40px 40px;
    }
    .work_ribbon {
        top: -50px;
    }
    .work_ribbon .title {
        font-size: 3.2rem;
    }
    .work_ribbon .num {
        font-size: 6.4rem;
    }
	.work_item2, .work_item3 {
        padding: 56px 40px 40px;
   }
	 .work_ribbon2 .title {
        font-size: 2.8rem;
		   font-weight: bolder;
    }
		.top_smartphone_area{
		max-width: 1200px;
		position: relative;
	}
	.top_smartphone_area img{
		width:60%;
	}
	.top_smartphone_area p {
		font-size: 5.6rem;
		margin: 0;
		right: 68px;
		bottom: 334px;
		text-align: left;
		position: absolute;
	}
}

/*
Section Top Topics
---------------------------------*/
.section_top_topics .section_title {
    padding: 12px 0;
    background: url(../img/bg_title_02.png) center/auto 100% no-repeat;
}
.topics_item {
    position: relative;
    margin-top: 32px;
    border-radius: 8px;
    background: #fff;
}
.topics_item::after {
    content: "";
    position: absolute;
    top: 1.6vw;
    left: 1.6vw;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: linear-gradient(315deg ,#1db8c3 0%, rgba(205, 240, 234, 0) 100%);
    opacity: 0.5;
    z-index: -1;
}
.topics_item a {
    display: flex;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}
.topics_item .image {
    width: 40%;
    min-height: 140px;
}
.topics_item .image img {
    object-fit: cover;
    height: 100%;
    border-radius: 8px 0 0 8px;
}
.topics_item .inner {
    width: 60%;
    padding: 3.2vw;
}
.topics_cat {
    color: #fff;
    background: #364f6b;
    display: inline-block;
    font-size: 1.2rem;
    padding: 2px 8px;
    border-radius: 12px;
}
.topics_date {
    color: #7F8D9D;
    font-size: 1.2rem;
    margin-left: 4px;
    letter-spacing: .1em;
}
.new {
    margin-left: 4px;
    color: #fd7a9f;
    font-size: 1.2rem;
    font-family: 'sen';
}
.topics_item_title {
    color: #364F6B;
    font-size: 1.5rem;
    margin: 8px 0 0;
}
.section_top_topics .btn {
    margin-top: 32px;
}

.category_nav_area {
    margin-bottom: 32px;
}
.category_nav_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 0;
}
.category_nav_list li {
    width: 48%;
    margin: 0 0 12px;
}
.category_nav_list a {
    text-align: center;
    background: #FD7A9F;
    display: block;
    padding: 8px;
    font-size: 14px;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    transition: opacity .3s;
    box-shadow: 0px 0px 4px rgb(240 110 144 / 70%);
}
.category_nav_list img {
    width: auto;
    height: 20px;
    margin: 0 auto 8px;
    display: block;
}
@media (min-width: 769px) {
    .section_top_topics .section_title {
        padding: 24px 0;
    }
    .topics_list {
        display: flex;
        flex-wrap: wrap;
    }
    .topics_item {
        margin-top: 40px;
        width: 30%;
        border-radius: 16px;
        margin: 0 0 0 5%;
    }
    .topics_list .topics_item:nth-of-type(n+4) {
        margin-top: 5%;
    }
    .topics_list .topics_item:nth-of-type(3n+1) {
        margin-left: 0;
    }
    .topics_item::after {
        top: 12px;
        left: 12px;
        border-radius: 16px;
    }
    .topics_item a {
        display: block;
        transition: .3s;
        border-radius: 16px;
        box-shadow: 0 0 16px rgb(0 0 0 / 20%);
        height: 100%;
    }
    .topics_item a:hover {
        box-shadow: 0 8px 24px rgb(0 0 0 / 30%);
    }
    .topics_item .image {
        width: 100%;
        height: 200px;
    }
    .topics_item .image img {
        border-radius: 16px 16px 0 0;
    }
    .topics_item .inner {
        position: relative;
        width: 100%;
        padding: 24px 40px;
    }
    .topics_cat {
        position: absolute;
        top: -16px;
        left: 24px;
        font-size: 1.5rem;
        padding: 5px 16px;
        border-radius: 16px;
    }
    .topics_date {
        font-size: 1.4rem;
        margin: 0;
    }
    .new {
        margin-left: 8px;
        font-size: 1.4rem;
    }
    .topics_item_title {
        font-size: 1.6rem;
    }
    .section_top_topics .btn {
        margin: 40px auto 0;
    }
    .category_nav_list {
        justify-content: flex-start;
    }
    .category_nav_list li {
        width: 23.5%;
        margin: 0 0 2% 2%;
    }
    .category_nav_list li:nth-of-type(4n+1) {
        margin-left: 0;
    }
    .category_nav_list a {
        display: flex;
        padding: 12px;
        font-size: 16px;
        color: #fff;
    }
    .category_nav_list img {
        margin: 0 8px 0 0;
    }
}


/*
Section Top Area
---------------------------------*/
.section_top_area .section_title , .section_top_room .section_title {
    padding: 12px 0;
    background: url(../img/bg_title_03.png) center/auto 100% no-repeat;
}
.area_item {
    margin-top: 32px;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
    background: #F0F0F0;
}
.area_item h3 {
    color: #fff!important;
    background: #364f6b!important;
    padding: 8px 3.2vw!important;
    margin: 0!important;
    border-radius: 8px 8px 0 0!important;
    font-size: 1.5rem!important;
}
.area_item h3 a {
    color: #fff!important;
    text-decoration: none!important;
}
.area_item h3::before {
    content: none!important;
}
.area_item_list {
	padding: 3.2vw!important;
	border-left-style: none!important;
	margin: 0!important;
}
.area_item_list li {
    position: relative!important;
    padding-left: 24px!important;
	 list-style-type: none!important;
	 margin: 0!important;
}
.area_item_list li + li {
    margin-top: 8px!important;
}
.area_item_list li::before {
    content: ""!important;
    position: absolute!important;
    top: 0!important;
    bottom: 0!important;
    left: 0!important;
    background: #3B4F69!important;
    height: 2px!important;
    width: 8px!important;
    margin: auto!important;
}
.area_item_list li a {
    color: #3B4F69!important;
    text-decoration: none!important;
}
.section_top_area .btn {
    margin: 32px 0 0;
}
@media (min-width: 769px) {
    .section_top_area .section_title {
        padding: 24px 0;
    }
    .section_top_area p , .section_top_room p {
        text-align: center;
    }
    .area {
        position: relative;
        margin-top: 40px;
    }
    .area_map {
        width: 30%;
        margin: 0 auto;
        height: 710px;
        padding-top: 120px;
    }
    .area .area_item {
        width: 30%;
        position: absolute;
        margin-top: 0;
        border-radius: 16px;
    }
    .area_item h3 {
        font-size: 2rem!important;
        border-radius: 16px 16px 0 0!important;
        padding: 8px 40px!important;
    }
    .area_item h3 a {
        transition: opacity .3s!important;
    }
    .area_item h3 a:hover {
        opacity: .7!important;
    }
    .area .area_item:nth-of-type(2) {
        top: 0;
        right: 0;
    }
    .area .area_item:nth-of-type(3) {
        top: 145px;
        right: 0;
    }
    .area .area_item:nth-of-type(4) {
        bottom: 0;
        right: 0;
    }
    .area .area_item:nth-of-type(5) {
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
    }
    .area .area_item:nth-of-type(6) {
        top: 0;
        left: 0;
    }
    .area .area_item:nth-of-type(7) {
        top: 232px;
        left: 0;
    }
    .area .area_item:nth-of-type(8) {
        bottom: 0;
        left: 0;
    }
    .area_item_list {
		padding: 16px 40px!important;
		margin: 0!important;
		border-left: none!important;
    }
    .area_item_list li a {
        font-size: 1.8rem!important;
        transition: opacity .3s!important;
    }
    .area_item_list li a:hover {
        opacity: .7!important;
    }
    .section_top_area .btn {
        margin: 40px auto 0;
    }
}

/*
Section Top Merit
---------------------------------*/
.merit_item {
    position: relative;
    background: #fff;
    margin-top: 72px;
    padding: 40px 6.4vw 7.2vw;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}
.merit_item::after {
    content: "";
    position: absolute;
    top: 1.6vw;
    left: 1.6vw;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: linear-gradient(315deg ,#364f6b 0%, rgba(54, 79, 107, 0) 100%);
    opacity: 0.5;
    z-index: -1;
}
.merit_item .icon {
    background: #364f6b;
    border-radius: 50%;
    height: 80px;
    width: 80px;
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.merit_item .icon img {
    width: 50%;
}
@media (min-width: 769px) {
    .merit_list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .merit_item {
        width: 48%;
        border-radius: 16px;
        padding: 80px 40px 40px;
    }
    .merit_item::after {
        top: 12px;
        left: 12px;
        border-radius: 16px;
    }
    .merit_item .icon {
        height: 120px;
        width: 120px;
    }
}

/*
Section Top Recomend
---------------------------------*/
.section_top_recomend .section_title {
    padding: 12px 0;
    background: url(../img/bg_title_01.png) center/auto 100% no-repeat;
}
.recomend_item {
    margin-top: 32px;
}
.recomend_item .image {
    position: relative;
    border-radius: 50%;
    width: 160px;
    height: 160px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
    margin: 0 auto;
}
.recomend_item .image::before {
    content: "";
    position: absolute;
    top: 1.6vw;
    bottom: 1.6vw;
    left: 1.6vw;
    right: 1.6vw;
    border: solid 2px #fff;
    border-radius: 50%;
}
.recomend_item .image img {
    border-radius: 50%;
}
.recomend_item .inner {
    position: relative;
    background: #F9F3F3;
    padding: 3.2vw;
    -webkit-filter:drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
    -moz-filter:drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
    -ms-filter:drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
    filter:drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
    margin-top: 40px;
}
.recomend_item .inner .heading_3 {
    margin-top: 8px;
}
.recomend_item .inner::before {
    content: "";
    position: absolute;
    top: -16px;
    left: 0;
    right: 0;
    margin: auto;
    height: 40px;
    width: 40px;
    background: #F9F3F3;
    transform: rotate(45deg);
    border-radius: 8px;
}
@media (min-width: 769px) {
    .section_top_recomend .section_title {
        padding: 24px 0;
    }
    .section_top_recomend p {
        text-align: center;
    }
    .recomend_item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 56px;
    }
    .recomend_item .image {
        width: 240px;
        height: 240px;
        margin: 0;
    }
    .recomend_item .image::before {
        top: 12px;
        bottom: 12px;
        left: 12px;
        right: 12px;
    }
    .recomend_item .inner {
        width: calc( 100% - 300px );
        margin: 0;
        border-radius: 16px;
        padding: 40px;
    }
    .recomend_item .inner::before {
        top: 0;
        left: -16px;
        right: auto;
        bottom: 0;
    }
    .recomend_item .inner p {
        text-align: left;
    }
}


/*
Section Top Question
---------------------------------*/
.section_top_question .section_title {
    padding: 12px 0;
    background: url(../img/bg_title_02.png) center/auto 100% no-repeat;
}
.question_item {
    position: relative;
    background: #fff;
    margin-top: 24px;
    padding: 3.2vw;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}
.question_item .question_title {
    position: relative;
    margin: 0;
    font-size: 1.4rem;
    padding: 10px 40px;
    color: #364F6B;
}
.question_item .question_title::before {
    content: "Q";
    position: absolute;
    color: #F06F91;
    font-family: 'Sen',sans-serif;
    font-size: 4rem;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    line-height: 1;
    height: 48px;
}
.acd_check {
    display: none;
}
.acd_label {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    border: solid 2px #F06F91;
    cursor: pointer;
}
.acd_label::before,
.acd_label::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 2px;
    width: 16px;
    border-radius: 1px;
    background: #F06F91;
}
.acd_label::after {
    transform: rotate(90deg);
}
.acd_check:checked ~ .question_title .acd_label::after {
    transform: rotate(0);
}
.acd-content {
    position: relative;
    min-height: 0;
    height: 0;
    overflow: hidden;
    padding-left: 40px;
}
.acd_check:checked ~ .acd-content {
    height: auto;
    padding-top: 16px;
    margin-top: 8px;
    border-top: #DDDDDD solid 2px;
    min-height: 68px;
}
.acd-content::before {
    content: "A";
    position: absolute;
    color: #1db9c3;
    font-family: 'Sen',sans-serif;
    font-size: 4rem;
    top: 16px;
    bottom: 0;
    left: 0;
    margin: auto;
    line-height: 1;
    font-weight: 700;
}
.section_top_question .btn {
    margin-top: 32px;
}
.acd-content p {
    margin: 0;
}
.section_top_after .section_title {
    padding: 12px 0;
    background: url(../img/bg_title_02.png) center/auto 100% no-repeat;
}
@media (min-width: 769px) {
    .section_top_question .section_title {
        padding: 24px 0;
    }
    .section_top_question p {
        text-align: center;
    }
    .question_item {
        padding: 40px;
        border-radius: 16px;
        margin-top: 48px;
    }
    .question_item .question_title {
        font-size: 1.8rem;
        padding: 6px 56px;
    }
    .acd_check:checked ~ .acd-content {
        padding-top: 32px;
        margin-top: 32px;
    }
    .acd-content {
        padding-left: 56px;
    }
    .acd-content p {
        text-align: left;
    }
    .acd-content::before {
        top: 32px;
    }
    .section_top_question .btn , .section_top_room .btn , .section_top_smartphone .btn {
        margin: 56px auto 0;
    }

}

/* JSON FAQ */
.schema-faq-section {
    position: relative;
    background: #fff;
    margin-top: 24px;
    padding: 3.2vw;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

.schema-faq-section::before {
    content: "Q";
    position: absolute;
    color: #F06F91;
    font-family: 'Sen',sans-serif;
    font-size: 4rem;
    top: 12px;
    left: 12px;
    margin: auto;
    line-height: 1;
    height: 48px;
    font-weight: bold;
}

.schema-faq-section::after {
    content: "";
    position: absolute;
    top: 13px;
    right: 11px;
    margin: auto;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    border: solid 2px #F06F91;
    cursor: pointer;
}

.schema-faq-question {
    position: relative;
    margin: 0;
    font-size: 1.4rem;
    padding: 10px 40px;
    color: #364F6B;
    display: block;
}

.schema-faq-question::before, .schema-faq-question::after {
    content: "";
    position: absolute;
    top: 19px;
    right: 10px;
    margin: auto;
    height: 2px;
    width: 16px;
    border-radius: 1px;
    background: #F06F91;
    transform: rotate(270deg);
    transition: .3s;
}

.schema-faq-question::before {
    transform: rotate(0deg);
}

.schema-faq-question.is-open::after {
    right: 10px;
    transform: rotate(0deg);
}

.schema-faq-answer {
    position: relative;
    overflow: hidden;
    padding-left: 40px;
    display: none;
    padding-top: 16px;
    margin-top: 8px !important;
    border-top: #DDDDDD solid 2px;
}

.schema-faq-answer::before {
    content: "A";
    position: absolute;
    color: #1db9c3;
    font-family: 'Sen',sans-serif;
    font-size: 4rem;
    top: 16px;
    bottom: 0;
    left: 0;
    margin: auto;
    line-height: 1;
    font-weight: 700;
}


@media (min-width: 439px) {
    .schema-faq-section::before {
        top: 22px;
        left: 24px;
    }

    .schema-faq-section::after {
        top: 24px;
        right: 22px;
    }
}

@media (min-width: 769px) {
    .schema-faq-section {
        padding: 40px;
        border-radius: 16px;
        margin-top: 48px;
    }
    
    .schema-faq-section::before {
        top: 37px;
        left: 39px;
    }

    .schema-faq-section::after {
        top: 40px;
        right: 38px;
    }
    .schema-faq-question {
        font-size: 1.8rem;
        padding: 6px 56px;
    }
    .schema-faq-answer {
        padding-left: 56px;
        padding-top: 32px;
        margin-top: 32px !important;
    }
    
    .schema-faq-answer::before {
        top: 32px;
    }
}

/*---------------------------------
Common Parts
---------------------------------*/

.column_item + .column_item {
    margin-top: 16px;
}
@media (min-width: 769px) {
    .flex_column {
        display: flex;
    }
    .column_item + .column_item {
        margin: 0 0 0 4%;
    }
    .column_item {
        width: 50%;
    }
}

.data_list_01 dt {
    font-size: 1.5rem;
    font-weight: 500;
}
.data_list_01 dd + dt {
    border-top: solid 1px #ddd;
    margin-top: 8px;
    padding-top: 8px;
}
.data_list_01 dd {
    margin: 4px 0 0;
}
@media (min-width: 769px) {
    .data_list_01 dt {
        font-size: 1.6rem;
        float: left;
        min-width: 240px;
    }
    .data_list_01 dd + dt {
        border-top: solid 1px #ddd;
        margin-top: 16px;
        padding-top: 16px;
    }
    .data_list_01 dd {
        margin: 0 0 0 240px;
        font-size: 1.6rem;
    }
    .data_list_01 dd:nth-of-type(n+2) {
        border-top: solid 1px #ddd;
        padding-top: 16px;
        margin-top: 16px;
    }
}

.frame {
    position: relative;
    padding: 16px;
}
.frame p {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 700;
    line-height: 1.8;
}
.frame::before,
.frame::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 16px;
    border: solid #ddd 1px;
}
.frame::before {
    border-right: none;
    left: 0;
}
.frame::after {
    border-left: none;
    right: 0;
}
@media (min-width: 769px) {
    .frame p {
        font-size: 2rem;
        text-align: center;
    }
    .frame::before,
    .frame::after {
        width: 24px;
        border: solid #ddd 2px;
    }
    .frame::before {
        border-right: none;
    }
    .frame::after {
        border-left: none;
    }
}


.disc_list {
    list-style: disc;
    padding-left: 1.4em;
}
.number_list {
    list-style: decimal;
    padding-left: 1.4em;
}



/*---------------------------------
Page
---------------------------------*/
.page_contents {
    padding: 32px 0;
    background: #F9F3F3;
}

.page_title {
    color: #364F6B;
    font-weight: 700;
    letter-spacing: 0.1em;
    position: relative;
    text-align: center;
    margin: 40px 0 24px;
    padding: 12px 0;
    font-size: 2.4rem;
    background: url(../img/bg_title_01.png) center/auto 100% no-repeat;
    background-size: 100% auto;
}
.page_title:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    width: 80px;
    background: #364F6B;
    margin: auto;
    border-radius: 2px;
}

.page_section {
    padding: 40px 0;
}
.page_section section {
    margin-top: 2em;
}

.under_line_title {
    position: relative;
    font-size: 2rem;
    padding-bottom: 12px;
    margin: 0 0 1.6em;
}
.under_line_title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 4px;
    width: 100%;
    background: linear-gradient(90deg,#5275e5 0%, #50ffd7 100%);
}
* + .under_line_title {
    margin: 1.6em 0;
}

.sub_title {
    position: relative;
    padding: 0 0 0 24px;
    text-align: justify;
    font-size: 1.8rem;
    margin: 0 0 1.3em;
}
.sub_title::before {
    content: "";
    position: absolute;
    top: 0.2em;
    bottom: 0;
    width: 4px;
    height: 1.2em;
    background: linear-gradient(45deg,#5275e5 0%, #50ffd7 100%);
    transform: skewX(-30deg);
    left: 0;
    transform-origin: bottom;
}
* + .sub_title {
    margin: 1.6em 0;
}

.bg_w_title {
    margin: 0;
    background: #fff;
    padding: 4px;
    margin: 0 0 1em;
}
* + .bg_w_title {
    margin: 1em 0;
}

.page_header {
    background: #fff;
    padding: 8px;
    border-radius: 8px;
    text-align: center;
    color: #999;
}

.page_thumbnail img {
    height: auto;
}

@media (min-width: 769px) {
    .page_contents {
        padding: 56px 0;
    }

    .page_title {
        font-size: 4rem;
        margin: 56px 0 48px;
        padding: 24px 0;
        background-size: contain;
    }


    .page_section {
        padding: 80px 0;
    }

    .bg_w_title {
        font-size: 1.6rem;
    }
}
@media (min-width: 1201px) {
    .page_contents {
        padding: 80px 0;
    }

    .page_section {
        padding: 120px 0;
    }
}


/*
このページを見た人はこちらのページも見ています
---------------------------------*/
.wherego_related-area {
    padding: 40px 0;
    background: #E9F5F3;
}

.wherego_related-area.ctl-beginner {
    padding: 0;
    background-color: transparent;
}

.wherego_related ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: 32px 0;
}

.wherego_related-area.ctl-beginner ul {
    padding: 0 !important;
    margin: 24px 0 !important;
    border-left: none !important;
}

.wherego_related-area.ctl-beginner ul li {
    margin: 0 !important;
    list-style-type: none !important;
}

.wherego_related ul li {
    position: relative;
    /* margin-top: 32px; */
    border-radius: 8px;
    box-shadow: 0 0 8px rgb(0 0 0 / 20%);
    background: #fff;
    width: 48%;
}
.wherego_related ul li a {
    display: block;
    text-decoration: none;
}
.wherego_related ul li a img {
    object-fit: cover;
    height: 120px;
    border-radius: 8px 8px 0 0;
}
.wherego_title {
    display: block;
    color: #364F6B;
    font-size: 1.5rem;
    padding: 3.2vw 3.2vw 0;

}
.wherego_excerpt {
    display: block;
    font-size: 1.3rem;
    color: #999;
    margin: 8px 0 0;
    padding: 0 3.2vw 3.2vw;
}
.wherego_related h3 {
    color: #1db9c3;
    position: relative;
    padding-left: 16px;
    margin: 16px 0;
    font-size: 1.8rem;
}
.wherego_related h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #1db9c3;
    border-radius: 2px;
}
@media (min-width: 769px) {
    .wherego_related-area {
        padding: 56px 0;
    }

    .wherego_related-area.ctl-beginner {
        padding: 0;
    }

    .wherego_related ul {
        justify-content: flex-start;
        gap: 32px 4%;
    }
    .wherego_related ul li {
        width: 22%;
    }

    .wherego_related-area.ctl-beginner .wherego_related ul li {
        width: 30%;
    }

    .wherego_related ul li a {
        transition: opacity .3s;
    }
    .wherego_related ul li a:hover {
        opacity: .7;
    }
    .wherego_related ul li a img {
        height: 160px;
    }
    .wherego_title {
        padding: 24px 40px 0;
        font-size: 1.6rem;
    }
    .wherego_excerpt {
        padding: 0 40px 24px;
        font-size: 1.4rem;
    }
    .wherego_related h3 {
        font-size: 2.6rem;
        margin: 24px 0;
        padding-left: 24px;
    }
    .wherego_related h3::before {
        width: 6px;
        border-radius: 3px;
    }
}
@media (min-width: 1201px) {
    .wherego_related-area {
        padding: 80px 0;
    }
}

/*
報酬について
---------------------------------*/
.sim_pt5 {
    background-color: #FFFFFF;
    padding: 15px;
    display: block;
    border: solid 2px #364F6B;
    margin: 10px 0 15px;
}
.sim_ttl1 {
    font-size: 1.6rem;
    text-align: center;
    line-height: 2em;
}
.sim .hide {
    display: none;
}
.sim_pt1 {
    font-size: 1.6rem;
    font-weight: bold;
    padding: 8px;
}
.sim_pt2 {
    position: relative;
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    background: #FD7A9F;
    padding: 12px;
    z-index: 2;
    transition: transform .3s;
    border-radius: 8px;
    box-shadow: 0px 0px 4px rgba(240, 110, 144, 0.7);
    text-decoration: none;
    width: 100%;
    border: none;
    margin: 24px auto 0;
}
.-ta-center a:hover {
    color: #fff;
}
.sim_pt3 {
    font-size: 40px;
    font-weight: bold;
    color: #666;
    width: 200px;
    border: none;
    margin: 0px;
    padding: 5px;
    height: 50px;
    text-align: center;
}
.sim_pt4 {
    font-size: 40px;
    font-weight: bold;
    color: #666;
    margin: 0px;
    padding: 0px;
    height: 66px;
}
.simulation_item {
   padding: 10px 25px 29px 25px;
   border: #f1f1f1 1px solid;
   margin: 16px 0;
   background: #fff;
	text-align: center;
}
.simulation_item label {
	align-items: center;
   gap: 0 0.5em;
   position: relative;
   cursor: pointer;
	margin-bottom: 18px;
	font-size: 18px;
	display: block;
}
.simulation_area h4 {
    background: none;
    color: #364F6B;
    margin: 30px 0 15px ;
    padding: 0 8px 0 0;
    border-bottom: solid 2px #364F6B;
    border-radius: 0;
    text-align: center;
	 font-size: 23px;
}
.simulation_result {
    text-align: center;
}
label.check {
	margin: 0 auto 15px;
   display: block;
   width: 75%;
	font-size: 16px;
}
label.check span {
    padding: 10px 10px;
    border-radius: 3px;
    background-color: #B9B9B9;
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    margin: 3px 0;
    color: white;
	  width: 100%;
}
label.check input:checked + span {
    background-color: #1db9c3;
    position: relative;
}
.none {
    display: none;
}
.simulation_area h4 span.small {
    font-size: 90%;
    color: rgba(201,201,201,1.00);
}
select.day-time {
    width: 4em;
    height: 45px;
}
.shift_days {
	display: block;
	font-size: 18px;
}
.section_top_sim .simulation_item {
	position: relative;
   background: #fff;
   margin-top: 50px;
   border-radius: 8px;
   box-shadow: 0 0 8px rgba(0,0,0,.2);
   padding: 7px 35px 13px 35px;
}
div#result {
    font-size: 250%;
    letter-spacing: 3px;
    color: #333;
    text-align: center;
    margin-top: 46px;
	border-bottom: dotted 13px #fccfdb;
}
@media (min-width: 769px) {
    .sim {
        max-width: 560px;
        margin: auto;
    }

    .sim_pt2 {
        max-width: 320px;
        font-size: 1.8rem;
        padding: 15px;
        border-radius: 8px;
        transition: .3s;
        box-shadow: 0px 0px 16px rgba(252, 121, 158, 0.7);
    }
    .sim_pt2:hover {
        box-shadow: 0px 8px 24px rgba(252, 121, 158, 0.7);
    }
    .simulation_area {
        max-width: 62%;
        margin: auto;
    }

		label.check {
		margin: 0 auto 15px;
		display: inline;
		width: 75%;
		font-size: 16px;
	}
	label.check span {
		width:auto;
	}
	.simulation_item label {
		display: inline;
	}
}

/*
チャットレディの通勤エリア
---------------------------------*/
div.area .lower-area-box {
    width: 100%;
    box-sizing: border-box;
    padding: 3.2vw;
    margin: 0 auto;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    position: relative;
    margin: 24px auto;
    border-radius: 8px;
    box-shadow: 0 0 8px rgb(0 0 0 / 20%);
}
div.area .lower-area-box-img {
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 16px;
}
div.area .lower-area-box-img img {
    width: 100%;
    height: auto;
}
div.area .lower-area-box-txt {
    box-sizing: border-box;
    width: 100%;
    padding: 0;
}
div.area .lower-area-box-txt i {
    position: absolute;
    top: 4px;
    left: 0;
    color: #98dcff;
    font-size: 16px;
}
div.area .lower-area-box-txt p.detail-area i {
    position: absolute;
    top: 4px;
    left: 0;
    font-size: 18px;
}
div.area .lower-area-box-txt p {
    position: relative;
    padding: 0 0 0 24px;
    line-height: 1.6;
}
div.area .lower-area-box-txt p + p {
    margin-top: 6px;
}
div.area .lower-area-box-txt i {
    position: absolute;
    top: 4px;
    left: 0;
    color: #1db9c3;
    font-size: 16px;
}
div.area .lower-area-box-txt p {
    position: relative;
    padding: 0 0 0 24px;
    line-height: 1.6;
    margin: 0;
}
div.area .lower-area-box-txt p + p {
    margin-top: 6px;
}
@media (min-width: 769px) {
    div.area .lower-area-box {
        padding: 24px 40px;
    }
    div.area .lower-area-box + .lower-area-box {
        margin-top: 20px;
    }
    div.area .lower-area-box-img {
        width: 220px;
    }
    div.area .lower-area-box-txt {
        width: calc( 100% - 220px );
        padding: 0 0 0 16px;
    }

}

/*
お問い合わせ
---------------------------------*/
dl.mail-form {
    width: 100%;
}
dl.mail-form dt,
dl.mail-form dd {
    padding: 8px 0;
    font-size: 1.6rem;
}
dl.mail-form dt {
    font-weight: 700;
    color: #333;
    border-bottom: #999 2px solid;
}
dl.mail-form dd {
    margin: 0 0 10px 0;
}
dl.mail-form dd input[type="text"],
dl.mail-form dd input[type="email"],
dl.mail-form dd input[type="tel"],
dl.mail-form dd input[type="password"],
dl.mail-form dd select {
    height: 60px;
}
dl.mail-form dd input[type="text"],
dl.mail-form dd input[type="email"],
dl.mail-form dd input[type="tel"],
dl.mail-form dd input[type="password"],
dl.mail-form dd textarea,
dl.mail-form dd select {
    display: block;
    width: 100%;
    margin: 10px auto;
    border: #ddd 1px solid;
    padding: 5px 10px;
    box-sizing: border-box;
    border-radius: 8px;
}
dl.mail-form dd select {
    font-size: 100%;
    margin: auto;
    border: rgba(0,0,0,0.05) 1px solid;
    padding: 5px 10px;
    box-sizing: border-box;
    width: auto;
    display: inline-block;
}
dl.mail-form dt.required + dd select{margin-bottom:15px;margin-right:1em;}
dl.mail-form dd input.form-age {
    width: 4em;
    display: inline-block;
}

p.submit-quiz {
    background: #333;
    color: white !important;
    width: 300px;
    margin: auto !important;
    text-align: center;
    padding: 15px !important;
    border-radius: 6px;
}
dl.mail-form p {
    margin: 10px 0;
    color: #777;
}
p.submit-quiz span {
    max-width: 90%;
    color: white;
}
p.submit-quiz label > span {
    display: block;
    color: #f24d7c;
    font-size: 160%;
    margin: 7px auto;
}
p.submit-quiz input {
    line-height: 40px;
    height: 40px;
    width: 200px;
    text-align: center;
}
.wpcf7-not-valid-tip {
    margin:auto !important;
    font-size:80% !important;
    color:#f24d7c !important;
}

input[type="submit"].wpcf7-submit {
    position: relative;
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    background: #FD7A9F;
    padding: 12px;
    z-index: 2;
    transition: transform .3s;
    border-radius: 8px;
    box-shadow: 0px 0px 4px rgba(240, 110, 144, 0.7);
    text-decoration: none;
    width: 100%;
    border: none;
    margin: 24px auto 0;
}

.wpcf7-response-output {
    background: #fff;
    border: solid 2px #ee4571 !important;
    border-radius: 4px;
    color: #ee4571;
    margin: auto !important;
    width: 100%;
    padding: 30px !important;
    text-align: center;
    z-index: 11111111;
    box-sizing: border-box;
    font-weight: 700;
}

.mail-form img {
    width: auto;
}


#rulesbox {
    margin: 16px 0;
    height: 300px;
    display: block;
    padding: 10px;
    overflow: auto;
    color: #333;
    background-color: #fff;
    border: #ddd 1px solid;
}

table.pink {
    margin: 30px auto;
    background-color: #fff;
    border-collapse: collapse;
    width: 100%;
    border: rgba(239,239,239,1.00) 1px solid;
}
table.pink td,
table.pink th {
    font-weight: 400;
    padding: 8px;
    line-height: 1.8em;
    box-sizing: border-box;
    border-bottom: #f1f1f1 1px solid;
}
table.pink th {
    line-height: 30px;
    color: #F06F91;
}



@media (min-width: 769px) {
    dl.mail-form {
        box-sizing: border-box;
        padding: 20px;
        width: 90%;
        margin: 30px auto;
        display: flex;
        display: -webkit-flex;
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
    }
    dl.mail-form dt, dl.mail-form dd {
        padding: 10px 0 40px;
        margin: 0;
    }
    dl.mail-form dt {
        width: 29%;
        box-sizing: border-box;
        line-height: 60px;
        border: none;
    }
    dl.mail-form dd {
        width: 70%;
        box-sizing: border-box;
    }
    dl.mail-form dd input[type="text"],
    dl.mail-form dd input[type="email"],
    dl.mail-form dd input[type="tel"],
    dl.mail-form dd input[type="password"],
    dl.mail-form dd input[type="checkbox"],
    dl.mail-form dd select {
        height: 60px;
    }
    dl.mail-form dd input[type="text"],
    dl.mail-form dd input[type="email"],
    dl.mail-form dd input[type="tel"],
    dl.mail-form dd input[type="password"],
    dl.mail-form dd input[type="checkbox"],
    dl.mail-form dd textarea {
        margin: 0 0 10px;
        padding: 5px 10px;
        width: 85%;
        box-sizing: border-box;
    }

    dl.mail-form dd input.form-age {
        width: 4em;
        display: inline-block;
    }

    .wpcf7-response-output {
        padding: 30px !important;
        text-align: center;
        z-index: 111111;
        box-sizing: border-box;
        font-size: 1.6rem;
    }

    #rulesbox {
        height: 200px;
        background-color: #FFFFFF;
        border: 1px solid #999999;
        line-height: 1.8em;
		padding: 0 50px;
    }

    table.pink {
        margin: 40px auto 40px;
        width: 80%;
    }
    table.pink td,
    table.pink th {
        padding: 16px;
    }

    input[type="submit"].wpcf7-submit {
        max-width: 320px;
        font-size: 1.8rem;
        padding: 15px;
        border-radius: 8px;
        transition: .3s;
        box-shadow: 0px 0px 16px rgba(252, 121, 158, 0.7);
    }
    input[type="submit"].wpcf7-submit:hover {
        box-shadow: 0px 8px 24px rgba(252, 121, 158, 0.7);
    }
}




/*---------------------------------
Gutenberg
---------------------------------*/
.page_contents ul:not(.single_table_of_contents,.topics_list,.category_nav_list),
.page_contents ol {
    padding:16px 0 16px 32px;
    margin: 24px 0 24px 8px;
    border-left: 2px solid #364F6B;
    font-size: 90%;
    color: #364F6B;
}
.page_contents ul:not(.single_table_of_contents,.topics_list,.category_nav_list,.reward_treatment_list,.reward_treatment_other) li {
    list-style-type:circle;
    margin:0 0 15px;
}
.page_contents ol li {
    list-style-type:decimal;
    margin:0 0 15px;
}
.page_contents figure.wp-block-image {
    width:100%;
    position:relative;box-sizing: border-box;
    padding: 0;
}
.page_contents figure.wp-block-image img {
    width:100%;
    height:auto;
}
.page_contents figure.wp-block-image figcaption {
    height:30px;
    box-sizing:border-box;
    overflow:hidden;
    color:#777;
    margin:0;
    font-size:12px;
    width: 100%;
    text-align: center;
}
.page_contents figure.wp-block-media-text__media {
    width:100%;
    position:relative;
}
.page_contents figure.wp-block-media-text__media img {
    width:100%;
    height:auto;
    margin: 0;
    border-radius: 0;
}
.page_contents .wp-block-media-text {
    margin: 40px 0px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}
.page_contents .wp-block-media-text__content {
    padding: 10px !important;
    font-size: 80%;
}
.page_contents blockquote {
    background: #fff;
    padding: 30px 16px 16px;
    position: relative;
    margin: 40px 0;
    border-radius: 8px;
    font-style: italic;
}
.page_contents blockquote:before {
    position:absolute;content:"”";
    font-size: 400%;
    top: 0;
    left: 5px;
}
.page_contents blockquote cite {
    padding: 10px;
    display: block;
    margin: 0;
    text-align: center;
}
.wp-block-buttons {
    justify-content:space-evenly;
    padding:10px;
}
.wp-block-button__link {
    background:#1795cc !important;
    border: 1px solid #00000022;
    box-shadow: 3px 3px 0 0 #00000011 !important;
    margin: 30px auto;
}
.wp-block-button__link:hover {
    background:#999 !important;
}
figure.wp-block-table {
    margin:50px 20px 40px;
}
figure.wp-block-table figcaption {
    text-align:center;
    font-size:86%;
    color:#777;
    line-height:35px;
}

@media (min-width: 769px) {
    figure.wp-block-table{
        overflow:hidden;
    }
}

/*---------------------------------
カスタムブロック(Lazy Blocks) デザイン CSS
---------------------------------*/
.wp-block-lazyblock-block-recommend-post {
    position: relative;
    padding: 24px 16px 16px;
    border: solid 2px #1db9c3;
    border-radius: 8px;
    margin: 56px 0 40px;
    background: #fff;
}
.wp-block-lazyblock-block-recommend-post span {
    position: absolute;
    top: -16px;
    left: 16px;
    background: #1db9c3;
    display: block;
    padding: 4px 8px 4px 40px;
    color: #fff;
    border-radius: 4px;
}
.wp-block-lazyblock-block-recommend-post span::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 0; bottom: 0;
    margin: auto;
    background: url(../img/icon_book_w.png);
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}

.wp-block-lazyblock-block-simple-box {
    margin: 40px 0;
    border-radius: 8px;
    padding: 16px;
    background: #fff;
}
.wp-block-lazyblock-block-simple-box .title {
    font-size: 20px;
    position: relative;
    font-weight: 700;
}
.wp-block-lazyblock-block-simple-box p {
    padding: 0;
    margin: 16px 0 0;
}

.wp-block-lazyblock-block-simple-box-point {
    margin: 40px 0;
    border-radius: 8px;
    padding: 16px;
    background: #fff;
}
.wp-block-lazyblock-block-simple-box-point .title {
    color: #fd7a9f;
    font-size: 20px;
    position: relative;
    padding: 16px 0 16px 48px;
    font-weight: 700;
}
.wp-block-lazyblock-block-simple-box-point .title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    height: 64px;
    width: 32px;
    background: url(../img/icon_point_p.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}
.wp-block-lazyblock-block-simple-box-point p {
    padding: 0;
    margin: 16px 0 0;
}

.wp-block-lazyblock-block-simple-box-point-ver2 {
    margin: 40px 0;
    border-radius: 8px;
    padding: 16px;
    background: #fff;

    position: relative;
}
.wp-block-lazyblock-block-simple-box-point-ver2 .title {
    color: #fd7a9f;
    font-size: 18px;
    padding: 16px 0 16px 48px;
    font-weight: 700;
    position: absolute;
    top: -23px;
    left: -4.2vw;
    width: auto;
    z-index: 0;
    color: #fff;
    padding: 12px 0 12px 56px;
    background-color: #1db9c3;
    display: inline-block;
    border-radius: 6px;
}

.wp-block-lazyblock-block-simple-box-point-ver2 .title::after {
    content: "";
    position: absolute;
    right: -80px;
    top: 0;
    bottom: 0;
    z-index: -1;
    height: 100%;
    width: 100%;
    background: url(../img/bg_ribbon_sp2_bw.webp) left / auto 100% no-repeat;
}

.wp-block-lazyblock-block-simple-box-point-ver2 .title::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 1em;
    background: url(../img/icon_point_p_bw.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}
.wp-block-lazyblock-block-simple-box-point-ver2 p {
    padding: 0;
    margin: 24px 0 0;
}

.wp-block-lazyblock-block-simple-box-check {
    margin: 40px 0;
    border-radius: 8px;
    padding: 16px;
    background: #fff;
}
.wp-block-lazyblock-block-simple-box-check .title {
    color: #fd7a9f;
    font-size: 20px;
    position: relative;
    padding: 16px 0 16px 136px;
    font-weight: 700;
}
.wp-block-lazyblock-block-simple-box-check .title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    height: 64px;
    width: 120px;
    background: url(../img/icon_check_p.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}
.wp-block-lazyblock-block-simple-box-check p {
    padding: 0;
    margin: 16px 0 0;
}

.wp-block-lazyblock-block-simple-list {
    margin: 40px 0;
    border-radius: 8px;
    padding: 16px;
    background: #fff;
}
.page_contents .wp-block-lazyblock-block-simple-list ul {
    margin: 0;
    padding: 0;
    border: none;
}
.page_contents .wp-block-lazyblock-block-simple-list ul li {
    position: relative;
    list-style: none;
    padding-left: 32px;
    margin: 0;
}
.page_contents .wp-block-lazyblock-block-simple-list ul li + li {
    margin-top: 16px;
}
.page_contents .wp-block-lazyblock-block-simple-list ul li::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 0;
    left: 0;
    margin: 0;
    height: 20px;
    width: 20px;
    background: url(../img/icon_angle_r_p.svg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center;
}

.wp-block-lazyblock-block-chat-balloon {
    margin: 40px 0;
}
.wp-block-lazyblock-block-chat-balloon .chat_balloon_item + .chat_balloon_item {
    margin-top: 20px;
}
.wp-block-lazyblock-block-chat-balloon .left {
    display: flex;
    justify-content: space-between;
}
.wp-block-lazyblock-block-chat-balloon .right {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.wp-block-lazyblock-block-chat-balloon .icon img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: solid 1px #fff;
    overflow: hidden;
    object-fit: cover;
    box-sizing: border-box;
}
.wp-block-lazyblock-block-chat-balloon p {
    position: relative;
    margin: 0;
    padding: 16px;
    width: calc( 100% - 96px );
    border-radius: 16px;
    box-sizing: border-box;
    background: #fff;
}
.wp-block-lazyblock-block-chat-balloon p::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    top: 35px;
    border-width: 8px 8px 8px 0;
    border-color: transparent #fff transparent transparent;
}
.wp-block-lazyblock-block-chat-balloon .left p::after {
    top: 35px;
    left: -8px;
    border-width: 8px 8px 8px 0;
    border-color: transparent #fff transparent transparent;
}
.wp-block-lazyblock-block-chat-balloon .right p::after {
    top: 35px;
    right: -8px;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #fff;
}

@media (min-width: 769px) {
    .wp-block-lazyblock-block-recommend-post {
        padding: 32px 24px 24px;
        margin: 56px 0 40px;
    }

    .wp-block-lazyblock-block-simple-box {
        padding: 24px;
    }

    .wp-block-lazyblock-block-simple-box-point {
        padding: 24px;
    }

    .wp-block-lazyblock-block-simple-box-point-ver2 .title {
        left: -2.2vw;
    }

    .wp-block-lazyblock-block-simple-box-check {
        padding: 24px;
    }

    .wp-block-lazyblock-block-simple-list {
        border-radius: 16px;
        padding: 24px;
    }

    .wp-block-lazyblock-block-chat-balloon .left,
    .wp-block-lazyblock-block-chat-balloon .right {
        align-items: center;
    }
    .wp-block-lazyblock-block-chat-balloon .icon img {
        width: 140px;
        height: 140px;
    }
    .wp-block-lazyblock-block-chat-balloon p {
        padding: 24px;
        width: calc( 100% - 170px );
    }
    .wp-block-lazyblock-block-chat-balloon p::before,
    .wp-block-lazyblock-block-chat-balloon p::after {
        top: 0;
        bottom: 0;
        margin: auto;
    }
    .wp-block-lazyblock-block-chat-balloon .right p::after {
        top: 0;
        right: -15px;
        border-width: 15px 0 15px 15px;
        border-color: transparent transparent transparent #fff;
    }
    .wp-block-lazyblock-block-chat-balloon .left p::after {
        top: 0;
        left: -15px;
        border-width: 15px 15px 15px 0;
    }


}




/*---------------------------------
Add Class
---------------------------------*/
/*
Bg Color
---------------------------------*/

.bg_gray {
    background: #f2f2f2;
}
.bg_white {
    background: #fff;
}

/*
Font Color
---------------------------------*/
.fc_red {
    color: #fc4830;
}

/*
Font Size
---------------------------------*/

/*
Text Align
---------------------------------*/
.align_right {
    text-align: right;
}
.align_center {
    text-align: center;
}
.align_left {
    text-align: left;
}
.display_old {
    display: none;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
   margin:0 auto;
	margin-bottom: 30px;
}

.slider img {
   width:100%;/*スライダー内の画像を横幅100%に*/
   height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
   margin:0 10px;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;/*矢印の色*/
    border-right: 2px solid #666;/*矢印の色*/
    height: 15px;
    width: 15px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
	display: none!important;
}
.slick-dots li {
	display:inline-block;
	margin:0 5px;
}
.slick-dots button {
	color: transparent;
	outline: none;
   width:8px!important;
   height: 11px!important;
   display:block;
   border-radius:50%;
   background:#ccc;/*ドットボタンの色*/
	border: none;
}
.slick-dots .slick-active button{
    background:#fd7a9f;/*ドットボタンの現在地表示の色*/
}
@media (min-width: 769px) {
	.slick-dots {
		text-align:center;
		margin:20px 0 0 0;
		display: block!important;
	}
}



/*
初心者ガイド
---------------------------------*/

.beginner_guide_txt {
    color: #fff;
    background-color: #fd7a9f;
    font-weight: 700;
    padding: 8px 0 8px 40px;
    position: relative;
    border-radius: 4px;
    z-index: 0;
    display: inline-block;
}

.beginner_guide_txt.pc {
    padding: 8px 0 8px 44px;
}

.beginner_guide_txt::after {
    content: "";
    position: absolute;
    right: -80px;
    top: 0;
    bottom: 0;
    z-index: -1;
    height: 100%;
    width: 100%;
    background: url(../img/bg_ribbon_sp2.webp) left / auto 100% no-repeat;
}

.beginner_guide_txt.sp::before {
    content: '';
    background: url(../img/mobile-screen-button-solid_w.svg) no-repeat;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translate(0, -50%);
    height: 24px;
    width: 18px;
}
.beginner_guide_txt.pc::before {
    content: '';
    background: url(../img/laptop-solid_w.svg) no-repeat;
    position: absolute;
    top: 50%;
    left: 7px;
    transform: translate(0, -50%);
    height: 22px;
    width: 30px;
}

@media (min-width: 769px) {
    .beginner_guide_txt {
        display: inline-block;
        padding-right: 40px !important;
    }

    .beginner_guide_txt::after {
        right: -40%;
    }
}




/* トピックスエリア
 ----------------------------*/
.topix .news-box h3 span, .topix .blog-box h3 span {font-size: 14px;color: #942a90;}
.topix .news-box .feed {height: 400px;overflow-x: auto;border-top: 1px solid #4444442e;border-bottom: 1px solid #4444442e;}
.topix .news-box .feed .news ul li.category, .topix .blog-box .feed .blog ul li.category {background-color: #942a90;padding: 0px 10px;border-radius: 5px;}
.topix .news-box .feed .news ul, .topix .blog-box .feed .blog ul {display: flex;padding: 0;align-items: center;margin: 25px auto 0px;}
.topix .news-box h3, .topix .blog-box h3 {text-align: center;font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;  font-size: 140%;  line-height: 1;  position: relative;}
.topix .news-box .feed .news ul li.date, .topix .blog-box .feed .blog ul li.date {color: #93278f;font-size: 85%;margin: 0 15px 0 0;}
/*p.btn {text-align: center;margin: 30px auto 0;border-radius: 10px;width: 140px;padding: 0px;line-height: 35px;font-size: 14px;}
p.btn a {text-decoration: none;display: block;background-color: #AE8300;color: white;border-radius: 5px;padding: 5px 0;border: 1px solid #ae8300;}
*/
.topix-area{display: block;}
.topix-area .topix {
    border: 2px solid #364f6b;
    margin: 25px 3vw;
    padding: 10px 20px 20px;
    border-radius: 5px;
    width: 94vw;
}
.topix .news-box h3, .topix .blog-box h3 {  text-align: center;  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;  font-size: 140%;  line-height: 1;  position: relative;}
.topix .news-box .feed {height: 400px;overflow-x: auto;border-top: 1px solid #4444442e;border-bottom: 1px solid #4444442e;}
.topix .news-box h3 span, .topix .blog-box h3 span {font-size: 14px;color: #942a90;}
.topix .news-box .feed .news p{font-size: 1.4rem;}
.topix .news-box .feed .news p a {text-decoration: none;}
.topix .news-box .feed .news ul, .topix .blog-box .feed .blog ul {display: flex;padding: 0;align-items: center;margin: 25px auto 0px;}
.topix .news-box .feed .news ul li.category, .topix .blog-box .feed .blog ul li.category {background-color: #942a90;padding: 0px 10px;border-radius: 5px;}
.topix .news-box .feed .news ul li, .topix .blog-box .feed .blog ul li {list-style: none;line-height: 1.8;}
.topix .news-box .feed .news ul li.category a, .topix .blog-box .feed .blog ul li.category a {  color: white;  text-decoration: none;}
.topix .news-box .feed .news ul li.date, .topix .blog-box .feed .blog ul li.date {        color: #93278f;        font-size: 85%;        margin: 0 15px 0 0;    }
/*p.btn {text-align: center;margin: 30px auto 0;border-radius: 10px;width: 140px;padding: 0px;line-height: 35px;font-size: 14px;}*/

@media (min-width: 769px) {
.topix-area{  display: flex;  justify-content: space-between;}
    .topix-area .topix {
        border: 2px solid #364f6b;
        margin: 0px 40px 0 0;
        padding: 10px 20px;
        border-radius: 12px;
        width: 25vw;
        height: 630px;
    }
.topix .news-box{height:505px;}
.topix .news-box h3, .topix .blog-box h3 {  text-align: center;  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;  font-size: 140%;  line-height: 1;  position: relative;}
.topix .news-box h3 span, .topix .blog-box h3 span {        font-size: 14px;
        color: #fd7a9f;}
.topix .news-box .feed {height: 400px;overflow-x: auto;border-top: 1px solid #4444442e;border-bottom: 1px solid #4444442e;}
.topix .news-box .feed .news ul, .topix .blog-box .feed .blog ul {display: flex;padding: 0;align-items: center;margin: 25px auto 0px;}
    .topix .news-box .feed .news ul li.category, .topix .blog-box .feed .blog ul li.category {
        background-color: #fd7a9f;
        padding: 0 5px;
        border-radius: 2px;
        color: #fd7a9f;
        font-size: 85%;
        margin: 0 15px 0 0;
    }
.topix .news-box .feed .news ul li, .topix .blog-box .feed .blog ul li {list-style: none;line-height: 1.8;}
.topix .news-box .feed .news ul li.category a, .topix .blog-box .feed .blog ul li.category a {color: white;text-decoration: none;}
    .topix .news-box .feed .news ul li.date, .topix .blog-box .feed .blog ul li.date {
        color: #fd7a9f;
        font-size: 85%;
        margin: 0 15px 0 0;
    }
.topix .news-box .feed .news p {font-size: 1.5rem;}
.topix .news-box .feed .news p a {text-decoration: none;}
/*p.btn {text-align: center;margin: 30px auto 0;border-radius: 10px;width: 140px;padding: 0px;line-height: 35px;font-size: 14px;}
p.btn a {text-decoration: none;display: block;background-color: #AE8300;color: white;border-radius: 5px;padding: 5px 0;border: 1px solid #ae8300;}
p.btn a:hover {color: #AE8300;background-color: unset;border: 1px solid #ae8300;}
	*/
}



/*TOPキャンペーン(sp)フッター*/
#campaign_box {    position: fixed;    bottom: 3.2vw;    left: calc(3.2vw);    box-sizing: border-box;    z-index: 100;}
#campaign_box p.btn-link-fukidashi {text-align: center;margin: 0;}
#campaign_box p.btn-link-fukidashi a {position: relative;width: 150px;height: auto;display: block;color: #fd7a9f;    text-decoration: none;}
#campaign_box p.btn-link-fukidashi a:before {display: block;content: "現在申請受付中！";font-size: 70%;background: white;padding: 0px 5px;line-height: 25px;width: 80%;position: absolute;height: 25px;overflow: hidden;top: -27px;right: 15px;border-radius: 16px;animation: float 3s ease-in-out infinite;border: 1px solid #fd7a9f;}
@keyframes float {0% {transform: translateY(0);}50% {transform: translateY(-10px);}100% {transform: translateY(0);}}
#campaign_box p.btn-link-fukidashi a:after {display: block;content: "";position: absolute;top: -2px;right: 30px;width: 0;height: 0;border-style: solid;border-width: 8px 6px 0 6px;border-color: #fd7a9f transparent transparent transparent;animation: float 3s ease-in-out infinite;z-index: 100;}
#campaign_box p.btn-link-fukidashi a img {width: 100%;height: auto;border-radius: 8px;border:6px solid #364f6b;}
@media (min-width: 769px) {
	#campaign_box {        position: fixed;        box-sizing: border-box;        z-index: 100;        bottom: 3.2vw;        left: 3.2vw;    }
#campaign_box p.btn-link-fukidashi {  text-align: center;  margin: 0;}
#campaign_box p.btn-link-fukidashi a {position: relative;width: 240px;height: auto;display: block;color: #fd7a9f;}
#campaign_box p.btn-link-fukidashi a:before {        display: block;        content: "現在申請受付中！";        font-size: 80%;        background: white;        padding: 0px 5px;        line-height: 30px;        width: 80%;        position: absolute;        height: 30px;        overflow: hidden;        top: -27px;        right: 15px;        border-radius: 16px;        animation: float 3s ease-in-out infinite;        border: 2px solid #fd7a9f;        text-decoration: none;    }
	@keyframes float {0% {transform: translateY(0);  }  50% {transform: translateY(-10px);  }  100% {transform: translateY(0);}
	}
#campaign_box p.btn-link-fukidashi a:after {        display: block;        content: "";        position: absolute;        top: 2px;        right: 30px;        width: 0;        height: 0;        border-style: solid;        border-width: 8px 6px 0 6px;        border-color: #fd7a9f transparent transparent transparent;        animation: float 3s ease-in-out infinite;        z-index: 100; }
#campaign_box p.btn-link-fukidashi a img {  width: 100%;  height: auto;}
}

/* 202501 報酬について　待遇リスト */
.btn.round_nb a {
    background-color: transparent;
    border: 2px solid #364F6B;
    border-radius: 9999px;
    box-shadow: none;
    box-shadow: 3px 3px 0 #364F6B;
    color: #364F6B;
}

.btn.round_nb a::after {
    background-image: url(../img/icon_angle_r_n.svg);
}

.btn.round_nb a:hover {
    box-shadow: none;
    translate: 3px 3px;
}
.reward_treatment_list, .reward_treatment_other {
    border: none !important;
    padding: 0 !important;
    margin: 24px 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 1%;
}

.reward_treatment_list li, .reward_treatment_other li {
    margin: 0 0 72px;
    list-style: none;
    width: 32%;
    text-align: center;
    background: #fff;
    border-radius: 9999px;
    padding: 8px 14px;

    position: relative;
}

.reward_treatment_list li::before {
    content: '';
    width:100%;
    height: 60px;
    background: center / contain no-repeat;
    position: absolute;
    bottom: -12px;
    left: 50%;
    translate: -50% 100%;
}

.reward_treatment_list li.hour_24::before {
    background-image: url(../img/reward-hour24.svg);
}
.reward_treatment_list li.same_day::before {
    background-image: url(../img/reward-sameday.svg);
}
.reward_treatment_list li.beginnner::before {
    background-image: url(../img/reward-beginner.svg);
}
.reward_treatment_list li.sidejob::before {
    background-image: url(../img/reward-sidejob.svg);
}
.reward_treatment_list li.frends::before {
    background-image: url(../img/reward-frends.svg);
}
.reward_treatment_list li.rental::before {
    background-image: url(../img/reward-rental.svg);
}
.reward_treatment_list li.noresume::before {
    background-image: url(../img/reward-noresume.svg);
}
.reward_treatment_list li.house::before {
    background-image: url(../img/reward-house.svg);
}
.reward_treatment_list li.calendar::before {
    background-image: url(../img/reward-calendar.svg);
}
.reward_treatment_other {
    gap: 10px 10px;
}

.reward_treatment_other li {
    width: auto;
    padding: 8px 22px;
    margin: 0;
}

@media screen and (min-width: 768px) {
    .btn.round_nb a {
        max-width: 400px;
        margin: 24px auto;
    }
    .reward_treatment_list li {
        width: 19%;
    }
}
/*
Banner
---------------------------------*/
@media (max-width: 768px) {
ul.pr-box{ scroll-snap-type: x mandatory;list-style:none;display:flex;overflow-x:scroll;width:100%;padding: 0 1em 0 0;margin:0;}
ul.pr-box li {color: black;scroll-snap-align: center;scroll-snap-stop:always; width: 300px;height:150px;flex-shrink: 0;margin: 0 0.5em;}
	ul.pr-box li a{display:block;width: 100%; height: 100%;}
ul.pr-box li img{width: 100%; height:auto; object-fit: cover; border-radius: 8px; margin: 0 0.5em; display: block; filter: drop-shadow(0px 1px 2px #0006);}
}
@media (min-width: 769px) {
ul.pr-box{ background-color:transparent; list-style: none;display: flex; width:100%;padding: 0.5em; margin: 0; box-sizing: border-box;scrollbar-width: none;scroll-snap-type: x mandatory;overflow-x:scroll;}
	ul.pr-box li a{display:block;width: 100%; height: 100%;}
ul.pr-box li {color: black; width: 300px; padding: 5px; box-sizing: border-box;margin: 0;scroll-snap-align: center; scroll-snap-stop:always;}
ul.pr-box li img{width: calc(100%); height: 100%; object-fit: cover; border-radius: 8px; margin: 0; display: block; filter: drop-shadow(0px 1px 2px #0006);}
}
/*
Section
---------------------------------*/