@charset "UTF-8";

/* ===============================================
   ROOT VARIABLES
================================================ */
:root {
--mincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif;
--gothic: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
--en: "Lato", sans-serif;
--txt-color: #0a0a0a;
--main-color: #f8fae5;
--sub-color: #347448;
--sub-dark: #256037;
--orange: #f07c20;
--white: #fff;
--line-green: #34dc3c;
--border: #ccc;
--shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
--radius: 6px;
--transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}

/* ===============================================
   RESET / DEFAULT SP
================================================ */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
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, 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, menu, nav, output, section, summary, time, mark, audio, video { padding: 0; margin: 0; font: inherit; word-wrap: break-word; border: 0; vertical-align: baseline; outline: none; }
body {padding: 0;margin: 0;color: var(--txt-color);font-size: 3.5vw;font-family: var(--gothic);-webkit-text-size-adjust: 100%;font-style: normal;line-height: 1.8;}
article, aside, canvas, details, figcaption, figure, header, footer, hgroup, main, menu, nav, section, summary { display: block; }
blockquote, q { quotes: none; }
strong, b { font-weight: bold; }
ul, ol, li { list-style: none; }
table { border-spacing: 0; border-collapse: collapse; }
img, video, object { height: auto; border: none; display: block; }
ins { background: none; color: #000; text-decoration: none; }
mark { background-color: #768e9d; color: #fff; font-style: normal; font-weight: normal; padding: 2px 10px; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
hr { height: 1px; padding: 0; margin: 1em 0; border: 0; border-top: 1px solid #ccc; display: block; }
::selection { background-color: #e1ebf1; }
*:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
a { color: var(--txt-color); text-decoration: none; display: block; -moz-transition: var(--transition); -o-transition: var(--transition); -webkit-transition: var(--transition); transition: var(--transition); }
a:hover { opacity: 0.6; }
.clearfix:after { content: ''; display: block; clear: both; }
.pc { display: none; }
.sp { display: block; }
img { max-width: 100%; }

/* ===============================================
   COMMON SP
================================================ */

/* --- Headings --- */
.midashi01 {font-size: 4vw;font-weight: bold;letter-spacing: 0.1em;color: var(--sub-color);line-height: 1.2;font-family: var(--en);margin-bottom: 2vw;}
.midashi02 { font-size: 5vw; font-weight: bold; letter-spacing: 0.05em; line-height: 1.3; }
.midashi03 { font-size: 4.2vw; font-weight: bold; letter-spacing: 0.05em; line-height: 1.4; }
.midashi04 { font-size: 3.8vw; font-weight: bold; letter-spacing: 0.03em; line-height: 1.5; }
.midashi05 { font-size: 3.5vw; font-weight: bold; letter-spacing: 0.02em; line-height: 1.5; }

/* --- Buttons --- */
.btn-line { display: flex; align-items: center; justify-content: center; gap: 0.5em; background: var(--line-green); color: var(--white); font-size: 4vw; font-weight: bold; border-radius: 50px; padding: 4vw 6vw; letter-spacing: 0.05em; -webkit-transition: var(--transition); transition: var(--transition); }
.btn-line:hover { opacity: 0.8; color: var(--white); }
.btn-line .icon-line { font-size: 5vw; }
.btn-line--header {font-size: 3vw;padding: 2vw 3.5vw;border-radius: 50px;font-size: 3.5vw;padding: 1.5vw 1vw;}
.btn-line--nav {font-size: 3vw;padding: 2vw 3.5vw;border-radius: 50px;font-size: 4.2vw;padding: 4.5vw 7vw;}
.btn-line--hero {font-size: 4.2vw;padding: 0;}
.btn-line--sec { font-size: 4vw; padding: 4vw 6vw; }
.btn-line--footer { font-size: 4vw; padding: 4vw 7vw; }
.btn-line--contact {font-size: 4.5vw;padding: 3vw 8vw;box-shadow: 0 4px 20px rgba(6, 199, 85, 0.4);}
.btn-orange {display: block;background: var(--orange);color: var(--white);font-size: 4.3vw;font-weight: bold;text-align: center;border-radius: var(--radius);padding: 2.5vw 5vw;letter-spacing: 0.05em;line-height: 1.4;transition: var(--transition);}
.btn-orange:hover { opacity: 0.8; color: var(--white); }

/* ===============================================
   HEADER SP
================================================ */
.header {position: fixed;top: 0;left: 0;width: 100%;z-index: 1000;background: var(--main-color);box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);}
.header__inner {display: flex;align-items: center;justify-content: space-between;padding: 2.5vw 4vw;height: 16vw;gap: 1vw;}
.header__logo { flex: 1; }
.header__logo a { display: block; }
.header__logo img {width: 22vw;max-width: 140px;height: auto;}
.header__cta {width: 45vw;margin: 0 1vw 0 0;}
.gnav { display: none; }

/* --- Hamburger --- */
.hamburger {display: flex;flex-direction: column;justify-content: center;gap: 2.5vw;width: 8vw;height: 10vw;background: none;border: none;cursor: pointer;padding: 1vw;}
.hamburger__line {display: block;width: 100%;height: 1.5px;background: #666666;border-radius: 2px;-webkit-transition: var(--transition);transition: var(--transition);}
.hamburger.is-active .hamburger__line:nth-child(1) {transform: translateY(calc(0.5vw + 4px)) rotate(45deg);}
.hamburger.is-active .hamburger__line:nth-child(2) {transform: translateY(calc(-1.5vw - 0px)) rotate(-45deg);}

/* --- SP Nav Overlay --- */
.gnav.is-open {display: block;position: fixed;top: 14vw;left: 0;width: 100%;height: calc(100vh - 14vw);background: rgb(248 250 229 / 96%);z-index: 999;overflow-y: auto;padding: 5vw 0;}
.gnav__list { padding: 0; }
.gnav__item { border-bottom: 1px solid #eee; }
.gnav__link {display: block;padding: 4.5vw 6vw;font-size: 5vw;font-weight: bold;color: var(--txt-color);}
.gnav__link:hover { color: var(--sub-color); opacity: 1; }

/* ===============================================
   HERO SP
================================================ */
.hero {position: relative;overflow: hidden;margin-top: 14vw;background: url(../images/hero-bg-sp.jpg) top center / 100% auto no-repeat #e8f0c7;}
.hero__inner { position: relative; padding: 5vw 4vw 8vw; }
.hero__txt {margin: 0 auto 16vw;text-align: center;padding-top: 5vw;padding-bottom: 48vw;}
.hero__txt img { width: 89%; max-width: 340px; margin: 0 auto; }
.hero__bnr {margin: 0 auto;text-align: center;}
.hero__bnr-img img {width: 96%;max-width: 347px;margin: 0 auto;}
.hero__points { display: flex; justify-content: center; gap: 3vw; margin: 5vw auto; }
.hero__point img { width: 28vw; max-width: 101px; }
.hero__cta {text-align: center;position: relative;left: 1vw;}
.hero__cta .btn-line--hero {max-width: 90vw;margin: 0 auto;background: no-repeat;}
.p-points__list {display: flex;flex-direction: column;width: 90%;margin: 0 auto;padding: 0;list-style: none;}
.p-points__item {display: flex;align-items: center;padding: 3vw 0;border-bottom: 2px dotted #ccc;gap: 0.8rem;}
.p-points__item:last-child { border-bottom: none; }
.p-points__head {display: flex;flex-direction: column;align-items: center;min-width: 2.4rem;font-family: var(--en);text-align: center;}
.p-points__label {color: #1a5d2c;font-weight: bold;font-size: 0.7rem;line-height: 1.2;}
.p-points__num {color: #1a5d2c;font-weight: bold;font-size: 1.5rem;line-height: 1;display: block;}
.p-points__icon {width: 11vw;flex-shrink: 0;}
.p-points__icon img {width: auto;height: auto;margin: 0 auto;}
.p-points__text {flex: 1;font-size: 3.6vw;font-weight: bold;line-height: 1.5;color: #111;margin: 0;}

.hero__inner.pt2{background:url(../images/hero-pt2-sp.jpg) no-repeat top center;background-size: cover;padding: 146vw 0 18vw;}
.hero .btn-line{width:90%;margin:0 auto;font-size: 5vw;padding: 2vw 6vw;}
.hero .hero__cta{left:0;}

/* ===============================================
   PROBLEMS SP
================================================ */
.problems {position: relative;overflow: hidden;padding: 17vw 0 17vw;background: url('../images/problems-bg-sp.jpg') top center / cover no-repeat;}
.problems__inner { position: relative; z-index: 1; padding: 0 4vw; }
.problems__head {text-align: center;margin-bottom: 12vw;position: relative;}
.problems__head::after{content:""; width:60px; height:2px; background:var(--sub-color);position:absolute; bottom:-1.0rem; right:0; left:0; margin:0 auto;}

.problems__ttl {font-size: 3.8vw;margin-bottom: vw;}
.problems__sub {font-size: 9vw;font-weight: bold;line-height: 1.3;}
.problems__body {background: rgba(255, 255, 255, 0.92);border-radius: 10px;padding: 7vw 8vw 7vw;position: relative;box-shadow: var(--shadow);}
.problems__deco {position: absolute;right: -4vw;top: -14vw;width: 30vw;max-width: 25vw;}
.problems__deco img { width: 100%; }
.problems__list {margin-bottom: 2vw;}
.problems__item {padding: 2.5vw 0 2.5vw 5vw;border-bottom: 2px dashed #e5e5e5;position: relative;}
.problems__item:before{content: '\f058';font-family: 'icon';position:absolute;left:0;color:var(--sub-color);}
.problems__item:last-child { border-bottom: none; }
.problems__txt {font-size: 3.8vw;line-height: 1.5;font-weight: bold;}
.problems__cta { text-align: center; }
.problems__cta .btn-orange { max-width: 80vw; margin: 0 auto; }

/* ===============================================
   REASON SP
================================================ */
.reason {background: var(--main-color);padding: 22vw 0;}
.reason__inner { padding: 0 4vw; }
.reason__head { text-align: center; margin-bottom: 8vw; }
.reason__sub {font-size: 8vw;font-weight: bold;line-height: 1.3;}
.reason__list {display: flex;flex-direction: column;gap: 6vw;}
.reason__item {background: var(--white);border-radius: 10px;box-shadow: var(--shadow);position: relative;}
.reason__item .icon{width: 15%;position:absolute;left: 50%;transform: translateX(-50%);top: 38vw;}
.reason__item img{border-radius:20px 20px  0 0 ;}
.reason__item .textbox{padding: 8vw 7% 7% 7%;}
.reason__item-ttl {font-size: 5vw;font-weight: bold;color: var(--sub-color);margin-bottom: 2vw;line-height: 1.4;text-align: center;}
.reason__item-txt {line-height: 1.8;color: var(--txt-color);}

/* ===============================================
   FLOW SP
================================================ */
.flow {padding: 20vw 0 18vw;background: var(--white);background-color: #ffffff;background-image: repeating-linear-gradient(to right, #e0e0e045 0px, #e0e0e045 1px, transparent 1px, transparent 20px), repeating-linear-gradient(to bottom, #e0e0e045 0px, #e0e0e045 1px, transparent 1px, transparent 20px);position: relative;overflow: hidden;}
.flow:before{content:"";width:100%;height: 32vw;background:url(../images/bg01.png) no-repeat top center;background-size: 230%;position:absolute;top:0;}
.flow__inner { padding: 0 4vw; }
.flow__head {text-align: center;margin-bottom: 5vw;position: relative;}
.flow__head .icon01{width: 21vw;position:absolute;top: 1vw;left: -6vw;}
.flow__head .icon02{width:25vw;position:absolute;right: -10vw;top: 0;}
.flow__sub {font-size: 9vw;font-weight: bold;line-height: 1.3;}
.flow__list { display: flex; flex-direction: column; gap: 4vw; position: relative; }
.flow__list::before {content: '';position: absolute;left: 11vw;top: 7vw;bottom: 3vw;width: 12px;background: #6ceb1f;opacity: 0.4;z-index: 0;}
.flow__item {display: flex;gap: 4vw;align-items: center;position: relative;z-index: 1;background: var(--main-color);padding: 6vw;}
.flow__step {display: flex;flex-direction: column;align-items: center;justify-content: center;background: var(--sub-color);color: var(--white);border-radius: 50%;width: 14vw;height: 14vw;flex-shrink: 0;font-size: 2.5vw;font-weight: bold;letter-spacing: 0.02em;line-height: 1.2;text-align: center;}
.flow__step-num { font-size: 4vw; }
.flow__item-ttl {font-size: 5vw;font-weight: bold;color: var(--sub-color);line-height: 1.3;}
.flow__item-txt {line-height: 1.8; }
.flow__cta {text-align: center;margin-top: 3vw;}
.flow__cta .btn-line--sec {max-width: 90vw;margin: 0 auto;padding: 0;background: no-repeat;}

/* ===============================================
   MAKER SP
================================================ */
.maker {background: var(--main-color);padding: 18vw 0;}
.maker__inner {padding: 0;}
.maker__head { text-align: center; margin-bottom: 5vw; }
.maker__sub {font-size: 9vw;font-weight: bold;line-height: 1.3;}
.maker__lead { font-size: 3.5vw; text-align: center; margin-bottom: 6vw; line-height: 1.8; }
.maker__logo-item {background: var(--white);border-radius: var(--radius);text-align: center;font-size: 3.2vw;font-weight: bold;width: 35vw;margin: 0 2vw;}
.maker__inner .sub{background: var(--orange);color: #fff;width: 83%;margin: 0 auto;padding: 3%;font-weight: bold;text-align: center;font-size: 120%;line-height: 1.3;border-radius: 40px;}
.maker__inner .sub b{color:#FFEB3B;}
.maker__logos{margin-bottom:5vw;}

/* ===============================================
   VOICE SP
================================================ */
.voice {background: var(--white);padding: 18vw 0 12vw 0;}
.voice__inner { padding: 0 4vw; }
.voice__head { text-align: center; margin-bottom: 8vw; }
.voice__sub {font-size: 10vw;font-weight: bold;line-height: 1.3;}
.voice__list {display: flex;flex-direction: column;gap: 3vw;}
.voice__item {background: #fff8b5;border-radius: 10px;padding: 5vw;position: relative;}
.voice__info {margin-bottom: 2.5vw;display: flex;align-items: center;gap: 4vw;position: relative;padding: 0 0 3vw 0;border-bottom: 1px dashed #ccc;}
.voice__info img{width: 18%;}
.voice__name {font-size: 5vw;font-weight: bold;color: var(--sub-color);line-height: 1.5;}
.voice__name span{display:block;font-weight:normal;font-size: 3.5vw;color: #2b2b2b;}
.voice__txt {line-height: 1.8;}

/* ===============================================
   FAQ SP
================================================ */
.top-qa{width:90%;margin: 0 auto 22vw;}
.top-qa .title{margin-bottom:3vw;line-height: 1.4;}
.top-qa .title .en{font-size: 4vw;font-family: var(--en);color: var(--sub-color);font-weight: bold;margin-bottom: 1vw;display: block;}
.top-qa .title .jp{font-size: 11vw;font-weight: bold;color: var(--sub-color);display: block;line-height: 1.3;}
.top-qa dl{margin-bottom:6vw;}
.top-qa dt{padding: 3% 5% 3% 12%;font-size:120%;position:relative;line-height: 1.2;margin-bottom: 2vw;background: var(--sub-color);color: var(--white);font-weight: bold;}
.top-qa dt:before{content:"Q";position:absolute;left: 2%;top: 20%;width: 25px;height: 24px;background: #fff;text-align: center;padding-top: 3px;font-family: var(--en);color: var(--sub-color);}
.top-qa dl p{line-height:1.6;}

/* ===============================================
   CONTACT SP
================================================ */
.contact {background: url(../images/cv-bg-sp.jpg) top center;pa;background-size: cover;padding: 12vw 0;text-align: center;}
.contact__inner { padding: 0 4vw; }
.contact__ttl {font-size: 5vw;color: var(--white);margin-bottom: 4vw;}
.contact  .subtit{font-size: 7vw;color: #fff;font-weight: bold;line-height: 1.4;margin-bottom: 4vw;}
.contact__lead {font-size: 3.5vw;color: var(--white);line-height: 1.8;margin-bottom: 3vw;}
.contact .btn-line--contact { max-width: 85vw; margin: 0 auto; background: var(--white); color: var(--sub-color); }
.contact .btn-line--contact .icon-line { color: var(--line-green); }
.contact .btn-line--contact:hover { opacity: 0.85; color: var(--sub-color); }
.contact__note { font-size: 2.8vw; color: rgba(255, 255, 255, 0.7); margin-top: 3vw; }

/* ===============================================
   FOOTER SP
================================================ */
.footer { background: var(--txt-color); color: var(--white); }
.footer__main {padding: 12vw 4vw 0;}
.footer__inner { max-width: 1000px; margin: 0 auto; }
.footer__logo {margin: 0 auto 6vw;width: 30vw;}
.footer__logo img {width: 100%;filter: brightness(0) invert(1);margin: 0 auto;}
.footer__nav { margin-bottom: 6vw; }
.footer__nav-list { display: flex; flex-wrap: wrap; gap: 0; }
.footer__nav-item { width: 50%; }
.footer__nav-link {display: block;font-size: 3.5vw;color: rgba(255, 255, 255, 0.7);padding: 2vw 0;border-bottom: 1px solid rgba(255, 255, 255, 0.1);}
.footer__nav-link:hover { color: var(--white); opacity: 1; }
.footer__tel { display: inline; color: rgba(255, 255, 255, 0.7); font-size: 3vw; }
.footer__sns { display: flex; gap: 4vw; margin-bottom: 5vw; }
.footer__sns-item { display: flex; }
.footer__sns-link { display: flex; align-items: center; justify-content: center; width: 10vw; height: 10vw; max-width: 40px; max-height: 40px; background: rgba(255, 255, 255, 0.15); border-radius: 50%; font-size: 4.5vw; color: var(--white); }
.footer__sns-link:hover { background: var(--sub-color); opacity: 1; color: var(--white); }
.footer__copy {background: rgba(0, 0, 0, 0.3);padding: 3vw 4vw 10vw;text-align: center;}
.footer__copy-txt { font-size: 2.8vw; color: rgba(255, 255, 255, 0.5); }

/* --- Page Top --- */
.pagetop { display: none; position: fixed; bottom: 5vw; right: 4vw; width: 12vw; height: 12vw; max-width: 48px; max-height: 48px; background: var(--sub-color); border-radius: 50%; z-index: 900; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); -webkit-transition: var(--transition); transition: var(--transition); }
.pagetop.is-show { display: flex; }
.pagetop:hover { background: var(--sub-dark); opacity: 1; }
.pagetop__icon { display: block; width: 2.5vw; height: 2.5vw; max-width: 10px; max-height: 10px; border-top: 2px solid var(--white); border-right: 2px solid var(--white); transform: rotate(-45deg); margin-top: 1vw; }

/* --- Fade In Animation --- */
.js-fadein { opacity: 0; transform: translateY(25px); -webkit-transition: opacity 0.7s ease, transform 0.7s ease; transition: opacity 0.7s ease, transform 0.7s ease; }
.js-fadein.is-visible { opacity: 1; transform: translateY(0); }

/* ===============================================
   PC SIZE  min-width: 769px
================================================ */
@media screen and (min-width: 769px) {

/* --- Common PC --- */
body { font-size: 15px; }
.sp { display: none; }
.pc { display: block; }
.btn-line { font-size: 16px; padding: 16px 32px; }
.btn-line .icon-line { font-size: 20px; }
.btn-line--header { font-size: 14px; padding: 12px 20px; }
.btn-line--hero { font-size: 18px; padding: 20px 48px; }
.btn-line--sec { font-size: 16px; padding: 16px 40px; }
.btn-line--footer { font-size: 16px; padding: 16px 40px; }
.btn-line--contact {font-size: 20px;padding: 17px 60px;}
.btn-orange { font-size: 15px; padding: 16px 40px; border-radius: var(--radius); }
.midashi01 {font-size: 18px;margin-bottom: 10px;}
.midashi02 { font-size: 28px; }
.midashi03 { font-size: 22px; }
.midashi04 { font-size: 18px; }
.midashi05 { font-size: 16px; }

/* --- Header PC --- */
.header__inner {padding: 0 30px;height: 76px;gap: 10px;}
.header__logo{width: 120px;position: relative;top: -2px;}
.header__logo img {width: auto;max-width: inherit;max-height: 50px;}
.gnav {display: flex;align-items: center;flex: 1;justify-content: center;}
.gnav__list {display: flex;gap: 28px;}
.gnav__item { border-bottom: none; }
.gnav__link {font-size: 16px;padding: 0;color: var(--txt-color);font-weight: bold;position: relative;white-space:nowrap;}
.gnav__link::after { content: ''; position: absolute; bottom: -3px; left: 50%; transform: translateX(-50%) scaleX(0); width: 80%; height: 2px; background: var(--sub-color); -webkit-transition: var(--transition); transition: var(--transition); }
.gnav__link:hover::after { transform: translateX(-50%) scaleX(1); }
.gnav__link:hover { opacity: 1; }
.header__cta {display: block;flex-shrink: 0;width: auto;margin: 0; order: 3;}
.hamburger { display: none; }

/* --- Hero PC --- */
.hero {margin-top: 75px;background-image: url('../images/hero-bg-pc.jpg');background-size: auto 100%;background-position: center top;min-height: 580px;}
.hero__inner {position: relative;z-index: 1;max-width: 970px;margin: 0 auto;padding: 50px 40px 60px;display: flex;flex-direction: column;align-items: flex-end;align-items: center;align-content: center;}
.hero__txt {margin: 0 auto;width: 700px;padding: 0;}
.hero__txt img {width: 100%;margin-left: auto;max-width: inherit;}
.hero__bnr {margin: 20px 0 0;width: 800px;}
.hero__bnr-img img {width: auto;max-width: 700px;margin-left: auto;}
.hero__points { gap: 24px; margin: 24px 0; justify-content: flex-end; }
.hero__point img { width: auto; max-width: 80px; }
.hero__cta {width: 100%;display: flex;justify-content: center;padding: 0;}
.hero__cta .btn-line--hero {width: 680px;}
.p-points__list {padding: 10px 0;max-width: 650px;margin: 0 auto;flex-direction: row;justify-content: center;align-items: stretch;}
.p-points__item {flex: 1;flex-direction: column;padding: 10px 17px;border-bottom: none;border-right: 2px dotted #ccc;gap: 10px;text-align: center;}
.p-points__item:last-child { border-right: none; }
.p-points__head { flex-direction: row; align-items: center; justify-content: center; min-width: auto; order: 2; gap: 2px; }
.p-points__label {font-size: 15px;}
.p-points__num { font-size: 18px; }
.p-points__icon {width: 55px;order: 1;margin: 0 auto;}
.p-points__text {order: 3;font-size: 16px;line-height: 1.4;}

.hero__inner.pt2{max-width: inherit;background: url(../images/hero-pt2.jpg) no-repeat top center;background-size: 2000px;padding: 750px 0 120px;}
.hero .btn-line{font-size: 28px;max-width: 600px;padding: 10px 0;}
.hero  .btn-line .icon-line{font-size:30px;}
   
/* --- Problems PC --- */
.problems {padding: 100px 0;background-image: url('../images/problems-bg-pc.jpg');background-size: cover;background-position: center;}
.problems__inner { max-width: 800px; margin: 0 auto; padding: 0 30px; }
.problems__head {margin-bottom: 50px;}
.problems__ttl {font-size: 20px;margin-bottom: 10px;}
.problems__sub {font-size: 50px;}
.problems__body {padding: 30px 50px 40px;border-radius: 12px;}
.problems__deco {position: absolute;right: -50px;top: -30px;width: 220px;max-width: 300px;z-index: 2;}
.problems__item {padding: 16px 0 20px 25px;}
.problems__txt {font-size: 18px;}
.problems__item:before{font-size:120%;}
.problems__list {margin-bottom: 10px;}
.problems__cta .btn-orange {max-width: inherit;width: 100%;margin: 0 auto;display: block;font-size: 20px;}

/* --- Reason PC --- */
.reason {padding: 110px 0;}
.reason__inner {max-width: 1200px;margin: 0 auto;padding: 0 30px;}
.reason__head {margin-bottom: 60px;}
.reason__sub {font-size: 40px;}
.reason__list { flex-direction: row; gap: 30px; }
.reason__item {flex: 1;border-radius: 30px;}
.reason__item .textbox{padding: 25px 30px 40px 30px;}
.reason__item .icon{top: -28px;width: 56px;}
.reason__item-ttl {font-size: 20px;margin-bottom: 12px;}
.reason__item-txt { font-size: 14px; }

/* --- Flow PC --- */
.flow {padding: 100px 0 100px 0;}
.flow:before{height:225px;background: url(../images/bg01.png) no-repeat top center;background-size: cover;}
.flow__inner { max-width: 800px; margin: 0 auto; padding: 0 30px; }
.flow__head .icon01{width:120px;top: 0;left: 50px;}
.flow__head .icon02{width: 150px;right: 10px;}
.flow__head {margin-bottom: 40px;}
.flow__sub {font-size: 50px;}
.flow__list::before {left: 54px;top: 45px;width: 20px;}
.flow__step { width: 70px; height: 70px; font-size: 11px; }
.flow__list{gap: 20px;}
.flow__step-num { font-size: 18px; }
.flow__item{padding: 28px 30px;gap: 20px;}
.flow__item-ttl {font-size: 25px;margin-bottom: 5px;}
.flow__item-txt { font-size: 14px; }
.flow__cta {margin-top: 30px;}
.flow__cta .btn-line--sec {width: 680px;margin: 0 auto;}

/* --- Maker PC --- */
.maker {padding: 110px 0;}
.maker__inner {;margin: 0 auto;}
.maker__head { margin-bottom: 30px; }
.maker__sub {font-size: 50px;}
.maker__lead {font-size: 15px;margin-bottom: 20px;}
.maker__logo-item {margin: 0 12px;font-size: 14px;width: 240px;}
.maker__logos{margin-bottom:30px;}
.maker__inner .sub{width: 680px;padding: 10px;font-size: 20px;}

/* --- Voice PC --- */
.voice {padding: 110px 0 80px 0;}
.voice__inner { max-width: 1000px; margin: 0 auto; padding: 0 30px; }
.voice__head {margin-bottom: 30px;}
.voice__sub {font-size: 50px;}
.voice__list {flex-direction: row;gap: 20px;}
.voice__info{gap:20px;padding-bottom: 20px;margin-bottom: 18px;}
.voice__item {flex: 1;padding: 30px;}
.voice__name {font-size: 24px;}
.voice__txt { font-size: 14px; }
.voice__info img{width: 60px;}
.voice__name span{font-size:14px;}

/* --- FAQ PC --- */
  .top-qa{width:900px;margin-bottom: 160px;}
  .top-qa .title{margin-bottom:30px;}
  .top-qa .title .en{font-size:20px;}
.top-qa .title .jp{font-size: 60px;}
  .top-qa dl{margin-bottom:30px;}
  .top-qa dt{padding: 16px 20px 16px 50px;margin-bottom: 10px;}
  .top-qa dt:before{font-size:20px;padding-top: 0;height: 26px;left: 15px;top: 14px;}
  
/* --- Contact PC --- */
.contact {padding: 90px 0;background: url(../images/cv-bg.jpg) top center;background-size: cover;}
.contact__ttl {font-size: 24px;margin-bottom: 10px;}
.contact .subtit{font-size: 43px;margin-bottom: 10px;}
.contact__lead {font-size: 16px;margin-bottom: 20px;}
.contact .btn-line--contact {max-width: 480px;width: 450px;}
.contact__note {font-size: 12px;margin-top: 15px;}

/* --- Footer PC --- */
.footer__main {padding: 50px 30px 0;}
.footer__logo {width: 120px;margin-bottom: 30px;}
.footer__nav {margin-bottom: 0;}
.footer__nav-list {flex-direction: row;flex-wrap: wrap;gap: 0 10px;-webkit-justify-content: center;justify-content: center;}
.footer__nav-item {width: auto;margin: 0 10px;}
.footer__nav-link { font-size: 13px; padding: 5px 0; border-bottom: none; }
.footer__tel { font-size: 12px; }
.footer__sns { grid-column: 3; grid-row: 1; gap: 12px; margin-bottom: 0; }
.footer__sns-link { width: 36px; height: 36px; max-width: 36px; max-height: 36px; font-size: 16px; }
.footer__copy { padding: 15px 30px; }
.footer__copy-txt { font-size: 12px; }
.pagetop { bottom: 30px; right: 30px; width: 48px; height: 48px; }
.pagetop__icon { width: 10px; height: 10px; max-width: 10px; max-height: 10px; margin-top: 4px; }

} /* end @media PC */


/* ===============================================
   RETINA
================================================ */
@media screen and (min-width: 769px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 769px) and (min-resolution: 2dppx) {
/* レティナ用設定（画像はJSで@2x切替） */
.hero{background-image: url(../images/hero-bg-pc@2x.jpg);background-size: auto 100%;}
.hero__inner.pt2{background-image: url(../images/hero-pt2@2x.jpg);background-size: auto 100%;}
}
