.top_flexbox {
    flex-wrap: wrap;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
}

.top_imglist ul {
    padding: 0;
}

.top_imglist ul.line2 li {
    width: 48%;
}

.top_imglist ul li {
    width: 32%;
    margin-bottom: 20px;
}

.top_imglist_img {
    margin-bottom: 15px !important;
}

.top_imglist_title {
    line-height: 2.2;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 18px;
}

.top_imglist_text {
    line-height: 2.2;
}

.top_textlist {
    margin-bottom: 50px;
}

.top_textlist ul {
    padding: 0;
}

.top_textlist ul li {
    border-bottom: 1px solid #0E986A;
}

.top_textlist ul li p {
    font-weight: bold;
    margin: 0;
}

.top_textlist ul li p span {
    color: #0E986A;
    border: 1px solid #0E986A;
    padding: 5px 10px;
    margin-right: 10px;
    border-radius: 10px;
    width: 360px;
    display: inline-block;
    line-height: 2.2;
}

.top_textlist02 ul {
    padding: 0;
}

.top_textlist02 ul li {
    width: 48%;
    margin-bottom: 15px;
}

.top_textlist02 ul li .title {
    font-weight: bold;
    background-color: #0E986A;
    color: #fff;
    border-radius: 10px;
    padding: 0px 20px;
    margin-bottom: 10px;
}

.top_subtitle span {
    font-size: 20px;
    color: #0E986A;
}


.top_flexlist .line4 {
    padding: 0;
}

.top_flexlist .line4 li {
    width: 24%;
}

h2{
    font-size: 28px;
    font-weight: bold;
    line-height: 2;
}
h3{
    font-size: 20px;
    font-weight: bold;
    line-height: 2;
}
@media(max-width: 1032px) {


    .top_imglist ul li {
        width: 100%;
    }

    .top_imglist ul.line2 li {
        width: 100%;
    }

    .top_textlist ul li p {
        line-height: 2.2;
        padding: 10px 0;
    }

    .top_textlist02 ul li {
        width: 100%;
    }

    .top_textlist02 ul li .title {
        line-height: 2.2;
        padding: 10px;
    }

    .top_textlist ul li p span {
        width: 100%;
        margin-bottom: 8px;
        line-height: 2.2;
    }

}



@charset "UTF-8";
/* CSS Document */
/* Document
* ========================================================================== */
/**
* Add border box sizing in all browsers (opinionated).
*/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900|Oswald:700&display=swap&subset=japanese");

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

/**
* 1. Add text decoration inheritance in all browsers (opinionated).
* 2. Add vertical alignment inheritance in all browsers (opinionated).
*/
::before,
::after {
    text-decoration: inherit;
    /* 1 */
    vertical-align: inherit;
    /* 2 */
}

/**
* 1. Use the default cursor in all browsers (opinionated).
* 2. Change the line height in all browsers (opinionated).
* 3. Use a 4-space tab width in all browsers (opinionated).
* 4. Remove the grey highlight on links in iOS (opinionated).
* 5. Prevent adjustments of font size after orientation changes in
*    IE on Windows Phone and in iOS.
* 6. Breaks words to prevent overflow in all browsers (opinionated).
*/
html {
    cursor: default;
    /* 1 */
    line-height: 2.2;
    /* 2 */
    -moz-tab-size: 4;
    /* 3 */
    -o-tab-size: 4;
    tab-size: 4;
    /* 3 */
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%;
    /* 5 */
    -webkit-text-size-adjust: 100%;
    /* 5 */
    word-break: break-word;
    /* 6 */
}

/* Sections
* ========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
    margin: 0;
}

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Edge, Firefox, and Safari.
*/
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
* ========================================================================== */
/**
* Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
*/
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
    margin: 0;
}

/**
* Remove the margin on nested lists in Edge 18- and IE.
*/
ol ol,
ol ul,
ul ol,
ul ul {
    margin: 0;
}

/**
* 1. Add the correct sizing in Firefox.
* 2. Show the overflow in Edge 18- and IE.
*/
hr {
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
* Add the correct display in IE.
*/
main {
    display: block;
}

/**
* Remove the list style on navigation lists in all browsers (opinionated).
*/
nav ol,
nav ul {
    list-style: none;
    padding: 0;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Text-level semantics
* ========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
    background-color: transparent;
}

/**
* Add the correct text decoration in Edge 18-, IE, and Safari.
*/
abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
    font-weight: bolder;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
* Add the correct font size in all browsers.
*/
small {
    font-size: 80%;
}

/* Embedded content
* ========================================================================== */
/*
* Change the alignment on media elements in all browsers (opinionated).
*/
audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/**
* Add the correct display in IE 9-.
*/
audio,
video {
    display: inline-block;
}

/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
    display: none;
    height: 0;
}

/**
* Remove the border on iframes in all browsers (opinionated).
*/
iframe {
    border-style: none;
}

/**
* Remove the border on images within links in IE 10-.
*/
img {
    border-style: none;
}

/**
* Change the fill color to match the text color in all browsers (opinionated).
*/
svg:not([fill]) {
    fill: currentColor;
}

/**
* Hide the overflow in IE.
*/
svg:not(:root) {
    overflow: hidden;
}

/* Tabular data
* ========================================================================== */
/**
* Collapse border spacing in all browsers (opinionated).
*/
table {
    border-collapse: collapse;
}

/* Forms
* ========================================================================== */
/**
* Remove the margin on controls in Safari.
*/
button,
input,
select {
    margin: 0;
}

/**
* 1. Show the overflow in IE.
* 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
*/
button {
    overflow: visible;
    /* 1 */
    text-transform: none;
    /* 2 */
}

/**
* Correct the inability to style buttons in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

/**
* 1. Change the inconsistent appearance in all browsers (opinionated).
* 2. Correct the padding in Firefox.
*/
fieldset {
    border: 1px solid #a0a0a0;
    /* 1 */
    padding: 0.35em 0.75em 0.625em;
    /* 2 */
}

/**
* Show the overflow in Edge 18- and IE.
*/
input {
    overflow: visible;
}

/**
* 1. Correct the text wrapping in Edge 18- and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
*/
legend {
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    white-space: normal;
    /* 1 */
}

/**
* 1. Add the correct display in Edge 18- and IE.
* 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
*/
progress {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
* Remove the inheritance of text transform in Firefox.
*/
select {
    text-transform: none;
}

/**
* 1. Remove the margin in Firefox and Safari.
* 2. Remove the default vertical scrollbar in IE.
* 3. Change the resize direction in all browsers (opinionated).
*/
textarea {
    margin: 0;
    /* 1 */
    overflow: auto;
    /* 2 */
    resize: vertical;
    /* 3 */
}

/**
* Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
    padding: 0;
}

/**
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/**
* Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

/**
* Correct the text style of placeholders in Chrome, Edge, and Safari.
*/
::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
}

/**
* Remove the inner padding in Chrome, Edge, and Safari on macOS.
*/
::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
* 1. Correct the inability to style upload buttons in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/**
* Remove the inner border and padding of focus outlines in Firefox.
*/
::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
* Restore the focus outline styles unset by the previous rule in Firefox.
*/
:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
* Remove the additional :invalid styles in Firefox.
*/
:-moz-ui-invalid {
    box-shadow: none;
}

/* Interactive
* ========================================================================== */
/*
* Add the correct display in Edge 18- and IE.
*/
details {
    display: block;
}

/*
* Add the correct styles in Edge 18-, IE, and Safari.
*/
dialog {
    background-color: white;
    border: solid;
    color: black;
    display: block;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
}

dialog:not([open]) {
    display: none;
}

/*
* Add the correct display in all browsers.
*/
summary {
    display: list-item;
}

/* Scripting
* ========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
    display: inline-block;
}

/**
* Add the correct display in IE.
*/
template {
    display: none;
}

/* User interaction
* ========================================================================== */
/*
* 1. Remove the tapping delay in IE 10.
* 2. Remove the tapping delay on clickable elements
in all browsers (opinionated).
*/
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
    /* 1 */
    touch-action: manipulation;
    /* 2 */
}

/**
* Add the correct display in IE 10-.
*/
[hidden] {
    display: none;
}

/* Accessibility
* ========================================================================== */
/**
* Change the cursor on busy elements in all browsers (opinionated).
*/
[aria-busy="true"] {
    cursor: progress;
}

/*
* Change the cursor on control elements in all browsers (opinionated).
*/
[aria-controls] {
    cursor: pointer;
}

/*
* Change the cursor on disabled, not-editable, or otherwise
* inoperable elements in all browsers (opinionated).
*/
[aria-disabled="true"],
[disabled] {
    cursor: not-allowed;
}

/*
* Change the display on visually hidden accessible elements
* in all browsers (opinionated).
*/
[aria-hidden="false"][hidden] {
    display: initial;
}

[aria-hidden="false"][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
}

/*===========================================================
基本要素
===========================================================*/
html {
    font-size: calc(100vw / 750 * 10);
}

@media screen and (min-width: 769px) {
    html {
        font-size: calc(100vw / 768 * 7.68);
    }
}

@media print,
screen and (min-width: 1000px) {
    html {
        font-size: 10px;
    }
}

body#lp {
    /*width: 100%;*/
    color: #393939;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 2.8rem;
    word-wrap: break-word;
}

body#lp p {
    word-break: break-all;
}

.contents-main {
    float: inherit;
    width: 100%;
}

@media only screen and (min-width: 769px) {
    body#lp {
        font-size: 1.6rem;
    }

    .thin {
        width: 100%;
        height: 52px;
    }

    .thin .logo img {
        width: calc(154em/16);
    }


    header .header-inner {
        -webkit-box-align: center;
        align-items: center;
        margin-left: 1em;
    }

    .thin .nav-global {
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -webkit-box-pack: end;
        justify-content: flex-end;
        -webkit-box-flex: 1;
        flex-grow: 1;
        flex-shrink: 1;
        font-size: 1.4rem;
    }

    .thin .navi {
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        margin: 0 calc(10em/16) 0 0;
    }

    .thin.navi li {
        text-align: center;
        margin-left: calc(5em/16);
        margin-right: calc(5em/16);
    }

    .thin .navi a {
        display: block;
        position: relative;
    }

    .thin .btn-contact {
        width: calc(210em/16);
        height: calc(60em/16);
    }

    .txt-90 {
        width: 90%;
        margin: 0 auto;
    }
}

/*===========================================================
共通
===========================================================*/
.s-red {
    display: inline;
    color: #d0363b;
}

ul {
    padding: 0;
}

ul li {
    list-style: none;
}

ul.check li {
    padding: 0 0 0 1.5rem;
    background: url(../img/top/mail_magazine/01/check_list.svg) no-repeat;
    background-position: left top 5px;
    background-size: 15px 15px;
}

.cf:after {
    display: block;
    clear: both;
    content: " ";
}

a {
    /* color: initial !important; */
    text-decoration: none !important;
}

figure {
    margin: 0;
}

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

.ast {
    font-size: .88rem;
}

.sec-ttl {
    line-height: 2.2;
}

.sec-ttl .lang-en {
    font-size: 28px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    text-align: center;
    display: block;
    letter-spacing: calc(200em/1000);
    line-height: 1;
}

.sp_bold {
    font-size: 50px;
}

.sec-ttl .lang-ja {
    font-size: 50px;
    font-weight: bold;
    display: block;
    margin-top: 0px;
    margin-bottom: 30px;
    line-height: 2.2;
}

.sec-ttl .lang-ja.voice{
    margin-bottom: 40px;
}


@media only screen and (min-width: 769px) {
    .sec-ttl .lang-ja {
        font-size: 40px;
    }
    .sp_bold {
        font-size: 60px;
    }
}

@media only screen and (max-width: 768px) {
    .sec-ttl .lang-en{
        font-size: 24px;
        line-height: 1.8;
    }
    .sec-ttl .lang-ja {
        font-size: 24px!important;
        line-height: 1.8;
        margin-top: 0;
    }
}

.btn-contact a {
    background-image: -webkit-gradient(linear, left top, right top, from(#ff6b6b), color-stop(51%, #ffb274), to(#ff6b6b));
    background-image: linear-gradient(to right, #ff6b6b 0%, #ffb274 51%, #ff6b6b 100%);
    background-size: 200% auto;
    color: #fff;
    -webkit-transition: .5s;
    transition: .5s;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.btn-contact a:hover,
.btn-contact a:active,
.btn-contact a:focus {
    background-position: right center;
}

.page-top {
    text-align: right;
}

.page-top .container {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.page-top .btn-pagetop {
    position: absolute;
    top: calc(-40em/28);
    right: 1em;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    background-color: #65bf97;
    background-image: url(../img/top/top/ico_up.svg);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    color: transparent;
    width: calc(80em/28);
    height: calc(80em/28);
}

.page-top .btn-pagetop:hover {
    background-color: rgba(101, 191, 151, 0.9);
}

@media only screen and (min-width: 769px) {
    .page-top .btn-pagetop {
        top: calc(-25em/16);
        right: 0;
        width: calc(50em/16);
        height: calc(50em/16);
    }
}

@media only screen and (min-width: 769px) {
    ul.check li {
        margin: 0 auto;
        width: 50%;
    }
}

/*!
* Hamburgers
* @description Tasty CSS-animated hamburgers
* @author Jonathan Suh @jonsuh
* @site https://jonsuh.com/hamburgers
* @link https://github.com/jonsuh/hamburgers
*/
.hamburger {
    padding: calc(20em/28) calc(20em/28);
    display: inline-block;
    cursor: pointer;
    -webkit-transition-property: opacity, -webkit-filter;
    transition-property: opacity, -webkit-filter;
    transition-property: opacity, filter;
    transition-property: opacity, filter, -webkit-filter;
    -webkit-transition-duration: 0.15s;
    transition-duration: 0.15s;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;
}

.hamburger:hover {
    opacity: 1;
}

.hamburger.is-active:hover {
    opacity: 1;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
    background-color: #000;
}

.hamburger-box {
    width: calc(60em/28);
    height: 20px;
    display: inline-block;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -1px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: calc(60em/28);
    height: 2px;
    background-color: #000;
    border-radius: 0;
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.15s;
    transition-duration: 0.15s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block;
}

.hamburger-inner::before {
    top: -9px;
}

.hamburger-inner::after {
    bottom: -9px;
}

/*
* Collapse
*/
.hamburger--collapse .hamburger-inner {
    top: auto;
    bottom: 0;
    -webkit-transition-duration: 0.13s;
    transition-duration: 0.13s;
    -webkit-transition-delay: 0.13s;
    transition-delay: 0.13s;
    -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse .hamburger-inner::after {
    top: -18px;
    -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse .hamburger-inner::before {
    -webkit-transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse.is-active .hamburger-inner {
    -webkit-transform: translate3d(0, -9px, 0) rotate(-45deg);
    transform: translate3d(0, -9px, 0) rotate(-45deg);
    -webkit-transition-delay: 0.22s;
    transition-delay: 0.22s;
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*===========================================================
only
===========================================================*/
.only-sp {
    display: block !important;
}

.only-pc {
    display: none !important;
}

.only-pc-inline-block {
    display: none;
}

.only-pc-inline {
    display: none;
}

.only-sp-inline-block {
    display: inline-block;
}

.only-sp-inline {
    display: inline;
}

@media screen and (min-width: 376px) {

    /*　モバイル用スタイルが入る　*/
    .only-sp375,
    .only-sp376 {
        display: block;
    }
}

/*376*/
@media screen and (min-width: 415px) {

    /*　モバイル用スタイルが入る　*/
    .only-sp415 {
        display: block;
    }
}

/*415*/
@media screen and (min-width: 601px) {

    /*　タブレット用スタイルが入る　*/
    .only-sp601 {
        display: block;
    }
}

/*601*/
@media screen and (min-width: 769px) {
    .hidden-pc {
        display: none !important;
    }
}

@media screen and (min-width: 769px) {

    /*　デスクトップ用スタイルが入る　*/
    .only-pc {
        display: block !important;
    }

    .only-sp {
        display: none !important;
    }

    .only-sp376,
    .only-sp375 {
        display: none;
    }

    .only-sp415 {
        display: none;
    }

    .only-sp601 {
        display: none;
    }

    .only-pc-inline-block {
        display: inline-block;
    }

    .only-pc-inline {
        display: inline;
    }

    .only-sp-inline-block {
        display: none;
    }

    .only-sp-inline {
        display: none;
    }
}

/*769*/
@media screen and (max-width: 768.98px) {
    .hidden-sp {
        display: none !important;
    }
}

/*===========================================================
ヘッダー
===========================================================*/
header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff;
}

header .header-inner {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    position: relative;
}

header .logo a {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
}

header .navi {
    margin: 0;
}

@media only screen and (max-width: 768.98px) {
    header .logo img {
        width: calc(271em/28);
    }

    header .hamburger {
        /* bugFix
* https://github.com/jonsuh/hamburgers/issues/66#issuecomment-442695022 */
        line-height: 2.2;
        height: calc(100em/28);
    }

    header .hamburger-box {
        /* bugFix
* https://github.com/jonsuh/hamburgers/issues/66#issuecomment-442695022 */
        display: block;
    }

    header .header-inner {
        padding-left: 1em;
    }

    header .nav-global {
        font-size: 3.6rem;
        font-weight: bold;
        position: absolute;
        top: calc(100em/36);
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: rgba(101, 191, 151, 0.9);
        z-index: -1;
        display: none;
        letter-spacing: calc(100em/1000);
        overflow-y: scroll;
    }

    header .navi {
        text-align: center;
        padding-top: 1em;
        padding-bottom: 1em;
    }

    header .navi a {
        color: #fff;
        display: block;
        padding: 1em;
    }

    header .navi a:hover,
    header .navi a:active,
    header .navi a:focus {
        background-color: #65bf97;
    }

    header .btn-contact {
        text-align: center;
    }

    header .btn-contact a {
        display: -webkit-inline-box;
        display: inline-flex;
        width: calc(533em/36);
        height: calc(91em/36);
        border-radius: 2em;
    }
}

@media only screen and (min-width: 769px) {
    header .hamburger {
        display: none;
    }

    header .logo img {
        width: calc(154em/16);
    }

    header .header-inner {
        -webkit-box-align: center;
        align-items: center;
        margin-left: 1em;
    }

    header .nav-global {
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -webkit-box-pack: end;
        justify-content: flex-end;
        -webkit-box-flex: 1;
        flex-grow: 1;
        flex-shrink: 1;
        font-size: 1.6rem;
    }

    header .navi {
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        margin: 0 calc(10em/16) 0 0;
    }

    header .navi li {
        text-align: center;
        margin-left: calc(5em/16);
        margin-right: calc(5em/16);
    }

    header .navi a {
        display: block;
        position: relative;
    }

    header .navi a::before {
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 100%;
        display: block;
        opacity: 0;
        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(50%, #65bf97));
        background-image: linear-gradient(transparent 70%, #65bf97 50%);
        z-index: -1;
        -webkit-transition: .5s;
        transition: .5s;
    }

    header .navi a:hover::before {
        opacity: 1;
    }

    header .btn-contact {
        width: calc(210em/16);
        height: calc(80em/16);
    }
}

@media only screen and (min-width: 1280px) {
    header .header-inner {
        margin-left: 2em;
    }

    header .nav-global {
        font-size: 1.8rem;
    }

    header .navi {
        margin: 0 calc(25em/18) 0 0;
    }

    header .navi li {
        margin-left: calc(10em/18);
        margin-right: calc(10em/18);
    }

    header .btn-contact {
        width: calc(280em/18);
        height: calc(80em/18);
    }
}

.sp_contact {
    position: absolute;
    right: calc(100em/28);
}

.sp_contact a {
    background-image: -webkit-gradient(linear, left top, right top, from(#ff6b6b), color-stop(51%, #ffb274), to(#ff6b6b));
    background-image: linear-gradient(to right, #ff6b6b 0%, #ffb274 51%, #ff6b6b 100%);
    background-size: 200% auto;
    color: #fff;
    padding: 15px
}

/*===========================================================
メインビジュアル
===========================================================*/
.hero {
    height: auto;
    position: relative;
}

.mainVisual01 {
    width: 100%;
}

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

@media only screen and (min-width: 769px) {}

.inner-mv {
    height: calc(800em/28);
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    padding-top: 2em;
    padding-left: .7em;
}

.mv-img {
    margin-top: 28px;
}

.mv-img img {
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 768px) {
    .mv-img {
        margin-top: 0;
    }
}


@media only screen and (min-width: 769px) {
    .inner-mv {
        height: calc(700em/16);
        padding-left: 12em;
        padding-right: 1em;
        padding-top: 3em;
    }
}

.inner-mv .badge .badge-inner {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    width: calc(180em/20);
    height: calc(180em/20);
    border-radius: 50%;
    border: calc(5em/20) solid #fff;
    color: #fff;
    background-color: #ff5d5d;
    right: 0;
    bottom: 43px;
    font-weight: bold;
    line-height: 1;
}

@media only screen and (min-width: 769px) {
    .inner-mv .badge .badge-inner {
        border: 5px solid #fff;
        width: calc(180em/11);
        height: calc(180em/11);
    }
}

.inner-mv .badge .badge-inner .line {
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-size: 1.7rem;
    padding: .3em;
    margin-bottom: .3em;
    letter-spacing: calc(100em/1000);
}

.inner-mv .badge .badge-inner .num {
    font-size: 4rem;
    font-style: italic;
    color: #fffd88;
    font-weight: 900;
}

.inner-mv .badge .badge-inner small {
    font-size: 2.4rem;
    margin-left: .5em;
}

.inner-mv .badge .badge-inner .last {
    font-size: 2.4rem;
    margin-top: .3em;
    letter-spacing: calc(100em/1000);
}

.inner-mv .mv-copy {
    color: #fff;
    margin-top: 2em;
    text-shadow: 1px 2px 2px rgba(0, 0, 0, .4);
}

@media only screen and (max-width: 768px) {
    .inner-mv .mv-copy {
        margin-top: 1em;
        margin-left: 1.5em;
    }
}

.inner-mv .mv-copy .copy-inner p {
    color: #fffd74;
    margin: 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    font-size: 3rem;
    line-height: 2.2;
    padding-top: .3em;
    padding-bottom: .3em;
    font-weight: bold;
    display: inline-block;
    letter-spacing: calc(100em/1000);
}

.inner-mv .mv-copy .copy-inner h1 {
    margin-top: .5em;
    font-size: 5rem;
    font-style: italic;
    line-height: 1.5;
}

@media only screen and (min-width: 769px) {
    .inner-mv .mv-copy .copy-inner h1 {
        letter-spacing: calc(100em/1000);
        margin-top: .6em;
        line-height: 1.5;
    }
}

.mv-copy-yellow {
    color: #fffd74;
    font-size: 72px;
}

@media screen and (max-width:768px) {
    .mv-copy-yellow {
        font-size: 34px;
    }
}

.inner-mv .points {
    position: absolute;
    margin: 0;
    bottom: -40px;
    left: 50%;
    -webkit-transform: translate(-50%, 30%);
    transform: translate(-50%, 30%);
    width: 96.4%;
    background-color: #fff;
    display: -webkit-box;
    display: flex;
    justify-content: space-around;
    box-shadow: 0px 5px 5px 0 rgba(0, 0, 0, 0.2);
    padding-top: 1em;
    padding-bottom: 1em;
    font-weight: bold;
}

@media only screen and (min-width: 769px) {
    .inner-mv .points {
        bottom: -60px;
        box-shadow: 2.5px 4.3px 5px 0 rgba(0, 0, 0, 0.2);
        -webkit-transform: translate(-50%, 36%);
        transform: translate(-50%, 36%);
        padding-top: 1.3em;
        padding-bottom: 1.3em;
    }
}

.inner-mv .points li {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    width: 33.333%;
}

.inner-mv .points li+li {
    border-left: 2px solid #65bf97;
}

.inner-mv .points li:nth-child(2) {
    width: 38%;
}

.inner-mv .points li:nth-child(3) {
    width: 38%;
}

.inner-mv .points figure {
    margin-right: .3em;
}

.inner-mv .points figure img {
    max-width: 2em;
}

@media only screen and (min-width: 769px) {
    .inner-mv .points figure {
        margin-right: 1em;
    }

    .inner-mv .points figure img {
        max-width: 100%;
    }
}

.inner-mv .points p {
    margin: 0;
    font-size: 2rem;
    line-height: 2.2;
}

.inner-mv .points .txt-red {
    color: #ff6b6b;
    font-size: 4rem;
    line-height: 2.2;
}

@media only screen and (min-width: 769px) {
    .inner-mv .points .txt-red {
        font-size: 5rem;
    }

    .inner-mv .points .txt-red small {
        font-size: 3rem;
    }
}

.inner-mv .points .ast {
    color: #ff6b6b;
    font-size: 2.4rem;
    vertical-align: top;
}

@media only screen and (min-width: 769px) {
    .inner-mv .points .ast {
        font-size: 1.8rem;
    }
}

.inner-mv .points .bolder {
    font-weight: 900;
}

/*===========================================================
見出し
===========================================================*/
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    line-height: 2.2;
}

h2 {
    text-align: center;
    font-size: 18px;
}

/*===========================================================
intro
===========================================================*/
#areaIntro {
    background-color: #fff;
}

#areaIntro .sec-intro {
    max-width: 1000px;
    display: block;
    margin: 0 auto;
    padding: 0 1.5em 2em 1.5em;
}

#areaIntro .sec-intro.can{
    padding-top: 0;
}
@media only screen and (min-width: 769px) {
    #areaIntro .sec-intro {
        padding: 76px 0 50px;
    }
}

#areaIntro h2 {
    font-size: 24px;
    line-height: 2.2;
}

#areaIntro h2 span {
    display: inline-block;
    background-color: #70E9D7;
    color: #fff;
    padding: .5em 1em;
    font-size: 4.8rem;
    letter-spacing: calc(100em/1000);
}

@media only screen and (max-width: 768px) {
    #areaIntro{
        padding-top: 20px;
    }
    #areaIntro .sec-intro{
        padding: 0 20px 30px;
    }
    #areaIntro h2{
        font-size: 22px!important;
        font-weight: bold;
        margin-bottom: 20px;
    }
    #areaIntro h2 span {
        display: block;
        width: 90%;
        font-size: 18px;
        margin: 80px auto 0;
    }
}

@media only screen and (min-width: 769px) {
    #areaIntro h2{
        font-size: 24px;
        font-weight: bold;
        line-height: 2;
        text-align: left;
    }
    #areaIntro h2.case-genre-ttl{
        text-align: center;
        margin-bottom: 30px;
    }
    #areaIntro h2 span {
        padding: .5em 4.3em;
        font-size: 18px;
    }
    .case-genre .case-genre-desc{
        margin-bottom: 40px;
    }
}

#areaIntro .intro-img {
    margin-top: 2em;
    text-align: center;
}

/* #areaIntro .row {
    margin-top: 2em;
} */

@media only screen and (min-width: 769px) {
    #areaIntro .row {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 60px;
        margin-left: 0;
        margin-right: 0;
    }
    #areaIntro .row:last-child{
        margin-top: 40px;
    }
}

#areaIntro .row figure {
    width: 100%;
    height: 246px;
    padding: 0;
    margin-top: 14px;
}
#areaIntro .row figure img{
    border: 10px solid #70E9D7;
}


@media only screen and (min-width: 769px) {
    #areaIntro .row figure {
        /* border: 10px solid #70E9D7; */
        width: 51%;
        max-width: 400px;
    }
    #areaIntro .row figure img{
        border: 10px solid #70E9D7;

    }
}

#areaIntro .row figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#areaIntro .row .col-txt {
    margin-top: 1em;
}

@media only screen and (min-width: 769px) {
    #areaIntro .row .col-txt {
        width: 54%;
        margin-top: 0;
    }
}

#areaIntro h3 {
    font-size: 18px;
    border: none;
}

#areaIntro h5 {
    font-size: 2em !important;
    color: #70E9D7;
    line-height: 2.2;
}

#areaIntro ul {
    padding-left: 0;
}

@media only screen and (min-width: 769px) {
    #areaIntro h3 {
        text-align: left;
        font-size: 15px !important;
        white-space: nowrap;
        line-height: 1.8 !important;
        border: none;
        margin: 0;
        padding: 0;
    }
}

@media only screen and (max-width: 768px) {
    #areaIntro ul li .row{
        flex-direction: column-reverse;
    }
    #areaIntro h3 span {
        font-size: 14px !important;
        font-weight: normal;
        white-space: nowrap;
        border: none;
        margin: 1em 0 2em !important;
        padding: 0;
    }
    #areaIntro .row .col-txt p{
        margin-top: 0;
    }
}

#areaIntro .row .col-txt p {
    letter-spacing: calc(100em / 1000);
    line-height: 2.2;
    padding: 0;
    margin-top: ;
}


/*===========================================================
areaEvidence,areaTwoyears,areaNocharge
===========================================================*/
#areaTrouble {
    background-image: url(../img/top/sp/bg_img_trouble.png);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (min-width: 769px) {
    #areaTrouble,
    #areaLp {
        background-image: url(../img/top/bg_img_trouble.png);
        background-repeat: repeat-x;
        background-size: auto;
    }
}

#areaTrouble .sec-trouble {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 4em .8em 1em .8em;
}

@media screen and (min-width: 769px) {
    #areaTrouble .sec-trouble {
        padding: 60px 0 30px;
    }
}

#areaTrouble h2 {
    font-size: 4.5rem !important;
    white-space: nowrap;
}

@media screen and (min-width: 769px) {
    #areaTrouble h2 {
        letter-spacing: calc(100em/1000);
        font-size: 3rem !important;
    }
}

#areaTrouble h2 span {
    display: inline-block;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(85%, transparent), color-stop(85%, #65bf97), to(#65bf97));
    background-image: linear-gradient(transparent 85%, #70E9D7 85%, #70E9D7 100%);
}

#areaTrouble h3 {
    font-size: 4.8rem !important;
    text-align: center;
    color: #23D1B7;
    border: none;
}

@media screen and (min-width: 769px) {
    #areaTrouble h3 {
        letter-spacing: calc(100em/1000);
        font-size: 3.6rem !important;
        border-top: none;
        border-bottom: none;
        margin: 0 !important;
    }
}

.kaiketu-ttl{
    text-align: center;
    margin-top: 0;
}
#areaLp h3.kaiketu {
    color: #666;
    display: inline;
    white-space: nowrap;
    background-color: #fbe2f0;
    background-color: #fae8f4;
    padding: .4em .4em;
}

#areaTrouble .box-trouble {
    border: 10px solid #70E9D7;
    padding: 1em;
    background-image: url(../img/top/bg_list_trouble.png);
    background-position: 50% 50%;
    background-size: 5.5px;
    margin: 2em 0;
}

@media screen and (min-width: 769px) {
    #areaTrouble .box-trouble {
        border: 10px solid #70E9D7;
        background-size: auto;
        padding: 30px 30px 40px;
    }
}

#areaTrouble .box-trouble li {
    font-size: 18px;
    line-height: 2.2;
}

@media screen and (min-width: 769px) {
    #areaTrouble .box-trouble li {
        font-size: 18px;
        line-height: 2.2;
    }
}
#areaTrouble .box-trouble li {
    position: relative;
}
#areaTrouble .box-trouble .trouble-img{
    width: 32px;
}
#areaTrouble .box-trouble .trouble-img img{
    width: 100px;
    height: auto;
}

#areaTrouble .box-trouble li span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-bottom: 1px solid #ff0d92;
    padding-left: 40px;
    /* background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0, 0, 30px, 29px"><path fill="%23ff0d92" d="M8.390,13.365 L12.458,21.183 C12.458,21.183 19.068,5.296 29.492,0.000 C29.237,3.782 28.220,7.061 30.000,11.095 C25.424,12.104 16.017,23.452 12.966,29.000 C8.644,23.704 3.559,19.669 0.000,18.409 L8.390,13.365 Z" /></svg>'); */
    /* fill: #ff0d92; */
    /* background-repeat: no-repeat;
    background-size: 1.2em auto;
    background-position: 0 50%; */
}

.trouble-wrapper{
    border: 10px solid #70E9D7;
    background-size: auto;
    padding: 20px 30px 44px;
    background-image: url(../img/top/bg_list_trouble.png);
    background-position: 50% 50%;
    margin: 2em 0 20px;

}
.trouble-wrapper li{
    display: flex;
    border-bottom: 3px solid #ff0d92;
    padding: 12px 0;
}
.trouble-wrapper li .trouble-check{
    width: 20%;
    max-width: 40px;
    padding-right: 10px;
}
.trouble-wrapper li .trouble-check img{
    width: 100%;
    height: auto;
}
.trouble-txt{
    /* width: 80%; */
    font-size: 18px;
}


@media screen and (min-width: 769px) {
    #areaTrouble .box-trouble li span {
        display: block;
        border-bottom: 3px solid #ff0d92;
        background-size: auto;
    }
}

#areaTrouble .box-trouble li+li {
    display: block;
    margin-top: 1em;
}

@media screen and (max-width: 768px) {
    #areaTrouble .sec-trouble{
        padding: 0;
    }
    #areaTrouble,
    #areaLp {
        padding: 30px 20px 0px;
    }
    #areaTrouble .box-trouble li{
        display: block;
        font-size: 14px;
    }
    #areaTrouble h2{
        font-size: 24px!important;
    }
    #areaTrouble h3 {
        font-size: 18px !important;
        padding: 0;
        margin: 0!important;
    }
    #areaTrouble .box-trouble li span{
        display: block;
        background-size: cover;
        background-position: 0 10px;
        padding: 0 0 10px 34px;
        margin-bottom: 10px;
    }
    #areaTrouble .box-trouble li .trouble-img{
        width: 28px;
    }
    #areaTrouble .box-trouble li .trouble-img img{
        width: 100%;
        height: auto;
    }
    
    .trouble-wrapper{
        padding: 10px 20px 30px;
        background-size: 5.5px;
        line-height: 2.2;
        margin: 30px 0px 20px;

    }
    .trouble-wrapper li{
        display: flex;
        border-bottom: 1px solid #ff0d92;
        padding: 14px 0;
    }
    .trouble-wrapper li .trouble-check{
        max-width: 30px;
        padding-right: 6px;
    }
    .trouble-wrapper li .trouble-check img{
        width: 100%;
        height: auto;
    }
    .trouble-txt{
        width: 100%;
        font-size: 16px;
    }

}


/*===========================================================
price
===========================================================*/
#areaPrice {}

#areaPrice .sec-price {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 3em 0.5em;
}

@media only screen and (min-width: 769px) {
    #areaPrice .sec-price {
        padding: 5em 6em;
    }
}

#areaPrice .price-table {
    border: 1px solid #e8e8e8;
}

#areaPrice h2 {
    margin-bottom: 1.5em;
}


#areaCan {
    background-color: #fff;
}

#areaCan .sec-intro {
    max-width: 1000px;
    display: block;
    margin: 0 auto;
    padding: 0 1.5em 2em 1.5em;
}

#areaCan .sec-intro.can{
    padding-top: 0;
}
@media only screen and (min-width: 769px) {
    #areaCan .sec-intro {
        padding: 76px 0 50px;
    }
}

#areaCan h3 {
    font-size: 24px!important;
    line-height: 2.2;
    padding: 0;
    margin: 0!important;
}

#areaCan h2.subttl {
    text-align: left;
}

#areaCan h2 {
    font-size: 40px;
    line-height: 2.2;
}

#areaCan h2 span {
    display: inline-block;
    background-color: #70E9D7;
    color: #fff;
    padding: .5em 1em;
    font-size: 4.8rem;
    letter-spacing: calc(100em/1000);
}

@media only screen and (max-width: 768px) {
    #areaCan{
        padding-top: 20px;
    }
    #areaCan .sec-intro{
        padding: 0 20px 30px;
    }
    #areaCan h2{
        font-size: 22px!important;
        font-weight: bold;
        margin-bottom: 20px;
    }
    #areaCan h2 span {
        display: block;
        width: 90%;
        font-size: 18px;
        margin: 80px auto 0;
    }
}

@media only screen and (min-width: 769px) {
    #areaCan h2{
        font-size: 40px;
        font-weight: bold;
        line-height: 2;
    }
    #areaCan h2 span {
        padding: .5em 4.3em;
        font-size: 18px;
    }
}

#areaCan .intro-img {
    margin-top: 2em;
    text-align: center;
}

/* #areaCan .row {
    margin-top: 2em;
} */

@media only screen and (min-width: 769px) {
    #areaCan .row {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 60px;
        margin-left: 0;
        margin-right: 0;
    }
    #areaCan .row:last-child{
        margin-top: 40px;
    }
}

#areaCan .row figure {
    width: 100%;
    height: 246px;
    padding: 0;
    margin-top: 14px;
}
#areaCan .row figure img{
    border: 10px solid #70E9D7;
    margin-top: 10px;
}


@media only screen and (min-width: 769px) {
    #areaCan .row figure {
        /* border: 10px solid #70E9D7; */
        width: 51%;
        max-width: 400px;
    }
    #areaCan .row figure img{
        border: 10px solid #70E9D7;

    }
}

#areaCan .row figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#areaCan .row .col-txt {
    margin-top: 1em;
}

@media only screen and (min-width: 769px) {
    #areaCan .row .col-txt {
        width: 54%;
        margin-top: 0;
    }
}

#areaCan h3 {
    border: none;
}

#areaCan h5 {
    font-size: 2em !important;
    color: #70E9D7;
    line-height: 2.2;
}

#areaCan ul {
    padding-left: 0;
}

/* @media only screen and (min-width: 769px) {
    #areaCan h3 {
        text-align: left;
        font-size: 15px !important;
        white-space: nowrap;
        line-height: 1.8 !important;
        border: none;
        margin: 0;
        padding: 0;
    }
} */

@media only screen and (max-width: 768px) {
    #areaCan ul li .row{
        flex-direction: column-reverse;
    }
    #areaCan h3 span {
        font-size: 14px !important;
        font-weight: normal;
        white-space: nowrap;
        border: none;
        margin: 1em 0 2em !important;
        padding: 0;
    }
    #areaCan .row .col-txt p{
        margin-top: 0;
    }
}

#areaCan .row .col-txt p {
    letter-spacing: calc(100em / 1000);
    line-height: 2.2;
    padding: 0;
    margin-top: ;
}


/*===========================================================
video
===========================================================*/
#areaVideo {
    max-width: 1000px;
    margin: 0 auto;
}
#areaVideo .lang-ja{
    margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
    #areaVideo {
        padding-right: 20px;
        padding-left: 20px;
    }
}

#areaVideo .sec-video {
    padding: 3em 0;
}

@media only screen and (min-width: 769px) {
    #areaVideo .sec-video {
        padding: 60px 0;
    }
}

@media only screen and (max-width: 768px) {
    #areaVideo .sec-video {
        padding: 30px 0 40px;
    }
}

#areaVideo h2 {
    margin-bottom: 0;
}

#areaVideo .ytb_image {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}


/*===========================================================
news
===========================================================*/
#areaNews {
    max-width: 1000px;
    margin: 0 auto;
}
#areaNews .lang-ja.news{
    margin-bottom: 30px;
}

#areaNews .sec-news .news-box{
    width: 100%;
}

#areaNews .sec-news .news-box tr{
    border-bottom: 1px solid #ddd;
}

#areaNews .sec-news .news-box table{
    width: 100%;
    border-top: 1px solid #ddd;
}

#areaNews .sec-news .news-box tr td{
    padding: 30px 0 34px;
}

#areaNews .sec-news .news-box tr td.date{
    width: 120px;
    vertical-align: top;
}

#areaNews .sec-news .news-box .news-more{
    text-align: right;
    margin-top: 8px;
}

#areaNews .sec-news .news-box .news-more a{
    text-decoration: underline #999!important;
    color: #666!important;
}

#areaNews .sec-news .news-box .news-more a:hover{
    opacity: .6;
}


@media only screen and (min-width: 769px) {
    #areaNews .sec-news {
        padding: 20px 0 60px;
    }
}

.news-box {}

.news-line {
    display: flex;
    flex-direction: row;
    margin-bottom: 0;
    border-top: 1px solid #666;
    padding: 2.5em 1.5em;
    position: relative;
}

.news-line:last-child {
    border-bottom: 1px solid #666;
}

.top-news-date {
    font-weight: 600;
    margin-bottom: 0;
    padding-right: 2em;
}

.news-tag {
    margin-bottom: 0;
    margin-right: 2em;
    background-color: #70E9D7;
    padding: 0 2em;
    border-radius: 20px;
    color: #fff;
}

.top-news-title {
    margin-bottom: 0;
    font-size: 15px;
    font-weight: 600;
}

.news-arrow {
    margin-bottom: 0;
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: 1%;
    transform: translateY(-50%);
    box-sizing: border-box;
    color: #70E9D7;
    font-weight: bold;
    width: 1.15em;
    font-size: 1.5em;
}

.news-arrow a {
    color: #70E9D7 !important;
}

.news-arrow::before {
    content: '';
    width: 1.4rem;
    /* width: 0.63rem; */
    height: 1.4rem;
    /* height: 0.63rem; */
    border: 0.17em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 51.5%;
    right: 0;
    box-sizing: border-box;
    color: #70E9D7;
}
@media (max-width: 768px){
    #areaNews{
        padding-bottom: 40px;
    }
    #areaNews .sec-news .news-box{
        padding: 0 20px;
    }
    #areaNews .sec-news .news-box tr td:first-child{
        display: inline-block;
        width: 100%;
        padding: 12px 0 0;
    }
    #areaNews .sec-news .news-box tr td:last-child{
        display: inline-block;
        width: 100%;
        padding: 0px 0 12px;
    }
}


/*===========================================================
service
===========================================================*/
/* #areaService {
    background-color: #e8e8e8;
} */

#areaService .sec-service {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 3em 0.5em;
}

@media only screen and (min-width: 769px) {
    #areaService .sec-service {
        padding: 60px 0 40px;
    }
}

#areaService .block-service,
#areaMerit .block-service {
    margin-top: 2em;
}

#areaService .block-service ul,
#areaMerit .block-service ul{
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-left: 0;
}

#areaService .block-service ul li,
#areaMerit .block-service ul li {
    width: 49%;
    margin-bottom: 2rem;
    background-color: #fff;
    border: 10px solid #cefaf3;
    font-size: 3.6rem;
}

@media only screen and (min-width: 769px) {
    #areaService .block-service ul li,
    #areaMerit .block-service ul li {
        width: 49%;
    }
}

@media only screen and (max-width: 768px) {
    #areaService {
        padding: 30px 20px 30px;
    }
    #areaService .sec-service{
        padding: 0;
    }
    #areaService .block-service ul,
    #areaMerit .block-service ul {
        display: block;
    }

    #areaService .block-service ul li,
    #areaMerit .block-service ul li {
        width: 100%;
        margin-bottom: 20px;
    }

    .block-service h3 {
        margin-top: 0 !important;
    }
}

#areaService .block-service ul li figure,
#areaMerit .block-service ul li figure {
    margin: 0;
}

#areaService .block-service ul li img,
#areaMerit .block-service ul li img {
    width: 100%;
}

#areaService .block-service .ttl-bottom {
    font-size: 3.6rem !important;
    font-style: italic;
    line-height: 2.2 !important;
    text-align: center;
    letter-spacing: calc(100em / 1000);
    white-space: nowrap;
    border-top: none;
    border-bottom: none;
}

#areaService .block-support {
    background-color: #f1fcf6;
    padding: 3em .7em;
}

@media only screen and (min-width: 769px) {
    #areaService .block-support {
        background-color: #fff;
        background-image: url(../img/top/bg_flow.jpg);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: auto 100%;
        padding: 4em 0;
    }
}

#areaService .block-support .support-inner {
    max-width: 64.5em;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (min-width: 769px) {
    #areaService .block-support .support-inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}

#areaService .block-support .wrapper {
    background-color: #fff;
    border: calc(5em/36) solid #70E9D7;
    padding: 1em 1em 0 1em;
    margin-top: 2em;
    font-size: 3.6rem;
}

@media only screen and (min-width: 769px) {
    #areaService .block-support .wrapper {
        border: calc(5em/16) solid #70E9D7;
        font-size: 1.6rem;
        padding: 2em;
    }
}

#areaService .block-support h3 {
    color: #65bf97;
    font-size: 3.6rem;
    font-style: italic;
    text-align: center;
}

@media only screen and (min-width: 769px) {
    #areaService .block-support h3 {
        letter-spacing: calc(100em/1000);
    }
}

#areaService .block-support h4 {
    color: #ff6b6b;
    border-left: 8px solid;
    padding-left: .5em;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaService .block-support h4 {
        font-size: 2.4rem;
    }
}

#areaService .block-support figure {
    text-align: center;
    margin: 2em 0 2em 0;
    border: 1px solid;
    padding: 2.3em 1.3em 1.3em 1.3em;
    position: relative;
}

@media only screen and (min-width: 769px) {
    #areaService .block-support figure {
        margin: 4em 0 2em 0;
    }
}

#areaService .block-support figure figcaption {
    position: absolute;
    top: -.9em;
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
    color: #fff;
    background-color: #65bf97;
    font-size: 3.6rem;
    white-space: nowrap;
    padding: .1em 1.5em;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaService .block-support figure figcaption {
        font-size: 2.4rem;
    }
}

#areaService .block-support p {
    letter-spacing: calc(100em/1000);
}

#areaService .block-support .ttl-bg {
    text-align: center;
    font-size: 4rem;
    font-weight: bold;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaService .block-support .ttl-bg {
        font-size: 3.6rem;
    }
}

#areaService .block-support .ttl-bg span {
    background-color: #70E9D7;
    color: #fff;
    padding: .2em .5em;
    display: inline-block;
}

#areaService .block-support .ttl-bg span span {
    color: #fff;
    padding: 0;
    display: inline;
}

#areaService .block-support .list-flow {
    list-style: none;
    margin: 1em 0 0 0;
    padding: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    font-weight: bold;
    flex-wrap: wrap;
}

@media only screen and (min-width: 769px) {
    #areaService .block-support .list-flow {
        margin: 2em 0 0 0;
        flex-wrap: nowrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
}

#areaService .block-support .list-flow .circle {
    background-color: #70E9D7;
    color: #fff;
    letter-spacing: calc(200em/1000);
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: calc(150em/24);
    height: calc(150em/24);
    border-radius: 50%;
    font-size: 3.6rem;
    position: relative;
    margin-bottom: 1em;
    margin-right: calc(85em/36);
}

@media only screen and (min-width: 769px) {
    #areaService .block-support .list-flow .circle {
        font-size: 2.4rem;
        margin-bottom: 0;
        margin-right: 0;
    }
}

#areaService .block-support .list-flow .circle span {
    border: 1px solid;
    border-radius: 50%;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: calc(136em/24);
    height: calc(136em/24);
    text-align: center;
}

#areaService .block-support .list-flow .circle::after {
    position: absolute;
    content: '';
    width: 2em;
    height: 2em;
    background-image: url(../img/top/arrow_next.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    -webkit-transform: translate(4.4em, 0) rotate(0deg);
    transform: translate(4.4em, 0) rotate(0deg);
    z-index: 1;
}

@media only screen and (min-width: 769px) {
    #areaService .block-support .list-flow .circle::after {
        width: calc(48em/24);
        height: calc(36em/24);
    }
}

#areaService .block-support .list-flow .square {
    background-color: #fffff2;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    border: calc(8em/36) solid #ff6b6b;
    font-size: 3.0rem;
    padding: .5em 1em;
    letter-spacing: calc(100em/1000);
    white-space: nowrap;
    align-self: flex-start;
}

@media only screen and (min-width: 769px) {
    #areaService .block-support .list-flow .square {
        font-size: 2.4rem;
        width: calc(292em/24);
        height: calc(200em/24);
        border-width: calc(4em/24);
    }
}

#areaService .block-support .list-flow .square .red {
    color: #ff6b6b;
    font-weight: 900;
}

#areaService .block-support .list-flow .square .large {
    font-size: 5rem;
    line-height: 2.2;
}

#areaService .box-service,
#areaMerit .box-service {
    border: 10px solid #70E9D7;
}

@media only screen and (min-width: 769px) {
    #areaService .box-service,
    #areaMerit .box-service {
        border: 10px solid #70E9D7;
    }
}

#areaService .txt-service {
    text-align: center;
}

#areaService .txt-service h3,
#areaMerit .txt-service h3 {
    color: #666;
    background-color: #cefaf3;
    /* background-color: #70E9D7; */
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: calc(100em/1000);
    border: none;
    padding: 4px 20px 6px;
}

@media only screen and (min-width: 769px) {
    #areaService .txt-service h3 ,
    #areaMerit .txt-service h3 {
        font-size: 20px !important;
        margin: 0 !important;
    }

}

#areaService .txt-service p,
#areaMerit .txt-service p {
    margin: 24px 20px 30px 30px;
    text-align: left;
    font-size: 15px;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    min-height: 5em;
}

@media only screen and (min-width: 769px) {
    #areaService .txt-service p,
    #areaMerit .txt-service p {
        letter-spacing: calc(100em/1000);
        font-size: 15px;
        padding: 0;
        line-height: 2.2;
    }
}

#areaService .arrow-down {
    text-align: center;
    color: #70E9D7;
    margin-top: 1em;
}

#areaService .arrow-down img {
    max-width: 40%;
}

@media only screen and (min-width: 769px) {
    #areaService .arrow-down img {
        max-width: 100%;
    }
}

.sec-subttl {
    text-align: center;
    margin-top: 2em;
    font-size: 3rem;
    line-height: 2.2;
}

@media only screen and (min-width: 769px) {
    #areaService .sec-subttl {
        font-size: 3.6rem;
    }


}

#areaService .sec-subttl span {
    display: inline-block;
    background-color: #70E9D7;
    color: #fffd74;
    padding: .3em 2.5em;
    letter-spacing: calc(100em/1000);
}

.sec-subttl span {
    display: inline-block;
    background-color: #70E9D7;
    color: #fffd74;
    padding: .3em 2.5em;
    letter-spacing: calc(100em/1000);
}

.video {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    margin-bottom: 1.5em;
    margin-top: 2em;
}

.video video {
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px){
    #areaService .txt-service h3, #areaMerit .txt-service h3{
        font-size: 20px!important;
        margin-bottom: 0!important;
        line-height: 2.8!important;
    }
    #areaService .txt-service p,
    #areaMerit .txt-service p {
        font-size: 14px;
        padding: 14px 20px 20px;
        margin: 0!important;
    }
}
/*===========================================================
Case
===========================================================*/
#areaCase .sec-case {
    padding-top: 3em;
}

#areaCase .sec-case .cases {
    margin-top: 2em;
}

#areaCase .sec-case ul {
    padding-left: 0;
}

#areaCase .sec-case li {
    margin-top: 1.5em;
}

#areaCase .sec-case li.block-case {
    position: relative;
    margin-bottom: 3em;
    padding: 0 .8em;
    text-align: center;
    background-repeat: no-repeat;
    background-position: 50% bottom;
    background-size: 100% auto;
}

@media only screen and (min-width: 769px) {
    #areaCase .sec-case li.block-case {
        margin-bottom: 5em;
        background-size: auto;
        background-position: 50% top;
    }
}

#areaCase .sec-case li.block-case:nth-child(1) {
    background-image: url(../img/top/sp/bg_img_case01.jpg);
}

@media only screen and (min-width: 769px) {
    #areaCase .sec-case li.block-case:nth-child(1) {
        background-image: url(../img/top/bg_img_case01.jpg);
    }
}

#areaCase .sec-case li.block-case:nth-child(2) {
    background-image: url(../img/top/sp/bg_img_case02.jpg);
}

@media only screen and (min-width: 769px) {
    #areaCase .sec-case li.block-case:nth-child(2) {
        background-image: url(../img/top/bg_img_case02.jpg);
    }

    #areaCase .sec-case li.block-case:nth-child(2) h3 {
        padding-left: 50%;
    }
}

#areaCase .sec-case li.block-case:nth-child(3) {
    background-image: url(../img/top/sp/bg_img_case03.jpg);
}

@media only screen and (min-width: 769px) {
    #areaCase .sec-case li.block-case:nth-child(3) {
        background-image: url(../img/top/bg_img_case03.jpg);
    }
}

#areaCase .sec-case .box-case .txt-case {
    padding: 3.5em 1em 1em 1em;
    margin-top: 1em;
    background: #70E9D7;
    box-shadow: 0px 5px 5px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
}

#areaCase .sec-case .box-case .txt-case:first-child {
    background-color: #393939;
}

@media only screen and (min-width: 769px) {
    #areaCase .sec-case .box-case .txt-case {
        width: 49%;
    }
}

#areaCase .sec-case .box-case .txt-case p {
    margin: 0 0;
    line-height: 2.2;
}

#areaCase .sec-case .box-case .txt-case p+p {
    margin: .5em 0 0 0;
}

@media only screen and (min-width: 769px) {
    #areaCase .sec-case .box-case {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-left: 0;
    }
}

#areaCase .sec-case .case-inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

#areaCase .sec-case .case-inner img {
    width: 100%;
}

#areaCase h3 {
    text-align: left;
    line-height: 2.2;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    font-size: 20px;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaCase h3 {
        font-size: 4rem !important;
        margin-bottom: .5em !important;
        border-top: none;
        border-bottom: none;
    }
}

#areaCase h3 .num-case {
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    line-height: 2.2;
    width: calc(100em/48);
    height: calc(100em/48);
    margin-right: .8em;
    background-color: #70E9D7;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-style: italic;
    font-weight: bold;
    font-size: 18px;
}

@media only screen and (min-width: 769px) {
    #areaCase h3 .num-case {
        font-size: 4rem;
        width: calc(100em/40);
        height: calc(100em/40);
    }
}

#areaCase h3 .num-case span:nth-child(1) {
    font-size: 2.6rem;
    letter-spacing: calc(100em/1000);
}

#areaCase h3 .num-case span:nth-child(2) {
    font-size: 6rem;
    letter-spacing: calc(100em/1000);
}

#areaCase .txt-case h4 {
    color: #fffd74;
    font-size: 3.6rem;
    letter-spacing: calc(100em/1000);
    position: absolute;
    top: .7em;
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
}

@media only screen and (min-width: 769px) {
    #areaCase .txt-case h4 {
        font-size: 2.4rem !important;
    }
}

#areaCase .txt-case figure {
    width: calc(95em/24);
}

@media only screen and (min-width: 769px) {
    #areaCase .txt-case figure {
        width: calc(80em/14);
    }
}

#areaCase .txt-case .col-txt {
    width: 78%;
}

@media only screen and (min-width: 769px) {
    #areaCase .txt-case .col-txt {
        width: calc(364em/16);
    }
}

#areaCase .txt-case p {
    text-align: left;
    font-size: 3rem;
    white-space: nowrap;
}

@media only screen and (min-width: 769px) {
    #areaCase .txt-case p {
        font-size: 2rem;
        letter-spacing: calc(100em/1000);
    }
}

#areaCase .txt-case p small {
    font-size: 2.4rem;
    display: inline-block;
    line-height: 2.2;
}

@media only screen and (min-width: 769px) {
    #areaCase .txt-case p small {
        font-size: 1.6rem;
    }
}

#areaCase .txt-case .row {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: flex-start;
    -webkit-box-align: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

#areaCase .case-result {
    margin-top: 3em;
    padding-bottom: 1em;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
        flex-wrap: wrap;
        -webkit-box-align: end;
        align-items: flex-end;
        margin-top: 4em;
        padding-bottom: 4em;
    }
}

#areaCase .case-result .before {
    width: calc(390em/28);
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .before {
        width: calc(390em/16);
        width: 39.1%;
        margin-left: inherit;
        margin-right: inherit;
    }
}

#areaCase .case-result .before h4 {
    margin: 0;
    padding: .3em;
    background: #393939;
    line-height: 2.2;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .before h4 {
        padding: .6em;
    }
}

#areaCase .case-result .before h4 span {
    color: #fff;
    font-size: 3.6rem;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .before h4 span {
        font-size: 3rem;
    }
}

#areaCase .case-result .before p {
    margin: 0;
    padding: 1.5rem 0;
    border: calc(5em/24) solid #393939;
    background: #fffff3;
    font-size: 2.4rem;
    font-weight: bold;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .before p {
        border: calc(5em/24) solid #393939;
    }
}

#areaCase .case-result .before p>span {
    font-size: 3.4rem;
    font-weight: 900;
    display: inline-block;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .before p>span {
        font-size: 3rem;
    }
}

#areaCase .case-result .before::after {
    position: absolute;
    bottom: 0%;
    left: 50%;
    -webkit-transform: translate(-50%, 75%) rotate(90deg);
    transform: translate(-50%, 75%) rotate(90deg);
    content: '';
    display: inline-block;
    width: 40px;
    height: 66px;
    background-image: url(../img/top/arrow_before-after.svg);
    background-position: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .before::after {
        top: 50%;
        left: 100%;
        -webkit-transform: translate(-30%, -50%) rotate(0);
        transform: translate(-30%, -50%) rotate(0);
        width: 55px;
        height: 87px;
    }
}

#areaCase .case-result .after {
    position: relative;
    width: calc(590em/28);
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.5em;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .after {
        width: calc(590em/16);
        width: 59%;
        margin-top: 2em;
        margin-left: inherit;
        margin-right: inherit;
    }
}

#areaCase .case-result .after h4 {
    margin: 0;
    padding: .5em;
    background: #ff6b6b;
    line-height: 2.2;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .after h4 {
        padding: 1em;
    }
}

#areaCase .case-result .after h4 span {
    color: #fff;
    font-size: 3.6rem;
    display: inline-block;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .after h4 span {
        font-size: 3rem;
    }
}

#areaCase .case-result .after p {
    margin: 0;
    padding: .2em 0;
    border: calc(5em/28) solid #ff6b6b;
    background: #fffff3;
    font-weight: bold;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .after p {
        border: calc(5em/30) solid #ff6b6b;
        font-size: 3rem;
    }
}

#areaCase .case-result .after p>span {
    color: #ff6b6b;
    font-size: 6rem;
    font-weight: 900;
}

#areaCase .case-result .after .badge {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    position: absolute;
    width: calc(153em/28);
    height: calc(153em/28);
    border-radius: 50%;
    background: #ff6b6b;
    border: calc(5em/28) solid #fff;
    right: 0;
    bottom: 50%;
    box-shadow: 3px 3px 3px 0px #46464669;
}

@media only screen and (min-width: 769px) {
    #areaCase .case-result .after .badge {
        width: calc(153em/10);
        height: calc(153em/10);
        border: calc(5em/10) solid #fff;
        bottom: 52%;
    }
}

#areaCase .case-result .after .badge p.txt-badge {
    padding: 0;
    border: none;
    background: none;
    font-size: 2rem;
    color: #fff;
    letter-spacing: calc(100em/1000);
}

#areaCase .case-result .after .badge p.txt-badge span {
    font-size: 4rem;
    font-weight: 900;
    color: #fffd74;
    letter-spacing: 0;
}

.case-genre {
    background: #f2f2f2;
    /* background: #e8e8e8; */
}

.case-genre-desc{
    text-align: center;
}

.case-genre .genre-inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 3em;
    padding-bottom: 4em;
}

@media only screen and (max-width: 768px) {
    .case-genre .genre-inner {
        padding: 30px 20px 30px;
        padding-right: 20px;
        padding-left: 20px;
    }

    .case-genre .genre-inner ul {
        gap: 20px 10px;
    }

    .case-genre .genre-inner li {
        width: 31%;
        font-size: 14px;
    }

}

.case-genre .genre-inner h2 {
    text-align: center;
    font-size: 24px;
}

.case-genre img {
    border-radius: 50%;
    border: 5px solid #70E9D7;
    box-shadow: 2.5px 4.3px 5px 0 rgba(0, 0, 0, 0.2);
    margin-bottom: 12px;
}

@media only screen and (min-width: 769px) {
    .case-genre .genre-inner h2 {
        letter-spacing: calc(100em/1000);
        font-size: 24px !important;
    }
}

.case-genre ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 0px;
    margin: 2em 0 0 0;
}

@media only screen and (min-width: 769px) {
    .case-genre ul {
        -webkit-box-pack: center;
        justify-content: center;
    }
}

.case-genre ul li {
    width: 14%;
    text-align: center;
    font-size: 2.2rem;
    line-height: 1.8;
}

.case-genre ul li .case{
    text-align: center!important;
    margin: 0!important;
}

@media only screen and (min-width: 769px) {
    .case-genre ul li {
        letter-spacing: calc(100em/1000);
        font-size: 1.5rem;
        width: 14%;
    }
}

/*===========================================================
Inquiry
===========================================================*/
.areaInquiry {
    background-image: url(../img/top2/okinawa-back.jpg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    color: #fff;
}

.areaInquiry .sec-inquiry {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: calc(60em/28) 1em calc(80em/28) 1em;
    text-align: center;
}

.areaInquiry .ttl-inquiry {
    font-style: italic;
    font-size: 4.8rem;
    margin-bottom: 0;
    letter-spacing: calc(100em/1000);
}

.areaInquiry .row {
    margin-top: calc(36em/28);
}

.areaInquiry .tel {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 6rem;
    margin: 0;
    line-height: 2.2;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    align-items: center;
    letter-spacing: calc(100em/1000);
}

.areaInquiry .tel::before {
    content: '';
    width: calc(42em/60);
    height: calc(53em/60);
    margin-right: .2em;
    background-image: url(../img/top/ico_tel.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.areaInquiry .time {
    letter-spacing: calc(100em/1000);
    font-size: 2.4rem;
    margin: calc(26em/24) 0 0 0;
    line-height: 2.2;
}

.areaInquiry .btn-contact {
    font-size: 3.8rem;
    font-weight: bold;
    margin-top: calc(55em/38);
    letter-spacing: calc(100em/1000);
}

.areaInquiry .btn-contact a {
    display: -webkit-inline-box;
    display: inline-flex;
    width: calc(553em/38);
    height: calc(91em/38);
    border-radius: 2em;
}

@media only screen and (min-width: 769px) {
    .areaInquiry {
        background-image: url(../img/top2/okinawa-back.jpg);
    }

    .areaInquiry .sec-inquiry {
        padding: calc(50em/16) 1em calc(75em/16) 1em;
    }

    .areaInquiry .row {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        -webkit-box-align: end;
        align-items: flex-end;
        margin-top: calc(26em/16);
    }

    .areaInquiry .col-txt {
        width: 50%;
        padding-left: 3em;
    }

    .areaInquiry .col-btn {
        width: 50%;
    }

    .areaInquiry .ttl-inquiry {
        font-size: 4rem;
    }

    .areaInquiry .tel {
        font-size: 4.9rem;
        letter-spacing: calc(100em/1000);
    }

    .areaInquiry .tel::before {
        width: calc(35em/49);
        height: calc(46em/49);
    }

    .areaInquiry .time {
        font-size: 2rem;
        margin-top: calc(18em/20);
    }

    .areaInquiry .btn-contact {
        font-size: 2.4rem;
    }

    .areaInquiry .btn-contact a {
        width: calc(372em/24);
        height: calc(94em/24);
    }
}

/*===========================================================
success
===========================================================*/
#areaSuccess .sec-success {
    padding-top: 3em;
    max-width: 1000px;
    margin: 0 auto;
}

#areaSuccess .sec-subttl {
    text-align: center;
    margin-top: 2em;
    font-size: 4rem;
    line-height: 2.2;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .sec-subttl {
        font-size: 3.6rem;
    }
}

#areaSuccess .sec-subttl span {
    display: inline-block;
    background-color: #70E9D7;
    color: #fffd74;
    padding: .3em 1em;
    letter-spacing: calc(100em/1000);
}

#areaSuccess .block-success {
    margin-top: 2em;
    padding: 1rem;
    margin-bottom: 4em;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success {
        padding: 0;
        margin-top: 3em;
        margin-bottom: 8em;
    }
}

#areaSuccess .block-success>ul .box-success {
    max-width: 100em;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1em;
    padding-right: 1em;
}

#areaSuccess .block-success>ul .box-success+.box-success {
    margin-top: 5em;
}

#areaSuccess .block-success .success-inner h3 {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    font-size: 3rem;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .success-inner h3 {
        font-size: 3.6rem !important;
        line-height: 2.2 !important;
        border-top: none;
        border-bottom: none;
    }
}

#areaSuccess .block-success .success-inner h3 .num {
    flex-shrink: 0;
    background-color: #70E9D7;
    color: #fff;
    width: calc(100em/60);
    height: calc(100em/60);
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    margin-right: .3em;
    font-family: 'Noto Sans JP', sans-serif;
    font-style: italic;
    font-weight: 700;
    font-size: 6rem;
    letter-spacing: calc(100em/1000);
    white-space: nowrap;
}

#areaSuccess .block-success .success-inner .row {
    margin-top: 2em;
}

#areaSuccess .block-success .success-inner .row p {
    letter-spacing: calc(100em/1000);
}

#areaSuccess .block-success .success-inner .row figure {
    border: calc(10em/28) solid #70E9D7;
}

#areaSuccess .block-success .success-inner .row figure img {
    width: 100%;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .success-inner .row {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
        -webkit-box-align: start;
        align-items: flex-start;
    }

    #areaSuccess .block-success .success-inner .row p {
        width: 52%;
        margin: 0;
        -webkit-box-ordinal-group: 2;
        order: 1;
        line-height: 2.2;
        white-space: nowrap;
    }

    #areaSuccess .block-success .success-inner .row figure {
        width: 45%;
        -webkit-box-ordinal-group: 3;
        order: 2;
        border: calc(10em/16) solid #70E9D7;
    }
}

#areaSuccess .block-success .success-sub {
    margin-top: 3em;
    background-color: #70E9D7;
    position: relative;
    padding: 2em 1em;
    color: #fff;
    text-align: center;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .success-sub {
        padding: 2em 2em;
    }
}

#areaSuccess .block-success .success-sub h4 {
    font-size: 3.2rem;
    line-height: 2.2;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .success-sub h4 {
        font-size: 3rem !important;
        line-height: 2.2;
    }
}

#areaSuccess .block-success .knowhow {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .knowhow {
        max-width: 74%;
        margin-left: auto;
        margin-right: auto;
    }
}

#areaSuccess .block-success .knowhow li {
    width: 48%;
    text-align: center;
    background-color: #fffee0;
    color: #393939;
    box-shadow: 2.5px 4.3px 5px 0 rgba(0, 0, 0, 0.2);
    margin-top: 1.4em;
    padding: 1em 0;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .knowhow li {
        letter-spacing: calc(100em/1000);
        width: 30%;
    }

    #areaSuccess .block-success .success-img {
        display: -webkit-box;
        display: flex !important;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        margin-top: 1em;
        margin-left: auto;
        margin-right: auto;
    }
}

#areaSuccess .block-success .success-img {
    display: -webkit-box;
    display: block;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: 100%;
    margin-top: 1em;
    margin-left: auto;
    margin-right: auto;
}


#areaSuccess .block-success .success-img figure img {
    width: 100%
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .success-img {
        font-size: 2rem;
        width: 78%;
    }
}

#areaSuccess .block-success .success-img .heisha {
    margin-top: 4em;
}

#areaSuccess .block-success .success-img .heisha::before {
    position: absolute;
    top: -2em;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    content: '';
    display: inline-block;
    width: 40px;
    height: 66px;
    background-image: url(../img/top/arrow_before-after.svg);
    background-position: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .success-img .heatmap {
        width: 42.1917808%;
    }

    #areaSuccess .block-success .success-img .heisha {
        margin-top: 0;
    }

    #areaSuccess .block-success .success-img .heisha::before {
        top: 42%;
        left: -2.7em;
        -webkit-transform: translate(-50%, -50%) rotate(0);
        transform: translate(-50%, -50%) rotate(0);
        background-image: url(../img/top/arrow_triangle.svg);
        width: 55px;
        height: 87px;
    }
}


#areaSuccess .block-success .success-img h5 {
    font-size: inherit;
    letter-spacing: calc(100em/1000);
}

#areaSuccess .block-success .success-img p {
    margin: .5em 0 0 0;
    letter-spacing: calc(100em/1000);
}

#areaSuccess .block-success .success-img p span {
    font-size: 3rem;
    font-weight: bold;
}

#areaSuccess .block-success .success-img figure {
    margin-top: .5em;
}

#areaSuccess .block-success .success-img .us {
    color: #fffd74;
    letter-spacing: calc(100em/1000);
}

#areaSuccess .block-success .success-img .bolder {
    font-weight: 900;
}

#areaSuccess .block-success .number_bold {
    font-size: 4rem !important;
}

#areaSuccess .block-success .success-img .text_bold {
    font-size: 4rem;
}

#areaSuccess .block-success .img-success-sub {
    text-align: center;
    background-color: #fff;
    margin-top: 1em;
    padding: 1em;
}

#areaSuccess .block-success .success-badge {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    position: absolute;
    width: calc(200em/28);
    height: calc(200em/28);
    border-radius: 50%;
    background: #ff6b6b;
    right: -.3em;
    top: -1.5em;
    text-align: center;
    box-shadow: 3px 3px 3px 0px #46464669;
    color: #fff;
    border: calc(5em/28) solid #fff;
    z-index: 1;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .success-badge {
        right: .7em;
        font-size: 1.8rem;
        border: calc(5em/18) solid #fff;
        width: calc(147em/18);
        height: calc(147em/18);
    }
}

#areaSuccess .block-success .success-badge span {
    line-height: 2.2;
}

#areaSuccess .block-success .success-badge span.number {
    font-weight: 900;
    font-size: 4rem;
    color: #fffd74;
    letter-spacing: 0;
}

@media only screen and (min-width: 769px) {
    #areaSuccess .block-success .success-badge span.number {
        font-size: 3rem;
    }
}

/*===========================================================
Writer
===========================================================*/
#areaWriter .sec-writer {
    background-color: #f7f7f7;
    padding: 3em 1em;
}

@media only screen and (min-width: 769px) {
    #areaWriter .sec-writer {
        padding: 4em 0;
    }
}

#areaWriter .block-writer {
    max-width: 64.5em;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2em;
    padding-left: 1em;
    padding-right: 1em;
}

@media only screen and (min-width: 769px) {
    #areaWriter .inner-writer ul {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
}

#areaWriter .inner-writer ul .box-writer {
    text-align: center;
}

#areaWriter .inner-writer ul .box-writer img {
    width: 100%;
    border: calc(20em/28) solid #65bf97;
}

@media only screen and (min-width: 769px) {
    #areaWriter .inner-writer ul .box-writer {
        width: 48%;
    }

    #areaWriter .inner-writer ul .box-writer img {
        width: 70%;
        border: calc(20em/28) solid #65bf97;
    }
}

#areaWriter .inner-writer ul .box-writer+.box-writer {
    margin-top: 2.5em;
}



#areaWriter .inner-writer h3 {
    margin-top: 1em;
    color: #65bf97;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaWriter .inner-writer h3 {
        font-size: 2.4rem;
    }
}

#areaWriter .inner-writer p {
    text-align: left;
    margin: 1em 0 0 0;
    padding-left: 1em;
    padding-right: 1em;
    line-height: 2.2;
    letter-spacing: calc(100em/1000);
}

/*===========================================================
LP
===========================================================*/
#areaLp .sec-lp {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 3em 1rem;
}

@media only screen and (max-width: 768px) {
    #areaLp .sec-lp {
        padding: 0;
    }
}

@media only screen and (min-width: 769px) {
    #areaLp .sec-lp {
        padding: 0 0 70px;
    }
}

#areaLp .block-lp h3 {
    text-align: center;
    font-size: 3rem;
    color: #666;
    margin-top: 1em;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaLp .block-lp h3 {
        font-size: 3rem !important;
        font-weight: 600;
        margin-top: 2em;
        margin-bottom: 1em;
        border-top: none;
        border-bottom: none;
    }
}

#areaLp .block-lp p {
    text-align: center;
    margin: .5em 0;
    letter-spacing: calc(100em/1000);
}

#areaLp .sokyu ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 3em;
}

#areaLp .sokyu ul::after {
    background-image: url(../img/top/ico_next_down.svg);
    background-position: 50% 60%;
    background-repeat: no-repeat;
    background-size: auto 50%;
    content: '';
    width: 100%;
    height: 5em;
    display: block;
}

@media only screen and (min-width: 769px) {
    #areaLp .sokyu ul::after {
        background-size: auto;
    }

    #areaLp .sokyu ul .box-lp img {
        width: 50%;
    }

    #areaLp .block-lp p {
        text-align: center;
        margin: 2em 0;
        letter-spacing: calc(100em/1000);
    }

}

#areaLp .sokyu ul .box-lp {
    width: 28%;
    text-align: center;
}


#areaLp .sokyu ul .box-lp p {
    font-size: 2.4rem;
    font-weight: bold;
    margin: 1em 0 0 0;
    white-space: nowrap;
}

@media only screen and (min-width: 769px) {
    #areaLp .sokyu ul .box-lp p {
        font-size: 1.6rem;
    }
}

#areaLp .sokyu ul .box-lp:nth-child(2) {
    position: relative;
}

#areaLp .sokyu ul .box-lp:nth-child(2)::before,
#areaLp .sokyu ul .box-lp:nth-child(2)::after {
    background-image: url(../img/top/ico_next_right.svg);
    background-position: 50% 58%;
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 0;
    content: '';
    width: 28%;
    height: 100%;
    display: inline-block;
}

@media only screen and (min-width: 769px) {

    #areaLp .sokyu ul .box-lp:nth-child(2)::before,
    #areaLp .sokyu ul .box-lp:nth-child(2)::after {
        background-position: 50% 58%;
        background-size: auto;
        width: 36%;
    }
}

#areaLp .sokyu ul .box-lp:nth-child(2)::before {
    left: -32%;
}

@media only screen and (min-width: 769px) {
    #areaLp .sokyu ul .box-lp:nth-child(2)::before {
        left: -36%;
    }
}

#areaLp .sokyu ul .box-lp:nth-child(2)::after {
    right: -31%;
}

@media only screen and (min-width: 769px) {
    #areaLp .sokyu ul .box-lp:nth-child(2)::after {
        right: -36%;
    }
}

#areaLp .sokyu ul .box-lp:nth-child(2) p {
    margin-top: 2em;
}

#areaLp .sokyu ul .lp-ttl {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    height: 7em;
    line-height: 2.2;
    margin-bottom: 3em !important;
}

#areaLp .sokyu ul .lp-bold span {
    font-size: 3.6rem !important;
}

#areaLp .sokyu ul .lp-ttl span {
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    color: #70E9D7;
    border: 3px solid;
    padding: .5em .5em;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaLp .sokyu ul .lp-ttl span {
        border: 5px solid;
        padding: .5em 1em;
        font-size: 2.4rem;
        white-space: nowrap;
    }

    #areaLp .sokyu ul .lp-bold span {
        font-size: 2.4rem !important;
    }
}

#areaLp .sokyu ul .lp-ttl.red span {
    background-color: #ff6b6b;
    border: 0;
    height: 2.5em;
    color: #fffd74;
    padding: 0 1em;
    font-size: 115%;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaLp .sokyu ul .lp-ttl.red span {
        padding: 0 2em;
        font-size: 3rem;
    }
}

#areaLp .bg-red {
    background-color: #ff6b6b;
    color: #fff;
    text-align: center;
    padding: .3em 1em;
    line-height: 2.2;
    white-space: nowrap;
}

@media only screen and (min-width: 769px) {
    #areaLp .bg-red {
        font-size: 1.8rem;
    }
}

#areaLp .bg-red span {
    color: #fffd74;
    font-weight: bold;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaLp .bg-red span {
        font-size: 2.4rem;
    }

    #areaLp .tbl-seo td {
        text-align: center !important;
    }
}

#areaLp .tbl-seo .align_top {
    vertical-align: top;
}


#areaLp .tbl-seo {
    border-collapse: separate;
    border-spacing: 4px;
    width: 100%;
}

#areaLp .tbl-seo th {
    text-align: center;
    padding: 1em .2em;
    letter-spacing: calc(100em/1000);
}

#areaLp .tbl-seo td {
    text-align: left;
    padding: 1em .2em;
    letter-spacing: calc(100em/1000);
    font-size: 2rem;
}

#areaLp .tbl-seo th {
    background-color: #70E9D7;
    border: 2px solid #70E9D7;
    color: #fff;
    width: 18%;
}

@media only screen and (min-width: 769px) {
    #areaLp .tbl-seo th {
        font-size: 2.4rem;
        width: auto;
    }

    #areaLp .tbl-seo th {
        text-align: center;
        padding: .5em .2em;
        letter-spacing: calc(100em/1000);
    }
}

#areaLp .tbl-seo th.table-lp {
    background: #ff6b6b;
    border: 2px solid #ff6b6b;
}

#areaLp .tbl-seo td {
    border: 2px solid #70E9D7;
    width: 33%;
    font-weight: bold;
}

.textBold {
    font-size: 1.4em;
}

@media only screen and (min-width: 769px) {
    #areaLp .tbl-seo td {
        font-size: 1.8rem;
    }
}

#areaLp .tbl-seo td.table-lp {
    border: 2px solid #ff6b6b;
}

#areaLp .lp-seo {
    margin-top: 0px;
    /* margin-top: 20px; */
}

#areaLp .lp-seo .lede {
    font-weight: bold;
}

@media only screen and (min-width: 769px) {
    #areaLp .lp-seo .lede {
        font-size: 1.8rem;
    }
}

#areaLp .lp-copy {
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.2);
    border: solid 10px #ff0d92;
    padding: 30px 25px 40px;
    margin-top: 50px;
    background-image: url(../img/top/bg_list_trouble.png);
    background-position: 50% 50%;

}

@media only screen and (min-width: 769px) {
    #areaLp .lp-copy {
        padding: 30px 25px 40px;
    }
}

@media only screen and (max-width: 768px) {
    #areaLp .lp-copy {
        padding-top: 20px;
        padding-bottom: 30px;
        margin: 0 !important;
    }
    #areaLp .lp-seo{
        margin-top: 0;
    }
    #areaLp .lp-copy .lede{
        line-height: 1.8!important;
    }
}

#areaLp .lp-copy .lede {
    color: #ff0d92;
    margin: 0 0;
    line-height: 2.2;
    font-size: 24px;
}

@media only screen and (min-width: 769px) {
    #areaLp .lp-copy .lede {
        font-size: 30px;
    }
}

#areaLp .lp-copy ol {
    list-style: none;
    margin: 2em 0 0 0;
    padding: 0;
}

#areaLp .lp-copy ol li {
    font-size: 4.1rem;
    font-weight: bold;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
}

@media only screen and (max-width: 768px) {
    #areaLp .lp-copy ol {
        margin-top: 16px;
    }
    #areaLp .lp-copy ol li {
        display: block;
        font-size: 18px;
    }
    #areaLp .lp-copy .lede{
        font-size: 24px;
    }
}

@media only screen and (min-width: 769px) {
    #areaLp .lp-copy ol li {
        font-size: 3.4rem;
        flex-wrap: nowrap;
    }
}

#areaLp .lp-copy ol li+li {
    margin-top: 1em;
}

#areaLp .lp-copy ol li .txt-point {
    font-size: 3rem;
    color: #ff0d92;
    font-family: 'Noto Sans JP', sans-serif;
    font-style: italic;
    line-height: 2.2;
    white-space: nowrap;
}

@media only screen and (min-width: 769px) {
    #areaLp .lp-copy ol li .txt-point {
        display: inline-block;
        font-size: 28px;
        align-self: flex-start;
        position: relative;
        top: -30px;
    }
}

#areaLp .lp-copy ol li .trouble-check{
    position: relative;
}

#areaLp .lp-copy ol li .num {
    display: inline;
    font-family: 'Noto Sans JP', sans-serif;
    color: #ff0d92;
    font-style: italic;
    line-height: 2.2;
    white-space: nowrap;
    top: -30px;
    margin-bottom: 10px;
    position: absolute;
    top: 0;
}

@media (max-width: 768px){
    #areaLp .lp-copy ol li{
        display: flex;
        align-items:start;
        border-bottom: 1px solid #ff0d92;
        padding: 14px 0;
    }
    #areaLp .lp-copy ol li .num {
        display: none;
    }
    #areaLp .lp-copy ol li .trouble-check{
        width: 20%;
        max-width: 30px;
        padding-right: 6px;
        padding-top: 5px;
    }
    #areaLp .lp-copy ol li .txt-copy {
        display: block;
        font-weight: normal;
        font-size: 16px;
        padding-left: 0!important;
    }
    #areaLp .lp-copy ol li+li{
        margin-top: 0;
    }
}

@media only screen and (min-width: 769px) {
    #areaLp .lp-copy ol li .num {
        font-size: 30px;
        top: -12px;
        right: -20px;
    }
}

#areaLp .lp-copy ol li .txt-copy {
    line-height: 2.2;
    letter-spacing: calc(100em/1000);
    margin-top: .5em;
    padding-left: .5em;
    margin-left: 50px;
    border-left: 5px solid #ff0d92;
}

@media only screen and (min-width: 769px) {
    #areaLp .lp-copy ol li .txt-copy {
        margin-top: 0;
        white-space: nowrap;
        font-size: 21px;
        padding-left: 2em;
    }
}

@media only screen and (max-width: 768px) {
    #areaLp .lp-copy ol li .txt-copy {
        border-left: none;
        ;
        padding-top: 0px;
        margin: 0;
    }
}

#areaLp .lp-copy ol li .marker {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(75%, #fff), color-stop(75%, #70E9D7), color-stop(95%, #70E9D7));
    background-image: linear-gradient(to bottom, #fff, #fff 75%, #70E9D7 75%, #70E9D7 95%);
}

/*===========================================================
Flow
===========================================================*/
#areaFlow {
    background-color: #f7f7f7;
}

#areaFlow .sec-flow {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

#areaFlow .block-flow {
    padding: 3em 0 30px;
}

.block-flow .sec-ttl .lang-ja.flow{
    margin-bottom: 30px;
}

/* .block-flow .flow-txt{
    padding: 0 20px!important;
} */
@media only screen and (min-width: 769px) {
    #areaFlow .block-flow {
        padding: 60px 0 60px;
    }
}

#areaFlow .box-flow {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-flow: wrap;
    padding-left: 0;
    margin-top: 0px;
    /* margin-top: 90px; */
}
#areaFlow .box-flow.flow {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-flow: wrap;
    padding-left: 0;
    margin-top: 0px;
    /* margin-top: 90px; */
    gap: 20px;
}

#areaFlow .box-flow li {
    width: 48%;
    text-align: center;
    margin-bottom: 20px;
}


#areaFlow .feature-flow li {
    width: 48%;
    text-align: center;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    padding: 55px 20px 24px;
}
#areaFlow .lang-ja.feature{
    margin-bottom: 56px;
}



@media only screen and (min-width: 769px) {
    #areaFlow .box-flow li {
        width: 23%;
    }
    #areaFlow .box-flow.flow li {
        width: 23%;
        text-align: center;
        margin: 0 auto;
    }
}

@media only screen and (min-width: 769px) {
    #areaFlow .feature-flow li {
        width: 32%;
    }
}

#areaFlow .box-flow h3,
#areaFlow .box-flow .feature-sub {
    margin-top: 1.2em;
    font-size: 20px!important;
    font-weight: bold;
    color: #23D1B7;
    border-top: none;
    border-bottom: none;
    margin: 24px 0 8px !important;
    padding: 0;
}

#areaFlow .feature-flow h3{
    color: #666;
}

#areaFlow .box-flow p {
    margin: 1em 0 0 0;
    text-align: left;
    font-size: 2.4rem;
    letter-spacing: calc(100em/1000);
}

#areaFlow .box-flow p small {
    font-size: inherit;
}

@media only screen and (min-width: 769px) {
    #areaFlow .box-flow p {
        font-size: 15px;
        margin: 0;
        line-height: 2.2;
        padding: 0;
    }
}

#areaFlow .box-flow figure {
    position: relative;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    border-radius: 50%;
    width: 10em;
    height: 10em;
    border: 5px solid;
    color: #70E9D7;
    box-shadow: 2.5px 4.3px 5px 0 rgba(0, 0, 0, 0.2);
    margin-top: 3em;
}
#areaFlow .box-flow h3 .step{
    padding-right: 10px;
}
@media only screen and (min-width: 769px) {
    #areaFlow .box-flow figure {
        width: calc(165em/15);
        height: calc(165em/15);
    }
}

#areaFlow .box-flow .point {
    line-height: 2.2;
    position: absolute;
    /* bottom: 95%; */
    top: -27px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-style: normal;
    font-weight: 700;
    letter-spacing: calc(100em/1000);
    background-color: #70E9D7;
    color: #fff;
    padding: 8px 30px 9px;
}

@media only screen and (min-width: 769px) {
    #areaFlow .box-flow h5 {
        font-size: 2.4rem !important;
    }
}

@media only screen and (max-width: 768px) {
    #areaFlow{
        padding-bottom: 0px;
    }
    #areaFlow .box-flow.flow{
        gap: 0;
    }
    #areaFlow .box-flow h3, #areaFlow .box-flow .feature-sub{
        padding-top: 16px;
        line-height: 1.8!important;
        margin-top: 24px!important;
    }
    #areaFlow .box-flow.flow{
        border-bottom: 1px solid #ddd;
        padding-bottom: 40px;
    }
    .block-flow .sec-ttl .lang-ja.flow{
        margin-bottom: 6px;
    }
    #areaFlow .box-flow h3{
        border-top: 1px solid #ddd;
    }
    #areaFlow .box-flow h3 .step{
        padding-right: 10px;
    }
    #areaFlow .box-flow{
        margin: 0;
    }
    #areaFlow .feature-flow li{
        padding-top: 44px!important;
    }
    #areaFlow .feature-flow li h5 {
        bottom: 95%;
        left: 37%;
        font-size: 3rem !important;
    }
    #areaFlow .box-flow .point{
        padding-top: 2px;
        padding-bottom: 2px;
        top: -21px;
    }
    #areaFlow .box-flow p{
        font-size: 14px;
        padding: 0;
        margin: 0;
    }
}

@media only screen and (max-width: 768px) {
    #areaFlow .block-flow{
        padding: 30px 20px 1px;
    }
    #areaFlow .block-flow.flow{
        padding: 30px 20px 40px;
    }
    #areaFlow .box-flow li h5 {
        bottom: 95%;
        left: 37%;
        font-size: 3rem !important;
    }
}

#areaFlow .box-flow img {
    width: 65%;
    height: auto;
    margin-top: 25px;
    border-radius: 50%;
    border: 5px solid #70E9D7;
    box-shadow: 2.5px 4.3px 5px 0 rgba(0, 0, 0, 0.2);
    margin: 0 auto;
}

@media only screen and (max-width:768px) {
    #areaFlow .feature-flow {
        display: block;
        padding-left: 0;
    }
    #areaFlow .feature-flow li {
        width: 100%;
        margin-bottom: 40px!important;
    }
    #areaFlow .box-flow img{
        margin-top: 0;
    }
    #areaFlow .feature-flow li .feature-txt {
        font-size: 14px;
    }
}

@media only screen and (max-width:768px) {
    #areaFlow .box-flow {
        display: block;
        padding-left: 0;
        margin: 0;
    }

    #areaFlow .box-flow li {
        width: 100%;
        font-size: 14px!important;
        margin-bottom: 0px;
    }
}

/*===========================================================
Voice
===========================================================*/
#areaVoice .sec-voice {
    padding: 3em 1em;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (min-width: 769px) {
    #areaVoice .sec-voice {
        padding: 60px 1em;
    }
}

#areaVoice .block-voice {
    margin-top: 3em;
}

#areaVoice .box-voice {
    margin-top: 3em;
}

#areaVoice .voice-ttl {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    letter-spacing: calc(100em/1000);
    border: none;
}

@media only screen and (min-width: 769px) {
    #areaVoice .voice-ttl {
        font-size: 18px !important;
        border: none;
    }
}

#areaVoice .voice-ttl .num {
    flex-shrink: 0;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    line-height: 1;
    width: calc(100em/43);
    height: calc(100em/43);
    margin-right: .6em;
    background-color: #70E9D7;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-style: italic;
    font-weight: 700;
    font-size: 5rem;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaVoice .voice-ttl .num {
        margin-right: 1em;
        font-size: 4rem;
        width: calc(100em/40);
        height: calc(100em/40);
    }
}

#areaVoice .voice-ttl .num span {
    letter-spacing: calc(100em/1000);
}

#areaVoice .voice-ttl .num span:nth-child(1) {
    font-size: 2.6rem;
}

#areaVoice .voice-ttl .num span:nth-child(2) {
    font-size: 6rem;
}

#areaVoice .voice-ttl .logo {
    margin-right: .6em;
}

#areaVoice .voice-ttl .companyname {
    font-size: 18px;
}

@media only screen and (max-width: 768.98px) {
    #areaVoice .voice-ttl .logo img {
        height: 2em;
    }
}

#areaVoice .row {
    margin-top: 2em;
}

@media only screen and (min-width: 769px) {
    #areaVoice .row {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
}

#areaVoice .row figure {
    height: 462px;
    border: 10px solid #70E9D7;
}

@media only screen and (min-width: 769px) {
    #areaVoice .row figure {
        border: 10px solid #70E9D7;
        -webkit-box-ordinal-group: 3;
        order: 2;
        width: 48%;
        padding: 0;
    }
}

#areaVoice .row figure img {
    width: 100%;
    height: auto;
}

#areaVoice .row .col-txt {
    margin-top: 1em;
}

@media only screen and (min-width: 769px) {
    #areaVoice .row .col-txt {
        -webkit-box-ordinal-group: 2;
        order: 1;
        width: 49%;
        margin-top: 0;
    }
}

#areaVoice .row .col-txt h3 {
    font-size: 16px;
    color: #70E9D7;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaVoice .row .col-txt h3 {
        font-size: 16px !important;
        white-space: nowrap;
        line-height: 2.2 !important;
        border: none;
        margin: 0 !important;
        padding: 0;
    }
}

#areaVoice .row .col-txt p {
    letter-spacing: calc(100em / 1000);
    line-height: 2.2;
    padding: 0;
    margin-top: 20px;
}

/*===========================================================
FAQ
===========================================================*/
#areaFaq {
    background-color: #f7f7f7;
}

#areaFaq .sec-faq {
    padding: 3em 1em;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (min-width: 769px) {
    #areaFaq .sec-faq {
        padding: 3em 1em;
    }
}

#areaFaq .block-faq {
    margin-top: 3em;
}

#areaFaq .box-faq {
    border-top: 1px solid #ddd;
}

#areaFaq .box-faq li {
    border-bottom: 1px solid #ddd;
}

#areaFaq .box-faq .question {
    padding-top: .8em;
    padding-bottom: .8em;
    font-size: 3rem;
    background-image: url(../img/top/ico_plus.svg);
    background-position: right top 50%;
    background-repeat: no-repeat;
    background-size: 1.4em auto;
    cursor: pointer;
    padding-right: 2em;
}

@media only screen and (min-width: 769px) {
    #areaFaq .box-faq .question {
        font-size: 2.4rem !important;
        background-size: auto;
        border: none;
        margin: 0 !important;
    }
}

#areaFaq .box-faq .question:hover {
    background-color: #e5eff6;
}

#areaFaq .box-faq .question.is-active {
    background-image: url(../img/top/ico_minus.svg);
}

#areaFaq .box-faq .answer {
    display: none;
    padding: 1em 2em;
    background-color: #e5eff6;
    letter-spacing: calc(100em/1000);
    line-height: 2.2;
}

#areaFaq .box-faq .answer.is-open {
    display: block;
}

/*===========================================================
footer
===========================================================*/
footer {
    text-align: center;
    line-height: 2.2;
}

@media only screen and (min-width: 769px) {
    footer {
        font-size: 1.2rem;
    }
}

footer .footer-logo {
    padding: 2em 4em;
}

@media only screen and (min-width: 769px) {
    footer .footer-logo {
        padding: calc(40em/12) 0 calc(24em/12) 0;
    }
}

@media only screen and (min-width: 769px) {
    footer .footer-logo img {
        max-width: calc(349em/12);
    }
}

footer .footer-logo a {
    display: inline-block;
}

footer .copyright {
    background: #65bf97;
    color: #fff;
    padding-top: 1em;
    padding-bottom: 1em;
    letter-spacing: calc(100em/1000);
}

/*===========================================================
fadein
===========================================================*/
/* 追加 */
.fadein {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);

}

/* 画面外にいる状態 */
/*
.fadein {
opacity: 0;
-webkit-transform: translate(0, 50px);
transform: translate(0, 50px);
-webkit-transition: all 500ms;
transition: all 500ms;
}
.fadein.delay01 {
-moz-transition-delay: 600ms;
-webkit-transition-delay: 600ms;
-o-transition-delay: 600ms;
-ms-transition-delay: 600ms;
}

.fadein.delay02 {
-moz-transition-delay: 700ms;
-webkit-transition-delay: 700ms;
-o-transition-delay: 700ms;
-ms-transition-delay: 700ms;
}

.fadein.delay03 {
-moz-transition-delay: 800ms;
-webkit-transition-delay: 800ms;
-o-transition-delay: 800ms;
-ms-transition-delay: 800ms;
}

.fadein.delay04 {
-moz-transition-delay: 900ms;
-webkit-transition-delay: 900ms;
-o-transition-delay: 900ms;
-ms-transition-delay: 900ms;
}

.fadein.delay05 {
-moz-transition-delay: 1s;
-webkit-transition-delay: 1s;
-o-transition-delay: 1s;
-ms-transition-delay: 1s;
}

.fadein.delay06 {
-moz-transition-delay: 1.1s;
-webkit-transition-delay: 1.1s;
-o-transition-delay: 1.1s;
-ms-transition-delay: 1.1s;
}

.fadein.delay07 {
-moz-transition-delay: 1.2s;
-webkit-transition-delay: 1.2s;
-o-transition-delay: 1.2s;
-ms-transition-delay: 1.2s;
}

.fadein.delay08 {
-moz-transition-delay: 1.3s;
-webkit-transition-delay: 1.3s;
-o-transition-delay: 1.3s;
-ms-transition-delay: 1.3s;
}

.fadein.delay09 {
-moz-transition-delay: 1.4s;
-webkit-transition-delay: 1.4s;
-o-transition-delay: 1.4s;
-ms-transition-delay: 1.4s;
}

.fadein.delay10 {
-moz-transition-delay: 1.5s;
-webkit-transition-delay: 1.5s;
-o-transition-delay: 1.5s;
-ms-transition-delay: 1.5s;
}

.fadein.delay11 {
-moz-transition-delay: 1.6s;
-webkit-transition-delay: 1.6s;
-o-transition-delay: 1.6s;
-ms-transition-delay: 1.6s;
}

.fadein.delay12 {
-moz-transition-delay: 1.7s;
-webkit-transition-delay: 1.7s;
-o-transition-delay: 1.7s;
-ms-transition-delay: 1.7s;
}

.fadein.delay13 {
-moz-transition-delay: 1.8s;
-webkit-transition-delay: 1.8s;
-o-transition-delay: 1.8s;
-ms-transition-delay: 1.8s;
}

/* 画面内に入った状態 */
.fadein.scrollin {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

/*===========================================================
Point 追加セクション
===========================================================*/
#areaPoint {
    background-color: #f7f7f7;
}

#areaPoint .sec-point {
    max-width: 1000px;
    display: block;
    margin: 0 auto;
    padding: 2em 0.5em;
    text-align: center;
}

#areaPoint .borderText {
    font-size: 4.4rem;
    font-weight: bold;
    display: inline-block;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(85%, transparent), color-stop(85%, #65bf97), to(#65bf97));
    background-image: linear-gradient(transparent 85%, #70E9D7 85%, #70E9D7 100%);
}

#areaPoint .bgGreen {
    display: inline-block;
    background-color: #70E9D7;
    color: #fffd74;
    padding: 0 10px;
}

.sp-text-bold {
    font-size: 26px;
}

.sec-point-text {
    font-size: 20px;
}

#areaPoint .block-point p {
    font-weight: bold;
    line-height: 2.2;
    letter-spacing: calc(120em/2000);
}

#areaPoint .pointImg {
    padding-top: 20px;
    width: 100%;

}

#areaPoint .pointImg img {
    width: 100% !important;
}

#areaPoint .arrow-top img {
    max-width: 40%;
    padding: 20px 0;
}

#areaPoint .ttl {
    color: #fff;
    background-color: #ff6b6b;
    padding: .2em .5em;
    display: inline-block;
    font-size: 2.4rem;
    font-style: italic;
    text-align: center;
    letter-spacing: calc(280em/2800);

}

#areaPoint h2 {
    line-height: 2.2;
    font-size: 18px;
}

#areaPoint .yellow {
    color: #fffd74;
}

#areaPoint .subBox {
    background-color: #fffff2;
    border: calc(8em/36) solid #ff6b6b;
    font-size: 2.4rem;
    padding: .5em 1em;
    letter-spacing: calc(100em/1000);
    margin-top: 30px;

}

#areaPoint .pink {
    color: #ff6b6b;
}

#areaPoint .list_cvr {
    width: 80%;
    margin: 0 auto;
    padding-top: 40px;
}

#areaPoint .cvr {
    display: block;
    position: relative;
    margin-bottom: 60px;
}

#areaPoint .cvr:last-child {
    display: block;
    position: relative;
    margin-bottom: 10px;
}

#areaPoint .cvr::after {
    position: absolute;
    content: '';
    bottom: -12%;
    left: 50%;
    -webkit-transform: translate(-50%, 90%) rotate(90deg);
    transform: translate(-50%, 75%) rotate(90deg);
    content: '';
    display: inline-block;
    width: 3em;
    height: 3em;
    background-image: url(../img/top/arrow_next.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    z-index: 1;
}

#areaPoint .cvr:last-child::after {
    display: none;
}

#areaPoint li img {
    width: 80%;
}

@media only screen and (min-width: 769px) {
    #areaPoint .block-point p {
        font-size: 24px;
        letter-spacing: calc(200em/2000);
    }

    #areaPoint li img {
        width: 100%;
    }

    .sec-point-text {
        font-size: 36px !important;
    }

    .sp-text-bold {
        font-size: 36px !important;
    }

    #areaPoint .sec-point {
        padding: 2em 1em;
    }

    #areaPoint .borderText {
        font-size: 30px !important;
    }

    #areaPoint .subBox {
        background-color: #fffff2;
        border: calc(8em/36) solid #ff6b6b;
        font-size: 2.4rem;
        padding: .5em 1em;
        letter-spacing: calc(100em/1000);
        white-space: nowrap;
        align-self: flex-start;
        margin-top: 40px;
    }

    #areaPoint .pointImg {
        padding-top: 40px;
    }

    #areaPoint .list_cvr {
        /* margin: 4em 0 0 0; */
        flex-wrap: nowrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }

    #areaPoint .bgGreen {
        display: inline-block;
        background-color: #70E9D7;
        color: #fffd74;
        padding: 0 20px;
    }

    #areaPoint .arrow-top {
        width: 320px;
        margin: 0 auto;
        padding: 40px 0;
    }

    #areaPoint .arrow-top img {
        max-width: 100%;
    }

    #areaPoint .list_cvr {
        list-style: none;
        display: flex;

    }

    #areaPoint .list_cvr {
        width: 100%;
        margin: 0 auto;
        padding-top: 40px;
    }


    #areaPoint .cvr {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        align-items: center;
        width: calc(500em/24);
        position: relative;
        margin-bottom: 1em;
    }


    #areaPoint .cvr {
        margin-right: 90px;
    }

    #areaPoint .cvr:last-child {
        margin-right: 0px;
    }

    #areaPoint .cvr::after {
        position: absolute;
        content: '';
        width: 3em;
        height: 3em;
        background-image: url(../img/top/arrow_next.png);
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: contain;
        -webkit-transform: translate(11em, 0) rotate(0deg);
        transform: translate(11.5em, 0) rotate(0deg);
        z-index: 1;
    }

    #areaPoint .cvr::after {
        position: absolute;
        content: '';
        bottom: unset;
        left: unset;
        content: '';
        display: inline-block;
        width: 3em;
        height: 3em;
        background-image: url(../img/top/arrow_next.png);
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: contain;
        z-index: 1;
    }
}


/*===========================================================
ADD
===========================================================*/


@media screen and (min-width: 769px) {}


.form .inner {
    padding: 0 10px;
}

@media (max-width: 768px) {
    .form .inner {
        padding: 0 10px;
    }
}

.form .form-box {
    padding: 10px 100px 60px;
}

@media (max-width: 768px) {
    .form .form-box {
        padding: 10px 10px 60px;
    }
}

.form .form-ttl {
    text-align: center;
    color: #fff;
    margin-top: 1em;
    margin-bottom: 60px;
    font-size: 36px;
    padding: 0;
    font-weight: 700;
    letter-spacing: 1px;
    background-color: #70E9D7;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    font-family: 'Sawarabi Mincho', sans-serif;
}

.form .form-ttl:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #70E9D7;
}

@media (max-width: 768px) {
    .form .form-ttl {
        margin-bottom: 40px;
        font-size: 24px;
    }
}

.form-btn {
    text-align: center;
}

.form-btn input {
    color: #fff;
    background-color: #d45d00;
    background-image: linear-gradient(to right, #ffb274 0%, #ffb274 51%, #ff6b6b 100%);
    width: 400px;
    padding: 20px 0;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 700;
    border: none;
    cursor: pointer;
}

@media (max-width: 768px) {
    .form-btn input {
        width: 80%;
        font-size: 16px;
    }
}

.formTable {
    margin-bottom: 60px;
}

.formTable ul {
    padding: 0;
    margin: 20px 0px 40px 0px;
}

@media (max-width: 768px) {
    .formTable ul {
        margin: 20px 0;
    }
}

.formTable li:nth-child(1) {
    font-weight: 600;
    margin-bottom: 10px;
    padding: 0px 0px 5px 0px;
}

@media (max-width: 768px) {
    .formTable li:nth-child(1) {
        padding-bottom: 0;
    }
}

.formTable input[type="text"],
.formTable input[type="tel"] {
    width: 100%;
    padding: 14px 20px;
    border-radius: 4px;
    margin: 10px 0px 0px 0px;
    background-color: #F9F9F9;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 60px;
}

@media (max-width: 768px) {

    .formTable input[type="text"],
    .formTable input[type="tel"] {
        padding: 20px;
        height: 50px;
    }
}

.formTable textarea {
    width: 100%;
    padding: 10px 10px;
    margin: 10px 0px 0px 0px;
    background-color: #F9F9F9;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 45px;

    border-radius: 5px;
    height: 150px;
}

@media (max-width: 768px) {
    .formTable textarea {
        padding: 20px;
    }
}

.formTable .required-text {
    color: #fff;
    padding: 4px 10px;
    font-size: 12px;
    margin: 0px 0px 0px 10px;
    border-radius: 5px;
    vertical-align: middle;
    background-color: #70E9D7;
}

.formTable .required-text2 {
    color: #fff;
    padding: 4px 10px;
    font-size: 12px;
    margin: 0px 0px 0px 10px;
    border-radius: 5px;
    vertical-align: middle;
    background-color: #70E9D7;
}


.fix-footer {
    padding: 4px 0;
    z-index: 99;
}

.fix-footer .inner {
    padding: 0 10px;
}

.fix-footer .fix-footer-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.fix-footer .fix-footer-list li {
    width: 50%;
    padding: 0 10px;
}

@media (max-width: 768px) {
    .fix-footer .fix-footer-list li.open {
        display: none;
    }
}


@media screen and (max-width: 768px) {
    .fix-footer {
        background-color: transparent;
        padding: 10px 0;
        background-image: url(../img/top/fix-footer-back.png);
        background-size: contain;
        background-repeat: repeat;
    }

    .fix-footer .fix-footer-list li.tel {
        width: 50%;
        padding: 0 4px;
    }

    .fix-footer .fix-footer-list li.btn {
        width: 50%;
        padding: 0 4px;
    }
}

.fix-top {
    background-color: #004386;
    text-align: center;
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    z-index: 100;
}

.fix-top p {
    padding: 6px 0 8px 30px;
    color: #fff;
    font-weight: bold;
    display: inline-block;
    padding-left: 30px;
    background-image: url(../img/top/fix-top.png);
    background-size: 20px;
    background-position: 1% 50%;
    line-height: 2.2;
}

.fix-top p span {
    color: #e6c54f;
    font-weight: bold;
}

.fix-top p b {
    font-size: 16px;
}

@media screen and (max-width: 768px) {

    .detail {
        text-align: center;
        background-color: #f7f7f7;
        border: 1px solid #ddd;
        box-sizing: border-box;
        margin-top: 20px;
        height: 60px;
        line-height: 2.2;
        background-image: url(../img/top/ico_plus.svg);
        background-position: right 5% top 50%;
        background-repeat: no-repeat;
        background-size: 1.4em auto;
        cursor: pointer;
    }

    .detail.is-active {
        background-image: url(../img/top/ico_minus.svg);
    }

    .results {
        display: none;
    }

    .results.is-open {
        display: block;
    }

    #areaSuccess .block-success .success-inner h3 {
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        font-size: 3rem;
        padding-top: .8em;
        padding-bottom: .8em;
        padding-right: 3em;
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
    }

    .succeed {
        background-image: url(../img/top/ico_plus.svg);
        background-position: right 5% top 50%;
        background-repeat: no-repeat;
        background-size: 1.4em auto;
        cursor: pointer;
    }

    /* .is-active {
background-image: url(../img/top/ico_minus.svg);
} */
    #areaSuccess .block-success>ul .box-success+.box-success {
        margin-top: 2em !important;
    }
}


/*==============================================================================
フォーム 仕様変更　2021.07.14 hashimoto
============================================================================= */
.form_cstm01 {
    background-color: #F9F9F9;
    /*background-image: none !important;*/
    color: -internal-light-dark(black, white) !important;
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    -webkit-rtl-ordering: logical;
    cursor: text;
    font: 400 13.3333px Arial;
    height: 50px;
    border-radius: 4px;
    margin: 10px 0px 0px 0px;
    width: 100%;
    border: none;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(../img/top/arrow.png);
    background-position: right 1em center;
    background-repeat: no-repeat;
    background-size: 2%;
    padding-right: 1.5em;
    padding-left: 20px;
}


#policy {
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
}

#policyArea {
    height: 177px;
    padding: 12px;
    text-align: left;
    width: 100%;
    border: 1px solid #d2d2d2;
    overflow-y: scroll;
    margin-top: 24px;
}

.fv-txt {
    width: 100vw;
    color: #ffffff;
    font-size: 1.5rem;
    text-align: right;
    margin: 1em 0 0em;
    padding-right: 2em;
    text-shadow: 1px 1px 2px #4a4a4a;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 35px;
}

@media only screen and (max-width: 768px) {
    .fv-txt {
        bottom: 3.5em;
    }
}

/*==============================================================================
FV修正　2021.09.10 hashimoto
============================================================================= */
#contents>div.hero>div>div>div.badge>div:nth-child(1) {
    float: left;
}

#contents>div.hero>div>div>div.badge>div:nth-child(2) {
    position: relative;
    top: 0;
    left: 1rem;
}


#form1 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.error {
    color: red;
    background-color: pink !important;
}

.ytb_image {
    text-align: center;
    width: 100%;
    margin: 0 auto;
}

@media (min-width: 1200px) {
    .fs-22 {
        font-size: 3rem !important;
    }
}

@media screen and (min-width: 320px) {
    .c-button2 {
        min-width: 30rem;
    }
}

.c-button2 {
    padding: 2rem 2rem;
}

/* 共通：疑似要素のスタイル */
.group {
    padding: 30px 20px 60px 30px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.group>div {
    position: relative;
    font-size: 13px;
    box-sizing: border-box;
    padding-top: 60px;
    text-align: center;
    margin: 30px;
}

.feature-box {
    display: inline-block;
    width: 150px;
    height: 150px;
    background-color: #fff;
}

.feature-box::after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 2. Neumorphism */
.neumorphism {
    background-color: rgb(190, 205, 214);
    padding: 50px;
}

.neumorphism .box {
    border-radius: 10px;
}

.neumorphism .feature-box {
    background-color: rgb(190, 205, 214);
    transition: box-shadow 0.5s;
    box-shadow:
        10px 10px 30px rgba(18, 47, 61, 0.5),
        -10px -10px 30px rgba(248, 253, 255, 0.9),
        inset 10px 10px 30px transparent,
        inset -10px -10px 30px transparent;
}

.neumorphism .feature-box:hover {
    box-shadow:
        10px 10px 30px transparent,
        -10px -10px 30px transparent,
        inset 10px 10px 30px rgba(18, 47, 61, 0.5),
        inset -10px -10px 30px rgba(248, 253, 255, 0.9);
}



/*===========================================================
WhatIs
===========================================================*/
#areaWhatIs {
    background-color: #ebeaea;
}

#areaWhatIs .sec-whatis {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 3em 0.5em;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .sec-whatis {
        padding: 60px 0 20px;
    }
}

#areaWhatIs .block-whatis {
    border-top: 1px solid #999;
    margin-top: 0;
}

#areaWhatIs .block-whatis ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
}

#areaWhatIs .block-whatis ul li {
    width: 49%;
    margin-bottom: 2rem;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-whatis ul li {
        width: 49%;
    }
}

#areaWhatIs .block-whatis ul li img {
    width: 100%;
}

#areaWhatIs .block-whatis .ttl-bottom {
    font-size: 16px !important;
    font-style: italic;
    line-height: 2.2 !important;
    text-align: center;
    letter-spacing: calc(100em / 1000);
    white-space: nowrap;
    border-top: none;
    border-bottom: none;
    padding: 0;
    margin: 0;
}

#areaWhatIs .block-support {
    background-color: #f1fcf6;
    padding: 3em .7em;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support {
        background-color: #fff;
        background-image: url(../img/top/bg_flow.jpg);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: auto 100%;
        padding: 4em 0;
    }
}

#areaWhatIs .block-support .support-inner {
    max-width: 64.5em;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support .support-inner {
        padding-left: 1em;
        padding-right: 1em;
    }
}

#areaWhatIs .block-support .wrapper {
    background-color: #fff;
    border: calc(5em/36) solid #70E9D7;
    padding: 1em 1em 0 1em;
    margin-top: 2em;
    font-size: 3.6rem;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support .wrapper {
        border: calc(5em/16) solid #70E9D7;
        font-size: 1.6rem;
        padding: 2em;
    }
}

#areaWhatIs .block-support h3 {
    color: #65bf97;
    font-size: 3.6rem;
    font-style: italic;
    text-align: center;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support h3 {
        letter-spacing: calc(100em/1000);
    }
}

#areaWhatIs .block-support h4 {
    color: #ff6b6b;
    border-left: 8px solid;
    padding-left: .5em;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support h4 {
        font-size: 2.4rem;
    }
}

#areaWhatIs .block-support figure {
    text-align: center;
    margin: 2em 0 2em 0;
    border: 1px solid;
    padding: 2.3em 1.3em 1.3em 1.3em;
    position: relative;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support figure {
        margin: 4em 0 2em 0;
    }
}

#areaWhatIs .block-support figure figcaption {
    position: absolute;
    top: -.9em;
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
    color: #fff;
    background-color: #65bf97;
    font-size: 3.6rem;
    white-space: nowrap;
    padding: .1em 1.5em;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support figure figcaption {
        font-size: 2.4rem;
    }
}

#areaWhatIs .block-support p {
    letter-spacing: calc(100em/1000);
}

#areaWhatIs .block-support .ttl-bg {
    text-align: center;
    font-size: 4rem;
    font-weight: bold;
    letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support .ttl-bg {
        font-size: 3.6rem;
    }
}

#areaWhatIs .block-support .ttl-bg span {
    background-color: #70E9D7;
    color: #fff;
    padding: .2em .5em;
    display: inline-block;
}

#areaWhatIs .block-support .ttl-bg span span {
    color: #fff;
    padding: 0;
    display: inline;
}

#areaWhatIs .block-support .list-flow {
    list-style: none;
    margin: 1em 0 0 0;
    padding: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    font-weight: bold;
    flex-wrap: wrap;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support .list-flow {
        margin: 2em 0 0 0;
        flex-wrap: nowrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
}

#areaWhatIs .block-support .list-flow .circle {
    background-color: #70E9D7;
    color: #fff;
    letter-spacing: calc(200em/1000);
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: calc(150em/24);
    height: calc(150em/24);
    border-radius: 50%;
    font-size: 3.6rem;
    position: relative;
    margin-bottom: 1em;
    margin-right: calc(85em/36);
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support .list-flow .circle {
        font-size: 2.4rem;
        margin-bottom: 0;
        margin-right: 0;
    }
}

#areaWhatIs .block-support .list-flow .circle span {
    border: 1px solid;
    border-radius: 50%;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: calc(136em/24);
    height: calc(136em/24);
    text-align: center;
}

#areaWhatIs .block-support .list-flow .circle::after {
    position: absolute;
    content: '';
    width: 2em;
    height: 2em;
    background-image: url(../img/top/arrow_next.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    -webkit-transform: translate(4.4em, 0) rotate(0deg);
    transform: translate(4.4em, 0) rotate(0deg);
    z-index: 1;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support .list-flow .circle::after {
        width: calc(48em/24);
        height: calc(36em/24);
    }
}

#areaWhatIs .block-support .list-flow .square {
    background-color: #fffff2;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    border: calc(8em/36) solid #ff6b6b;
    font-size: 3.0rem;
    padding: .5em 1em;
    letter-spacing: calc(100em/1000);
    white-space: nowrap;
    align-self: flex-start;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .block-support .list-flow .square {
        font-size: 2.4rem;
        width: calc(292em/24);
        height: calc(200em/24);
        border-width: calc(4em/24);
    }
}

#areaWhatIs .block-support .list-flow .square .red {
    color: #ff6b6b;
    font-weight: 900;
}

#areaWhatIs .block-support .list-flow .square .large {
    font-size: 5rem;
    line-height: 2.2;
}

#areaWhatIs .box-whatis {
    border: calc(10em/28) solid #70E9D7;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .box-whatis {
        border: calc(10em/16) solid #70E9D7;
    }
}

#areaWhatIs .txt-whatis {
    text-align: center;
}

#areaWhatIs .txt-whatis h3 {
    color: #fff;
    background-color: #70E9D7;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    font-size: 2.4rem;
    letter-spacing: calc(100em/1000);
    height: 2.7em;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .txt-whatis h3 {
        font-size: 2.2rem !important;
        margin: 0 !important;
    }

}

#areaWhatIs .txt-whatis p {
    margin: 10px;
    text-align: left;
    font-size: 2.2rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    min-height: 5em;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .txt-whatis p {
        letter-spacing: calc(100em/1000);
        font-size: 1.8rem;
        padding: 0;
        line-height: 2.2;
    }
}

#areaWhatIs .arrow-down {
    text-align: center;
    color: #70E9D7;
    margin-top: 1em;
}

#areaWhatIs .arrow-down img {
    max-width: 40%;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .arrow-down img {
        max-width: 100%;
    }
}

#areaWhatIs .sec-subttl {
    text-align: center;
    margin-top: 2em;
    font-size: 3rem;
    line-height: 2.2;
}

@media only screen and (min-width: 769px) {
    #areaWhatIs .sec-subttl {
        font-size: 3.6rem;
    }
}

#areaWhatIs .sec-subttl span {
    display: inline-block;
    background-color: #70E9D7;
    color: #fffd74;
    padding: .3em 2.5em;
    letter-spacing: calc(100em/1000);
}

#areaWhatIs .sec-subttl span {
    display: inline-block;
    background-color: #70E9D7;
    color: #fffd74;
    padding: .3em 2.5em;
    letter-spacing: calc(100em/1000);
}

.whatis-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    border-bottom: 1px solid #999;
    padding-bottom: 40px;
    margin: 29px 0 40px;
}

h3.whatis-wrap-row1 {
    width: 20%;
    font-size: 20px!important;
    text-align: left;
    line-height: 2.2;
    font-weight: bold;
    padding-top: 0;
    margin-top: 0!important;
}

.whatis-wrap-row2 {
    width: 76%;
    font-size: 15px;
    text-align: justify;
    line-height: 2;
    /* line-height: 2.2; */
    margin-top: 11px;
}

@media only screen and (max-width:768px) {
    
    #areaWhatIs{
        background-color: #F7F7F7;
    }
    #areaWhatIs .sec-whatis{
        padding: 30px 20px 40px;
    }
    .whatis-wrap{
        gap: 0;
        padding-bottom: 30px;
        margin: 0px;
    }
    .whatis-wrap
    h3.whatis-wrap-row1 {
        width: 100%;
        border-bottom: none;
        border-top: none;
        padding: 12px 0 4px;
        margin: 0!important;
    }
    .whatis-wrap
    h3.whatis-wrap-row1 p {
        padding: 0;
    }
    .beginner-wrap{
        width: 100%;
    }
    .whatis-wrap-row2 {
        width: 100%;
        font-size: 14px;
    }
}


/*===========================================================
beginner
===========================================================*/
#areaBeginner {
    background-color: #fff;
}
#areaBeginner h2.beginner{
    line-height: 2.2;
    margin-bottom: 20px!important;
}

#areaBeginner .sec-beginner {
    max-width: 1000px;
    display: block;
    margin: 0 auto;
    padding: 6em 1.5em 2em 1.5em;
}

@media only screen and (min-width: 769px) {
    #areaBeginner .sec-beginner {
        padding: 60px 0 20px;
    }
}

#areaBeginner h2 {
    font-size: 40px;
    font-weight: bold;
}

#areaBeginner h2 span {}

@media only screen and (min-width: 769px) {
    #areaBeginner h2 span {}
}

#areaBeginner p.beginner-desc {
    border: none;
    text-align: center;
    font-size: 16px !important;
    line-height: 2.2 !important;
    margin-bottom: 40px !important;
    padding-bottom: 0;
}

.beginner-wrap {
    display: flex;
    flex-direction: row;
    margin: 0 0 50px;
}

.beginner-wrap-row1 {
    width: 67%;
    font-size: 2em;
    text-align: justify;
    padding: 0;
    line-height: 2.2;
    font-weight: 600;
}

.beginner-wrap-row1 h3 {
    padding: 6px 40px 4px;
    background-color: #cefaf3;
    /* background-color: #70E9D7; */
    color: #666;
    text-align: left;
    font-size: 20px !important;
    font-weight: bold;
    border: none;
    margin: 0 !important;
}

.beginner-wrap-row1 p {
    padding: 24px 0px 20px 30px;
    text-align: justify;
    font-size: 16px !important;
    font-weight: 400;
}

.beginner-wrap-row2 {
    width: 33%;
    max-width: 330px;
    font-size: 1em;
    text-align: justify;
    padding: 0;
    line-height: 2.2;
}

.beginner-wrap-row2 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.beginner-wrap-row2 img {
    width: 100%;
}

.beginner-wrap:nth-child(even) {
    flex-direction: row-reverse;
}

.beginner-wrap:nth-child(even) .beginner-wrap-row1 p {
    padding: 24px 40px 20px 0;
}

.beginner-wrap:nth-child(even) .beginner-wrap-row2 {}

@media only screen and (max-width:768px) {
    #areaBeginner .sec-beginner{
        padding: 30px 20px 0;
    }
    .beginner-wrap {
        flex-direction: column;
        margin-bottom: 30px;
    }
    #areaBeginner h2.beginner{
        font-size: 24px!important;
        line-height: 1.8;
        margin-bottom: 30px!important;
    }
    .beginner-wrap-row1 h3{
        line-height: 1.8!important;
        padding: 18px 20px;
    }
    
    .beginner-wrap:nth-child(even) {
        flex-direction: column;
    }

    .beginner-wrap-row1 {
        width: 100%;
    }

    .beginner-wrap-row2 {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        text-align: center;
    }
    .beginner-wrap-row2 img{
        width: 100%;
        aspect-ratio: 10 / 7;
        object-fit: cover;
    }
    .beginner-wrap-row1 p ,
    .beginner-wrap-row2 p{
        font-size: 14px !important;
        padding: 16px 0 0!important;
    }
}


/*===========================================================
Merit
===========================================================*/
#areaMerit {
    background-color: #ebeaea;
    /* background-color: #e8e8e8; */
}
#areaMerit .lang-ja{
    margin-bottom: 20px;
}

#areaMerit .sec-merit {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

#areaMerit .block-service ul li figure{
    height: 280px;
} 
.block-service ul li img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.merit-wrap-txt h4 {
    font-size: 18px !important;
}

@media only screen and (min-width: 769px) {
    #areaMerit .sec-merit {
        padding: 60px 0 50px;
    }
}

.sec-merit h2 {
    margin: 0 auto;
}

.sec-merit p {
    text-align: center;
    font-size: 16px !important;
    line-height: 2.2 !important;
    border: none;
    margin-bottom: 40px !important;
}

.sec-merit h3{
    padding: 0;
}

.sec-merit h3{}

#areamerit .block-merit .ttl-bottom {
    font-size: 2rem !important;
    font-style: italic;
    line-height: 2.2 !important;
    text-align: center;
    letter-spacing: calc(100em / 1000);
    white-space: nowrap;
    border-top: none;
    border-bottom: none;
}

.merit-wrap {
    margin: 0 auto;
    max-width: 1000px;
    padding: 3em 5em;
    border: 10px solid #70E9D7;
    margin-bottom: 40px;
    background-color: #fff;
}

.merit-wrap-img {
    text-align: center;
    width: 45%;
    margin: 0 auto 2em;
}

.merit-wrap-img img {
    width: 100%;
    height: auto;
}

.merit-wrap-txt h4 {
    text-align: center;
    font-size: 18px !important;
    font-weight: 600;
    color: #70E9D7;
    padding-bottom: 1em;
    border-bottom: 1px solid #ddd !important;
    margin-bottom: 1em !important;
}

.merit-wrap-txt p {
    text-align: justify;
    font-size: 15px;
    font-weight: 400;
    line-height: 2.2;
}

@media only screen and (max-width:768px) {
    #areaMerit .sec-merit{
        padding: 30px 20px 30px;
    }
    .merit-wrap {
        padding: 1em 1.2em;
        border: 10px solid #70E9D7;
        margin-bottom: 3em;
    }
    .sec-merit p{
        font-size: 14px!important;
    }
    .merit-wrap-img {
        width: 50%;
    }
}

.ytb_top_text {
    margin-bottom: 40px;
}

#areaCorporate{
    padding: 60px 0 0;
}
#areaCorporate .ttl-bottom{
    text-align: center;
    font-size: 16px !important;
    line-height: 2.2 !important;
    border: none;
    margin-bottom: 40px !important;
}
#areaCorporate .lang-ja{
    margin-bottom: 20px;
}
.map-box{
    text-align: center;
    margin: 60px auto 40px;
}