@charset "UTF-8";

@font-face {
    font-family: "NotoSansJP";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src:
        local("NotoSansJP"),
        url("../fonts/NotoSansJP-Black-CJK.woff") format("woff"),
        url("../fonts/NotoSansJP-Black-CJK.woff2") format("woff2");
}

@font-face {
    font-family: "NotoSansJP";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src:
        local("NotoSansJP"),
        url("../fonts/NotoSansJP-Bold-CJK.woff") format("woff"),
        url("../fonts/NotoSansJP-Bold-CJK.woff2") format("woff2");
}

@font-face {
    font-family: "NotoSansJP";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src:
        local("NotoSansJP"),
        url("../fonts/NotoSansJP-R-CJK.woff") format("woff"),
        url("../fonts/NotoSansJP-R-CJK.woff2") format("woff2");
}

@font-face {
    font-family: "din1451alt";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src:
        local("din1451alt"),
        url("../fonts/din1451alt.woff") format("woff"),
        url("../fonts/din1451alt.woff2") format("woff2");
}

@font-face {
    font-family: "GenEiMGothic2";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src:
        local("GenEiMGothic2"),
        url("../fonts/lp03/GenEiMGothic2-Medium.woff") format("woff"),
        url("../fonts/lp03/GenEiMGothic2-Medium.woff2") format("woff2");
}

@font-face {
    font-family: "GenEiMGothic2";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src:
        local("GenEiMGothic2"),
        url("../fonts/lp03/GenEiMGothic2-Bold.woff") format("woff"),
        url("../fonts/lp03/GenEiMGothic2-Bold.woff2") format("woff2");
}

@font-face {
    font-family: "GenEiMGothic2";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src:
        local("GenEiMGothic2"),
        url("../fonts/lp03/GenEiMGothic2-Heavy.woff") format("woff"),
        url("../fonts/lp03/GenEiMGothic2-Heavy.woff2") format("woff2");
}

@font-face {
    font-family: "GenEiMGothic2";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src:
        local("GenEiMGothic2"),
        url("../fonts/lp03/GenEiMGothic2-Black.woff") format("woff"),
        url("../fonts/lp03/GenEiMGothic2-Black.woff2") format("woff2");
}

/*-------------------------------------
定義
-------------------------------------*/
:root {
    --m_ps3: 30px;
    --m_ps5: 50px;
    --m_ps8: 80px;
    --font_en: "din1451alt", san-serif;
    --font_en2: "Montserrat", san-serif;
    --font_ja: "GenEiMGothic2", sans-serif, san-serif;
    --h1_font: clamp(22px, 3vw, 32px);
    --h2_font: clamp(25px, 3vw, 70px);
    --h3_font: clamp(22px, 3vw, 55px);
    --main_mp: 100px;
    --main_w: min(100%, 1240px);
    --tr: 0.3s ease-out;
    --m_color: #0098d8;
    --m_color2: #007cd8;
    --a_color: #fff000;
    --a_color2: #e91e63;
    --a_color3: #febe00;
    --b_color: #ddd;
    --b_color2: #e5f2fb;
    --f_color: #212121;
    --border_r: max(10px, min(15px, calc((100vw - 10px - 100%) * 9999)));
    --gr: linear-gradient(45deg, #004bb1 0%, #0062c4 25%, #007bd7 45%, #0098ec 65%, #00beff 100%);
    --gr2: linear-gradient(45deg, #febe00 0%, #fdfe00 100%);
}

/*-------------------------------------
共通パーツ
-------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
navigation,
nav,
section,
summary,
time,
mark,
audio,
video {
    background-color: transparent;
    border: 0;
    color: var(--f_color);
    font-family: var(--font_ja);
    font-size: 100%;
    font-weight: normal;
    line-height: 1.8;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
}
*,
*:after,
*:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    color: #2c3e57;
    counter-reset: wpp-ranking;
    font-size: 16px;
    line-height: 2;
    position: relative;
    word-wrap: break-word;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}
nav ul {
    list-style: none;
}
ul,
ol,
li {
    list-style: none;
    padding: 0;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}
del {
    text-decoration: line-through;
}
abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
hr {
    border: 0;
    border-top: 1px solid #cccccc;
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
}
input,
select {
    vertical-align: middle;
}
input {
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    padding: 0;
}
address {
    font-style: normal;
}
a,
a:visited {
    background-color: transparent;
    color: #007cd8;
    font-size: 100%;
    margin: 0;
    padding: 0;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    vertical-align: baseline;
}
a:hover {
    text-decoration: none;
    opacity: 0.8;
}
input[type="submit"] {
    border-radius: 0;
}
.clearfix:after {
    clear: both;
    content: "";
    display: block;
    height: 0;
    overflow: hidden;
}
.clear {
    clear: both;
}
img {
    margin: 0;
    max-width: 100%;
    padding: 0;
    vertical-align: bottom;
    width: auto;
}

/*-------------------------------------
共通パーツ
-------------------------------------*/
.flex {
    display: -webkit-flex;
    display: flex;
}
.flex_center {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
.flex_center_center {
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
.main_col {
    margin-bottom: 100px;
}
.main_pa {
    padding-bottom: 100px;
    padding-top: 100px;
}
.m_a {
    margin-left: auto;
    margin-right: auto;
    max-width: 1240px;
    padding: 0 20px;
}
.m_lr {
    margin-left: auto;
    margin-right: auto;
}
.m_ps3 {
    margin-bottom: var(--m_ps3);
}
.m_ps5 {
    margin-bottom: var(--m_ps5);
}
.m_ps8 {
    margin-bottom: var(--m_ps8);
}
.pt100 {
    padding-top: 100px;
}
.mb10 {
    margin-bottom: 10px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb30 {
    margin-bottom: 30px;
}
.mb40 {
    margin-bottom: 40px;
}
.mb50 {
    margin-bottom: 50px;
}
.mb60 {
    margin-bottom: 60px;
}
.mb70 {
    margin-bottom: 70px;
}
.mb80 {
    margin-bottom: 80px;
}
.mb90 {
    margin-bottom: 90px;
}
.mb100 {
    margin-bottom: 100px;
}
.mt10 {
    margin-top: 10px;
}
.mt20 {
    margin-top: 20px;
}
.mt30 {
    margin-top: 30px;
}
.mt40 {
    margin-top: 40px;
}
.mt50 {
    margin-top: 50px;
}
.mt60 {
    margin-top: 60px;
}
.mt70 {
    margin-top: 70px;
}
.mt80 {
    margin-top: 80px;
}
.mt90 {
    margin-top: 90px;
}
.mt100 {
    margin-top: 100px;
}
.fc {
    text-align: center;
}
.fl {
    text-align: left;
}
.fr {
    text-align: right;
}
.fb {
    font-weight: bold;
}
.annotation {
    color: gray;
    font-size: 13px;
}
.strong,
strong {
    background: linear-gradient(transparent 70%, #ffeb3b 70%);
    font-size: 17px;
    font-weight: bold;
}
.dot_bg3 {
    background: url(../img/lp03/bg01.png);
}

/*-------------------------------------
cta
-------------------------------------*/
.lp03_cta_wrap {
    background: var(--m_color2);
}
.lp03_cta_inner {
    position: relative;
    padding-top: var(--m_ps5);
    padding-bottom: var(--m_ps3);
}
.lp03_cta_inner:before {
    content: "";
    background: url(../img/lp03/cta_img02.png) no-repeat 0 0 / contain;
    aspect-ratio: 314/371;
    width: min(285px, 20%);
    position: absolute;
    height: auto;
    right: 0;
    bottom: 0;
}
.lp03_cta_ttl {
    margin-bottom: 10px;
    text-align: center;
}
.lp03_cta_inner_inner {
    /* width: fit-content; */
    /* text-align: center; */
    /* margin-left: auto; */
    /* margin-right: auto; */
    position: relative;
}
.lp03_cta_inner p,
.lp03_cta_inner p span {
    font-weight: bold;
    color: #fff;
}
.lp03_cta_inner_inner p:nth-child(2) {
    margin-bottom: var(--m_ps3);
    text-align: center;
}
.lp03_cta_inner_inner .lp03_cta_btn_wrap + p {
    /*  text-align: left; */
}
.lp03_cta_btn_wrap {
    margin-bottom: 25px;
    display: block;
}
.lp_cta_btn01.fc {
    display: flex;
    justify-content: center;
}
.lp_cta_btn01 a {
    background: linear-gradient(0deg, #febe00 0%, #fdfe00 100%);
    border-radius: 100px;
    width: 340px;
    height: 86px;
    border: min(4px, 0.7vw) solid #181818;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 40px;
    color: var(--f_color);
    text-decoration: none;
    position: relative;
}
.lp_cta_btn01 a:before {
    position: absolute;
    right: 13%;
    top: 50%;
    display: block;
    content: "";
    width: 11px;
    height: 11px;
    border-right: 2px solid var(--f_color);
    border-top: 2px solid var(--f_color);
    transform: rotate(45deg) translateY(-50%);
}
.lp_cta_btn02 a {
    background: linear-gradient(0deg, #00d62b 0%, #fdfe00 100%);
    border-radius: 100px;
    width: min(500px, 70%);
    border: min(4px, 0.7vw) solid #181818;
    border: min(6px, 1.2vw) solid #ffffff;
    filter: drop-shadow(2px 4px min(6px, 1vw) rgba(0, 0, 0, 0.5));
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    animation: fuwafuwa 1s ease 0s infinite alternate;
    background: linear-gradient(to bottom, #00d62b 0%, #00d62b 50%, #00bd26 51%, #00bd26 100%);
    color: #fff;
    margin-left: auto;
    margin-right: auto;
}
.lp_cta_btn02 a svg {
    width: 75%;
}
@keyframes fuwafuwa {
    from {
        transform: scale(0.9, 0.9);
    }
    to {
        transform: scale(1, 1);
    }
}
.lp03_wrap {
    overflow: hidden;
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

.lp03_02_cta_inner:before {
    background: url(../img/lp03/cta_img06.png) no-repeat 0 0 / contain;
    right: auto;
    left: 0;
    aspect-ratio: 340/350;
    width: min(340px, 25%);
}
.lp03_02_cta_inner .lp03_cta_inner_inner {
}
.lp03_02_cta_ttl_wrap {
    width: fit-content;
    margin-left: auto;
}
.lp03_02_cta_inner .lp03_cta_ttl {
    padding: 0;
}
.lp03_02_cta_inner .lp03_cta_ttl picture {
    padding: 0;
}
.lp03_02_cta_inner .lp03_cta_ttl + p {
    padding: 0;
    /* width: fit-content; */
    /* margin-left: auto; */
    paint-order: stroke fill;
    color: white;
    -webkit-text-stroke: 5px var(--m_color2);
    text-align: left;
}

.lp_cta_btn02 a:hover,
.lp_cta_btn01 a:hover {
    opacity: 1;
    filter: brightness(1.1);
}

/*-------------------------------------
header
-------------------------------------*/
.header {
    background: linear-gradient(-14deg, #00b2f2 0%, #00b2f2 56%, var(--m_color2) 50%, var(--m_color2) 100%);
    position: relative;
    padding-top: 40px;
    height: auto;
    padding-bottom: 26px;
    background: url(../img/lp03/header_bg.jpg) no-repeat 0 0 / cover;
}

.lp03_logo {
    width: 195px;
    position: absolute;
    top: 30px;
    left: 30px;
}

.header_item {
    padding-left: 20px;
    padding-right: 20px;
}

/*-------------------------------------
content01
-------------------------------------*/
.con01_wrap {
    background: var(--a_color);
}
.con01_inner {
    padding-top: var(--m_ps8);
    padding-bottom: var(--m_ps8);
    position: relative;
    padding-left: min(150px, 14vw);
    padding-right: min(150px, 14vw);
}
.con01_inner:before {
    content: "";
    background: url(../img/lp03/con01_img02.png) no-repeat 50% / contain;
    aspect-ratio: 138/221;
    height: auto;
    width: min(138px, 12vw);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.con01_inner:after {
    content: "";
    background: url(../img/lp03/con01_img02.png) no-repeat 50% / contain;
    aspect-ratio: 138/221;
    height: auto;
    width: min(138px, 12vw);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

/*-------------------------------------
content02
-------------------------------------*/
.con02_wrap {
}
.con02_inner {
    padding-top: calc(var(--main_mp) + 24px);
    padding-bottom: var(--main_mp);
}
.con02_ttl {
    text-align: center;
    position: relative;
    margin-bottom: var(--m_ps8);
}
.con02_ttl:before {
    content: "";
    background: url(../img/lp03/arrow01.png) no-repeat 50% / contain;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 121/131;
    height: auto;
    width: min(121px, 15vw);
    bottom: 80%;
}
.con02_main > div:not(:last-child) {
    margin-bottom: var(--main_mp);
}

/*-------------------------------------
content03
-------------------------------------*/
.con03_wrap {
    background: #dfe6e6;
}
.con03_inner {
}
.con03_ttl {
    text-align: center;
    margin-bottom: var(--m_ps5);
}

/*-------------------------------------
content04
-------------------------------------*/
.con04_wrap {
    padding-bottom: var(--main_mp);
    background: var(--m_color2);
}
.con04_other_itm {
    transform: translateY(-36px);
    width: 80%;
    max-width: 792px;
    margin-left: auto;
    margin-right: auto;
}
.con04_inner {
}
.con04_ttl {
}
.con04_main {
    text-align: center;
}
.con04_main > div:not(:last-child) {
    margin-bottom: var(--m_ps5);
}

/*-------------------------------------
content05
-------------------------------------*/
.con05_wrap {
}
.con05_inner {
}
.con05_ttl {
    text-align: center;
    margin-bottom: var(--m_ps5);
}
.con05_ttl + p {
    margin-bottom: var(--m_ps5);
}
.con05_ng {
    text-align: center;
    padding: 0 20px;
    margin-bottom: calc(var(--main_mp) * 1.6);
    background: url(../img/lp03/con05_img03.png) no-repeat 50% 65% / 100%;
}
.con05_ok {
    position: relative;
    margin-bottom: var(--m_ps8);
}
.con05_ok:before {
    content: "";
    background: url(../img/lp03/arrow01.png) no-repeat 50% / contain;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 121/131;
    height: auto;
    width: min(121px, 20vw);
    bottom: 97%;
    z-index: 1;
}

/*-------------------------------------
content06
-------------------------------------*/
.con06_wrap {
    /* background:
        url(../img/lp03/con06_img08.png) no-repeat bottom,
        url(../img/lp03/bg01.png); */
    position: relative;
}
.con06_wrap:before {
    content: "";
    width: 100%;
    height: 50%;
    position: absolute;
    background: #cceaf7;
    mix-blend-mode: multiply;
    left: 0;
    bottom: 0;
    z-index: -1;
    background: linear-gradient(180deg, transparent 0%, transparent 0%, #cceaf7 50%, #cceaf7 100%);
}
.con06_wrap:after {
    content: "";
    width: min(504px, 40%);
    height: auto;
    position: absolute;
    display: block;
    background: url(../img/lp03/con06_wrap_icon.png) no-repeat 50% / contain;
    aspect-ratio: 504/67;
    margin-left: auto;
    margin-right: auto;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
}
.con06_mid_wrap {
    padding-bottom: calc(var(--main_mp) * 1.5);
}
.con06_mid_inner {
}
.con06_mid_ttl {
    margin-bottom: var(--m_ps5);
}
.con06_mid_main {
    position: relative;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.con06_mid_main:before {
    content: "";
    height: 100%;
    width: 100%;
    background: #cceaf7;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    border-radius: calc(var(--m_ps3) * 0.5);
    z-index: -1;
}
.con06_mid_main > div {
    padding: var(--m_ps5) var(--m_ps8);
}

.con06_bt_wrap {
    padding-bottom: var(--main_mp);
    background: var(--m_color2);
}
.con06_bt_ttl {
    /* position: relative; */
    /* transform: translateY(-37px); */
    /* height: 128px; */
    /* background: var(--a_color); */
    /* margin-bottom: calc(var(--main_mp) * 2); */
}
.con06_bt_ttl:before {
    /* position: absolute; */
    /* content: ""; */
    background: url(../img/lp03/con06_bt_img02.png) no-repeat 50% / contain;
    left: 33%;
    top: -23%;
    aspect-ratio: 1/1;
    width: 110px;
    height: auto;
    transform: translateY(-50%);
    z-index: 1;
}
.con06_bt_ttl:after {
    /* content: ""; */
    background: url(../img/lp03/arrow01.png) no-repeat 50% / contain;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 121/131;
    height: auto;
    width: min(121px, 20vw);
    top: calc(100% + 25%);
}
.con06_bt_ttl p {
    /* position: absolute; */
    /* left: 50%; */
    /* top: -37px; */
    /* transform: translateX(-50%); */
    /* width: 100%; */
}
.con06_bt_ttl + div {
    position: relative;
}

.con06_bt_inner {
}
.con06_bt_inner > p {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 800 clamp(20px, 3vw, 25px) var(--font_ja);
}
.con06_bt_inner > p:after {
    content: "";
    background: url(../img/lp03/con06_bt_img03.png) no-repeat 50% / contain;
    display: inline-block;
    width: 49px;
    height: auto;
    aspect-ratio: 49/50;
    margin-bottom: 20px;
    margin-left: 5px;
}

.con06_img07 {
    justify-content: center;
    gap: 3vw;
}
.con06_img07 > div {
}

/*-------------------------------------
content07
-------------------------------------*/
.con07_wrap {
    background: url(../img/lp03/con05_img03.png) no-repeat 0% 92% /100%;
}
.con07_inner {
}
.con07_ttl {
    margin-bottom: var(--m_ps5);
}
.con07_main {
    justify-content: space-between;
}
.con07_main > div:nth-child(1) {
    position: relative;
}
.con07_main > div:nth-child(1):before {
    content: "";
    background: url(../img/lp03/con07_img05.png) no-repeat 50% / contain;
    position: absolute;
    aspect-ratio: 113/111;
    height: auto;
    width: min(75px, 6.5vw);
    right: 0;
    top: -14px;
}

/*-------------------------------------
content08
-------------------------------------*/
.con08_wrap {
}
.con08_obi {
    position: relative;
    background: var(--m_color2);
    margin-bottom: calc(var(--m_ps5) * 1.5);
    height: min(121px, 16vw);
}
.con08_obi:before {
    position: absolute;
    content: "";
    background: url(../img/lp03/con08_img00.png) no-repeat 50% / contain;
    aspect-ratio: 334/250;
    height: auto;
    width: min(334px, 38vw);
    left: 50%;
    top: -10px;
    transform: translateX(-50%);
}
.con08_main {
    padding-top: 0;
}
.con08_main > div.fc {
    padding-left: 20px;
    padding-right: 20px;
}
.con08_main > div:nth-child(2) {
    text-align: center;
    position: relative;
}
.con08_main > div:nth-child(2):before {
    content: "";
    background: #dfe6e6;
    width: 100%;
    height: 93px;
    position: absolute;
    left: 0;
    bottom: 0;
}
.con08_main > div:nth-child(2) img {
    filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.24));
    transform: translate(15%, -20%);
    aspect-ratio: 592/255;
    width: min(592px, 70vw);
}

/*-------------------------------------
content09
-------------------------------------*/
.con09_wrap {
    background: var(--m_color);
}
.con09_inner {
}
.con09_ttl {
    margin-bottom: var(--m_ps5);
}
.con09_main > div:not(:last-child) {
    margin-bottom: var(--m_ps5);
}
.con09_main_con {
}
.con09_main_con_left {
    width: 16.334%;
    position: relative;
}
.con09_main_con_right {
    border: min(6px, 0.6vw) solid #181818;
    border-radius: 20px;
    margin-left: -4%;
    width: calc(100% - 16.334% + 4%);
    background: #fff;
    overflow: hidden;
}
.con09_main_con_right > div:not(.lp03_cta_btn_wrap) {
    background: #cce5f7;
    padding-top: min(30px, 1vw);
    padding-bottom: min(22px, 1.8vw);
    padding-left: min(100px, 7vw);
}
.con09_main_con_right > div:not(.lp03_cta_btn_wrap) img {
    width: min(272px, 21vw);
}
.con09_main_con_right p {
    font-size: clamp(10px, 1.3vw, 16px);
    padding-left: min(100px, 7vw);
    padding-top: min(33px, 3vw);
    padding-bottom: min(40px, 3vw);
}
.con09_main_con_right p + .lp03_cta_btn_wrap {
    margin-bottom: min(40px, 4vw);
    padding-left: min(100px, 7vw);
    padding-right: min(100px, 7vw);
}
.con09_main_con_right p + .lp03_cta_btn_wrap > div {
    background: none;
}
.con09_main_con_right .lp_cta_btn01,
.con09_main_con_right .lp_cta_btn02 {
    width: min(340px, 45%);
}
.con09_main_con_right .lp_cta_btn01 {
    margin-right: 2vw;
}
.con09_main_con_right .lp_cta_btn01 a,
.con09_main_con_right .lp_cta_btn02 a {
    width: 100%;
    height: min(86px, 9vw);
    /* padding-left: 20px; */
    /* padding-right: 20px; */
}

/*-------------------------------------
content10
-------------------------------------*/
.con10_wrap {
    background: #cceaf7;
    overflow: hidden;
}
.con10_inner {
}
.con10_ttl {
    margin-bottom: var(--m_ps5);
}
.con10_wrap .con10_main {
    /* margin-bottom: 0; */
}
.con10_main > div {
    position: relative;
}
.con10_main > div:not(:last-child) {
    /* margin-bottom: var(--m_ps8); */
}
.con10_main > div:before {
    position: absolute;
    content: "";
    background: url(../img/lp03/con10_img02.png);
    aspect-ratio: 199/288;
    height: auto;
    width: 199px;
    right: calc(100% + 30px);
    top: 50%;
    transform: translateY(-50%) scale(-1, 1);
}
.con10_main > div:after {
    position: absolute;
    content: "";
    background: url(../img/lp03/con10_img02.png);
    aspect-ratio: 199/288;
    height: auto;
    width: 199px;
    left: calc(100% + 30px);
    top: 50%;
    transform: translateY(-50%);
}

.con10_item {
    margin-left: 2vw;
    margin-right: 2vw;
}
.con10_item .ttl {
    text-align: center;
    font-size: clamp(16px, 3vw, 18px);
    color: #fff;
    background: var(--m_color2);
    border-radius: 100px;
    margin-bottom: 20px;
    padding: 5px 10px;
}
.con10_main .slick-prev,
.con10_main .slick-next {
    height: auto;
    aspect-ratio: 1/1;
    background: var(--m_color2);
    padding: 10px;
    display: block;
    width: 50px;
    z-index: 1;
}
.con10_main .slick-prev {
    left: 0;
}
.con10_main .slick-next {
    right: 0;
}
.con10_main .slick-prev:before,
.con10_main .slick-next:before {
    font-family: "Font Awesome 5 Free";
    opacity: 1;
}
.con10_main .slick-prev:before {
}
.con10_main .slick-next:before {
    /* content: "\f061"; */
}
.con10_wrap .slick_dot {
    position: relative;
    margin-bottom: var(--m_ps5);
}
.con10_wrap .slick-dots {
    position: relative;
    left: 0;
    bottom: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(20px, 3vw);
}
.con10_wrap .slick-dots li {
    margin: 0;
    height: auto;
    aspect-ratio: 1/1;
    width: min(13px, 3%);
}
.con10_wrap .slick-dots li button {
    padding: 0;
    width: 100%;
    height: 100%;
}
.con10_wrap .slick-dots li button:before {
    background: var(--m_color2);
    content: "";
    border-radius: 50%;
    opacity: 1;
    height: 100%;
    width: 100%;
}
.con10_wrap .slick-dots li.slick-active button:before {
    background: var(--a_color2);
}

/*-------------------------------------
content11
-------------------------------------*/
.con11_wrap {
    background: #222a34;
}
.con11_sub_ttl {
    background:
        url(../img/lp03/con11_img01.png) repeat-x 0 0 / min(536px, 50vw),
        url(../img/lp03/con11_img01.png) repeat-x 0 100% / min(536px, 50vw),
        url(../img/lp03/con11_img_00_bg.jpg) repeat-x 50%;
    padding-top: min(130px, 12vw);
    padding-bottom: min(68px, 6.5vw);
    display: flex;
    justify-content: center;
}
.con11_inner {
    padding-bottom: var(--main_mp);
    padding-top: var(--m_ps5);
    position: relative;
    z-index: 0;
}
.con11_inner:before {
    content: "";
    background: url(../img/lp03/shock_bg.png) repeat-x 0 0 / contain;
    width: 100%;
    height: auto;
    aspect-ratio: 1920/379;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.1;
    z-index: -1;
}
.con11_main {
    text-align: center;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin-bottom: 30px;
}
.con11_main > div {
    width: calc(100% / 2 - 15px);
}
.con11_main + p {
    color: #fff;
}
.con11_ttl {
    margin-bottom: var(--m_ps5);
}
.con11_ttl + p {
    color: #fff;
}

.con11_closing {
}
.con11_closing_con01 {
    background: url(../img/lp03/con12_img05.jpg) no-repeat 50%;
    padding-top: var(--m_ps8);
    display: flex;
    justify-content: center;
    position: relative;
}
.con11_closing_con01 picture {
    position: relative;
}
.con11_closing_con01 picture:before {
    content: "";
    background: url(../img/lp03/con11_closing_con01_icon01.png) no-repeat 50% / contain;
    aspect-ratio: 141/142;
    height: auto;
    width: min(141px, 12%);
    position: absolute;
    top: -43%;
    left: 20%;
}

.con11_closing_con02 {
    background: #00ceab;
    position: relative;
}
.con11_closing_con02 p {
    color: #fff;
    font-weight: 900;
    font-size: clamp(22px, 4vw, 52px);
    padding-top: calc(var(--m_ps3) * 0.7);
    padding-bottom: calc(var(--m_ps3) * 0.7);
}
.con11_closing_con02:before {
    content: "";
    background: url(../img/lp03/con11_closing_con02_icon01.png) no-repeat 50% / contain;
    aspect-ratio: 504/67;
    height: auto;
    width: min(504px, 50%);
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
}
.con11_closing_con03 {
    padding-bottom: 0;
    display: flex;
    flex-flow: column;
    align-items: center;
    background:
        url(../img/lp03/con05_img03.png) no-repeat 50% 65% / 100%,
        url(../img/lp03/bg01.png),
        #fff;
}
.con11_closing_con03 > div {
    position: relative;
}

/*-------------------------------------
content12
-------------------------------------*/
.con12_wrap {
}
.con12_inner {
}
.con12_ttl {
    padding-top: calc(var(--m_ps5) + 10px);
    padding-bottom: calc(var(--m_ps5) + 10px);
}
.con12_main {
    background: #dfe6e6;
}
.con12_main_arrow {
    text-align: center;
    transform: translateY(-20px);
}
.con12_main_ttl {
    text-align: center;
    margin-bottom: var(--m_ps5);
}
.con12_main_end {
    background: url(../img/lp03/con12_img05.jpg) no-repeat 50%;
    text-align: center;
    padding-top: 35px;
    padding-left: 20px;
    padding-right: 20px;
}

/*-------------------------------------
content13
-------------------------------------*/
.con13_wrap {
}
.con13_ttl {
    margin-bottom: var(--m_ps5);
}
.con13_main {
    max-width: 862px;
    margin-left: auto;
    margin-right: auto;
}
.con13_main > div:not(:last-child) {
    margin-bottom: 30px;
}

/*-------------------------------------
content14
-------------------------------------*/
.con14_wrap {
    background: #cceaf7;
}
.con14_inner {
}
.con14_wrap .wpcf7-form_form {
    box-shadow: none;
    border: 5px solid #181818;
    border-radius: var(--border_r);
    background: #fff;
    margin-bottom: var(--m_ps5);
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: var(--m_ps3);
    display: flex;
    flex-flow: column;
    gap: 20px;
}
.con14_wrap .wpcf7c_submit input[type="submit"] {
    background: var(--m_color2);
    box-shadow: 3px 9px 20px 0 rgba(25, 146, 212, 0.3);
    color: #fff;
    border-radius: 100px;
    padding: 15px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.18em;
    width: 100%;
    max-width: 250px;
    cursor: pointer;
}
.con14_wrap .wpcf7c_submit input[type="submit"]:hover {
    opacity: 0.8;
}
.con14_wrap .wpcf7-form-control-wrap input:not([name="acceptance-001"]),
.con14_wrap .wpcf7-form-control-wrap textarea {
    border: none;
    background: #eee;
    width: 100%;
    padding: 8px;
    border-radius: 3px;
    font-family: var(--font_ja);
    font-size: 16px;
    line-height: 1.6;
}
.con14_wrap .wpcf7-form_form + *,
.con14_wrap .wpcf7-form_form + * + * {
    text-align: center;
}
.con14_wrap .wpcf7c-elm-step2 {
    margin-top: 30px;
    margin-bottom: 20px;
}
.con14_wrap .wpcf7c_submit {
    display: flex;
    align-items: center;
    justify-content: center;
}
.con14_wrap .wpcf7c_submit p {
    display: flex;
    align-items: center;
    justify-content: center;
}
.con14_wrap .wpcf7-spinner {
    display: none;
}
form.wpcf7-form .required {
    position: relative;
}
form.wpcf7-form .required:before {
    background: #e74c3c;
    color: #fff;
    content: "必須";
    display: inline-block;
    font-size: 10px;
    font-weight: normal;
    margin-right: 5px;
    padding: 0 5px 0 5px;
    width: auto;
}
form.wpcf7-form .required2 {
    position: relative;
}
form.wpcf7-form .required2:before {
    background: #2196f3;
    color: #fff;
    content: "任意";
    display: inline-block;
    font-size: 10px;
    font-weight: normal;
    margin-right: 5px;
    padding: 0 5px 0 5px;
    width: auto;
}
.con14_wrap .wpcf7-form_form label {
}
.con14_wrap .wpcf7-form-control-wrap {
    display: block;
    margin-top: 10px;
}
input::placeholder {
    color: #ddd;
}
input::-moz-input-placeholder {
    color: #ddd;
}
input::-ms-input-placeholder {
    color: #ddd;
}
textarea::placeholder {
    color: #ddd;
}
textarea::-ms-placeholder {
    color: #ddd;
}
textarea::-moz-placeholder {
    color: #ddd;
}

/*-------------------------------------
送信完了
-------------------------------------*/
body.page-template-lp03_thanks .main:before {
    background:
        url(../img/common/bg_icon01.svg) no-repeat 148% -3% / 50%,
        url(../img/common/bg_icon02.svg) no-repeat -36% 25% / 50%,
        url(../img/common/bg_icon03.svg) no-repeat 130% 60% / 50%,
        url(../img/common/bg_icon01.svg) no-repeat -10% 100% / 50%;
    content: "";
    height: 100%;
    left: 0;
    opacity: 0.5;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}
.lp03_thanks_inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 100px;
    padding-top: 100px;
}
.lp03_thanks .header_img_other {
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    width: 100%;
}
.lp03_thanks_inner .header_img_other h1 {
    color: var(--f_color);
    margin-bottom: var(--m_ps5);
    font-size: 40px;
    font-weight: 900;
    font-family: var(--font_ja);
}

.lp03_thanks_inner .header_img_other h1:before {
    content: attr(data-text);
    display: block;
    font: 26px / 1 var(--font_en2);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--f_color);
    text-align: center;
}

.contact_tel_wrap {
    background: #fff;
    border-radius: max(10px, min(15px, calc((100vw - 10px - 100%) * 9999)));
    box-shadow: 10px 10px 20px 0 rgba(214, 224, 227, 0.67);
    margin-bottom: 30px;
    padding: 40px 30px;
}
.contact_tel_wrap i {
    font-size: 70px;
    margin-right: 5px;
}
.contact_tel_wrap a {
    color: var(--f_color);
    font: 70px "din1451alt";
    letter-spacing: 0.03em;
    text-decoration: none;
}
.contact_other_wrap {
    align-items: flex-end;
    justify-content: space-between;
}
.contact_other_wrap > div {
    width: 48%;
}
.contact_other_wrap > div img {
    max-height: 219.45px;
}

/*submitボタンの装飾*/
.wpcf7c_submit {
    text-align: center;
}
.wpcf7c_submit input,
.wpcf7cp-btns > button {
    border: none;
    border-radius: 40px;
    -webkit-box-shadow: 0 3px 10px rgba(152, 165, 183, 0.47);
    box-shadow: 0 3px 10px rgba(152, 165, 183, 0.47);
    color: #fff;
    display: block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.18em;
    /* margin: 15px auto 0; */
    max-width: 250px;
    outline: none;
    padding: 15px;
    transition: 0.3s;
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 100%;
    z-index: 0;
}
.wpcf7c_submit input[type="submit"],
.wpcf7cp-btns > button {
    background: #004bb1;
    background: -moz-linear-gradient(45deg, #004bb1 0%, #0062c4 25%, #007bd7 45%, #0098ec 65%, #00beff 100%);
    background: -webkit-linear-gradient(45deg, #004bb1 0%, #0062c4 25%, #007bd7 45%, #0098ec 65%, #00beff 100%);
    background: linear-gradient(45deg, #004bb1 0%, #0062c4 25%, #007bd7 45%, #0098ec 65%, #00beff 100%);
    -webkit-box-shadow: 3px 9px 20px 0 rgba(25, 146, 212, 0.3);
    box-shadow: 3px 9px 20px 0 rgba(25, 146, 212, 0.3);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#004bb1', endColorstr='#00beff', GradientType=1);
    text-align: center;
    margin: 0 !important;
    font-family: var(--font_ja);
    z-index: 2 !important;
}
.con14_wrap div.wpcf7cp-btns {
    display: flex;
    gap: 3vw;
    justify-content: center;
    margin-top: 50px;
}
.wpcf7cp-btns > button:nth-child(1) {
    background: #aaa;
    margin: 0;
}
.wpcf7c_submit input[type="submit"]:hover {
    opacity: 0.8;
}
.wpcf7c_submit input[type="submit"]:hover {
}
.wpcf7c_submit input[type="button"] {
    background: linear-gradient(90deg, #a3b3e3 0%, #6e6e6e 45%, #8c8c8c 100%);
}

/*-------------------------------------
確認画面ページ Confirm Plus Contact Form 7
-------------------------------------*/
.con14_wrap #wpcf7cpcnf {
    z-index: 2;
}
#wpcf7cpcnf table {
    background: #fff;
    border-radius: max(10px, min(15px, calc((100vw - 10px - 100%) * 9999)));
    box-shadow: 10px 10px 20px 0 rgb(214 224 227 / 67%);
    padding: 40px 30px 25px;
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
#wpcf7cpcnf table th {
    display: block;
    padding: 10px 30px 0;
    text-align: left;
}
#wpcf7cpcnf table td {
    background: #eee;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    display: block;
    display: block;
    font-size: 100%;
    line-height: 1.6;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    min-height: 43.59px;
    padding: 8px;
    width: calc(100% - 60px);
}
#wpcf7cpcnf tr:nth-child(1) th {
    margin-top: 20px;
}
#wpcf7cpcnf tr:last-child td {
    margin-bottom: 40px;
}
#wpcf7cpcnf th p:before {
    background: #2196f3;
    color: #fff;
    content: "任意";
    display: inline-block;
    font-size: 10px;
    font-weight: 400;
    margin-right: 5px;
    padding: 0 5px;
    width: auto;
}
#wpcf7cpcnf tr:nth-child(9) th p:before,
#wpcf7cpcnf tr:nth-child(7) th p:before,
#wpcf7cpcnf tr:nth-child(6) th p:before,
#wpcf7cpcnf tr:nth-child(3) th p:before,
#wpcf7cpcnf tr:nth-child(1) th p:before {
    background: #e74c3c;
    color: #fff;
    content: "必須";
    display: inline-block;
    font-size: 10px;
    font-weight: 400;
    margin-right: 5px;
    padding: 0 5px;
    width: auto;
}

/*-------------------------------------
footer
-------------------------------------*/
.footer {
    background: linear-gradient(-7deg, #00b2f2 0%, #00b2f2 62%, var(--m_color2) 50%, var(--m_color2) 100%);
    padding: 100px 0 0;
}
.footer_logo {
    width: 100%;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
}
.footer_logo p {
    font-size: clamp(13px, 3vw, 22px);
    color: #fff;
    margin-bottom: 5px;
}
.footer_link {
    text-align: center;
    margin-bottom: var(--m_ps8);
}
.footer_link a {
    color: #fff;
}
.copyright {
    border: none;
    color: #fff;
    font-size: 11px;
    padding: 30px 20px 100px;
    text-align: center;
    background: var(--m_color2);
}
.copyright p {
    color: #fff;
}

/*A8のタグ*/
#a8sales {
    height: 0;
    display: block;
}

/*TOPに戻る*/
#page-top {
    right: 20px;
}
#page-top a i {
    background: var(--m_color2);
    color: #ffffff;
    font-size: 30px;
    font-weight: bold;
    padding: 10px 12px;
    position: relative;
}

/*フローティングバナー*/
.floating_banner {
    display: none;
    background: #00b2f2;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9;
}
.floating_banner_inner {
    padding-top: 10px;
    padding-bottom: 10px;
    justify-content: center;
    align-items: center;
    gap: min(30px, 4vw);
}
.floating_banner_inner .txt {
    width: 100%;
    max-width: 480px;
}
.floating_banner_inner .lp_cta_btn02 {
    position: relative;
    width: 100%;
    max-width: 360px;
}
.floating_banner_inner .lp_cta_btn02:before {
    content: "";
    background: url(../img/lp03/cta_img02.png) no-repeat 50% / contain;
    aspect-ratio: 314/371;
    height: auto;
    position: absolute;
    width: min(80px, 11vw);
    left: 100%;
    bottom: -10px;
}
.floating_banner_inner .lp_cta_btn02 a {
    width: 100%;
    height: auto;
    padding-top: 15px;
    padding-bottom: 15px;
    border-width: 4px;
}

/*リキャプチャ recaptcha*/
.grecaptcha-badge {
    z-index: 99;
    bottom: 90px !important;
}

/*-------------------------------------
メディアクエリ
-------------------------------------*/
.pc_none2 {
    display: none;
}
@media only screen and (max-width: 1050px) {
    .floating_banner_inner .lp_cta_btn02:before {
        display: none;
    }
}
@media only screen and (max-width: 768px) {
    .dot_bg3 {
        background-size: 25.5px;
        /* padding-bottom: calc(var(--main_mp) * 1); */
    }
    .pc_none2 {
        display: block;
    }
    /*-------------------------------------
    cta
    -------------------------------------*/
    .lp03_cta_inner:before {
        /* width: 30vw; */
        /* background-size: contain; */
        /* bottom: auto; */
        /* top: -30px; */
        /* left: auto; */
        /* right: 0; */
    }
    .lp03_cta_ttl {
        /* width: 75%; */
        padding: 0;
        /* padding-right: 25vw; */
    }
    .lp03_cta_inner_inner p:nth-child(2) {
        padding-left: 0;
        text-align: left;
        margin-left: auto;
        margin-right: auto;
        width: fit-content;
    }
    .lp03_cta_inner_inner .lp03_cta_btn_wrap + p {
        text-align: center;
    }
    .lp03_cta_btn_wrap {
        /* justify-content: space-between; */
    }
    .lp_cta_btn01,
    .lp_cta_btn02 {
        width: 100%;
    }
    .lp_cta_btn01 a,
    .lp_cta_btn02 a {
        margin-left: auto;
        width: min(500px, 90%);
        margin-right: auto;
        height: min(86px, 15vw);
    }
    .lp_cta_btn01 a img,
    .lp_cta_btn02 a img {
        width: min(233px, 80%);
    }

    .lp03_02_cta_inner:before {
        display: none;
    }
    .lp03_02_cta_inner .lp03_cta_ttl picture {
        padding: 0;
    }

    /*-------------------------------------
    header
    -------------------------------------*/
    body.page-template-inclp03-php .header {
        height: auto;
        padding-top: 90px;
        padding-bottom: 50px;
        background: url(../img/lp03/sp/header_bg_sp.jpg) no-repeat 0 0 / cover;
    }

    body.page-template-inclp03-php .main_wrap {
        padding-top: 0;
    }

    .header_item {
        margin-top: 20px;
    }

    /*-------------------------------------
    con04
    -------------------------------------*/
    .con04_ttl {
        margin-bottom: 20px;
    }

    /*-------------------------------------
    con05
    -------------------------------------*/
    .con05_ttl + p {
        text-align: left;
    }
    .con05_ng {
        background: url(../img/lp03/con05_img03.png) no-repeat 50% 93% / 200%;
    }
    .con05_ok {
        margin-bottom: 30px;
    }

    /*-------------------------------------
    con06
    -------------------------------------*/
    .con06_wrap {
        /* background:
            url(../img/lp03/con06_img08.png) no-repeat 50% bottom / 178%,
            url(../img/lp03/bg01.png) 0 / 25.5px; */
    }

    .con06_mid_main {
        /* display: block; */
    }
    .con06_mid_main:before {
        /* height: 2px; */
        /* width: 100%; */
        /* left: 0; */
        /* top: 50%; */
        /* transform: translate(0, -50%); */
    }
    .con06_mid_main > div {
        text-align: center;
    }
    .con06_mid_main > div:nth-child(1) {
        /* margin-bottom: 30px; */
        /* padding-bottom: 30px; */
        padding-left: 20px;
        padding-right: 20px;
    }
    .con06_bt_ttl {
        /* height: 14vw; */
        /* min-height: 38px; */
    }
    .con06_bt_ttl:before {
        width: min(110px, 20vw);
        left: 16%;
        top: -34%;
        /* bottom: -47%; */
    }
    .con06_bt_ttl:after {
    }
    .con06_bt_inner > p {
        font: 400 clamp(16px, 3vw, 25px) / 1.8 var(--font_ja);
    }
    .con06_bt_inner > p:after {
        content: none;
    }

    .con06_arrow_icon {
        margin-bottom: 30px;
    }
    .con06_img07 {
        flex-flow: column;
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .con06_img07 > div {
    }

    /*-------------------------------------
    con07
    -------------------------------------*/
    .con07_wrap {
        background: url(../img/lp03/con05_img03.png) no-repeat 0% 92% /1500px;
    }
    .con07_main {
        display: block;
    }
    .con07_main > div {
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }
    .con07_main > div:not(:last-child) {
        margin-bottom: 30px;
    }
    .con07_main > div:nth-child(1):before {
        width: min(75px, 18vw);
    }

    /*-------------------------------------
    con08
    -------------------------------------*/
    .con08_main > div:nth-child(2) img {
        width: min(592px, 75vw);
        transform: translate(8%, -22%);
    }

    /*-------------------------------------
    con09
    -------------------------------------*/
    .con09_main_con {
        display: block;
    }
    .con09_main > div:not(:last-child) {
        margin-bottom: 20px;
    }
    .con09_main_con_left {
        margin-left: 4vw;
        margin-bottom: -9vw;
    }
    .con09_main_con_right {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .con09_main_con_right > div:not(.lp03_cta_btn_wrap) {
        padding-left: min(168px, 28vw);
        padding-top: min(58px, 3vw);
        padding-bottom: min(27px, 4vw);
    }
    .con09_main_con_right > div:not(.lp03_cta_btn_wrap) img {
        width: min(418px, 55vw);
    }
    .con09_main_con_right p {
        font-size: clamp(16px, 3vw, 28px);
        padding-left: min(100px, 3vw);
        padding-right: min(100px, 3vw);
    }
    .con09_main_con_right p + .lp03_cta_btn_wrap {
        justify-content: center;
        padding-left: min(100px, 3vw);
        padding-right: min(100px, 3vw);
    }
    .con09_main_con_right .lp_cta_btn01,
    .con09_main_con_right .lp_cta_btn02 {
        width: 50%;
    }

    /*-------------------------------------
    con11
    -------------------------------------*/
    .con11_wrap {
        background:
            url(../img/lp03/con11_img01.png) repeat-x 0 0 /60vw,
            url(../img/lp03/con11_img01.png) repeat-x 0 100% / 60vw,
            #222a34;
    }
    .con11_main {
        flex-flow: column;
    }
    .con11_main > div {
        width: 100%;
    }
    .con11_closing_con01 {
        padding-top: 0;
        padding-bottom: var(--m_ps8);
    }
    .con11_closing_con01 picture {
        margin-top: calc(var(--m_ps5) * -0.7);
    }
    .con11_closing_con01 picture:before {
        width: 19%;
        left: 10px;
        top: 0px;
    }

    /*-------------------------------------
    con12
    -------------------------------------*/
    .con12_main > .con12_main_ttl + div {
        padding: 0 10px;
    }

    /*-------------------------------------
    con14
    -------------------------------------*/
    .con14_ttl {
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 550px) {
    /*-------------------------------------
    定義
    -------------------------------------*/
    :root {
        --m_ps3: 20px;
        --m_ps5: 30px;
        --m_ps8: 50px;
        --p100: 50px;
        --main_mp: 50px;
    }

    .main_pa {
        padding-bottom: 50px;
        padding-top: 50px;
    }
    .main_col {
        margin-bottom: 50px;
    }
    /*-------------------------------------
    header
    -------------------------------------*/
    .lp03_logo {
        width: 120px;
        top: 20px;
        left: 20px;
    }

    .header_item {
        margin-top: 10px;
    }
    body.page-template-inclp03-php .header {
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 90px;
        padding-bottom: 70px;
    }

    /*リチャプチャ*/
    .grecaptcha-badge {
        bottom: 20px !important;
    }

    /*-------------------------------------
    cta
    -------------------------------------*/
    .lp03_cta_ttl {
        width: 100%;
        margin-left: 0;
        margin-bottom: 5px;
        filter: drop-shadow(2px 0 0 #007cd8) drop-shadow(-2px 0 0 #007cd8) drop-shadow(0 2px 0 #007cd8)
            drop-shadow(0 -2px 0 #007cd8);
    }
    .lp03_cta_inner_inner p:nth-child(2) {
        margin-left: 0;
        text-align: left;
        font-size: 13px;
        margin-left: auto;
        margin-right: auto;
    }
    .lp03_cta_inner_inner > p:last-child {
        margin: 0;
        font-size: 13px;
        font-weight: normal;
        margin-left: auto;
        margin-right: auto;
        text-align: left;
        width: fit-content;
    }
    .lp03_cta_btn_wrap {
        display: block;
        margin-bottom: 15px;
    }
    .lp_cta_btn01,
    .lp_cta_btn02 {
        width: 100%;
        /* margin-bottom: 15px; */
    }
    .lp_cta_btn01 a,
    .lp_cta_btn02 a {
        height: min(86px, 20vw);
    }
    .lp03_cta_inner:before {
        bottom: auto;
        top: -25px;
        width: 28%;
    }

    .lp03_cta_inner {
        padding-top: var(--m_ps3);
    }

    /*-------------------------------------
    con01
    -------------------------------------*/
    .con01_inner {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    /*-------------------------------------
    con04
    -------------------------------------*/
    .con04_other_itm {
        width: 110%;
        transform: translate(-4%, -25px);
    }

    /*-------------------------------------
    con06
    -------------------------------------*/
    .con06_bt_ttl:before {
        top: -71%;
        width: min(110px, 16vw);
    }

    /*-------------------------------------
    con08
    -------------------------------------*/
    .con08_ttl + p {
        margin: 0;
        text-align: left;
    }

    /*-------------------------------------
    con09
    -------------------------------------*/
    .con09_main_con_right .lp_cta_btn01,
    .con09_main_con_right .lp_cta_btn02 {
        width: 100%;
    }
    .con09_main_con_right .lp_cta_btn01 a,
    .con09_main_con_right .lp_cta_btn02 a {
        height: min(86px, 20vw);
    }

    .con09_main_con_right > div:not(.lp03_cta_btn_wrap) {
        padding-left: 20vw;
        padding-top: 1vw;
        padding-bottom: 3vw;
    }
    .con09_main_con_right > div:not(.lp03_cta_btn_wrap) img {
        width: min(191px, 51vw);
    }
    .con09_main_con_left {
        width: 18.21%;
        margin-left: 3.5vw;
    }

    /*-------------------------------------
    con10
    -------------------------------------*/
    .con10_ttl + p {
        text-align: left;
    }
    .con10_item {
        height: 80vh;
    }
    .con10_main .slick-prev,
    .con10_main .slick-next {
        opacity: 0.5;
        width: 30px;
        padding: 0;
    }
    .con10_main .slick-prev:before,
    .con10_main .slick-next:before {
        font-size: 13px;
    }

    /*-------------------------------------
    con11
    -------------------------------------*/
    .con11_main + p {
        font-size: 13px;
        text-align: left;
    }
    .con11_closing_con01 {
        padding-bottom: 30px;
    }
    .con11_closing_con03 {
        padding-bottom: 0;
    }

    /*-------------------------------------
    con14
    -------------------------------------*/
    .con14_ttl {
        margin-bottom: 15px;
    }
    .con14_wrap .wpcf7-form_form {
        border-radius: 10px;
        border-width: 4px;
    }

    /*-------------------------------------
    footer
    -------------------------------------*/
    .footer_logo {
        max-width: 100%;
        width: 50%;
    }

    /*リチャプチャ*/
    .grecaptcha-badge {
        bottom: 10px !important;
    }

    .floating_banner {
        background: none;
    }
    .floating_banner_inner .txt {
        display: none;
    }
    .floating_banner_inner .lp_cta_btn02 {
        padding-right: 60px;
    }
    .floating_banner_inner .lp_cta_btn02:before {
        display: none;
    }
}
