@charset "UTF-8";
/* # Global ---------------------------------------------- */
/** Default box-sizing */
*, ::before, ::after { -webkit-box-sizing: inherit; box-sizing: inherit; }

/** Resetting margins, paddings, and borders */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; }

/** Resetting HTML5 Elements for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section { display: block; }

/* # Document & Sections ---------------------------------------------- */
html { -webkit-box-sizing: border-box; box-sizing: border-box; min-height: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body { min-height: 100%; font-size: 16px; letter-spacing: 0.05em; text-rendering: optimizeLegibility; -webkit-overflow-scrolling: touch; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt";}

/* # Grouping content ---------------------------------------------- */
blockquote, q { quotes: none; }

blockquote:after, blockquote:before, q:after, q:before { content: ""; content: none; }

hr { overflow: visible; }

ol, ul { list-style: none; }

pre { font-family: monospace; font-size: 1em; }

/* # Text-level semantics ---------------------------------------------- */
a { background-color: transparent; -webkit-text-decoration-skip: objects; }

a:active, a:hover { outline-width: 0; }

abbr[title] { border-bottom: none; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; text-decoration: underline; }

b, strong { font-weight: bolder; }

code, kbd, samp { font-family: monospace; font-size: 1em; }

dfn { font-style: italic; }

mark { background-color: #ff0; color: #000; }

small { font-size: 0.8em; }

sub, sup { position: relative; font-size: 0.75em; line-height: 0; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* # Embedded content ---------------------------------------------- */
audio, canvas, progress, video { display: inline-block; }

audio:not([controls]) { display: none; height: 0; }

img, video { max-width: 100%; height: auto; vertical-align: bottom; }

svg:not([fill]) { fill: currentColor; }

svg:not(:root) { overflow: hidden; }

/* # Tabular data ---------------------------------------------- */
table { border-spacing: 0; border-collapse: collapse; }

/* # Forms ---------------------------------------------- */
button, input, optgroup, select, textarea { margin: 0; font: inherit; }

button, select { text-transform: none; }

button, input { overflow: visible; }

button, [type="button"], [type="reset"], [type="submit"], [role="button"] { cursor: pointer; -webkit-appearance: button; }

button:-moz-focusring, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { outline: 1px dotted ButtonText; }

legend { display: table; max-width: 100%; color: inherit; white-space: normal; }

optgroup { font-weight: bold; }

progress { vertical-align: baseline; }

textarea { overflow: auto; resize: vertical; }

[type="checkbox"], [type="radio"] { padding: 0; }

[type="search"] { outline-offset: -2px; -webkit-appearance: textfield; }

::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; }

/* # Interactive & Misc ---------------------------------------------- */
summary { display: list-item; }

template, [hidden] { display: none; }

/* # Accessibility ---------------------------------------------- */
[disabled], [aria-disabled="true"] { cursor: not-allowed; }

[aria-busy="true"] { cursor: progress; }

[aria-controls] { cursor: pointer; }

[aria-hidden="false"][hidden] { display: initial; }

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

:focus:not(:focus-visible), ::before:focus:not(:focus-visible), ::after:focus:not(:focus-visible) { outline: none; }

/** Prettier ignore */
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { -webkit-transition: none !important; transition: none !important; -webkit-animation: none !important; animation: none !important; scroll-behavior: auto !important; } }

:root { --color-main: #ED7700; --color-sub: #007CCF; --ff-serif:  'Noto Serif JP', serif; --fz-medium: 18px; }

/* Base -----------------------------------------------------*/
body { font-size: 1rem; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.05em;background-image: linear-gradient(to right, #D1FDff 0%, #FDDB92 100%); }

.inner { max-width: 1120px; margin-right: auto; margin-left: auto; }

.btn-link { display: inline-block; position: relative; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }

.btn-link { width: 80%; }

.btn-link::before { content: ''; display: block; position: absolute; width: 100%; height: 100%; background: rgba(160, 160, 160, 0.75); z-index: 0; top: 5px; left: 10px; border-radius: 4px; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }

.btn-link img { display: block; position: relative; z-index: 2; }

.btn-link:hover { opacity: 0.8; }

.btn-link:active { -webkit-transform: translate(10px, 5px); -ms-transform: translate(10px, 5px); transform: translate(10px, 5px); }

.btn-link:active::before { -webkit-transform: translate(-10px, -5px); -ms-transform: translate(-10px, -5px); transform: translate(-10px, -5px); }

.btn-link-1 { display: inline-block; position: relative; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }

.btn-link-1 { width: 40%; }

.btn-link-1::before { content: ''; display: block; position: absolute; width: 100%; height: 100%; background: rgba(160, 160, 160, 0.75); z-index: 0; top: 5px; left: 10px; border-radius: 4px; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }

.btn-link-1 img { display: block; position: relative; z-index: 2; }

.btn-link-1:hover { opacity: 0.8; }

.btn-link-1:active { -webkit-transform: translate(10px, 5px); -ms-transform: translate(10px, 5px); transform: translate(10px, 5px); }

.btn-link-1:active::before { -webkit-transform: translate(-10px, -5px); -ms-transform: translate(-10px, -5px); transform: translate(-10px, -5px); }

.maincolor { color: var(--color-main); }

.subcolor { color: var(--color-sub); }

.fw-bold { font-weight: bold; }

.sectitle { text-align: center; font-size: 3rem; letter-spacing: 0.1em; }

.sectitle img { display: block; margin-right: auto; margin-left: auto; }

.sectitle::before { content: ''; display: block; width: 120px; height: 62px; background: url(../img/sec01-arrow.png) no-repeat center/contain; margin-bottom: 20px; margin-right: auto; margin-left: auto; }

.sectitle.arrow-blue::before { background: url(../img/sec02-arrow.png) no-repeat center/contain; }

.marker { display: inline-block; background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, #fff), color-stop(60%, #FFC68D)); background: linear-gradient(to bottom, #fff 40%, #FFC68D 60%); }

.secmessage { font-size: 24px; }

.cta-buttons { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.cta-buttons .btn-link { width: 430px; max-width: calc(50% - 20px); }

.sec { padding: 80px 0; }

.sec .inner { padding-left: 80px; padding-right: 80px; }

.flex { display: -webkit-box; display: -ms-flexbox; display: flex; }

/* utility -----------------------------------------------------*/
.tac { text-align: center; }

.mt-10 { margin-top: 10px; }

.mt-20 { margin-top: 20px;text-align: left; }

.mt-30 { margin-top: 30px; }

.mt-40 { margin-top: 40px; }

.mt-50 { margin-top: 50px; }

.mt-60 { margin-top: 60px; }

.mt-70 { margin-top: 70px; }

.mt-80 { margin-top: 80px; }

.mt-90 { margin-top: 90px; }

.mt-100 { margin-top: 100px; }

/* header -----------------------------------------------------*/
.header { background: url(../img/head-bg01.png) no-repeat top center/100% auto, url(../img/head-bg02.png) no-repeat bottom center/100% auto; padding-bottom: 110px; }

.header-copybox { background: #ffffff; padding: 80px; }

.header-copybox .copyimg { height: 235px; width: auto; margin-right: auto; margin-left: auto; display: block; margin-bottom: 40px; }

/* main -----------------------------------------------------*/
.sec00 { background: url(../img/sec00_bg.png) no-repeat center/cover; }

.sec00 img { max-width: 100%; margin-right: auto; margin-left: auto; }

.about .secmessage { text-align: left; margin: 20px 0 30px; }

.about-box { display: -webkit-box; display: -ms-flexbox; display: flex; font-size: 24px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.about-box p { letter-spacing: 0.05em; }

.about-box .textarea span.fz-lg { font-size: 1.5em; }

.problem { background: #E4F4FF; }

.problem .sectitle { color: #004C80; }

.problem-message { font-size: 36px; }

.problem2 { background: url(../img/sec03-bg.jpg); }

.problem2-title { font-size: 36px; letter-spacing: 0.1em; }

.problem2-title .num { font-size: 1.77778em; }

.problem2-title::before { content: ''; display: block; width: 120px; height: 62px; background: url(../img/sec02-arrow.png) no-repeat center/contain; margin-bottom: 20px; margin-right: auto; margin-left: auto; }

.problem2-message { font-size: 24px; letter-spacing: 0.05em; line-height: 1.7; }

.problem2-message p + p { margin-top: 2em; }

.problem2-message .subcolor { font-weight: bold; }

.problem2-copy { font-size: 40px; letter-spacing: 0.05em; }

.point-header { background-image: linear-gradient(to right, #FAD961 0%, #F76B1C 100%); }

.point-header .inner { max-width: 1275px; padding-left: 0; padding-right: 0; }

.point-title { text-align: center; color: #fff; font-size: 40px; letter-spacing: 0.05em; font-weight: 500; }

.point-header__box { background: #fff; margin-top: 60px; padding: 40px 7.14286%; }

.point-header__box .title { text-align: center; font-weight: bold; font-size: 40px; letter-spacing: 0.05em; }

.point-header__box .title .title-border { border-bottom: 5px solid #000; display: inline-block; padding-bottom: 10px; }

.point-header__box .title .num { margin-right: 12px; }

.point-header__box .title .maincolor { font-size: 1.5em; letter-spacing: 0.05em; }

.point-header__list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.point-header__list li { width: calc(50% - 8px); }

.point-header__list li:nth-child(n+3) { margin-top: 10px; }

.point-detail { background: url(../img/sec06-bg.png); }

.point-detail .inner { padding-left: 0; padding-right: 0; }

.point-detail__box { background: #F8F0E8; border-radius: 10px; padding: 1px; font-size: 18px; }

.point-detail__box + * { margin-top: 100px; }

.point-detail__box .titlewrap { padding: 20px 80px 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 24px; }

.point-detail__box .titlewrap img { margin-right: 40px; -ms-flex-negative: 0; flex-shrink: 0; }

.point-detail__box .titlewrap h3 { font-weight: bold; font-size: 45px; text-align: left; letter-spacing: 0.05em; }

.point-detail__box .titlewrap h3 .maincolor { background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #fff)); background: linear-gradient(to bottom, transparent 60%, #fff 40%); margin-bottom: 10px; }

.point-detail__box .contents-inner { background: #fff; padding: 40px 79px; }

.point-detail .point01 { font-size: var(--fz-medium); }

.point-detail .point01 h4 { color: #004C80; font-size: 24px; font-weight: bold; padding-bottom: 10px; border-bottom: 3px solid #000; margin-bottom: 20px; }

.point-detail .point01 small { font-size: 1rem; }

.point-detail .point02 h4 { font-size: 45px; letter-spacing: 0.05em; }

.point-detail .point02 h4 .marker { background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, #FED0A4)); background: linear-gradient(to bottom, #fff 50%, #FED0A4 50%); }

.point-detail .point02 .flex { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.point-detail .point02 ul { margin-top: 30px; }

.point-detail .point02 ul li { padding-left: 60px; font-weight: bold; font-size: 28px; letter-spacing: 0.05em; position: relative; }

.point-detail .point02 ul li + * { margin-top: 30px; }

.point-detail .point02 ul li::before { content: ''; display: block; position: absolute; top: 4px; left: 0; width: 30px; height: 30px; background: url(../img/icon_checklist.svg) no-repeat center/contain; }

.point-detail .point03 .title { font-weight: bold; color: #007CCF; font-size: 45px; border-bottom: 3px solid #000; padding-bottom: 20px; margin-bottom: 20px; }

.point-detail .point03 .flex { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 30px; }

.point-detail .point03 .flex .image { width: 330px; }

.point-detail .point03 .flex .textarea { width: 600px; }

.point-detail .point03 .flex.reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }

.point-detail .point03 .contents-inner h3 { text-align: center; font-size: 36px; margin-top: 80px; margin-bottom: 80px; }

.point-detail .point03 .second .title { color: #1D1D1D; border-color: var(--color-sub); font-size: 32px; }

.point-detail .point04 .titlewrap { padding-bottom: 30px; }

.point-detail .point04 .flex { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.point-detail .point04 .flex .image { width: 400px; }

.point-detail .point04 .flex .textarea { width: 480px; }

.point-detail .point04 .reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }

.point-detail .point04 .title { font-weight: bold; font-size: 32px; margin-bottom: 20px; letter-spacing: 0.05em; }

.point-detail .point04 .title span { font-size: 0.625em; display: block; }

.point-detail .point04 .center-img { margin-right: auto; margin-left: auto; display: block; }

.point-detail .point04 .price { text-align: center; margin-top: 40px; font-size: 24px; }

.point-detail .point04 .price .subtitle { font-size: 32px; font-weight: 500; }

.point-detail .point04 .price .subtitle::before { content: '＼'; }

.point-detail .point04 .price .subtitle::after { content: '／'; }

.point-detail .point04 .second.flex { margin-top: 40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.point-detail .point04 .second.flex .title { font-size: 2em; margin-bottom: 20px; }

.point-detail .point04 .second.flex .title span { display: inline-block; font-size: inherit; }

.recommend { background: #F8F5F1; }

.recommend .inner { padding-left: 0; padding-right: 0; }

.recommend-voice + * { margin-top: 80px; }

.recommend-voice h2 { height: 115px; text-align: center; color: #fff; font-size: 45px; padding-top: 16px; letter-spacing: 0.05em; background: url(../img/recommend_titlebg.png) no-repeat center/auto 115px; margin-bottom: 40px; }

.recommend-voice .voice-inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.recommend-voice .picture { width: 420px; padding-left: 40px; padding-right: 40px; font-family: var(--ff-serif); }

.recommend-voice .picture img { margin-right: auto; margin-left: auto; width: 340px; margin-bottom: 20px; }

.recommend-voice .picture .name { font-weight: bold; font-size: var(--fz-medium); margin-bottom: 20px; }

.recommend-voice .picture .history { display: none; font-size: 14px; }

.recommend-voice .picture .history p:first-child { font-size: 15px; }

.recommend-voice .picture p + p { margin-top: 20px; }

.recommend-voice .voice-main { width: 700px; background: #fff; border-radius: 20px; padding: 50px; }

.recommend-voice .voice-main .title { font-size: 36px; font-weight: bold; letter-spacing: 0.05em; margin-bottom: 40px; }

.recommend-voice .voice-main p { font-size: var(--fz-medium); letter-spacing: 0.05em; line-height: 1.7; }

.recommend-voice .voice-main p + p { margin-top: 40px; }

.recommend-voice .details { display: none; }

.recommend-voice .morebtn { margin-top: 40px; text-align: right; font-weight: bold; }

.recommend-voice .morebtn a { text-decoration: none; }

.recommend-voice .morebtn a .close { display: none; color: #BEB9B9; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.recommend-voice .morebtn a .close::after { content: ''; display: block; width: 14px; height: 14px; background: url(../img/icon_close.svg) no-repeat center/contain; margin-left: 10px; }

.recommend-voice .morebtn a .open { color: var(--color-main); display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.recommend-voice .morebtn a .open::after { content: ''; display: block; width: 14px; height: 14px; background: url(../img/icon_plus.svg) no-repeat center/contain; margin-left: 10px; }

.recommend-voice .morebtn a.is-open .close { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }

.recommend-voice .morebtn a.is-open .open { display: none; }

.cta { background-image: linear-gradient(to right, #EEF8F3 0%, #7FC7A4 100%); }

.cta .inner { padding-left: 0; padding-right: 0; }

.cta-box { background: #fff; border-radius: 10px; padding: 50px 80px; text-align: center; font-size: 24px; }

.cta-title { font-size: 28px; margin-bottom: 20px; }

.cta-tel { background: #F8F5F1; padding: 30px; font-size: 32px; letter-spacing: 0.05em; }

.voice .inner { padding-right: 0; padding-left: 0; }

.voice-item { background: #f7f8cf; border-radius: 20px; padding: 50px 80px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.voice-item + * { margin-top: 60px; }

.voice-item .textarea { width: calc(100% - 240px); font-size: var(--fz-medium); line-height: 1.7; }

.voice-item .textarea p + p { margin-top: 20px; }

.voice-item .textarea .name { margin-top: 30px; }

.voice-item .image { width: 200px; }

.tokuten { background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%); }

.tokuten-title { text-align: center; background: url(../img/sec07-img01.png) no-repeat center/auto 100%; height: 262px; padding-top: 22px; }

.tokuten-title .text01 { color: #fff; display: block; font-size: 40px; }

.tokuten-title .text02 { color: #007CCF; display: block; font-size: 45px; margin-top: 20px; }

.tokuten-inner { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 30px; margin-left: -80px; margin-right: -80px; }

.tokuten-box { background: #fff; border-radius: 20px; padding: 30px 65px; font-size: 20px; width: 530px; max-width: calc(50% - 30px); }

.tokuten-box h3 { background: #ED7700; text-align: center; color: #fff; padding: 10px 0; font-size: 36px; letter-spacing: 0.05em; margin-bottom: 20px; margin-top: 30px; }

.tokuten-box img { margin-right: auto; margin-left: auto; display: block; }

.tokuten-box small { font-size: 1rem; }

.tokuten-list { color: #fff; font-size: 14px; }

.tokuten-list li { position: relative; padding-left: 36px; }

.tokuten-list li + * { margin-top: 1em; }

.tokuten-list li::before { content: ''; display: block; position: absolute; top: 4px; left: 0; width: 13px; height: 13px; background: #fff; }

.faq { background: url(../img/sec06-bg.png); }

.faq-list .item { background: #fff; border-radius: 10px; border: 1px solid #000; padding: 28px 20px; }

.faq-list .item + * { margin-top: 40px; }

.faq-list dt { font-weight: 500; font-size: 24px; padding-left: 66px; position: relative; padding-right: 66px; cursor: pointer; }

.faq-list dt::before { content: ''; display: block; position: absolute; width: 50px; height: 36px; background: url(../img/icon_q.svg) no-repeat center/contain; top: 0; left: 0; }

.faq-list dt::after { content: ''; display: block; position: absolute; width: 50px; height: 36px; top: 0; right: 0; background: url(../img/icon_faq_plus.svg) no-repeat center/contain; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s, -webkit-transform .3s; }

.faq-list dt.is-open::after { background: url(../img/icon_faq_close.svg) no-repeat center/contain; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }

.faq-list dd { margin-top: 30px; font-size: 20px; padding-left: 66px; padding-right: 66px; position: relative; display: none; }

.faq-list dd::before { content: ''; display: block; position: absolute; width: 50px; height: 36px; background: url(../img/icon_a.svg) no-repeat center/contain; top: 0; left: 0; }

.faq-list dd img { display: block; }

.faq-list .faq-fzsmall { font-size: 16px; letter-spacing: 0.05em; }

.sec07 { background: url(../img/sec06-bg.png); }

.sec07 .tabUl { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.sec07 .tabUl a { display: block; width: 530px; max-width: 100%; border-radius: 20px 20px 0 0; background: #ED7700; text-align: center; color: #fff; text-decoration: none; padding: 23px 0; font-size: 36px; font-weight: bold; white-space: nowrap; }

.sec07 .tabUl a span { font-size: 24px; }

.sec07 .tabUl li { max-width: 50%; }

.sec07 .tabUl li:nth-child(2) a { background: #007CCF; }

.sec07 .tabPlane { padding: 55px 0; background: #ED7700; }

.sec07 .tabPlane .content { width: 1036px; }

.sec07 .tabPlane .imgBox { margin-bottom: 35px; display: -webkit-box; display: -ms-flexbox; display: flex; }

.sec07 .tabPlane .imgBox .photoBox { width: 50%; }

.sec07 .tabPlane .imgBox .textBox { width: 50%; color: #fff; }

.sec07 .tabPlane .imgBox .textBox .ttl { margin-bottom: 13px; font-weight: bold; font-size: 24px; }

.sec07 .tabPlane .imgBox .textBox .input_check { display: none; font-weight: bold; font-size: 24px; color: #FF0000; }

.sec07 .tabPlane01 { background: #007CCF; }

.sec07 .mailForm table { width: 100%; border-collapse: collapse; }

.sec07 .mailForm th, .sec07 .mailForm td { display: block; width: 100%; font-size: 20px; line-height: 1.6; font-weight: bold; word-break: break-all; text-align: left; vertical-align: middle; -webkit-box-sizing: border-box; box-sizing: border-box; }

.sec07 .mailForm th { padding-top: 15px; font-size: 24px; }

.sec07 .mailForm th small { font-size: var(--fz-medium); }

.sec07 .mailForm th .must { margin-left: 5px; padding: 0 7px; display: inline-block; vertical-align: 4px; color: #FFF; font-size: 12px; background: #fff; color: var(--color-main); border-radius: 5px; }

.sec07 .mailForm td textarea, .sec07 .mailForm td input[type="text"], .sec07 .mailForm td input[type="email"], .sec07 .mailForm td input[type="tel"] { border: none; background: #fff; -moz-appearance: none; appearance: none; padding: 8px 13px; width: 100%; height: 50px; font-size: 20px; font-weight: 500; border-radius: 5px; border: 2px solid #BABABA; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-appearance: none; }

.sec07 .mailForm td textarea::-webkit-input-placeholder, .sec07 .mailForm td input[type="text"]::-webkit-input-placeholder, .sec07 .mailForm td input[type="email"]::-webkit-input-placeholder, .sec07 .mailForm td input[type="tel"]::-webkit-input-placeholder { color: #909090; }

.sec07 .mailForm td textarea:-ms-input-placeholder, .sec07 .mailForm td input[type="text"]:-ms-input-placeholder, .sec07 .mailForm td input[type="email"]:-ms-input-placeholder, .sec07 .mailForm td input[type="tel"]:-ms-input-placeholder { color: #909090; }

.sec07 .mailForm td textarea::-ms-input-placeholder, .sec07 .mailForm td input[type="text"]::-ms-input-placeholder, .sec07 .mailForm td input[type="email"]::-ms-input-placeholder, .sec07 .mailForm td input[type="tel"]::-ms-input-placeholder { color: #909090; }

.sec07 .mailForm td textarea::placeholder, .sec07 .mailForm td input[type="text"]::placeholder, .sec07 .mailForm td input[type="email"]::placeholder, .sec07 .mailForm td input[type="tel"]::placeholder { color: #909090; }

.sec07 .mailForm .agree { margin-bottom: 42px; margin-top: 40px; }

.sec07 .mailForm .agree a { color: #fff; }

.sec07 .mailForm input[type="checkbox"] { display: none; }

.sec07 .mailForm input[type="checkbox"] + label { padding: 5px 0 5px 40px; display: inline-block; font-size: 16px; font-weight: bold; position: relative; cursor: pointer; }

.sec07 .mailForm input[type="checkbox"] + label::before { content: ''; display: block; position: absolute; width: 30px; height: 30px; border: 2px solid #ccc; border-radius: 5px; top: 2px; left: 0; background: #fff; }

.sec07 .mailForm input[type="checkbox"] + label::after { content: ''; display: block; width: 10px; height: 20px; border-right: 2px solid #000; border-bottom: 2px solid #000; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 3px; left: 10px; opacity: 0; }

.sec07 .mailForm input[type="checkbox"]:checked + label::after { opacity: 1; }

.sec07 .mailForm .submit { text-align: center; }

.sec07 .mailForm .submit li input { display: block; height: 113px; cursor: pointer; color: #FFF; font-size: 0; width: 550px; max-width: 100%; background: url(); font-weight: bold; border: none; background: url(../img/submit_button01.png) no-repeat top left/100% 100%; -webkit-box-shadow: 5px 8px 0 0 rgba(0, 0, 0, 0.2); box-shadow: 5px 8px 0 0 rgba(0, 0, 0, 0.2); border-radius: 5px; -webkit-transition: all .4s; transition: all .4s; }

.sec07 .mailForm .submit li input:active { -webkit-box-shadow: 0; box-shadow: 0; }

.sec07 .mailForm .submit li input:hover { opacity: 0.7; }

.sec07 .tabPlane01 .mailForm .submit input { background: url(../img/submit_button02.png) no-repeat top left/100% 100%; }

.footer .cta-tel { text-align: center; }

.footer .cta-tel small { font-size: 1rem; }

.footer-info { text-align: center; margin-top: 40px; color: #004c80; }

.footer-info p + * { margin-top: 20px; }

.fixed-cta {background-image: linear-gradient(to top, #52575D 0%, #41444B 100%); ; padding: 30px 0; position: fixed; bottom: 0; left: 0; display: none; z-index: 5; width: 100%; }

.fixed-cta .inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 800px; }

.fixed-cta .cta-tel { text-align: center; padding: 10px 10px; }

.fixed-cta .cta-tel small { font-size: 12px; }

.fixed-cta .cta-tel p { line-height: 1; }

.fixed-cta .cta-buttons .btn-link { max-width: none; width: 165px; }

.fixed-cta .cta-buttons .btn-link:nth-child(2) { width: 290px; margin-left: 24px; }

@media screen and (max-width: 1120px) { .sec .inner { padding-right: 20px; padding-left: 20px; }
  .tokuten-inner { margin-right: 0; margin-left: 0; margin-top: 30px; }
  .sec07 .tabPlane .content { max-width: 100%; } }

@media screen and (max-width: 768px) { :root { --fz-medium: 15px; }
  .flex.sp-col1 { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .sec { padding: 40px 0; }
  .sectitle::before { width: 70px; }
  .sectitle { font-size: 24px; }
  .secmessage { font-size: 16px; }
  .header { padding-right: 10px; padding-bottom: 20px; padding-left: 10px; background: url(../img/header_bg01_sp.png) no-repeat top center/100% auto, url(../img/header_bg_sp.png) no-repeat bottom center/100% auto; }
  .header-copybox { padding: 24px; }
  .header-copybox .copyimg { height: auto; width: 100%; margin-bottom: 20px; }
  .cta-buttons { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .cta-buttons .btn-link { max-width: 100%; }
  .cta-buttons .btn-link + * { margin-top: 20px; }
  .about-box { font-size: 16px; }
  .about-box .textarea img { width: 100%; }
  .about-box .textarea span.fw-bold { font-size: 20px; }
  .about-box .textarea span.fz-lg { display: block; }
  .problem-message { font-size: 18px; }
  .problem2-title { font-size: 18px; }
  .problem2-title::before { width: 70px; }
  .problem2-message { font-size: 15px; text-align: left; }
  .problem2-message br { display: none; }
  .problem2-copy { font-size: 24px; }
  .point-title { font-size: 18px; }
  .point-header__box .title { font-size: 20px; }
  .point-header__box .title .num svg { width: 30px; height: auto; }
  .point-header__box { margin-top: 40px; }
  .point-header__box .title .title-border { border-width: 2px; }
  .point-header__box .title .maincolor { display: block; }
  .point-header__list { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .point-header__list li { width: 100%; }
  .point-header__list li + * { margin-top: 20px; }
  .point-header__list li:nth-child(n+3) { margin-top: 20px; }
  .point-detail__box .titlewrap { position: relative; padding: 20px; padding-top: 50px; font-size: 16px; }
  .point-detail__box .titlewrap img { position: absolute; width: 80px; margin-right: 0; top: 0; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
  .point-detail__box .titlewrap h3 { font-size: 24px; margin-bottom: 10px; }
  .point-detail__box .contents-inner { padding: 20px; }
  .point-detail .point01 h4 { font-size: 18px; }
  .point-detail .point02 h4 { font-size: 18px; }
  .point-detail .point02 h4 .marker { font-size: clamp(13px, 4.26667vw, 18px); }
  .point-detail .point02 ul + p { font-size: clamp(13px, 4vw, 15px); }
  .point-detail .point02 ul li { font-size: 15px; font-size: clamp(13px, 4vw, 15px); padding-left: 30px; }
  .point-detail .point02 ul li::before { width: 20px; height: 20px; top: 2px; }
  .point-detail .point02 ul li + * { margin-top: 20px; }
  .point-detail__box { font-size: 15px; }
  .point-detail .point02 figure { width: 50%; margin-right: auto; margin-left: auto; margin-top: 30px; }
  .point-detail .point03 .flex.reverse { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .point-detail .point03 .flex .textarea { width: 100%; }
  .point-detail .point03 .title { font-size: 20px; padding-bottom: 10px; border-width: 2px; }
  .point-detail .point03 .flex .image { margin-top: 0; max-width: 100%; }
  .point-detail .point03 .contents-inner h3 { font-size: 24px; margin-top: 40px; margin-bottom: 40px; }
  .point-detail .point03 .second .title { font-size: 20px; padding-bottom: 10px; }
  .point-detail .point04 .reverse { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; margin-top: 40px; }
  .point-detail .point04 .flex .textarea, .point-detail .point04 .flex .image { width: 100%; }
  .point-detail .point04 .flex .textarea { margin-top: 20px; }
  .point-detail .point04 .title { font-size: 24px; }
  .point-detail .point04 .title span { display: block; font-size: 0.625em; }
  .point-detail .point04 .price { font-size: 15px; }
  .point-detail .point04 .price .subtitle { font-size: 18px; font-size: clamp(12px, 4.26667vw, 18px); white-space: nowrap; }
  .point-detail .point04 .second.flex .title { font-size: clamp(18px, 6.4vw, 24px); }
  .recommend-voice h2 { font-size: 24px; height: 54px; padding-top: 4px; background: url(../img/recommend_titlebg_sp.png) no-repeat center/auto 100%; }
  .recommend-voice .picture { padding-left: 20px; padding-right: 20px; max-width: 100%; }
  .recommend-voice .picture .history { display: none !important; }
  .recommend-voice .voice-inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .recommend-voice .voice-main { width: 100%; margin-top: 20px; padding: 20px; border-radius: 5px; }
  .recommend-voice .voice-main .title { font-size: 20px; margin-bottom: 20px; }
  .point-detail .point04 .flex.second .image { margin-top: 20px; }
  .point-detail .point04 .flex.second .image img { margin-right: auto; display: block; margin-left: auto; }
  .point-detail .point04 .second.flex .title span { display: inline-block; font-size: inherit; }
  .cta-box { padding: 20px 15px; font-size: 16px; }
  .cta-title { font-size: 18px; }
  .cta-tel { font-size: var(--fz-medium); letter-spacing: 0.05em; }
  .cta-tel img { height: 30px; width: auto; }
  .vocice { padding-bottom: 80px; }
  .voice-item { padding: 20px 25px; padding-bottom: 75px; position: relative; border-radius: 5px; }
  .voice-item + * { margin-top: 80px; }
  .voice-item .image { width: 100px; position: absolute; top: 100%; right: 25px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
  .voice-item .textarea { width: 100%; }
  .tokuten-box { margin-right: auto; margin-left: auto; max-width: 100%; padding: 30px 25px; }
  .tokuten-box + * { margin-top: 40px; }
  .tokuten-box img { margin-right: auto; margin-left: auto; display: block; }
  .tokuten-box h3 { font-size: 23px; margin-bottom: 20px; }
  .tokuten-list { max-width: 550px; margin-right: auto; margin-left: auto; }
  .tokuten-title { height: auto; background: none; }
  .tokuten-title .text01 { font-size: 24px; }
  .tokuten-title .text02 { background: url(../img/sec07-img01_sp.png) no-repeat center/auto 100%; font-size: 24px; height: 50px; margin-top: 10px; }
  .tokuten-list li { padding-left: 26px; }
  .faq-list .item { padding: 20px 10px; border-width: 2px; }
  .faq-list .item + * { margin-top: 20px; }
  .faq-list dt { font-size: 20px; }
  .faq-list dd { font-size: 18px; }
  .faq-list dd img { margin-top: 20px; }
  .sec07 .tabUl a { padding: 14px 0; font-size: 20px; }
  .sec07 .tabUl a span { font-size: 16px; display: block; }
  .sec07 .tabUl { width: 90%; margin-right: auto; margin-left: auto; }
  .sec07 .tabPlane .imgBox .photoBox { width: 70%; }
  .sec07 .tabPlane .imgBox { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .sec07 .tabPlane .imgBox .textBox { width: 100%; padding: 20px; }
  .sec07 .mailForm .submit li input { height: 18.75vw; }
  .mt-10 { margin-top: 5px; }
  .mt-20 { margin-top: 10px; }
  .mt-30 { margin-top: 15px; }
  .mt-40 { margin-top: 20px; }
  .mt-50 { margin-top: 25px; }
  .mt-60 { margin-top: 30px; }
  .mt-70 { margin-top: 35px; }
  .mt-80 { margin-top: 40px; }
  .mt-90 { margin-top: 45px; }
  .mt-100 { margin-top: 50px; }
  .sec07 .mailForm th, .sec07 .tabPlane .imgBox .textBox .ttl { font-size: 1rem; }
  .sec07 .mailForm td textarea, .sec07 .mailForm td input[type="text"], .sec07 .mailForm td input[type="email"], .sec07 .mailForm td input[type="tel"] { font-size: 1rem; }
  .footer-info { font-size: 12px; }
  .fixed-cta { padding: 0; }
  .fixed-cta .cta-tel { padding: 10px; }
  .fixed-cta .inner { width: 100%; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
  .fixed-cta .inner .cta-buttons { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .fixed-cta .inner .btn-link::before { display: none; }
  .fixed-cta .cta-buttons .btn-link { width: 41.86667%; }
  .fixed-cta .cta-buttons .btn-link img { width: 100%; }
  .fixed-cta .cta-buttons .btn-link:nth-child(2) { width: 58.13333%; margin: 0; }
  .fixed-cta .cta-tel small { margin-top: 10px; }
  .pc-db { display: none !important; } }

@media screen and (max-width: 375px) { .faq-list dt::before, .faq-list dt::after, .faq-list dd::before { width: 30px; }
  .faq-list dt, .faq-list dd { padding-right: 30px; padding-left: 30px; font-size: 4.8vw; }
  .faq-list dt, .faq-list dd { font-size: 4.26667vw; padding-right: 20px; }
  .sec07 .tabUl a { font-size: 1rem; }
  .sec07 .tabUl a span { font-size: .85em; } }

@media screen and (min-width: 769px) { .sp-db { display: none !important; } }





/* 003 */
.button003 a {
    background: #eee;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 260px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button003 a:hover {
    background: #313131;
    color: #FFF;
}
.button003 a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #313131;
    border-right: 3px solid #313131;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button003 a:hover:after {
    border-color: #FFF;
}

/* --YouTubeサイズ調整-- */
.video {
position: relative;
height: 0;
padding: 30px 0 56.25%;
overflow: hidden;
}

.video iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}