@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: 1.5;
/* 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: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
font-weight: 400;
font-size: 2.8rem;
word-wrap: break-word;
}

body#lp p {
word-break: break-all;
padding: 40px 0px 0px;
}

.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/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;
text-decoration: none;
}

figure {
margin: 0;
}

img {
max-width: 100%;
}

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

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

.sec-ttl .lang-en {
font-size: 6rem;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
font-style: italic;
font-weight: 700;
display: block;
letter-spacing: calc(200em/1000);
}

.sp_bold {
font-size: 50px;
}

.sec-ttl .lang-ja {
font-size: 3.6rem;
display: block;
margin-top: 1em;
}

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

.sp_bold {
font-size: 60px;
}
}

.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: 70%;
position: relative;
top: 15%;
border-radius: 10px;
right: 10%;
}

.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/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: 1;
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;
}

.mainVisual01 {
width: 100%;
background-image: url(../img/sp/img_hero_01.jpg);
background-repeat: no-repeat;
background-position: top;
background-size: contain;
}

@media only screen and (min-width: 769px) {
.mainVisual01 {
background-image: url(../img/img_hero_01.jpg);
}
}

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

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

padding-left: 1em;
padding-right: 1em;
}
}

.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/28);
height: calc(180em/28);
border-radius: 50%;
border: calc(5em/28) 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/16);
height: calc(180em/16);
}
}

.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);
}

.inner-mv .mv-copy .copy-inner p {
color: #fffd74;
margin: 0;
border-top: 1px solid #fff;
border-bottom: 1px solid #fff;
font-size: 3.6rem;
line-height: 1;
padding-top: .5em;
padding-bottom: .5em;
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.3;
}

@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.2;
}
}

.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: 1.3;
}

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

@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: 1.3;
}

h2 {
text-align: center;
}

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

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

@media only screen and (min-width: 769px) {
#areaIntro .sec-intro {
padding: 9em 1em;
}
}

#areaIntro h2 {
line-height: 1;
}

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

@media only screen and (min-width: 769px) {
#areaIntro h2 span {
padding: .5em 4.3em;
font-size: 3rem;
}
}

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

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

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

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

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

#areaTrouble h2 {
font-size: 4.8rem;
white-space: nowrap;
}

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

#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%, #65bf97 85%, #65bf97 100%);
}

#areaTrouble h3 {
font-size: 4.8rem;
text-align: center;
color: #65bf97;
}

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

#areaTrouble h3 span {
white-space: nowrap;
background-color: #fffedc;
padding: .4em .4em;
}

#areaTrouble .box-trouble {
border: calc(6em/28) solid #65bf97;
padding: 1em;
background-image: url(../img/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: calc(6em/16) solid #65bf97;
background-size: auto;
padding: 2em;
}
}

#areaTrouble .box-trouble li {
font-size: 3rem;
line-height: 2;
}

@media screen and (min-width: 769px) {
#areaTrouble .box-trouble li {
font-size: 2.4rem;
line-height: 1.9;
}
}

#areaTrouble .box-trouble li span {
border-bottom: 1px solid #ff6d6d;
display: inline-block;
padding-left: 2em;
background-image: url(../img/ico_check.svg);
background-repeat: no-repeat;
background-size: 1.2em auto;
background-position: 0 50%;
}

@media screen and (min-width: 769px) {
#areaTrouble .box-trouble li span {
border-bottom: 3px solid #ff6d6d;
padding-left: 1.8em;
background-size: auto;
}
}

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

/*===========================================================
service
===========================================================*/
#areaService .sec-service {
max-width: 64.5em;
margin-left: auto;
margin-right: auto;
padding: 3em 0.5em;
}

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

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

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

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

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

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

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

#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/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: 1em;
padding-right: 1em;
}
}

#areaService .block-support .wrapper {
background-color: #fff;
border: calc(5em/36) solid #65bf97;
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 #65bf97;
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: #65bf97;
color: #fffd74;
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: #65bf97;
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/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: 1;
}

#areaService .box-service {
border: calc(10em/28) solid #65bf97;
}

@media only screen and (min-width: 769px) {
#areaService .box-service {
border: calc(10em/16) solid #65bf97;
}
}

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

#areaService .txt-service h3 {
color: #fff;
background-color: #65bf97;
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) {
#areaService .txt-service h3 {font-size: 2.2rem;}

}

#areaService .txt-service 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) {
#areaService .txt-service p {
letter-spacing: calc(100em/1000);
font-size: 1.8rem;
}
}

#areaService .arrow-down {
text-align: center;
color: #65bf97;
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: 1;
}

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


}

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

.sec-subttl span {
display: inline-block;
background-color: #65bf97;
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;
}

/*===========================================================
Case
===========================================================*/
#areaCase .sec-case {
padding-top: 3em;
}

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

#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/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/bg_img_case01.jpg);
}
}

#areaCase .sec-case li.block-case:nth-child(2) {
background-image: url(../img/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/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/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/bg_img_case03.jpg);
}
}

#areaCase .sec-case .box-case .txt-case {
padding: 3.5em 1em 1em 1em;
margin-top: 1em;
background: #65bf97;
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: 1.8;
}

#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;
}
}

#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: 1;
display: -webkit-box;
display: flex;
-webkit-box-align: center;
align-items: center;
font-size: 4.8rem;
letter-spacing: calc(100em/1000);
}

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

#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: 1;
width: calc(100em/48);
height: calc(100em/48);
margin-right: .8em;
background-color: #65bf97;
color: #fff;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
font-style: italic;
font-weight: 700;
font-size: 4.8rem;
}

@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;
}
}

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

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

#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: 1.6;
}

@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: space-between;
-webkit-box-align: center;
align-items: center;
height: 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: 1;
}

@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/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: 1;
}

@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/16);
height: calc(153em/16);
border: calc(5em/16) 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 {
padding: 1rem;
background: #e8e8e8;
}

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

.case-genre .genre-inner h4 {
text-align: center;
font-size: 3.6rem;
font-style: italic;
}

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

.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;
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 {
margin-bottom: 1em;
width: 19%;
text-align: center;
font-size: 2.2rem;
}

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

/*===========================================================
Inquiry
===========================================================*/
.areaInquiry {
background-image: url(../img/sp/bg_img_inquiry.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: 1;
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/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: 1;
}

.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/bg_img_inquiry.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;
}

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

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

#areaSuccess .sec-subttl span {
display: inline-block;
background-color: #65bf97;
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: 64.5em;
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;
}
}

#areaSuccess .block-success .success-inner h3 .num {
flex-shrink: 0;
background-color: #65bf97;
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: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',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 #65bf97;
}

#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: 1.7;
white-space: nowrap;
}

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

#areaSuccess .block-success .success-sub {
margin-top: 3em;
background-color: #65bf97;
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: 1.6;
letter-spacing: calc(100em/1000);
}

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

#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/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/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: 1.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: 1.7;
letter-spacing: calc(100em/1000);
}

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

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

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

@media only screen and (min-width: 769px) {
#areaLp .block-lp h3 {
font-size: 3rem;
}
}

#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;
}

#areaLp .sokyu ul::after {
background-image: url(../img/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/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: 1;}

#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: #65bf97;
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;
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: #65bf97;
border: 2px solid #65bf97;
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 #65bf97;
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: 4em;
}

#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 calc(6em/16) #ff6b6b;
padding: 1em 1em;
margin-top: 2em;
}

@media only screen and (min-width: 769px) {
#areaLp .lp-copy {
padding: 2em 3em;
}
}

#areaLp .lp-copy .lede {
color: #ff6b6b;
margin: 0 0;
line-height: 1.8;
font-size: 3.2rem;
}

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

#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 (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: #ff6b6b;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
font-style: italic;
line-height: 1;
white-space: nowrap;
}

@media only screen and (min-width: 769px) {
#areaLp .lp-copy ol li .txt-point {
font-size: 2rem;
align-self: flex-start;
position: relative;
top: .5em;
}
}

#areaLp .lp-copy ol li .num {
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
font-size: 8rem;
color: #ff6b6b;
font-style: italic;
line-height: 1;
white-space: nowrap;
}

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

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

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

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

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

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

#areaFlow .block-flow {
padding: 3em 1em;
}

@media only screen and (min-width: 769px) {
#areaFlow .block-flow {
padding: 3em 1em;
}
}

#areaFlow .box-flow {
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
flex-flow: wrap;
margin-top: 2em;
}

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

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

#areaFlow .box-flow h3 {
margin-top: 1.2em;
color: #65bf97;
letter-spacing: calc(100em/1000);
}

#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: 1.6rem;
}
}

#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: #65bf97;
box-shadow: 2.5px 4.3px 5px 0 rgba(0, 0, 0, 0.2);
margin-top: 3em;
}

@media only screen and (min-width: 769px) {
#areaFlow .box-flow figure {
width: calc(165em/16);
height: calc(165em/16);
}
}

#areaFlow .box-flow figure figcaption {
line-height: 1;
position: absolute;
bottom: 110%;
font-size: 3.4rem;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
font-style: normal;
font-weight: 700;
letter-spacing: calc(100em/1000);
background-color: #65bf97;
color: #fff;
padding: 10px;
}

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

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

@media only screen and (min-width: 769px) {
#areaVoice .sec-voice {
padding: 3em 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);
}

@media only screen and (min-width: 769px) {
#areaVoice .voice-ttl {
font-size: 3rem;
}
}

#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/48);
height: calc(100em/48);
margin-right: .6em;
background-color: #65bf97;
color: #fff;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
font-style: italic;
font-weight: 700;
font-size: 4.8rem;
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: 2.6rem;
}

@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 {
border: calc(20em/28) solid #65bf97;
}

@media only screen and (min-width: 769px) {
#areaVoice .row figure {
border: calc(10em/16) solid #65bf97;
-webkit-box-ordinal-group: 3;
order: 2;
width: 48%;
}
}

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

#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: 3.6rem;
color: #65bf97;
letter-spacing: calc(100em/1000);
}

@media only screen and (min-width: 769px) {
#areaVoice .row .col-txt h3 {
font-size: 3rem;
white-space: nowrap;
}
}

#areaVoice .row .col-txt p {
letter-spacing: calc(100em/1000);
}

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

#areaFaq .sec-faq {
padding: 3em 1em;
max-width: 64.5em;
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/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;
background-size: auto;
}
}

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

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

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

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

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

@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: #ffffff;
color: #fff;
padding-top: 1em;
padding-bottom: 1em;
letter-spacing: calc(100em/1000);
color: black;
}

/*===========================================================
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: 64.5em;
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%, #65bf97 85%, #65bf97 100%);
}

#areaPoint .bgGreen {
display: inline-block;
background-color: #65bf97;
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: 1.6em;
letter-spacing: calc(120em/2000);
}

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

}

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

#areaPoint .arrow 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: 1.6em;
}

#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/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: #65bf97;
color: #fffd74;
padding: 0 20px;
}

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

#areaPoint .arrow 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/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/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 0px;
}

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

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

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

.form .form-ttl {
text-align: center;
color: #fff;
margin-bottom: 60px;
font-size: 36px;
padding: 10px 0;
font-weight: 700;
letter-spacing: 1px;
background-color: #65bf97;
width: 100vw;
position: relative;
left: 50%;
right: 50%;
margin-left: -50vw;
margin-right: -50vw;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

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

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

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

.form-btn input {
color: #fff;
background-color: #000000;
-webkit-transition: .5s;
transition: .5s;
width: 400px;
padding: 20px 0;
font-size: 20px;
font-weight: 700;
border: none;
background-size: 200% auto;
  -webkit-appearance: none;
  border-radius: 0;
}

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

.formTable {
margin-bottom: 60px;
}

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

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

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

@media (max-width: 767px) {
.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: 767px) {
.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: 767px) {
.formTable textarea {
padding: 20px;
}
}

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

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


.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: 767px) {
.fix-footer .fix-footer-list li.open {
display: none;
}
}


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

.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/fix-top.png);
background-size: 20px;
background-position: 1% 50%;
line-height: 1;
}

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

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

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

.detail {
text-align: center;
background-color: #f7f7f7;
border: 1px solid #ddd;
box-sizing: border-box;
margin-top: 20px;
height: 60px;
line-height: 60px;
background-image: url(../img/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/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/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/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/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: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',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: 768.98px) {
    .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;
}

/*==============================================================================
FV修正　2021.12.08 hashimoto
============================================================================= */

.main-visual img {
    width: 100%;
}
@media screen and (min-width:1000px) { 
.main-visual img {
    min-width:1000px;
    max-width:1000px;
    width: 100%;
}
.main-visual figure {
    background-color: #262626;
    text-align: center;
}
}

.cta01 a {
    padding: 0.5em 4.3em;
    font-size: 3rem;
    margin: 30px;
    margin-left: auto;
    margin-right: auto;
    width: 500px;
    max-width: 80%;
    text-align: center;
    position: static;
}




.contents-main  section{
text-align: center;
padding: 30px 0;
}
.contents-main  section *{
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

.contents-main  section  h1{
    color:#06a39a;
    margin-bottom: 20px;
}
.contents-main  section  p{
    margin-bottom: 0px;
}

#organizer,#achievement,#speaker,#case {
    background-color: #fffbef;
}

.inner-box {
    background-color: #ffffff;
    padding: 30px;
    border: solid 1px #e1e1e1;
    box-shadow: 8px 8px 10px 0px #e0e0e0;
}

#recomend {
    height: 30em;
    background: url(../img/recomend-back.jpg) center center / cover no-repeat;
    background-position: 0% 10%;
    /* background-color: black; */
    background-color: rgb(19 34 34);
    background-blend-mode: soft-light;

}

#recomend h1{
    color:white;
    margin-bottom: 4.5vw;
}
#recomend li{
    color:white;
    list-style: disc;
    margin-bottom: 2em;
}

#recomend ul {
    padding: 0 0 0 20%;
    text-align: left;
    font-size: 1.6em;
}

#achievement img {
    width: 100%
}
figure.left {
    float: left;
    width: 45%;
    margin: 0 20px 0 0;
}
#speaker img {
    width:100%;
}
#speaker p {
    text-align: left;

}
#speaker > div > div > div:nth-child(2){
    font-weight: bold;
}

#speaker > div > div > div:nth-child(2) > p{
    margin-top: 5px;
}


#speaker > div > div > div:nth-child(2) > p:nth-child(3){
    font-size: 120%;
}

#speaker > div > div > div:nth-child(3){
    margin-top: 30px;
}

.clear{
clear: both;
}
#recomend:before {
    content: "";
    margin-left: -10px;
    border: 20px solid transparent;
    border-top: 31px solid #fffbef;
}

.tbl1 {
    border: 1px solid #e1e1e1;
    box-shadow: 8px 8px 10px 0px #e0e0e0;
    width: 100%;
}

.tbl1 tr + tr {
    border-top: 1px solid #e1e1e1;
}

.tbl1 th {
    width: 25%;
    text-align: center;
    vertical-align: middle;
    padding: 16px 24px;
}

.tbl1 td {
    padding: 16px 40px;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .tbl1 th {
        width: 100%;
        display: block;
        border-right: 0;
        border-bottom: 1px solid #e1e1e1;
        padding: 15px 13px;
    }

    .tbl1 td {
        display: block;
        padding: 15px 13px;
    }
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}



.form {
    padding-bottom: 70px;
}

.form h1{
    padding-top: 50px;
    color:white;
    margin-bottom: 40px;
    text-align: center;
}

.contact-box {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    background-color: white;
}


.underline {
    background: linear-gradient(transparent 60%, #ffff66 60%);
}


@media screen and (max-width: 767px) {
    
    .cta01 a {
        padding: 0.9em 4.3em;
    }
    
    
    figure.left.sprow {
        float: none;
        width: 100%;
        margin: 0 0 1em 0;
    }
    
    .inner-box {
        padding: 15px;
    }
    #achievement figure{
        max-width: 100%;
    }
    
    #speaker .inner-contents {
        max-width: 100%;
    }
    
    #speaker .inner-box {

        padding: 30px 15px;
    }
    #speaker .inner-box figure{
        max-width: 100%;
    }
    #speaker .inner-box p{
        max-width: 100%;
    }
    #overview ul {
        max-width: 100%;
    }
    #overview li {
        max-width: 100%;
    }
    .form {
        padding-bottom: 0px;
    }
    #recomend {
        height: auto;
    }
    #recomend h1 {
        max-width: 100%;;
    }
    #recomend ul {
        padding: 0 0 0 0;
        list-style-type: disc;
        padding-left: 5%;
        text-indent: -7%;
    }
    #recomend li {
        max-width: 90%;
        font-size: 2.8rem;
        list-style-position: inside;
    }
}
#form1 .form-btn input:hover,
#form1 .form-btn input:active,
#form1 .form-btn input:focus {
background-position: right center;
cursor: pointer;
}

.fix-footer .btn-contact {
margin: 0px ;
}

.fix-footer .btn-contact a{
margin: 0px auto;
height: 50px;
}

/*==============================================================================
デザイン変更変更　2021.12.14 hashimoto
============================================================================= */
#problem {
    background: url(../img/problem-back.png) center center / cover no-repeat;
    background-position: 0% 100%;

}
#problem h1{
    color: #ffffff;
}
#problem p{
    color: #ffffff;
    font-weight: 600;
    font-size: 120%;
}

#problem .problem_block{
    width:250px;
    background-color: #124742;
    padding: 10px;
    border-radius: 10px;
}

.triangle_object{
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 30px solid white;
    margin-top: 10px;
}

#problem img{
    max-width: 70%;
}

#organizer .organizer_box {
    display: flex;
    margin: 30px 17% ;

}

#organizer .organizer_box p.organizer_title,
#organizer .organizer_box p.organizer_txt
{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}



#organizer .organizer_box p {
    margin-top: 0px;
}

#organizer .organizer_l_box {
    color: #7F7F7F;
    max-width: 250px;
    width: 45%;
}

#organizer .organizer_r_box {
    color: #06a39a;
    font-weight: 700;
    max-width: 250px;
    width: 45%;
}


#organizer .organizer_r_box .organizer_title {
    background-color: #06a39a;
    color: #ffffff;
    padding: 5px 0;
    height: 60px;
}
#organizer .organizer_l_box .organizer_title {
    background-color: #7F7F7F;
    color: #ffffff;
    padding: 5px 0;
    height: 60px;
}
#organizer .organizer_l_box p.organizer_txt {
    border: solid 1px #7F7F7F;
}
#organizer .organizer_r_box p.organizer_txt {
    border: solid 1px #06a39a;
}

#organizer .organizer_box .organizer_txt {
    font-size: 130%;
    height: 100px;
}



#organizer .organizer_symbol {
}

#organizer .organizer_value {
    font-size: 130%;
}


/*==============================================================================
▼を表示する部分


#thema:before {
    content: "";
    margin-left: 0px;
    border: 40px solid transparent;
    border-top: 31px solid #479a94;
}

============================================================================= */

#case img{
    width: 45%;
}

.banners {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1em;
}

ul {
    list-style-type: none;
}

.banners li + li {
    margin-left: 1%;
}

.banners li {
    width: calc(99%/2);
    box-sizing: border-box;
}

.banners li img {
    height: auto;
    max-width: 100%;
    min-width: 100%;
}

@media screen and (max-width: 767px){
    .banners li {
        width: 100%;
        max-width: 100%;
    }
    .banners li + li {
        margin-left: auto;
        margin-top: 10%;
    }

    #problem .problem_block{
        width: 50%;
    }
    #problem {
        background: url(../img/sp/problem-back.png) center center / cover no-repeat;
        background-position: 0% 100%;
    }
    #problem h1 {
        font-size: 150%;
        margin-bottom: 5%;
    }
    #problem img {
        max-width: 90%;
    }
    
    #organizer  .organizer_title {
        max-width: 90%;
        font-size: 80%;
        max-height: 15vw;
    }
    #organizer .organizer_box .organizer_txt {
        font-size: 95%;
        max-height: 20vw;
    }
    #organizer .organizer_box {
        display: flex;
        margin: 30px 5% ;
        font-size: 105%;
    }
    
    #organizer .organizer_l_box {
        width: 50%;
    }
    #organizer .organizer_r_box {
        width: 50%;
    }
    #achievement img {
        max-width: 100%;
    }
}


.menu-btn {
    position: fixed;
    top: 0px;
    right: 0px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #000000;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check {
    display: none;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}


.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #000000;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}


.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #000000ba;
    transition: all 0.5s;/*アニメーション設定*/
}


#menu-btn-check:checked ~ .menu-content {
    left: 65%;/*メニューを画面内へ*/
}
@media screen and (max-width: 767px) {
    #menu-btn-check:checked ~ .menu-content {
        left: 57%;/*メニューを画面内へ*/
    }
}

#contact-top{
	background-image: url(../img/contact-top.jpg);
	background-size: cover;
	background-position: center 60%;
	height: 300px;
}

section#contact-top{
  display: flex;
  justify-content: center;
  align-items: center;
}

#contact-top h1{
color: white;
}

.formTable ul {
text-align: left
}

#Explanation{
text-align: left;
padding: 0 100px;
}
#Explanation span{
font-size: 80%;
}

#pankuzu {
    padding-top: 48px;
    line-height: 1em;
}



#pankuzu {
padding-top: 48px;
line-height: 1em;
}

#pankuzu a[href] {
color: #000000;
padding-bottom: 1px;
border-bottom: 1px solid #fff;
transition: 0.2s ease;
position: relative;
margin-right: 42px;
}

#pankuzu a[href]:hover {
border-bottom: 1px solid #d2d2d2;
}

#pankuzu a[href]:after {
content: url("../images/icon_sankaku.svg");
display: inline-block;
width: 12px;
height: 14px;
color: #d2d2d2;
position: absolute;
top: 4px;
right: -30px;
pointer-events: none;
}

#pankuzu + section {
padding-top: 70px;
}

#pankuzu p{
    padding-top: 0!important;
}

nav#pankuzu{
    padding-top: 0;
    text-align: left;
    padding-left: 50px;
}

#pankuzu a[href]:after {
    content: url(../img/sankaku.svg);
    display: inline-block;
    width: 12px;
    height: 14px;
    color: #d2d2d2;
    position: absolute;
    top: 4px;
    right: -30px;
    pointer-events: none;
}

.form-btn img{
    position: relative;
    right: calc(15px + 1vw);
    pointer-events: none;
}


#policy #policyArea p{

padding-top: 0;
padding-left:1em;
padding-right: 0;
text-indent:-1em;
}

#policy #policyArea dt{

margin-top: 1em;
padding-left:1em;
text-indent:-1em;
}
#policy #policyArea dd{

padding-left: 2em;
text-indent:-1em;
}

#policy #policyArea dd span{
font-family: "Courier New", Consolas, monospace;
}

#policy #policyArea .none_idnt0{
padding-left:0;
text-indent:0;
}

#policy #policyArea .none_idnt1{
padding-left:1em;
text-indent:0;
}

#policy #policyArea .none_idnt2{
padding-left: 3.5em;
text-indent: -2.5em;
}


body#lp p.confirm-txt{
    padding: 40px 0px 0px 0px;
    font-weight: 1000;
}




@media screen and (max-width: 768px){
body#lp p {
    padding: 40px 20px 0px;
}
#Explanation{
text-align: left;
padding: 0 0px;
}


#pankuzu {
padding-top: 20px;
line-height: 1em;
text-align: center;
}

#pankuzu a[href] {
margin-right: 24px;
}

#pankuzu a[href]:after {
right: -20px;
}

#pankuzu + section {
padding-top: 35px;
}
nav#pankuzu {
    padding-left: 0px;
}
}

/* 20220719追加 */
#policy #policyArea .none_idnt3{
    text-indent: -3.5em;
    padding-left: 5em;
    }