@charset "UTF-8";

/*===========================
  reset Css
===========================*/
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, sub, sup, 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, menu, nav, section, summary,
time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; }
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary { display:block; }
ul ,li{ list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; border:0; font-size:100%; background:transparent; }
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 #000; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }

:root{
	--main-color:#FF4A94;
	--bold-font:'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    --en-font:'Roboto', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

html{ scroll-behavior:smooth; }
body{
	width:100%;
	font-size:16px;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	color:#000;
	overflow-x:hidden;
}

a{ color:#0066cc; }
a:link,
a:visited,
a:hover,
a:active{ text-decoration:none; }
p{ line-height:1.6; }
img{ width:100%; height:auto; vertical-align:bottom; }
div,p,span,a,ul,li,dl,dt,dd{ box-sizing:border-box; }

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

@media screen and (max-width:768px){
    .pcOnly{ display:none; }
}

/*=================================
      base
===================================*/
.inner{ max-width:1050px; padding:0 30px; margin:0 auto; box-sizing:content-box; }
.inner::after{ content: ""; clear:both; display:block; }

@media screen and (max-width:768px){
    .inner{ padding:0 20px; }
}

/*   footer
===================================*/
#siteFooter{ padding:60px 0 100px; }
#siteFooter nav ul{ display:flex; flex-wrap:wrap; justify-content:center; gap:20px 40px; }
#siteFooter nav ul li a{ font-size:13px; font-weight:600; color:#000; }
#siteFooter .box{ display:flex; gap:0 20px; margin:40px 0 0; }
#siteFooter .box .txt{ flex:1; font-size:12px; color:#5F5F5F; }
#siteFooter .box .logo{ width:105px; }
#siteFooter .box .logo .txt{ margin:0 0 10px; text-align:center; font-size:13px; font-weight:600; }
#siteFooter .copy{ margin:30px 0 0; font-size:10px; color:#8E8E8E; }

@media screen and (min-width:769px){
    #siteFooter a{ transition:color 0.2s; }
    #siteFooter a:hover{ color:#FF4A94; }
}
@media screen and (max-width:768px){
    #siteFooter nav ul{ display:block; text-align:center; }
    #siteFooter nav ul li{ margin:12px 0 0; }
    #siteFooter nav ul li:first-child{ margin-top:0; }
    #siteFooter nav ul li a{ font-size:14px; }
    #siteFooter .box{ display:block; }
    #siteFooter .box .logo{ width:100%; margin:30px 0 0; }
    #siteFooter .box .logo img{ max-width:100px; display:block; margin:0 auto; }
    #siteFooter .copy{ text-align:center; }
}

/*===========================
      parts
===========================*/
/*   btn
===========================*/
.cvBtn{ max-width:450px; display:flex; align-items:center; gap:0 10px; margin:0 auto; padding:19px 30px; text-align:center; background:#FFE209; border:#fff 2px solid; border-radius:50px; box-sizing:border-box; font-family:var(--bold-font); font-size:24px; font-weight:800; color:#000; line-height:1; cursor:pointer; }
.cvBtn p{ padding:5px 10px; background:#fff; border-radius:5px; font-size:15px; color:var(--main-color); line-height:1; }
.cvBtn p span.sp2{ font-family:var(--en-font); font-size:22px; }

@media screen and (min-width:769px){
    .cvBtn{ transition:background 0.3s; }
    .cvBtn:hover{ background:#FFF8A6; }
}

@media screen and (max-width:768px){
    .cvBtn{ gap:0 5px; padding:10px 10px 10px 24px; font-size:22px; }
    .cvBtn p{ width:99px; padding:5px; font-size:13px; }
    .cvBtn p span{ vertical-align:middle; }
    .cvBtn p span.sp1{ font-size:17px; }
    .cvBtn p span.sp2{ font-size:20px; }
}

/*   title
===========================*/
.heading1{ margin:0 0 30px; text-align:center; font-size:40px; font-family:var(--bold-font); font-weight:900; }
.heading1 span.pink{ margin:0 5px 0 0; color:var(--main-color); }

@media screen and (max-width:768px){
    .heading1{ margin:0 0 20px; font-size:30px; }
}

/*   txt
===========================*/
.note{ margin:40px 0 0; text-align:center; font-size:12px; color:#707070; }


/*===========================
      module
===========================*/
/*   kvArea
===========================*/
.kvArea{ padding:40px 0 70px; background:#FF5BB0; position:relative; }
.kvArea::after{ width:100%; height:60px; content:""; background:#fff; clip-path:ellipse(54.75% 100% at 50% 100%); position:absolute; left:0; bottom:-20px; }
.kvArea .logo{ width:80px; }
.kvArea .box{ display:flex; align-items:center; justify-content:center; gap:0 40px; }
.kvArea .txtArea{ width:56%; text-align:center; }
.kvArea .txtArea .copy{ margin:10px 0 35px; }
.kvArea figure{ width:44%; }

@media screen and (max-width:768px){
    .kvArea{ padding:20px 0 60px; }
    .kvArea::after{ height:40px; bottom:-15px; }
    .kvArea .logo{ width:60px; }
    .kvArea .box{ display:block; }
    .kvArea .txtArea{ width:100%; }
    .kvArea .txtArea .copy{ margin:20px 0 10px; }
    .kvArea figure{ width:100%; margin:0 0 20px; }
}

/*   aboutArea
===========================*/
.aboutArea{ padding:30px 0 80px; }
.aboutArea .lead{ max-width:800px; margin:0 auto; }
.aboutArea ul{ display:flex; gap:60px; margin:40px 0 0; }
.aboutArea ul li{ flex:1; }
.aboutArea ul li .tit{ text-align:center; font-family:var(--bold-font); font-size:24px; font-weight:900; line-height:1.4; }
.aboutArea ul li figure{ margin:10px 0 0; }
.aboutArea ul li .txt{ margin:10px 0 0; }

@media screen and (max-width:768px){
    .aboutArea{ padding:30px 0; }
    .aboutArea ul{ display:block; }
    .aboutArea ul li{ margin:30px 0 0; }
    .aboutArea ul li figure{ max-width:280px; margin:10px auto 0; }
}

/*   meritArea
===========================*/
.meritArea{ padding:80px 0; background:#F9F5CE; }
.meritArea .inner{ display:flex; flex-wrap:wrap; gap:30px; }
.meritArea .titleArea{ width:30%; text-align:center; }
.meritArea .titleArea .frame{ position:sticky; top:30px; }
.meritArea .titleArea .txt{ font-size:18px; font-weight:700; }
.meritArea .titleArea .heading1{ font-size:32px; }
.meritArea .titleArea .heading1 span.pink{ display:block; font-size:45px; }
.meritArea .titleArea figure{ width:77%; margin:0 auto; }
.meritArea ul{ flex:1; }
.meritArea ul li{ display:flex; align-items:center; gap:20px; margin:0 0 10px; padding:10px 30px; background:#fff; }
.meritArea ul li .txtArea{ flex:1; }
.meritArea ul li .txtArea .tit{ padding:0 0 0 40px; font-family:var(--bold-font); font-size:24px; font-weight:900; line-height:1.2; position:relative; }
.meritArea ul li .txtArea .tit span{ width:30px; height:30px; display:block; margin:0 10px 0 0; padding:3px 0 0; text-align:center; background:#404040; font-family:var(--en-font); border-radius:5px; font-size:20px; color:#fff; position:absolute; top:0; left:0; }
.meritArea ul li .txtArea .tit strong{ color:var(--main-color); }
.meritArea ul li .txtArea .txt{ margin:10px 0 0; }
.meritArea ul li figure{ width:140px; }

@media screen and (max-width:768px){
    .meritArea{ padding:50px 0 30px; }
    .meritArea .inner{ display:block; }
    .meritArea .titleArea{ width:100%; }
    .meritArea .titleArea .heading1{ font-size:30px; line-height:1.2; }
    .meritArea .titleArea .heading1 span.pink{ display:inline; font-size:36px; }
    .meritArea .titleArea figure{ display:none; }
    .meritArea ul li{ display:block; padding:20px; }
    .meritArea ul li .txtArea{ display:flex; flex-wrap:wrap; gap:10px; flex:none; }
    .meritArea ul li .txtArea .tit{ width:100%; font-size:20px; letter-spacing:-0.04em; }
    .meritArea ul li .txtArea .txt{ flex:1; }
    .meritArea ul li figure{ width:120px; }
}

/*   voiceArea
===========================*/
.voiceArea{ padding:80px 0; }
.voiceArea ul{ display:flex; flex-wrap:wrap; gap:40px; }
.voiceArea ul li{ width:calc((100% - 80px) / 3); }
.voiceArea ul li .fukidashi{ padding:20px; background:#F1F1F1; border-radius:5px; position:relative; }
/*.voiceArea ul li:nth-child(n+4):not(:nth-child(n+7)) .fukidashi{ min-height:194px; }*/
.voiceArea ul li .fukidashi strong{ color:var(--main-color); }
.voiceArea ul li .fukidashi::after{ width:23px; height:16px; content:""; margin:0 auto; background:#F1F1F1; clip-path:polygon(50% 100%, 0 0, 100% 0); position:absolute; left:0; right:0; bottom:-15px; }
.voiceArea ul li .user{ display:flex; align-items:center; gap:5px; margin:16px 0 0; }
.voiceArea ul li .user img{ width:45px; }

@media screen and (max-width:768px){
    .voiceArea{ padding:50px 0 30px; }
    .voiceArea ul{ gap:20px; }
    .voiceArea ul li{ width:100%; }
    .voiceArea ul li .user{ justify-content:center; }
    /*.voiceArea ul li:nth-child(n+4):not(:nth-child(n+7)) .fukidashi{ min-height:auto; }*/
}

/*   priceArea
===========================*/
.priceArea{ padding:80px 0; background:#F9F5CE; }
.priceArea .heading1{ margin-bottom:50px; }
.priceArea .heading1 span{ position:relative; }
.priceArea .heading1 span::before,
.priceArea .heading1 span::after{ width:80px; height:80px; content:""; display:block; background:url("../images/img_plan01.png") no-repeat 0 0 / 100% auto; position:absolute; }
.priceArea .heading1 span::before{ top:-10px; left:-100px; }
.priceArea .heading1 span::after{ background-image:url("../images/img_plan02.png"); top:-10px; right:-90px; }
.priceArea .frame{ max-width:880px; display:flex; flex-wrap:wrap; gap:40px; margin:0 auto; }
.priceArea .frame .box{ flex:1; padding:30px 30px; text-align:center; background:#fff; border-radius:5px; position:relative; }
.priceArea .frame .box .pop{ width:120px; height:120px; padding:30px 0 0; background:#D72629; border-radius:50%; font-family:var(--bold-font); font-size:13px; font-weight:900; color:#fff; line-height:1.1; position:absolute; top:-50px; right:-40px; }
.priceArea .frame .box .pop .sp1{ font-family:var(--en-font); font-size:28px; }
.priceArea .frame .box .pop .sp2{ font-size:14px; }
.priceArea .frame .box .pop .sp3{ font-size:20px; }
.priceArea .frame .box .tit{ font-family:var(--bold-font); font-size:28px; font-weight:800; line-height:1.2; }
.priceArea .frame .box .price{ display:flex; align-items:center; gap:5px; margin:20px 0 0; padding:15px; background:#FFEDF4; border-radius:5px; }
.priceArea .frame .box .price .txt1{ min-width:106px; min-height:66px; padding:3px 0 0; background:url("../images/bg_price.svg") no-repeat 0 0 / auto 100%; font-family:var(--en-font); font-size:24px; font-weight:900; color:#fff; line-height:1.1; }
.priceArea .frame .box .price .txt1 .sp1{ font-family:var(--bold-font); font-size:14px; }
.priceArea .frame .box .price .txt2{ font-family:var(--bold-font); font-size:22px; font-weight:800; color:var(--main-color); line-height:1; }
.priceArea .frame .box .price .txt2 strong{ font-family:var(--en-font); font-size:46px; }
.priceArea .frame .box .price .txt2 .sp1{ font-size:16px; }
.priceArea .frame .box .price .txt2 .sp2{ display:block; margin:5px 0 0; font-family:var(--en-font); font-size:16px; color:#000; }
.priceArea .frame .box .price .txt2 .sp2 strong{ font-size:18px; }
.priceArea .frame .box .note{ margin:18px 0; font-family:var(--en-font); font-size:16px; }
.priceArea .frame .box .btn a{ display:block; padding:10px 0; background:#FFE209; border-radius:50px; font-family:var(--bold-font); font-size:20px; font-weight:900; color:#000; }
.priceArea .link{ margin:40px 0 0; text-align:center; }
.priceArea .link a{ padding:0 20px; background:url("../images/arrow_pink_right.svg") no-repeat right center/ 8px auto; color:#000; }
.priceArea .inner > .note{ max-width:880px; margin:40px auto 0; text-align:left; }

@media screen and (min-width:769px){
    .priceArea .frame .box .btn a{ transition:background 0.2s; }
    .priceArea .frame .box .btn a:hover{ background:#FFF8A6; }
    
    .priceArea .link a{ transition:color 0.2s; }
    .priceArea .link a:hover{ color:#FF4A94; }
}

@media screen and (max-width:768px){
    .priceArea{ padding:50px 0 30px; }
    .priceArea .heading1{ margin-bottom:20px; }
    .priceArea .heading1 span::before,
    .priceArea .heading1 span::after{ display:none; }
    .priceArea .frame{ gap:20px; }
    .priceArea .frame .box{ padding:30px 20px; }
    .priceArea .frame .box .pop{ width:90px; height:90px; padding:20px 0 0; font-size:11px; letter-spacing:-0.02em; line-height:1.1; top:-20px; right:-15px; }
    .priceArea .frame .box .pop .sp1{ font-size:22px; }
    .priceArea .frame .box .pop .sp3{ font-size:18px; line-height:0.8; }
    .priceArea .frame .box .tit{ font-size:26px; }
    .priceArea .frame .box .price{ gap:2px; padding:17px 5px 17px 10px; }
    .priceArea .frame .box .price .txt1{ min-width:88px; min-height:66px; padding:3px 3px 0 0; background:url("../images/bg_price_sp.svg") no-repeat 0 0 / auto 100%; }
    .priceArea .frame .box .price .txt1 .sp1{ font-size:14px; }
    .priceArea .frame .box .price .txt1 .sp2{ font-size:14px; }
    .priceArea .frame .box .price .txt2 strong{ font-size:42px; letter-spacing:-0.02em; }
    .priceArea .frame .box .note{ margin:10px 0; }
    .priceArea .frame .box .btn a{ padding:8px 0 10px; font-size:18px; }
    .priceArea .link{ margin-top:30px; }
    .priceArea .inner > .note{ margin-top:20px; }
}

/*   hikakuArea
===========================*/
.hikakuArea{ padding:80px 0; background:#F1F1F1; }
.hikakuArea .heading1 span{ position:relative; }
.hikakuArea .heading1 span::before,
.hikakuArea .heading1 span::after{ width:80px; height:80px; content:""; display:block; background:url("../images/img_hikaku01.png") no-repeat 0 0 / 100% auto; position:absolute; }
.hikakuArea .heading1 span::before{ top:-10px; left:-100px; }
.hikakuArea .heading1 span::after{ background-image:url("../images/img_hikaku02.png"); top:-10px; right:-100px; }
.hikakuArea .lead{ text-align:center; }
.hikakuArea .table{ max-width:880px; margin:40px auto 0; padding:40px 10px; background:#fff; border-radius:5px; }
.hikakuArea .table table{ width:100%; max-width:684px; margin:0 auto; table-layout:fixed; }
.hikakuArea .table table tr:nth-child(2n-1){ background:#FFEFF6; }
.hikakuArea .table table th{ box-sizing:border-box; font-family:var(--bold-font); font-weight:700; vertical-align:middle; }
.hikakuArea .table table td{ text-align:center; box-sizing:border-box; vertical-align:middle; }
.hikakuArea .table table tr:first-of-type th,
.hikakuArea .table table tr:last-of-type th,
.hikakuArea .table table tr:last-of-type td{ border-bottom:#F1F1F1 1px solid; }
.hikakuArea .table table tr th:first-of-type{ width:220px; }
.hikakuArea .table table tr:first-of-type th:nth-child(n+2){ padding:18px 0; font-size:20px; }
.hikakuArea .table table tr:first-of-type th:nth-child(1){ background:#fff; }
.hikakuArea .table table tr:first-of-type th:nth-child(2){ background:#E7BC3F; color:#fff; }
.hikakuArea .table table tr:first-of-type th:nth-child(3){ background:#818181; color:#fff; }
.hikakuArea .table table tr:first-of-type th:nth-child(4){ background:#DBDBDB; color:#818181; }
.hikakuArea .table table tr:nth-child(n+2) th{ height:50px; padding:6px 20px; text-align:left; line-height:1.2; }
.hikakuArea .table table tr:nth-child(n+2) th sub{ font-size:12px; vertical-align:top; }
.hikakuArea .table table tr th:nth-of-type(2),
.hikakuArea .table table tr td:nth-of-type(1){ position:relative; }
.hikakuArea .table table tr:first-of-type th:nth-child(2)::before{ width:100%; height:100%; content:""; display:block; border:#FFE209 5px solid; border-bottom:none; border-radius:10px 10px 0 0; position:absolute; top:-5px; left:-5px; }
.hikakuArea .table table tr td:nth-of-type(1)::before{ width:100%; height:100%; content:""; display:block; border-left:#FFE209 5px solid; border-right:#FFE209 5px solid; position:absolute; top:0; left:-5px; }
.hikakuArea .table table tr:last-of-type td:nth-of-type(1)::before{ border-bottom:#FFE209 5px solid; border-radius:0 0 10px 10px; }
.hikakuArea .table table tr td:nth-of-type(3){ border-left:#fff 1px solid; }
.hikakuArea .table table th img.icoKey{ width:20px; margin:0 0 0 2px; }
.hikakuArea .table table td img.maru{ width:30px; }
.hikakuArea .table table td img.batsu{ width:25px; }
.hikakuArea .note{ max-width:880px; margin:40px auto 0; text-align:left; }

@media screen and (max-width:768px){
    .hikakuArea{ padding:50px 0 30px; }
    .hikakuArea .heading1{ font-size:26px; }
    .hikakuArea .heading1 span::before,
    .hikakuArea .heading1 span::after{ display:none; }
    .hikakuArea .table{ padding:0; }
    .hikakuArea .table table tr th:first-of-type{ width:135px; }
    .hikakuArea .table table tr:nth-child(n+2) th{ padding:8px 5px 8px 10px; font-size:14px; }
    .hikakuArea .table table tr:first-of-type th:nth-child(n+2){ font-size:15px; }
    .hikakuArea .table table th img.icoKey{ width:16px; }
}

/*   faqArea
===========================*/
.faqArea{ padding:80px 0; background:#F9F5CE; }
.faqArea .heading1{ font-size:32px; }
.faqArea ul{ max-width:880px; margin:30px auto 0; }
.faqArea ul li{ margin:5px 0 0; padding:20px 30px; background:#fff; border-radius:5px; }
.faqArea ul li .question{ padding:0 40px; position:relative; }
.faqArea ul li .answer{ padding:0 0 0 40px; position:relative; }
.faqArea ul li .question::before,
.faqArea ul li .answer::before{ content:"Q"; font-family:var(--en-font); font-size:28px; font-weight:700; color:var(--main-color); line-height:1; position:absolute; top:calc(50% - 16px); left:0; }
.faqArea ul li .answer::before{ content:"A"; color:#F4D804; top:0px; }
.faqArea ul li .question::after{ width:36px; height:36px; content:""; background:url("../images/ico_plus.png") no-repeat center center / 15px auto; position:absolute; top:calc(50% - 19px); right:0; }
.faqArea ul li .question{ font-size:18px; font-weight:700; }

.faqArea ul li.on .question::after{ background-image:url("../images/ico_minus.svg"); }
.faqArea ul li .answer{ max-height:0; margin:0; opacity:0; visibility:hidden; transition:all 0.3s ease; }
.faqArea ul li.on .answer{ max-height:500px; margin:10px 0; opacity:1; visibility:visible; transition:all 0.4s ease; }

.faqArea .txt1{ margin:40px 0 0; text-align:center; font-size:14px; }
.faqArea a{ color:#000; }
.faqArea a:link,
.faqArea a:visited{ text-decoration:underline; }
.faqArea a:hover,
.faqArea a:active{ text-decoration:none; }

@media screen and (min-width:769px){
    .faqArea a{ transition:color 0.3s; }
    .faqArea a:hover{ color:#FF4A94; }
}
@media screen and (max-width:768px){
    .faqArea{ padding:50px 0 30px; }
    .faqArea .heading1{ font-size:26px; }
    .faqArea ul{ margin-top:30px; }
    .faqArea ul li{ padding:12px 20px; }
    .faqArea ul li .question{ padding:0 35px; line-height:1.4; }
    .faqArea ul li .answer{ padding:0 0 0 35px; }
    .faqArea ul li .question{ font-size:15px; }
    .faqArea ul li .question::after{ right:-10px; }
    .faqArea .txt1{ margin:30px 0 0; }
}

/*   kiyakuArea
===========================*/
.kiyakuArea{ padding:80px 0; }
.kiyakuArea .heading1{ font-size:32px; }
.kiyakuArea ul{ max-width:880px; margin:40px auto 0; }
.kiyakuArea ul li{ margin:10px 0 0; padding:0 0 0 20px; position:relative; }
.kiyakuArea ul li::before{ content:"・"; position:absolute; top:0; left:0; }

@media screen and (max-width:768px){
    .kiyakuArea{ padding:50px 0 30px; }
    .kiyakuArea .heading1{ font-size:26px; }
    .kiyakuArea ul{ margin-top:30px }
}

/*   cvArea
===========================*/
.cvArea{ margin:150px 0 0; padding:70px 0 120px; text-align:center; background:#FF5BB0; position:relative; }
.cvArea::before{ width:100%; height:60px; content:""; background:#FF5BB0; clip-path:ellipse(54.75% 100% at 50% 100%); position:absolute; top:-40px; left:0; }
.cvArea::after{ width:220px; aspect-ratio:1 / 1; content:""; margin:0 auto; background:url("../images/img_goal.png") no-repeat center center / 100% auto; position:absolute; top:-180px; left:0; right:0; }
.cvArea .txt{ font-family:var(--en-font); font-size:22px; font-weight:800; color:#fff; }
.cvArea .cvBtn{ margin:20px auto 0; }

@media screen and (max-width:768px){
    .cvArea{ padding:40px 0 60px; }
    .cvArea::after{ width:174px; top:-160px; }
}

/*   fixBtn
===========================*/
.fixBtn{ width:calc(100% - 40px); padding:10px 20px; text-align:center; background:#fff; position:fixed; left:0; bottom:0; }
.fixBtn .cvBtn{ box-shadow:0 0 10px rgba(0,0,0,0.1); }

.fixBtn{ opacity:0; visibility:hidden; transition:all 0.3s ease; }
.fixBtn.show{ opacity:1; visibility:visible; transition:all 0.3s ease; }




